static function initialise()
 {
     CompileTimeClassList::$lists = new haxe_ds_StringMap();
     $m = haxe_rtti_Meta::getType(_hx_qtype("CompileTimeClassList"));
     if ($m->classLists !== null) {
         $_g = 0;
         $_g1 = $m->classLists;
         while ($_g < $_g1->length) {
             $item = $_g1[$_g];
             ++$_g;
             $array = $item;
             $listID = $array[0];
             $list = new HList();
             $_g2 = 0;
             $_g3 = _hx_explode(",", $array[1]);
             while ($_g2 < $_g3->length) {
                 $typeName = $_g3[$_g2];
                 ++$_g2;
                 $type = Type::resolveClass($typeName);
                 if ($type !== null) {
                     $list->push($type);
                 }
                 unset($typeName, $type);
             }
             unset($_g3, $_g2);
             CompileTimeClassList::$lists->set($listID, $list);
             unset($listID, $list, $item, $array);
         }
     }
 }
 static function getApisInContext($context)
 {
     if (!php_Boot::$skip_constructor) {
         $apis = new _hx_array(array());
         $meta = haxe_rtti_Meta::getType($context);
         if ($meta->apiList !== null) {
             $_g = 0;
             $_g1 = $meta->apiList;
             while ($_g < $_g1->length) {
                 $apiName = $_g1[$_g];
                 ++$_g;
                 $api = Type::resolveClass($apiName);
                 if ($api !== null) {
                     $apis->push($api);
                 }
                 unset($apiName, $api);
             }
         }
         return $apis;
     }
 }
 public function addClassToInfo($forClass, $info, $injected)
 {
     $meta = haxe_rtti_Meta::getType($forClass);
     $fields = $meta->rtti;
     if ($fields !== null) {
         $_g = 0;
         while ($_g < $fields->length) {
             $field = $fields[$_g];
             ++$_g;
             $name = $field[0];
             if ($injected->indexOf($name, null) > -1) {
                 continue;
             }
             $injected->push($name);
             if ($field->length === 3) {
                 $info->fields->push(new minject_point_PropertyInjectionPoint($name, $field[1], $field[2]));
             } else {
                 if ($name === "new") {
                     $info->ctor = new minject_point_ConstructorInjectionPoint($field->slice(2, null));
                 } else {
                     $orderStr = $field[1];
                     if ($orderStr === "") {
                         $info->fields->push(new minject_point_MethodInjectionPoint($name, $field->slice(2, null)));
                     } else {
                         $order = Std::parseInt($orderStr);
                         $info->fields->push(new minject_point_PostInjectionPoint($name, $field->slice(2, null), $order));
                         unset($order);
                     }
                     unset($orderStr);
                 }
             }
             unset($name, $field);
         }
     }
     $superClass = Type::getSuperClass($forClass);
     if ($superClass !== null) {
         $this->addClassToInfo($superClass, $info, $injected);
     }
 }
 static function getAsyncApi($syncApi)
 {
     $meta = haxe_rtti_Meta::getType($syncApi);
     if ($meta->asyncApi !== null) {
         $asyncApiName = $meta->asyncApi[0];
         if ($asyncApiName !== null) {
             return Type::resolveClass($asyncApiName);
         }
     }
     return null;
 }