text: // Generated by Haxe 3.4.2 (git build master @ 890f8c7)
  #include <hxcpp.h>
  
  #ifndef INCLUDED_berlin_lib_AST
  #include <berlin/lib/AST.h>
  #endif
  
  HX_DEFINE_STACK_FRAME(_hx_pos_9a0e0835a3d6f0c7_24_new,"berlin.lib.AST","new",0x631165df,"berlin.lib.AST.new","berlin/lib/AST.hx",24,0xe0da1c73)
  HX_LOCAL_STACK_FRAME(_hx_pos_9a0e0835a3d6f0c7_32_EMPTY,"berlin.lib.AST","EMPTY",0xab35a5ac,"berlin.lib.AST.EMPTY","berlin/lib/AST.hx",32,0xe0da1c73)
  HX_LOCAL_STACK_FRAME(_hx_pos_9a0e0835a3d6f0c7_37_TREE,"berlin.lib.AST","TREE",0x3ae99aff,"berlin.lib.AST.TREE","berlin/lib/AST.hx",37,0xe0da1c73)
  namespace berlin{
  namespace lib{
  
  void AST_obj::__construct(::String form, ::Dynamic type, ::Dynamic children){
              	HX_STACKFRAME(&_hx_pos_9a0e0835a3d6f0c7_24_new)
  HXLINE(  25)		this->form = form;
  HXLINE(  26)		this->type = type;
  HXLINE(  27)		this->children = ( (::cpp::VirtualArray)(children) );
              	}
  
  Dynamic AST_obj::__CreateEmpty() { return new AST_obj; }
  
  void *AST_obj::_hx_vtable = 0;
  
  Dynamic AST_obj::__Create(hx::DynamicArray inArgs)
  {
  	hx::ObjectPtr< AST_obj > _hx_result = new AST_obj();
  	_hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
  	return _hx_result;
  }
  
  bool AST_obj::_hx_isInstanceOf(int inClassId) {
  	return inClassId==(int)0x00000001 || inClassId==(int)0x1191be67;
  }
  
   ::berlin::lib::AST AST_obj::EMPTY(){
              	HX_GC_STACKFRAME(&_hx_pos_9a0e0835a3d6f0c7_32_EMPTY)
  HXDLIN(  32)		return  ::berlin::lib::AST_obj::__alloc( HX_CTX ,HX_("EMPTY",6d,72,c8,ed),null(),null());
              	}
  
  
  STATIC_HX_DEFINE_DYNAMIC_FUNC0(AST_obj,EMPTY,return )
  
   ::berlin::lib::AST AST_obj::TREE( ::Dynamic str, ::Dynamic asts){
              	HX_GC_STACKFRAME(&_hx_pos_9a0e0835a3d6f0c7_37_TREE)
  HXDLIN(  37)		return  ::berlin::lib::AST_obj::__alloc( HX_CTX ,HX_("TREE",5e,61,c4,37),str,asts);
              	}
  
  
  STATIC_HX_DEFINE_DYNAMIC_FUNC2(AST_obj,TREE,return )
  
  
  AST_obj::AST_obj()
  {
  }
  
  void AST_obj::__Mark(HX_MARK_PARAMS)
  {
  	HX_MARK_BEGIN_CLASS(AST);
  	HX_MARK_MEMBER_NAME(form,"form");
  	HX_MARK_MEMBER_NAME(type,"type");
  	HX_MARK_MEMBER_NAME(children,"children");
  	HX_MARK_END_CLASS();
  }
  
  void AST_obj::__Visit(HX_VISIT_PARAMS)
  {
  	HX_VISIT_MEMBER_NAME(form,"form");
  	HX_VISIT_MEMBER_NAME(type,"type");
  	HX_VISIT_MEMBER_NAME(children,"children");
  }
  
  hx::Val AST_obj::__Field(const ::String &inName,hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"form") ) { return hx::Val( form ); }
  		if (HX_FIELD_EQ(inName,"type") ) { return hx::Val( type ); }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"children") ) { return hx::Val( children ); }
  	}
  	return super::__Field(inName,inCallProp);
  }
  
  bool AST_obj::__GetStatic(const ::String &inName, Dynamic &outValue, hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"TREE") ) { outValue = TREE_dyn(); return true; }
  		break;
  	case 5:
  		if (HX_FIELD_EQ(inName,"EMPTY") ) { outValue = EMPTY_dyn(); return true; }
  	}
  	return false;
  }
  
  hx::Val AST_obj::__SetField(const ::String &inName,const hx::Val &inValue,hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"form") ) { form=inValue.Cast< ::String >(); return inValue; }
  		if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast<  ::Dynamic >(); return inValue; }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"children") ) { children=inValue.Cast< ::cpp::VirtualArray >(); return inValue; }
  	}
  	return super::__SetField(inName,inValue,inCallProp);
  }
  
  void AST_obj::__GetFields(Array< ::String> &outFields)
  {
  	outFields->push(HX_HCSTRING("form","\x44","\x61","\xc0","\x43"));
  	outFields->push(HX_HCSTRING("type","\xba","\xf2","\x08","\x4d"));
  	outFields->push(HX_HCSTRING("children","\x3f","\x19","\x6a","\x70"));
  	super::__GetFields(outFields);
  };
  
  #if HXCPP_SCRIPTABLE
  static hx::StorageInfo AST_obj_sMemberStorageInfo[] = {
  	{hx::fsString,(int)offsetof(AST_obj,form),HX_HCSTRING("form","\x44","\x61","\xc0","\x43")},
  	{hx::fsObject /*Dynamic*/ ,(int)offsetof(AST_obj,type),HX_HCSTRING("type","\xba","\xf2","\x08","\x4d")},
  	{hx::fsObject /*cpp::ArrayBase*/ ,(int)offsetof(AST_obj,children),HX_HCSTRING("children","\x3f","\x19","\x6a","\x70")},
  	{ hx::fsUnknown, 0, null()}
  };
  static hx::StaticInfo *AST_obj_sStaticStorageInfo = 0;
  #endif
  
  static ::String AST_obj_sMemberFields[] = {
  	HX_HCSTRING("form","\x44","\x61","\xc0","\x43"),
  	HX_HCSTRING("type","\xba","\xf2","\x08","\x4d"),
  	HX_HCSTRING("children","\x3f","\x19","\x6a","\x70"),
  	::String(null()) };
  
  static void AST_obj_sMarkStatics(HX_MARK_PARAMS) {
  	HX_MARK_MEMBER_NAME(AST_obj::__mClass,"__mClass");
  };
  
  #ifdef HXCPP_VISIT_ALLOCS
  static void AST_obj_sVisitStatics(HX_VISIT_PARAMS) {
  	HX_VISIT_MEMBER_NAME(AST_obj::__mClass,"__mClass");
  };
  
  #endif
  
  hx::Class AST_obj::__mClass;
  
  static ::String AST_obj_sStaticFields[] = {
  	HX_HCSTRING("EMPTY","\x6d","\x72","\xc8","\xed"),
  	HX_HCSTRING("TREE","\x5e","\x61","\xc4","\x37"),
  	::String(null())
  };
  
  void AST_obj::__register()
  {
  	hx::Object *dummy = new AST_obj;
  	AST_obj::_hx_vtable = *(void **)dummy;
  	hx::Static(__mClass) = new hx::Class_obj();
  	__mClass->mName = HX_HCSTRING("berlin.lib.AST","\x6d","\x8a","\x1b","\x8c");
  	__mClass->mSuper = &super::__SGetClass();
  	__mClass->mConstructEmpty = &__CreateEmpty;
  	__mClass->mConstructArgs = &__Create;
  	__mClass->mGetStaticField = &AST_obj::__GetStatic;
  	__mClass->mSetStaticField = &hx::Class_obj::SetNoStaticField;
  	__mClass->mMarkFunc = AST_obj_sMarkStatics;
  	__mClass->mStatics = hx::Class_obj::dupFunctions(AST_obj_sStaticFields);
  	__mClass->mMembers = hx::Class_obj::dupFunctions(AST_obj_sMemberFields);
  	__mClass->mCanCast = hx::TCanCast< AST_obj >;
  #ifdef HXCPP_VISIT_ALLOCS
  	__mClass->mVisitFunc = AST_obj_sVisitStatics;
  #endif
  #ifdef HXCPP_SCRIPTABLE
  	__mClass->mMemberStorageInfo = AST_obj_sMemberStorageInfo;
  #endif
  #ifdef HXCPP_SCRIPTABLE
  	__mClass->mStaticStorageInfo = AST_obj_sStaticStorageInfo;
  #endif
  	hx::_hx_RegisterClass(__mClass->mName, __mClass);
  }
  
  } // end namespace berlin
  } // end namespace lib
  