diff --git a/include/Array.h b/include/Array.h index 0fffbda3c..3558b6e3e 100644 --- a/include/Array.h +++ b/include/Array.h @@ -152,18 +152,18 @@ class ArrayIterator : public cpp::FastIterator_obj ArrayIterator(Array inArray) : mArray(inArray), mIdx(0) { } // Fast versions ... - bool hasNext() { return mIdx < mArray->length; } + bool hasNext() HXCPP_OVERRIDE { return mIdx < mArray->length; } inline TO toTo(const Dynamic &inD) { return inD.StaticCast(); } template inline TO toTo(T inT) { return inT; } - TO next() { return toTo(mArray->__get(mIdx++)); } + TO next() HXCPP_OVERRIDE { return toTo(mArray->__get(mIdx++)); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mArray,"mArray"); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mArray,"mArray"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER_NAME(mArray,"mArray"); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER_NAME(mArray,"mArray"); } #endif int mIdx; @@ -179,7 +179,7 @@ class ArrayKeyValueIterator : public cpp::FastIterator_obj ArrayKeyValueIterator(Array inArray) : mArray(inArray), mIdx(0) { } - bool hasNext() { return mIdx < mArray->length; } + bool hasNext() HXCPP_OVERRIDE { return mIdx < mArray->length; } inline TO toTo(const Dynamic &inD) { return inD.StaticCast(); } @@ -187,11 +187,11 @@ class ArrayKeyValueIterator : public cpp::FastIterator_obj inline TO toTo(T inT) { return inT; } - Dynamic next(); + Dynamic next() HXCPP_OVERRIDE; - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mArray,"mArray"); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mArray,"mArray"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER_NAME(mArray,"mArray"); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER_NAME(mArray,"mArray"); } #endif int mIdx; @@ -265,14 +265,14 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayBase : public ArrayCommon inline char * getBase() const { return mBase; } - hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) { return null(); } + hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return null(); } static hx::Class __mClass; static hx::Class &__SGetClass() { return __mClass; } - hx::Class __GetClass() const { return __mClass; } - String toString(); - String __ToString() const; - int __Compare(const hx::Object *inRHS) const; + hx::Class __GetClass() const HXCPP_OVERRIDE { return __mClass; } + String toString() HXCPP_OVERRIDE; + String __ToString() const HXCPP_OVERRIDE; + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE; void setData(void *inData, int inElements) @@ -291,14 +291,14 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayBase : public ArrayCommon } - int __GetType() const { return vtArray; } + int __GetType() const HXCPP_OVERRIDE { return vtArray; } inline size_t size() const { return length; } - inline int __length() const { return (int)length; } + inline int __length() const HXCPP_OVERRIDE { return (int)length; } virtual String ItemString(int inI) = 0; - const char * __CStr() const { return mBase; } + const char * __CStr() const HXCPP_OVERRIDE { return mBase; } inline const char *GetBase() const { return mBase; } inline char *GetBase() { return mBase; } @@ -344,7 +344,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayBase : public ArrayCommon hx::Val __pointerToBase(); hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) override = 0; #else - hx::Val __Field(const String& inString, hx::PropertyAccess inCallProp); + hx::Val __Field(const String& inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; #endif inline void ____SetSize(int len) { resize(len); } @@ -641,15 +641,15 @@ class Array_obj : public hx::ArrayBase hx::Val __Field(const String& inString, hx::PropertyAccess inCallProp) override; #endif - bool _hx_isInstanceOf(int inClassId) + bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)hx::clsIdArrayBase || inClassId==(int)_hx_ClassId; } - virtual bool AllocAtomic() const { return !hx::ContainsPointers(); } + bool AllocAtomic() const HXCPP_OVERRIDE { return !hx::ContainsPointers(); } - virtual Dynamic __GetItem(int inIndex) const { return __get(inIndex); } - virtual Dynamic __SetItem(int inIndex,Dynamic inValue) + Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE { return __get(inIndex); } + Dynamic __SetItem(int inIndex, Dynamic inValue) HXCPP_OVERRIDE { ELEM_ &elem = Item(inIndex); elem = inValue; @@ -709,7 +709,7 @@ class Array_obj : public hx::ArrayBase } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { if (mAlloc>0) hx::MarkAlloc((void *)mBase, __inCtx ); if (length && hx::ContainsPointers()) @@ -720,7 +720,7 @@ class Array_obj : public hx::ArrayBase } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { if (mAlloc>0) __inCtx->visitAlloc((void **)&mBase); if (hx::ContainsPointers()) @@ -736,9 +736,9 @@ class Array_obj : public hx::ArrayBase inline Array __SetSizeExact(int inLen); - int GetElementSize() const { return sizeof(ELEM_); } + int GetElementSize() const HXCPP_OVERRIDE { return sizeof(ELEM_); } - String ItemString(int inI) + String ItemString(int inI) HXCPP_OVERRIDE { String result(__get(inI)); if (result==null()) return HX_CSTRING("null"); @@ -991,8 +991,8 @@ class Array_obj : public hx::ArrayBase template Dynamic keyValueIteratorFast() { return new hx::ArrayKeyValueIterator(this); } - - virtual hx::ArrayStore getStoreType() const + + hx::ArrayStore getStoreType() const HXCPP_OVERRIDE { return (hx::ArrayStore) hx::ArrayTraits::StoreType; } @@ -1006,49 +1006,49 @@ class Array_obj : public hx::ArrayBase // Dynamic interface - virtual hx::ArrayBase *__concat(const cpp::VirtualArray &a0) { return concat(a0).mPtr; } - virtual hx::ArrayBase *__copy() { return copy().mPtr; } - virtual void __insert(int inIndex,const Dynamic &a1) { insert(inIndex,a1);} - virtual Dynamic __iterator() { return iterator(); } - virtual Dynamic __keyValueIterator() { return keyValueIterator(); } - virtual ::String __join(::String a0) { return join(a0); } - virtual Dynamic __pop() { return pop(); } - virtual int __push(const Dynamic &a0) { return push(a0);} - virtual bool __contains(const Dynamic &a0) { return contains(a0); } - virtual bool __remove(const Dynamic &a0) { return remove(a0); } - virtual bool __removeAt(int inIndex) { return removeAt(inIndex); } - virtual int __indexOf(const Dynamic &a0,const Dynamic &a1) { return indexOf(a0, a1); } - virtual int __lastIndexOf(const Dynamic &a0,const Dynamic &a1) { return lastIndexOf(a0, a1); } - virtual void __reverse() { reverse(); } - virtual Dynamic __shift() { return shift(); } - virtual hx::ArrayBase *__slice(const Dynamic &a0,const Dynamic &a1) { return slice(a0,a1).mPtr; } - virtual hx::ArrayBase *__splice(const Dynamic &a0,const Dynamic &a1) { return splice(a0,a1).mPtr; } - virtual void __sort(const DynamicSorterFunc& a0) override { sort(a0); } - virtual ::String __toString() { return toString(); } - virtual void __unshift(const Dynamic &a0) { unshift(a0); } + hx::ArrayBase* __concat(const cpp::VirtualArray& a0) HXCPP_OVERRIDE { return concat(a0).mPtr; } + hx::ArrayBase *__copy() HXCPP_OVERRIDE { return copy().mPtr; } + void __insert(int inIndex,const Dynamic &a1) HXCPP_OVERRIDE { insert(inIndex,a1);} + Dynamic __iterator() HXCPP_OVERRIDE { return iterator(); } + Dynamic __keyValueIterator() HXCPP_OVERRIDE { return keyValueIterator(); } + ::String __join(::String a0) HXCPP_OVERRIDE { return join(a0); } + Dynamic __pop() HXCPP_OVERRIDE { return pop(); } + int __push(const Dynamic &a0) HXCPP_OVERRIDE { return push(a0);} + bool __contains(const Dynamic &a0) HXCPP_OVERRIDE { return contains(a0); } + bool __remove(const Dynamic &a0) HXCPP_OVERRIDE { return remove(a0); } + bool __removeAt(int inIndex) HXCPP_OVERRIDE { return removeAt(inIndex); } + int __indexOf(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return indexOf(a0, a1); } + int __lastIndexOf(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return lastIndexOf(a0, a1); } + void __reverse() HXCPP_OVERRIDE { reverse(); } + Dynamic __shift() HXCPP_OVERRIDE { return shift(); } + hx::ArrayBase *__slice(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return slice(a0,a1).mPtr; } + hx::ArrayBase *__splice(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return splice(a0,a1).mPtr; } + void __sort(const DynamicSorterFunc& a0) HXCPP_OVERRIDE { sort(a0); } + ::String __toString() HXCPP_OVERRIDE { return toString(); } + void __unshift(const Dynamic &a0) HXCPP_OVERRIDE { unshift(a0); } #if (HXCPP_API_LEVEL>=500) - virtual cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) { return cpp::VirtualArray(map(func)).mPtr; } + cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) override { return cpp::VirtualArray(map(func)).mPtr; } #else - virtual cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) { return map(func).mPtr; } + cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) HXCPP_OVERRIDE { return map(func).mPtr; } #endif - virtual void __resize(int inLen) { resize(inLen); } + void __resize(int inLen) HXCPP_OVERRIDE { resize(inLen); } - virtual hx::ArrayBase *__filter(const DynamicFilterFunc &func) override { return filter(func).mPtr; } - virtual void __blit(int inDestElement,const cpp::VirtualArray &inSourceArray,int inSourceElement,int inElementCount) + hx::ArrayBase *__filter(const DynamicFilterFunc &func) HXCPP_OVERRIDE { return filter(func).mPtr; } + void __blit(int inDestElement,const cpp::VirtualArray &inSourceArray,int inSourceElement,int inElementCount) HXCPP_OVERRIDE { blit(inDestElement,inSourceArray,inSourceElement,inElementCount); } - virtual int __memcmp(const cpp::VirtualArray &a0) { return memcmp(a0); } - virtual void __qsort(DynamicSorterFunc inCompare) override { this->qsort(inCompare); }; + int __memcmp(const cpp::VirtualArray &a0) HXCPP_OVERRIDE { return memcmp(a0); } + void __qsort(DynamicSorterFunc inCompare) HXCPP_OVERRIDE { this->qsort(inCompare); }; - virtual void set(int inIndex, const cpp::Variant &inValue) { + void set(int inIndex, const cpp::Variant &inValue) HXCPP_OVERRIDE { ELEM_ &elem = Item(inIndex); elem = ELEM_(inValue); if (hx::ContainsPointers()) { HX_OBJ_WB_GET(this, hx::PointerOf(elem)); } } - virtual void setUnsafe(int inIndex, const cpp::Variant &inValue) { + void setUnsafe(int inIndex, const cpp::Variant& inValue) HXCPP_OVERRIDE { ELEM_ &elem = *(ELEM_ *)(mBase + inIndex*sizeof(ELEM_)); elem = ELEM_(inValue); if (hx::ContainsPointers()) { HX_OBJ_WB_GET(this,hx::PointerOf(elem)); } @@ -1378,7 +1378,7 @@ cpp::VirtualArray Array_obj::map(MappingFunc inFunc) #ifdef HXCPP_VISIT_ALLOCS #define ARRAY_VISIT_FUNC \ - void __Visit(::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #else #define ARRAY_VISIT_FUNC #endif @@ -1423,7 +1423,7 @@ namespace hx ret mThis->name(args_call); \ } \ void *__GetHandle() const override { return mThis.GetPtr(); } \ - void __Mark(::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + void __Mark(::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \ ARRAY_VISIT_FUNC \ int __Compare(const ::hx::Object* inRhs) const override \ { \ @@ -1472,7 +1472,7 @@ ::hx::Callable(::hx::Callable)> Array_obj::map_dyn() { return mThis->map(inArg0); } - void __Mark(hx::MarkContext* __inCtx) + void __Mark(hx::MarkContext* __inCtx) override { hx::MarkMember(mThis, __inCtx); } @@ -1517,19 +1517,19 @@ hx::Val Array_obj::__Field(const String& inString, hx::PropertyAccess inC bool __IsFunction() const { return true; } \ ::Array_obj *mThis; \ Reflective_##func(::Array_obj *inThis) : mThis(inThis) { } \ - ::String toString() const{ return HX_CSTRING(#func) ; } \ - ::String __ToString() const{ return HX_CSTRING(#func) ; } \ - int __GetType() const { return vtFunction; } \ - void *__GetHandle() const { return mThis; } \ - int __ArgCount() const { return ARG_C; } \ - void __Mark(::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + ::String toString() override { return HX_CSTRING(#func) ; } \ + ::String __ToString() const override { return HX_CSTRING(#func) ; } \ + int __GetType() const override { return vtFunction; } \ + void *__GetHandle() const override { return mThis; } \ + int __ArgCount() const override { return ARG_C; } \ + void __Mark(::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \ ARRAY_VISIT_FUNC \ - ::Dynamic __Run(const ::Array<::Dynamic> &inArgs) \ + ::Dynamic __Run(const ::Array<::Dynamic> &inArgs) override \ { \ ret mThis->__##func(array_list); return ::Dynamic(); \ } \ run_func \ - int __Compare(const ::hx::Object *inRHS) const \ + int __Compare(const ::hx::Object *inRHS) const override \ { \ if (!dynamic_cast(inRHS)) return -1; \ return (mThis==inRHS->__GetHandle() ? 0 : -1); \ diff --git a/include/Enum.h b/include/Enum.h index fed5b223c..2b417855b 100644 --- a/include/Enum.h +++ b/include/Enum.h @@ -47,18 +47,18 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object static hx::ObjectPtr &__SGetClass(); - String toString(); + String toString() HXCPP_OVERRIDE; EnumBase_obj() : index(-1) { } EnumBase_obj(const null &inNull) : index(-1) { } - int __GetType() const { return vtEnum; } + int __GetType() const HXCPP_OVERRIDE { return vtEnum; } static Dynamic __CreateEmpty(); static Dynamic __Create(DynamicArray inArgs); static void __boot(); - void __Mark(hx::MarkContext *__inCtx); + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE; #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx); + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE; #endif static hx::ObjectPtr Resolve(String inName); @@ -98,7 +98,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object inline ::Dynamic _hx_getParamI(int inId) { return _hx_getFixed()[inId]; } inline int _hx_getParamCount() { return mFixedFields; } // Alias for _hx_getParamI - Dynamic __GetItem(int inIndex) const; + Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE; // For legacy inline String __Tag() const { return _hx_tag; } @@ -108,7 +108,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object int _hx_getIndex() const { return index; } - int __Compare(const hx::Object *inRHS) const; + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE; virtual String GetEnumName( ) const { return HX_CSTRING("Enum"); } }; diff --git a/include/cpp/FastIterator.h b/include/cpp/FastIterator.h index b2c0a66a0..d943d0a31 100644 --- a/include/cpp/FastIterator.h +++ b/include/cpp/FastIterator.h @@ -7,7 +7,7 @@ namespace cpp class HXCPP_EXTERN_CLASS_ATTRIBUTES IteratorBase : public hx::Object { public: - hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp); + hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; virtual bool hasNext() = 0; virtual Dynamic _dynamicNext() = 0; @@ -26,10 +26,10 @@ template class HXCPP_EXTERN_CLASS_ATTRIBUTES FastIterator_obj : public IteratorBase { public: - virtual bool hasNext() = 0; + bool hasNext() HXCPP_OVERRIDE = 0; virtual T next() = 0; - virtual Dynamic _dynamicNext() { return next(); } + Dynamic _dynamicNext() HXCPP_OVERRIDE { return next(); } }; @@ -84,15 +84,15 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES StringIterator : public cpp::FastIterator_ob StringIterator(const String &inValue) : value(inValue), pos(0) { } - bool hasNext() { return pos::__Mark(__inCtx); HX_MARK_MEMBER_NAME(value,"value"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { cpp::FastIterator_obj::__Visit(__inCtx); HX_VISIT_MEMBER_NAME(value,"value"); diff --git a/include/cpp/VirtualArray.h b/include/cpp/VirtualArray.h index c129e838b..af8dee0a4 100644 --- a/include/cpp/VirtualArray.h +++ b/include/cpp/VirtualArray.h @@ -79,7 +79,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES VirtualArray_obj : public hx::ArrayCommon store = inStore; } - hx::Object *__GetRealObject() { return base?(hx::Object *)base:(hx::Object *)this; } + hx::Object *__GetRealObject() HXCPP_OVERRIDE { return base?(hx::Object *)base:(hx::Object *)this; } inline static VirtualArray __new(int inSize=0,int inReserve=0) { @@ -91,7 +91,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES VirtualArray_obj : public hx::ArrayCommon return result; } - int __Compare(const hx::Object *inRHS) const; + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE; inline int get_length() const { @@ -316,12 +316,12 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES VirtualArray_obj : public hx::ArrayCommon void EnsureArrayStorage(ArrayStore inValue); void EnsureArrayStorage(VirtualArray inValue); - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_OBJECT(base); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { if (base) __inCtx->visitObject( (hx::Object **)&base); @@ -333,24 +333,24 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES VirtualArray_obj : public hx::ArrayCommon inline int getElementSize() const { return base ? base->GetElementSize() : 0; } inline int getByteCount() const { return base ? base->getByteCount() : 0; } inline char * getBase() const { return base ? base->GetBase() : 0; } - hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) { return null(); } + hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return null(); } static hx::Class &__SGetClass() { return hx::ArrayBase::__mClass; } - hx::Class __GetClass() const; - String toString(); - String __ToString() const { return const_cast(this)->toString(); } + hx::Class __GetClass() const HXCPP_OVERRIDE; + String toString() HXCPP_OVERRIDE; + String __ToString() const HXCPP_OVERRIDE { return const_cast(this)->toString(); } void setData(void *inData, int inElements) { EnsureBase(); base->setData(inData, inElements); } void setUnmanagedData(void *inData, int inElements) { EnsureBase(); base->setUnmanagedData(inData, inElements); } - int __GetType() const { return vtArray; } + int __GetType() const HXCPP_OVERRIDE { return vtArray; } inline size_t size() const { checkBase(); return store==hx::arrayEmpty ? 0 : base->length; } - inline int __length() const { checkBase(); return store==hx::arrayEmpty ? 0 : (int)base->length; } + inline int __length() const HXCPP_OVERRIDE { checkBase(); return store==hx::arrayEmpty ? 0 : (int)base->length; } String ItemString(int inI) { checkBase(); return store==hx::arrayEmpty ? null() : base->ItemString(inI); } - const char * __CStr() const { return store==hx::arrayEmpty ? "[]" : store==hx::arrayNull ? "null" : base->__CStr(); } + const char * __CStr() const HXCPP_OVERRIDE { return store==hx::arrayEmpty ? "[]" : store==hx::arrayNull ? "null" : base->__CStr(); } inline const char *GetBase() const { return base ? base->GetBase() : 0; } inline char *GetBase() { return base ? base->GetBase() : 0; } @@ -392,9 +392,9 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES VirtualArray_obj : public hx::ArrayCommon inline void __unsafeStringReference(String inString) { if (base) base->__unsafeStringReference(inString); } - Dynamic __GetItem(int inIndex) const; - Dynamic __SetItem(int inIndex,Dynamic inValue); - hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp); + Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE; + Dynamic __SetItem(int inIndex,Dynamic inValue) HXCPP_OVERRIDE; + hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; template inline const T &set(int inIdx, const T &inVal) diff --git a/include/hx/Anon.h b/include/hx/Anon.h index f41e2ee5e..7de554445 100644 --- a/include/hx/Anon.h +++ b/include/hx/Anon.h @@ -114,26 +114,26 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES Anon_obj : public hx::Object void operator delete( void *, int) { } - hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp); - bool __HasField(const String &inString); - hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp); - virtual void __GetFields(Array &outFields); - Dynamic *__GetFieldMap() { return &mFields; } + hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; + bool __HasField(const String &inString) HXCPP_OVERRIDE; + hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; + void __GetFields(Array &outFields) HXCPP_OVERRIDE; + Dynamic *__GetFieldMap() HXCPP_OVERRIDE { return &mFields; } - virtual int __GetType() const { return vtObject; } + int __GetType() const HXCPP_OVERRIDE { return vtObject; } hx::Anon_obj *Add(const String &inName,const Dynamic &inValue,bool inSetThisPointer=true); - void __Mark(hx::MarkContext *__inCtx); + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE; #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx); + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE; #endif - String __ToString() const; - String toString(); + String __ToString() const HXCPP_OVERRIDE; + String toString() HXCPP_OVERRIDE; static hx::ObjectPtr __mClass; \ static hx::ObjectPtr &__SGetClass() { return __mClass; } - hx::ObjectPtr __GetClass() const { return __mClass; } + hx::ObjectPtr __GetClass() const HXCPP_OVERRIDE { return __mClass; } bool __Remove(String inKey); }; @@ -227,7 +227,7 @@ class AnonStruct2_obj : public hx::Object } return result; } - hx::Val __Field(const String &inField, hx::PropertyAccess) + hx::Val __Field(const String &inField, hx::PropertyAccess) HXCPP_OVERRIDE { if (inField.__s==name0.__s) return t0; if (inField.__s==name1.__s) return t1; @@ -241,7 +241,7 @@ class AnonStruct2_obj : public hx::Object if (HX_QSTR_EQ_AE(inField,name1)) return t1; return null(); } - hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) + hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (inField.__s==name0.__s) { t0 = inValue.Cast< _hx_T0 >(); @@ -276,26 +276,26 @@ class AnonStruct2_obj : public hx::Object return inValue; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(t0); HX_MARK_MEMBER(t1); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(t0); HX_VISIT_MEMBER(t1); } #endif - void __GetFields(Array &outFields) + void __GetFields(Array &outFields) HXCPP_OVERRIDE { outFields->push(name0); outFields->push(name1); } - String toString() { return StringFromAnonFields(this); } + String toString() HXCPP_OVERRIDE { return StringFromAnonFields(this); } }; @@ -330,7 +330,7 @@ class AnonStruct3_obj : public hx::Object } return result; } - hx::Val __Field(const String &inField, hx::PropertyAccess) + hx::Val __Field(const String &inField, hx::PropertyAccess) HXCPP_OVERRIDE { if (inField.__s==name0.__s) return t0; if (inField.__s==name1.__s) return t1; @@ -344,7 +344,7 @@ class AnonStruct3_obj : public hx::Object if (HX_QSTR_EQ_AE(inField,name2)) return t2; return null(); } - hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) + hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (inField.__s==name0.__s) { t0 = inValue.Cast< _hx_T0 >(); @@ -394,14 +394,14 @@ class AnonStruct3_obj : public hx::Object return inValue; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(t0); HX_MARK_MEMBER(t1); HX_MARK_MEMBER(t2); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(t0); HX_VISIT_MEMBER(t1); @@ -409,14 +409,14 @@ class AnonStruct3_obj : public hx::Object } #endif - void __GetFields(Array &outFields) + void __GetFields(Array &outFields) HXCPP_OVERRIDE { outFields->push(name0); outFields->push(name1); outFields->push(name2); } - String toString() { return StringFromAnonFields(this); } + String toString() HXCPP_OVERRIDE { return StringFromAnonFields(this); } }; @@ -516,7 +516,7 @@ class AnonStruct4_obj : public hx::Object t1 = inValue.Cast< _hx_T1 >(); if (hx::ContainsPointers<_hx_T1>()) { HX_OBJ_WB_GET(this, hx::PointerOf(t1)); - } + } return inValue; } if (HX_QSTR_EQ(inField,name2)) { diff --git a/include/hx/CFFILoader.h b/include/hx/CFFILoader.h index ed95f1f30..eca1e0aa2 100644 --- a/include/hx/CFFILoader.h +++ b/include/hx/CFFILoader.h @@ -127,7 +127,7 @@ extern "C" ret name def_args; struct DynAlloc : public hx::IStringAlloc { #define WANT_DYNALLOC_ALLOC_BYTES - void *allocBytes(size_t n); + void *allocBytes(size_t n) HXCPP_OVERRIDE; }; diff --git a/include/hx/Class.h b/include/hx/Class.h index 1821d59cd..1514fcce9 100644 --- a/include/hx/Class.h +++ b/include/hx/Class.h @@ -125,7 +125,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES Class_obj : public hx::Object #endif ); - String __ToString() const; + String __ToString() const HXCPP_OVERRIDE; void MarkStatics(hx::MarkContext *__inCtx); @@ -136,22 +136,22 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES Class_obj : public hx::Object static ::Array< ::String > dupFunctions(String inStatics[]); // the "Class class" - hx::Class __GetClass() const; + hx::Class __GetClass() const HXCPP_OVERRIDE; static hx::Class & __SGetClass(); static void __boot(); - hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp); + hx::Val __Field(const String &inString,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; - hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp); + hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; - bool __HasField(const String &inString); + bool __HasField(const String &inString) HXCPP_OVERRIDE; virtual Dynamic ConstructEmpty(); virtual Dynamic ConstructArgs(hx::DynamicArray inArgs); virtual Dynamic ConstructEnum(String inName,hx::DynamicArray inArgs); virtual bool VCanCast(hx::Object *inPtr) { return false; } - int __GetType() const { return vtObject; } + int __GetType() const HXCPP_OVERRIDE { return vtObject; } virtual bool __IsEnum(); diff --git a/include/hx/DynamicImpl.h b/include/hx/DynamicImpl.h index d3ae64464..b10f40f18 100644 --- a/include/hx/DynamicImpl.h +++ b/include/hx/DynamicImpl.h @@ -26,7 +26,7 @@ struct CMemberFunction0 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction0 *other = dynamic_cast(inRHS); if (!other) @@ -34,22 +34,22 @@ struct CMemberFunction0 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 0; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction0.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 0; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction0.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr()); } #if (HXCPP_API_LEVEL<500) - Dynamic __run() + Dynamic __run() HXCPP_OVERRIDE { return mFunction(mThis.GetPtr()); @@ -73,7 +73,7 @@ struct CStaticFunction0 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction0 *other = dynamic_cast(inRHS); if (!other) @@ -81,15 +81,15 @@ struct CStaticFunction0 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 0; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 0; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(); } #if (HXCPP_API_LEVEL<500) - Dynamic __run() + Dynamic __run() HXCPP_OVERRIDE { return mFunction(); } @@ -127,7 +127,7 @@ struct CMemberFunction1 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction1 *other = dynamic_cast(inRHS); if (!other) @@ -135,22 +135,22 @@ struct CMemberFunction1 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 1; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction1.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 1; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction1.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs[0]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0) + Dynamic __run(const ::Dynamic &inArg0) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArg0); @@ -174,7 +174,7 @@ struct CStaticFunction1 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction1 *other = dynamic_cast(inRHS); if (!other) @@ -182,15 +182,15 @@ struct CStaticFunction1 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 1; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 1; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs[0]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0) + Dynamic __run(const ::Dynamic &inArg0) HXCPP_OVERRIDE { return mFunction(inArg0); } @@ -228,7 +228,7 @@ struct CMemberFunction2 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction2 *other = dynamic_cast(inRHS); if (!other) @@ -236,22 +236,22 @@ struct CMemberFunction2 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 2; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction2.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 2; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction2.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArg0,inArg1); @@ -275,7 +275,7 @@ struct CStaticFunction2 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction2 *other = dynamic_cast(inRHS); if (!other) @@ -283,15 +283,15 @@ struct CStaticFunction2 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 2; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 2; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs[0],inArgs[1]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) HXCPP_OVERRIDE { return mFunction(inArg0,inArg1); } @@ -329,7 +329,7 @@ struct CMemberFunction3 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction3 *other = dynamic_cast(inRHS); if (!other) @@ -337,22 +337,22 @@ struct CMemberFunction3 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 3; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction3.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 3; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction3.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2); @@ -376,7 +376,7 @@ struct CStaticFunction3 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction3 *other = dynamic_cast(inRHS); if (!other) @@ -384,15 +384,15 @@ struct CStaticFunction3 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 3; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 3; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs[0],inArgs[1],inArgs[2]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) HXCPP_OVERRIDE { return mFunction(inArg0,inArg1,inArg2); } @@ -430,7 +430,7 @@ struct CMemberFunction4 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction4 *other = dynamic_cast(inRHS); if (!other) @@ -438,22 +438,22 @@ struct CMemberFunction4 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 4; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction4.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 4; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction4.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2],inArgs[3]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2,inArg3); @@ -477,7 +477,7 @@ struct CStaticFunction4 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction4 *other = dynamic_cast(inRHS); if (!other) @@ -485,15 +485,15 @@ struct CStaticFunction4 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 4; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 4; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs[0],inArgs[1],inArgs[2],inArgs[3]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) HXCPP_OVERRIDE { return mFunction(inArg0,inArg1,inArg2,inArg3); } @@ -531,7 +531,7 @@ struct CMemberFunction5 : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction5 *other = dynamic_cast(inRHS); if (!other) @@ -539,22 +539,22 @@ struct CMemberFunction5 : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 5; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction5.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 5; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction5.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2,inArg3,inArg4); @@ -578,7 +578,7 @@ struct CStaticFunction5 : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction5 *other = dynamic_cast(inRHS); if (!other) @@ -586,15 +586,15 @@ struct CStaticFunction5 : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return 5; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return 5; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) + Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) HXCPP_OVERRIDE { return mFunction(inArg0,inArg1,inArg2,inArg3,inArg4); } @@ -1078,7 +1078,7 @@ struct CMemberFunctionVar : public hx::Object mName = inName; N = inN; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunctionVar *other = dynamic_cast(inRHS); if (!other) @@ -1087,15 +1087,15 @@ struct CMemberFunctionVar : public hx::Object } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return N; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return N; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs); } @@ -1117,7 +1117,7 @@ struct CStaticFunctionVar : public hx::Object mName = inName; N = inN; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunctionVar *other = dynamic_cast(inRHS); if (!other) @@ -1126,10 +1126,10 @@ struct CStaticFunctionVar : public hx::Object } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return N; } - ::String __ToString() const { return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return N; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs); } diff --git a/include/hx/DynamicImpl.tpl b/include/hx/DynamicImpl.tpl index 69fdd6b64..c2f07a310 100644 --- a/include/hx/DynamicImpl.tpl +++ b/include/hx/DynamicImpl.tpl @@ -38,7 +38,7 @@ struct CMemberFunction::ARG:: : public hx::Object mThis = inObj; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunction::ARG:: *other = dynamic_cast(inRHS); if (!other) @@ -46,15 +46,15 @@ struct CMemberFunction::ARG:: : public hx::Object return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return ::ARG::; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction::ARG::.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return ::ARG::; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction::ARG::.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { ::if (ARG>0):: return mFunction(mThis.GetPtr(), ::ARR_LIST::); @@ -63,7 +63,7 @@ struct CMemberFunction::ARG:: : public hx::Object ::end:: } #if (HXCPP_API_LEVEL<500) - Dynamic __run(::DYNAMIC_ARG_LIST::) + Dynamic __run(::DYNAMIC_ARG_LIST::) HXCPP_OVERRIDE { ::if (ARG>0):: return mFunction(mThis.GetPtr(), ::ARG_LIST::); @@ -89,7 +89,7 @@ struct CStaticFunction::ARG:: : public hx::Object mName = inName; mFunction = inFunction; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunction::ARG:: *other = dynamic_cast(inRHS); if (!other) @@ -97,15 +97,15 @@ struct CStaticFunction::ARG:: : public hx::Object return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1; } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return ::ARG::; } - ::String __ToString() const{ return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return ::ARG::; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(::ARR_LIST::); } #if (HXCPP_API_LEVEL<500) - Dynamic __run(::DYNAMIC_ARG_LIST::) + Dynamic __run(::DYNAMIC_ARG_LIST::) HXCPP_OVERRIDE { return mFunction(::ARG_LIST::); } @@ -148,7 +148,7 @@ struct CMemberFunctionVar : public hx::Object mName = inName; N = inN; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CMemberFunctionVar *other = dynamic_cast(inRHS); if (!other) @@ -157,15 +157,15 @@ struct CMemberFunctionVar : public hx::Object } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return N; } - ::String __ToString() const{ return String(mName); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return N; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); } #endif - void *__GetHandle() const { return mThis.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(mThis.GetPtr(), inArgs); } @@ -187,7 +187,7 @@ struct CStaticFunctionVar : public hx::Object mName = inName; N = inN; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CStaticFunctionVar *other = dynamic_cast(inRHS); if (!other) @@ -196,10 +196,10 @@ struct CStaticFunctionVar : public hx::Object } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return N; } - ::String __ToString() const { return String(mName); } - Dynamic __Run(const Array &inArgs) + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return N; } + ::String __ToString() const HXCPP_OVERRIDE { return String(mName); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return mFunction(inArgs); } diff --git a/include/hx/Functions.h b/include/hx/Functions.h index 409f6f5fd..4f7524bca 100644 --- a/include/hx/Functions.h +++ b/include/hx/Functions.h @@ -7,7 +7,7 @@ namespace hx { struct HXCPP_EXTERN_CLASS_ATTRIBUTES LocalFunc : public hx::Object { - int __GetType() const { return vtFunction; } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } inline void DoMarkThis(hx::MarkContext *__inCtx) { } #ifdef HXCPP_VISIT_ALLOCS inline void DoVisitThis(hx::VisitContext *__inCtx) { } @@ -17,7 +17,7 @@ namespace hx struct HXCPP_EXTERN_CLASS_ATTRIBUTES LocalThisFunc : public LocalFunc { Dynamic __this; - void __SetThis(Dynamic inThis) { __this = inThis; } + void __SetThis(Dynamic inThis) HXCPP_OVERRIDE { __this = inThis; } inline void DoMarkThis(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } #ifdef HXCPP_VISIT_ALLOCS inline void DoVisitThis(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); } @@ -57,12 +57,12 @@ namespace hx virtual TReturn HX_LOCAL_RUN(TArgs... args) = 0; - virtual std::type_index callableId() const + std::type_index callableId() const override { return std::type_index{ typeid(Callable_obj) }; } - virtual int __Compare(const ::hx::Object* other) const override + int __Compare(const ::hx::Object* other) const override { auto otherCallable = dynamic_cast(other); if (nullptr == otherCallable) diff --git a/include/hx/Macros.h b/include/hx/Macros.h index 21b9e7ac2..2bab4e742 100644 --- a/include/hx/Macros.h +++ b/include/hx/Macros.h @@ -52,19 +52,19 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \ // ---- Fields ---------------------- -#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) { return inClassId==1 || inClassId==(int)_hx_ClassId; } +#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)_hx_ClassId; } #define HX_DO_RTTI_ALL \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ - ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \ + ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \ inline static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } \ inline operator super *() { return this; } #define HX_DO_RTTI \ HX_DO_RTTI_ALL \ - ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \ - ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp); \ - void __GetFields(::Array< ::String> &outFields); + ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ + ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ + void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE; #define HX_DO_INTERFACE_RTTI \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ @@ -72,14 +72,14 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \ static void __register(); #define HX_DO_ENUM_RTTI_INTERNAL \ - ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \ + ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ static int __FindIndex(::String inName); \ static int __FindArgCount(::String inName); #define HX_DO_ENUM_RTTI \ HX_DO_ENUM_RTTI_INTERNAL \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ - ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \ + ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \ static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } @@ -773,8 +773,8 @@ static ::Dynamic __##class##func(const ::Array< ::Dynamic> &inArgs) \ #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) #else #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \ - ::Dynamic __Run(const ::Array< ::Dynamic> &inArgs) { ret func( array_args ); return ::null();} \ - ::Dynamic __run(dyn_arg_list) { ret func( arg_list ); return ::null();} + ::Dynamic __Run(const ::Array< ::Dynamic> &inArgs) HXCPP_OVERRIDE { ret func( array_args ); return ::null();} \ + ::Dynamic __run(dyn_arg_list) HXCPP_OVERRIDE { ret func( arg_list ); return ::null();} #endif @@ -812,23 +812,23 @@ static ::Dynamic __##class##func(const ::Array< ::Dynamic> &inArgs) \ struct name : public ::hx::Object { \ ::hx::ObjectPtr __this; \ name( ::hx::ObjectPtr __0 = ::null()) : __this(__0) {} \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); } + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); } #else #define HX_BEGIN_DEFAULT_FUNC(name,t0) \ namespace { \ - struct name : public ::hx::Object { int __GetType() const { return vtFunction; } \ + struct name : public ::hx::Object { int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ ::hx::ObjectPtr __this; \ name( ::hx::ObjectPtr __0 = ::null()) : __this(__0) {} \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); } + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); } #endif #define HX_END_DEFAULT_FUNC \ } -#define HXARGC(x) int __ArgCount() const { return x; } +#define HXARGC(x) int __ArgCount() const HXCPP_OVERRIDE { return x; } #if (HXCPP_API_LEVEL>=500) #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \ @@ -839,123 +839,123 @@ static ::Dynamic __##class##func(const ::Array< ::Dynamic> &inArgs) \ #define HX_BEGIN_LOCAL_FUNC_S1(SUPER,name,t0,v0) \ struct name : public SUPER { \ t0 v0; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); } \ name(t0 __0) : v0(__0) {} #define HX_BEGIN_LOCAL_FUNC_S2(SUPER,name,t0,v0,t1,v1) \ struct name : public SUPER { \ t0 v0;t1 v1; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \ name(t0 __0,t1 __1) : v0(__0),v1(__1) {} #define HX_BEGIN_LOCAL_FUNC_S3(SUPER,name,t0,v0,t1,v1,t2,v2) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \ name(t0 __0,t1 __1,t2 __2) : v0(__0),v1(__1),v2(__2) {} #define HX_BEGIN_LOCAL_FUNC_S4(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \ name(t0 __0,t1 __1,t2 __2,t3 __3) : v0(__0),v1(__1),v2(__2),v3(__3) {} #define HX_BEGIN_LOCAL_FUNC_S5(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4) {} #define HX_BEGIN_LOCAL_FUNC_S6(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5) {} #define HX_BEGIN_LOCAL_FUNC_S7(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6) {} #define HX_BEGIN_LOCAL_FUNC_S8(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7) {} #define HX_BEGIN_LOCAL_FUNC_S9(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8) {} #define HX_BEGIN_LOCAL_FUNC_S10(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9) {} #define HX_BEGIN_LOCAL_FUNC_S11(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10) {} #define HX_BEGIN_LOCAL_FUNC_S12(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11) {} #define HX_BEGIN_LOCAL_FUNC_S13(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12) {} #define HX_BEGIN_LOCAL_FUNC_S14(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13) {} #define HX_BEGIN_LOCAL_FUNC_S15(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14) {} #define HX_BEGIN_LOCAL_FUNC_S16(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15) {} #define HX_BEGIN_LOCAL_FUNC_S17(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16) {} #define HX_BEGIN_LOCAL_FUNC_S18(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17) {} #define HX_BEGIN_LOCAL_FUNC_S19(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18) \ struct name : public SUPER { \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18; \ - void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \ - void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \ + void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \ + void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18) {} #else #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); } \ name() {} @@ -963,134 +963,134 @@ static ::Dynamic __##class##func(const ::Array< ::Dynamic> &inArgs) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); } \ name(t0 __0) : v0(__0) {} #define HX_BEGIN_LOCAL_FUNC_S2(SUPER,name,t0,v0,t1,v1) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \ name(t0 __0,t1 __1) : v0(__0),v1(__1) {} #define HX_BEGIN_LOCAL_FUNC_S3(SUPER,name,t0,v0,t1,v1,t2,v2) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \ name(t0 __0,t1 __1,t2 __2) : v0(__0),v1(__1),v2(__2) {} #define HX_BEGIN_LOCAL_FUNC_S4(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \ name(t0 __0,t1 __1,t2 __2,t3 __3) : v0(__0),v1(__1),v2(__2),v3(__3) {} #define HX_BEGIN_LOCAL_FUNC_S5(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4) {} #define HX_BEGIN_LOCAL_FUNC_S6(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5) {} #define HX_BEGIN_LOCAL_FUNC_S7(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6) {} #define HX_BEGIN_LOCAL_FUNC_S8(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7) {} #define HX_BEGIN_LOCAL_FUNC_S9(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8) {} #define HX_BEGIN_LOCAL_FUNC_S10(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9) {} #define HX_BEGIN_LOCAL_FUNC_S11(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10) {} #define HX_BEGIN_LOCAL_FUNC_S12(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11) {} #define HX_BEGIN_LOCAL_FUNC_S13(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12) {} #define HX_BEGIN_LOCAL_FUNC_S14(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13) {} #define HX_BEGIN_LOCAL_FUNC_S15(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14) {} #define HX_BEGIN_LOCAL_FUNC_S16(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15) {} #define HX_BEGIN_LOCAL_FUNC_S17(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16) {} #define HX_BEGIN_LOCAL_FUNC_S18(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17) {} #define HX_BEGIN_LOCAL_FUNC_S19(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18; \ - void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \ - void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \ + void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \ + void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18) {} #endif diff --git a/include/hx/Macros.tpl b/include/hx/Macros.tpl index 678406086..5f75bde2e 100644 --- a/include/hx/Macros.tpl +++ b/include/hx/Macros.tpl @@ -121,8 +121,8 @@ static ::NS::Dynamic __##class##func(const ::NS::Array< ::NS::Dynamic> &inArgs) #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) #else #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \ - ::NS::Dynamic __Run(const ::NS::Array< ::NS::Dynamic> &inArgs) { ret func( array_args ); return ::NS::null();} \ - ::NS::Dynamic __run(dyn_arg_list) { ret func( arg_list ); return ::NS::null();} + ::NS::Dynamic __Run(const ::NS::Array< ::NS::Dynamic> &inArgs) HXCPP_OVERRIDE { ret func( array_args ); return ::NS::null();} \ + ::NS::Dynamic __run(dyn_arg_list) HXCPP_OVERRIDE { ret func( arg_list ); return ::NS::null();} #endif ::foreach PARAMS:: @@ -134,23 +134,23 @@ static ::NS::Dynamic __##class##func(const ::NS::Array< ::NS::Dynamic> &inArgs) struct name : public ::hxNS::Object { \ ::hxNS::ObjectPtr __this; \ name(::hxNS::ObjectPtr __0 = ::NS::null()) : __this(__0) {} \ - void __Mark(::hxNS::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \ - void __Visit(::hxNS::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); } + void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \ + void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); } #else #define HX_BEGIN_DEFAULT_FUNC(name,t0) \ namespace { \ - struct name : public ::hxNS::Object { int __GetType() const { return vtFunction; } \ + struct name : public ::hxNS::Object { int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \ ::hxNS::ObjectPtr __this; \ name(::hxNS::ObjectPtr __0 = ::NS::null()) : __this(__0) {} \ - void __Mark(::hxNS::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \ - void __Visit(::hxNS::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); } + void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \ + void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); } #endif #define HX_END_DEFAULT_FUNC \ } -#define HXARGC(x) int __ArgCount() const { return x; } +#define HXARGC(x) int __ArgCount() const HXCPP_OVERRIDE { return x; } #if (HXCPP_API_LEVEL>=500) #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \ @@ -161,15 +161,15 @@ static ::NS::Dynamic __##class##func(const ::NS::Array< ::NS::Dynamic> &inArgs) #define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \ struct name : public SUPER { \ ::TYPE_DECL::; \ - void __Mark(::hxNS::MarkContext *__inCtx) { ::MARKS:: } \ - void __Visit(::hxNS::VisitContext *__inCtx) { ::VISITS:: } \ + void __Mark(::hxNS::MarkContext *__inCtx) override { ::MARKS:: } \ + void __Visit(::hxNS::VisitContext *__inCtx) override { ::VISITS:: } \ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end:: #else #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \ struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \ - void __Mark(::hxNS::MarkContext *__inCtx) { DoMarkThis(__inCtx); } \ - void __Visit(::hxNS::VisitContext *__inCtx) { DoVisitThis(__inCtx); } \ + void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); } \ + void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); } \ name() {} ::foreach LOCALS:: @@ -177,8 +177,8 @@ static ::NS::Dynamic __##class##func(const ::NS::Array< ::NS::Dynamic> &inArgs) struct name : public SUPER { \ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \ ::TYPE_DECL::; \ - void __Mark(::hxNS::MarkContext *__inCtx) { DoMarkThis(__inCtx); ::MARKS:: } \ - void __Visit(::hxNS::VisitContext *__inCtx) { DoVisitThis(__inCtx); ::VISITS:: } \ + void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); ::MARKS:: } \ + void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); ::VISITS:: } \ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end:: #endif diff --git a/include/hx/MacrosFixed.h b/include/hx/MacrosFixed.h index ef3e00095..0396e8814 100644 --- a/include/hx/MacrosFixed.h +++ b/include/hx/MacrosFixed.h @@ -44,19 +44,19 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \ // ---- Fields ---------------------- -#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) { return inClassId==1 || inClassId==(int)_hx_ClassId; } +#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)_hx_ClassId; } #define HX_DO_RTTI_ALL \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ - ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \ + ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \ inline static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } \ inline operator super *() { return this; } #define HX_DO_RTTI \ HX_DO_RTTI_ALL \ - ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \ - ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp); \ - void __GetFields(::Array< ::String> &outFields); + ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ + ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ + void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE; #define HX_DO_INTERFACE_RTTI \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ @@ -64,14 +64,14 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \ static void __register(); #define HX_DO_ENUM_RTTI_INTERNAL \ - ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \ + ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \ static int __FindIndex(::String inName); \ static int __FindArgCount(::String inName); #define HX_DO_ENUM_RTTI \ HX_DO_ENUM_RTTI_INTERNAL \ static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \ - ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \ + ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \ static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } diff --git a/include/hx/Operators.h b/include/hx/Operators.h index f5ffcbf8c..1b315326b 100644 --- a/include/hx/Operators.h +++ b/include/hx/Operators.h @@ -406,7 +406,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES StringValueIterator : public cpp::StringIter public: StringValueIterator(const String &inValue) : StringIterator(inValue) { } - int next() { return value.cca(pos++); } + int next() HXCPP_OVERRIDE { return value.cca(pos++); } }; class HXCPP_EXTERN_CLASS_ATTRIBUTES StringKeyValueIterator : public cpp::StringIterator @@ -414,7 +414,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES StringKeyValueIterator : public cpp::StringI public: StringKeyValueIterator(const String &inValue) : StringIterator(inValue) { } - Dynamic next() { + Dynamic next() HXCPP_OVERRIDE { int p = pos; return hx::AnonStruct2_obj< int,int >::Create(HX_("key",9f,89,51,00),p, diff --git a/include/hx/Scriptable.h b/include/hx/Scriptable.h index 28a59b932..7a605dc01 100644 --- a/include/hx/Scriptable.h +++ b/include/hx/Scriptable.h @@ -214,7 +214,7 @@ void __scriptable_load_abc(Array inBytes); #ifdef HXCPP_VISIT_ALLOCS #define SCRIPTABLE_VISIT_FUNCTION \ -void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); ::hx::ScriptableVisit(__scriptVTable[-1],this,HX_VISIT_ARG); } +void __Visit(HX_VISIT_PARAMS) HXCPP_OVERRIDE { super::__Visit(HX_VISIT_ARG); ::hx::ScriptableVisit(__scriptVTable[-1],this,HX_VISIT_ARG); } #else #define SCRIPTABLE_VISIT_FUNCTION #endif @@ -232,14 +232,14 @@ void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); ::hx::ScriptableVi __ME *result = new (inExtra) __ME(); \ result->__scriptVTable = inVTable; \ return result; } \ - void ** __GetScriptVTable() { return __scriptVTable; } \ - ::String toString() { if (__scriptVTable[0] ) \ + void ** __GetScriptVTable() HXCPP_OVERRIDE { return __scriptVTable; } \ + ::String toString() HXCPP_OVERRIDE { if (__scriptVTable[0] ) \ { ::hx::CppiaCtx *ctx = ::hx::CppiaCtx::getCurrent(); ::hx::AutoStack a(ctx); ctx->pushObject(this); return ctx->runString(__scriptVTable[0]); } \ else return __superString::toString(); } \ - ::String __ToString() const { return ::hx::ScriptableToString(__scriptVTable[-1]); } \ - ::hx::Class __GetClass() const { return ::hx::ScriptableGetClass(__scriptVTable[-1]); } \ - int __GetType() const { return ::hx::ScriptableGetType(__scriptVTable[-1]); } \ - void __Mark(HX_MARK_PARAMS) { super::__Mark(HX_MARK_ARG); ::hx::ScriptableMark(__scriptVTable[-1],this,HX_MARK_ARG); } \ + ::String __ToString() const HXCPP_OVERRIDE { return ::hx::ScriptableToString(__scriptVTable[-1]); } \ + ::hx::Class __GetClass() const HXCPP_OVERRIDE { return ::hx::ScriptableGetClass(__scriptVTable[-1]); } \ + int __GetType() const HXCPP_OVERRIDE { return ::hx::ScriptableGetType(__scriptVTable[-1]); } \ + void __Mark(HX_MARK_PARAMS) HXCPP_OVERRIDE { super::__Mark(HX_MARK_ARG); ::hx::ScriptableMark(__scriptVTable[-1],this,HX_MARK_ARG); } \ SCRIPTABLE_VISIT_FUNCTION @@ -261,20 +261,20 @@ void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); ::hx::ScriptableVi #define HX_DEFINE_SCRIPTABLE_DYNAMIC \ \ - ::hx::Val __Field(const ::String &inName,::hx::PropertyAccess inCallProp) \ + ::hx::Val __Field(const ::String &inName,::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE \ { ::Dynamic result; if (::hx::ScriptableField(this,inName,inCallProp,result)) return result; return super::__Field(inName,inCallProp); } \ ::Float __INumField(int inFieldID) \ { ::Float result; if (::hx::ScriptableField(this,inFieldID,::hx::paccAlways,result)) return result; return super::__INumField(inFieldID); } \ ::Dynamic __IField(int inFieldID) \ { ::Dynamic result; if (::hx::ScriptableField(this,inFieldID,::hx::paccAlways,result)) return result; return super::__IField(inFieldID); } \ - ::hx::Val __SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp) \ + ::hx::Val __SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE \ { \ ::Dynamic value; \ if (::hx::ScriptableSetField(this, inName, inValue,inCallProp,value)) \ return value; \ return super::__SetField(inName,inValue,inCallProp); \ } \ - void __GetFields(::Array< ::String> &outFields) \ + void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE \ { super::__GetFields(outFields); ::hx::ScriptableGetFields(this,outFields); } diff --git a/include/hx/StdLibs.h b/include/hx/StdLibs.h index a62ee4088..a9c31f9b3 100644 --- a/include/hx/StdLibs.h +++ b/include/hx/StdLibs.h @@ -501,13 +501,13 @@ struct AtomicObject: hx::Object { AtomicObject(Dynamic val) { aPtr = val.mPtr; } - void __Mark(hx::MarkContext *__inCtx) { + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { Dynamic ptr = load(); HX_MARK_MEMBER(ptr); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { hx::Object *obj = aPtr.load(); HX_VISIT_MEMBER(obj); aPtr.store(obj); diff --git a/include/hx/StringAlloc.h b/include/hx/StringAlloc.h index 29fb7f7d6..59df683be 100755 --- a/include/hx/StringAlloc.h +++ b/include/hx/StringAlloc.h @@ -16,6 +16,14 @@ class IStringAlloc ~IStringAlloc(){}; }; +#ifndef HXCPP_OVERRIDE + #if HXCPP_API_LEVEL >= 500 && (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSVC_LANG >= 201103L)) + #define HXCPP_OVERRIDE override + #else + #define HXCPP_OVERRIDE + #endif +#endif + template class StringAlloc : public IStringAlloc { @@ -30,7 +38,7 @@ class StringAlloc : public IStringAlloc if (heap) free(heap); } - void *allocBytes(size_t inBytes) + void *allocBytes(size_t inBytes) HXCPP_OVERRIDE { if (inBytes<=STACK) return buffer; diff --git a/include/hxcpp.h b/include/hxcpp.h index d55e5f7d3..eafa42876 100755 --- a/include/hxcpp.h +++ b/include/hxcpp.h @@ -98,6 +98,12 @@ #endif #endif +#if HXCPP_API_LEVEL >= 500 && (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSVC_LANG >= 201103L)) + #define HXCPP_OVERRIDE override +#else + #define HXCPP_OVERRIDE +#endif + typedef char HX_CHAR; diff --git a/src/Array.cpp b/src/Array.cpp index d51401f15..fc1cb117d 100644 --- a/src/Array.cpp +++ b/src/Array.cpp @@ -501,7 +501,7 @@ void ArrayBase::safeSort(DynamicSorterFunc inSorter, bool inIsString) #if (HXCPP_API_LEVEL<500) #define ARRAY_RUN_FUNC(ret,func,dynamic_arg_list,arg_list) \ - Dynamic __run(dynamic_arg_list) \ + Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \ { \ ret mThis->__##func(arg_list); return Dynamic(); \ } @@ -513,19 +513,19 @@ struct ArrayBase_##func : public hx::Object \ bool __IsFunction() const { return true; } \ ArrayBase *mThis; \ ArrayBase_##func(ArrayBase *inThis) : mThis(inThis) { } \ - String toString() const{ return HX_CSTRING(#func) ; } \ - String __ToString() const{ return HX_CSTRING(#func) ; } \ - int __GetType() const { return vtFunction; } \ - void *__GetHandle() const { return mThis; } \ - int __ArgCount() const { return ARG_C; } \ - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \ + String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \ + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \ + void *__GetHandle() const HXCPP_OVERRIDE { return mThis; } \ + int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \ + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mThis); } \ ARRAY_VISIT_FUNC \ - Dynamic __Run(const Array &inArgs) \ + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE \ { \ ret mThis->__##func(array_list); return Dynamic(); \ } \ run_func \ - int __Compare(const hx::Object *inRHS) const \ + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE \ { \ if (!dynamic_cast(inRHS)) return -1; \ return (mThis==inRHS->__GetHandle() ? 0 : -1); \ @@ -715,7 +715,7 @@ namespace cpp } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext* __inCtx) + void __Visit(hx::VisitContext* __inCtx) override { HX_VISIT_MEMBER(__this); } @@ -752,7 +752,7 @@ namespace cpp } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext* __inCtx) + void __Visit(hx::VisitContext* __inCtx) override { HX_VISIT_MEMBER(__this); } @@ -822,7 +822,7 @@ namespace cpp ret mThis->name(args_call); \ } \ void* __GetHandle() const override { return mThis.GetPtr(); } \ - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + void __Mark(hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \ ARRAY_VISIT_FUNC \ int __Compare(const ::hx::Object* inRhs) const override \ { \ @@ -867,7 +867,7 @@ namespace cpp #else #define VARRAY_RUN_FUNC(ret,func,dynamic_arg_list,arg_list) \ - Dynamic __run(dynamic_arg_list) \ + Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \ { \ ret mThis->func(arg_list); return Dynamic(); \ } @@ -881,15 +881,15 @@ struct VirtualArray_##func : public hx::Object \ VirtualArray_##func(VirtualArray inThis) : mThis(inThis) { \ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \ } \ - String toString() const{ return HX_CSTRING(#func) ; } \ - String __ToString() const{ return HX_CSTRING(#func) ; } \ - int __GetType() const { return vtFunction; } \ - void *__GetHandle() const { return mThis.mPtr; } \ - int __ArgCount() const { return ARG_C; } \ - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \ + String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \ + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \ + void *__GetHandle() const HXCPP_OVERRIDE { return mThis.mPtr; } \ + int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \ + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mThis); } \ ARRAY_VISIT_FUNC \ run_func \ - Dynamic __Run(const Array &inArgs) \ + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE \ { \ ret mThis->func(array_list); return Dynamic(); \ } \ @@ -1253,8 +1253,8 @@ class EmptyIterator : public IteratorBase public: HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdArrayIterator }; \ - bool hasNext() { return false; } - Dynamic _dynamicNext() { return null(); } + bool hasNext() HXCPP_OVERRIDE { return false; } + Dynamic _dynamicNext() HXCPP_OVERRIDE { return null(); } }; diff --git a/src/Dynamic.cpp b/src/Dynamic.cpp index 0f6514740..63d738088 100644 --- a/src/Dynamic.cpp +++ b/src/Dynamic.cpp @@ -46,7 +46,7 @@ class IntData : public hx::Object public: enum { _hx_ClassId = hx::clsIdInt }; - bool _hx_isInstanceOf(int inClassId) + bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)_hx_ClassId || inClassId==(int)hx::clsIdFloat; } @@ -56,17 +56,17 @@ class IntData : public hx::Object { return hx::Object::operator new(inSize,inAlloc,inName); } IntData(int inValue=0) : mValue(inValue) {}; - hx::Class __GetClass() const { return __IntClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __IntClass; } - virtual int __GetType() const { return vtInt; } + int __GetType() const HXCPP_OVERRIDE { return vtInt; } - String toString() { return String(mValue); } - String __ToString() const { return String(mValue); } - double __ToDouble() const { return mValue; } - int __ToInt() const { return mValue; } - cpp::Int64 __ToInt64() const { return mValue; } + String toString() HXCPP_OVERRIDE { return String(mValue); } + String __ToString() const HXCPP_OVERRIDE { return String(mValue); } + double __ToDouble() const HXCPP_OVERRIDE { return mValue; } + int __ToInt() const HXCPP_OVERRIDE { return mValue; } + cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return mValue; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { double diff = mValue - inRHS->__ToDouble(); return diff < 0 ? -1 : diff==0 ? 0 : 1; @@ -86,16 +86,16 @@ class BoolData : public hx::Object { return hx::Object::operator new(inSize,inAlloc,"Bool"); } BoolData(bool inValue=false) : mValue(inValue) {}; - hx::Class __GetClass() const { return __BoolClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __BoolClass; } - virtual int __GetType() const { return vtBool; } + int __GetType() const HXCPP_OVERRIDE { return vtBool; } - String __ToString() const { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); } - String toString() { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); } - double __ToDouble() const { return mValue; } - int __ToInt() const { return mValue; } + String __ToString() const HXCPP_OVERRIDE { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); } + String toString() HXCPP_OVERRIDE { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); } + double __ToDouble() const HXCPP_OVERRIDE { return mValue; } + int __ToInt() const HXCPP_OVERRIDE { return mValue; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { double diff = (double)mValue - inRHS->__ToDouble(); return diff < 0 ? -1 : diff==0 ? 0 : 1; @@ -116,16 +116,16 @@ class DoubleData : public hx::Object { return hx::Object::operator new(inSize,inAlloc,inName); } DoubleData(double inValue=0) : mValue(inValue) {}; - hx::Class __GetClass() const { return __FloatClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __FloatClass; } - virtual int __GetType() const { return vtFloat; } - String toString() { return String(mValue); } - String __ToString() const { return String(mValue); } - double __ToDouble() const { return mValue; } - int __ToInt() const { return (int)mValue; } - cpp::Int64 __ToInt64() const { return mValue; } + int __GetType() const HXCPP_OVERRIDE { return vtFloat; } + String toString() HXCPP_OVERRIDE { return String(mValue); } + String __ToString() const HXCPP_OVERRIDE { return String(mValue); } + double __ToDouble() const HXCPP_OVERRIDE { return mValue; } + int __ToInt() const HXCPP_OVERRIDE { return (int)mValue; } + cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return mValue; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { double rval = inRHS->__ToDouble(); if (rval==mValue) @@ -148,26 +148,26 @@ class Int64Data : public hx::Object { return hx::Object::operator new(inSize,inAlloc,inName); } Int64Data(cpp::Int64 inValue=0) : mValue(inValue) {}; - hx::Class __GetClass() const { return __Int64Class; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __Int64Class; } - virtual int __GetType() const { return vtInt64; } - String toString() { return String(mValue); } - String __ToString() const { return String(mValue); } - double __ToDouble() const { return mValue; } - int __ToInt() const { return (int)mValue; } - cpp::Int64 __ToInt64() const { return mValue; } - void __GetFields(Array &outFields) + int __GetType() const HXCPP_OVERRIDE { return vtInt64; } + String toString() HXCPP_OVERRIDE { return String(mValue); } + String __ToString() const HXCPP_OVERRIDE { return String(mValue); } + double __ToDouble() const HXCPP_OVERRIDE { return mValue; } + int __ToInt() const HXCPP_OVERRIDE { return (int)mValue; } + cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return mValue; } + void __GetFields(Array& outFields) HXCPP_OVERRIDE { outFields->push( HX_HCSTRING("hi","\x01","\x5b","\x00","\x00") ); outFields->push( HX_HCSTRING("lo","\x83","\x5e","\x00","\x00") ); } - hx::Val __Field(const String &inName, hx::PropertyAccess inCallProp) + hx::Val __Field(const String &inName, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (HX_FIELD_EQ(inName,"hi") ) { return hx::Val( (int)(mValue>>32)); } if (HX_FIELD_EQ(inName,"lo") ) { return hx::Val( (int)(mValue&0xffffffff)); } return hx::Object::__Field(inName,inCallProp); } - hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) + hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (HX_FIELD_EQ(inName,"hi") ) { @@ -182,7 +182,7 @@ class Int64Data : public hx::Object return hx::Object::__SetField(inName,inValue,inCallProp); } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { double rval = inRHS->__ToInt64(); if (rval==mValue) @@ -209,20 +209,20 @@ class PointerData : public hx::Object HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdPointer }; - hx::Class __GetClass() const { return __PointerClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __PointerClass; } // k_cpp_pointer - int __GetType() const { return vtAbstractBase + 2; } - void * __GetHandle() const { return mValue; } - String toString() + int __GetType() const HXCPP_OVERRIDE { return vtAbstractBase + 2; } + void * __GetHandle() const HXCPP_OVERRIDE { return mValue; } + String toString() HXCPP_OVERRIDE { char buf[100]; snprintf(buf,sizeof(buf),"Pointer(%p)", mValue); return String(buf); } - String __ToString() const { return String(mValue); } + String __ToString() const HXCPP_OVERRIDE { return String(mValue); } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { void *r = inRHS==0 ? 0 : inRHS->__GetHandle(); return mValue < r ? -1 : mValue==r ? 0 : 1; @@ -250,29 +250,29 @@ class StructData : public hx::Object HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdStruct }; - hx::Class __GetClass() const { return __PointerClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __PointerClass; } // k_cpp_struct - int __GetType() const { return vtAbstractBase + 3; } - void * __GetHandle() const { return mValue; } - String toString() + int __GetType() const HXCPP_OVERRIDE { return vtAbstractBase + 3; } + void * __GetHandle() const HXCPP_OVERRIDE { return mValue; } + String toString() HXCPP_OVERRIDE { return __ToString(); } - String __ToString() const + String __ToString() const HXCPP_OVERRIDE { String result; mHandler(cpp::dhoToString, mValue, 0, &result ); return result; } - const char *__CStr() const + const char *__CStr() const HXCPP_OVERRIDE { const char *result = "unknown"; mHandler(cpp::dhoGetClassName, mValue, 0, &result ); return result; } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { if (!inRHS) return 1; @@ -288,15 +288,15 @@ class StructData : public hx::Object return 0; } - int __length() const { return mLength; } + int __length() const HXCPP_OVERRIDE { return mLength; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_ARRAY(mValue); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_ARRAY(mValue); } diff --git a/src/String.cpp b/src/String.cpp index 61ba1cd9d..e8e0ce6b7 100644 --- a/src/String.cpp +++ b/src/String.cpp @@ -2259,7 +2259,7 @@ String &String::operator+=(const String &inRHS) #if (HXCPP_API_LEVEL>=500) #ifdef HXCPP_VISIT_ALLOCS #define STRING_VISIT_FUNC \ - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } + void __Visit(hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(mThis); } #else #define STRING_VISIT_FUNC #endif @@ -2291,7 +2291,7 @@ String &String::operator+=(const String &inRHS) mThis = inThis; \ } \ void* __GetHandle() const override { return const_cast(mThis.raw_ptr()); } \ - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \ + void __Mark(hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \ STRING_VISIT_FUNC \ int __Compare(const ::hx::Object* inRhs) const override \ { \ @@ -2334,7 +2334,7 @@ String &String::operator+=(const String &inRHS) #else #ifdef HXCPP_VISIT_ALLOCS #define STRING_VISIT_FUNC \ - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_STRING(mThis.raw_ref()); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_STRING(mThis.raw_ref()); } #else #define STRING_VISIT_FUNC #endif @@ -2348,22 +2348,22 @@ String &String::operator+=(const String &inRHS) __String_##func(const String &inThis) : mThis(inThis) { \ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \ } \ - String toString() const{ return HX_CSTRING(#func); } \ - String __ToString() const{ return HX_CSTRING(#func); } \ - int __GetType() const { return vtFunction; } \ - void *__GetHandle() const { return const_cast(mThis.raw_ptr()); } \ - int __ArgCount() const { return ARG_C; } \ - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_STRING(mThis.raw_ptr()); } \ - Dynamic __Run(const Array &inArgs) \ + String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func); } \ + String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func); } \ + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \ + void *__GetHandle() const HXCPP_OVERRIDE { return const_cast(mThis.raw_ptr()); } \ + int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \ + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_STRING(mThis.raw_ptr()); } \ + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE \ { \ return mThis.func(array_list); return Dynamic(); \ } \ - Dynamic __run(dynamic_arg_list) \ + Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \ { \ return mThis.func(arg_list); return Dynamic(); \ } \ STRING_VISIT_FUNC \ - void __SetThis(Dynamic inThis) { mThis = inThis; } \ + void __SetThis(Dynamic inThis) HXCPP_OVERRIDE { mThis = inThis; } \ }; \ Dynamic String::func##_dyn() { return new __String_##func(*this); } @@ -2486,13 +2486,13 @@ class StringData : public hx::Object HX_OBJ_WB_GET(this,mValue.raw_ref()); }; - hx::Class __GetClass() const { return __StringClass; } + hx::Class __GetClass() const HXCPP_OVERRIDE { return __StringClass; } bool __Is(hx::Object *inClass) const { return dynamic_cast< StringData *>(inClass); } - virtual int __GetType() const { return vtString; } - String __ToString() const { return mValue; } - String toString() { return mValue; } - double __ToDouble() const + int __GetType() const HXCPP_OVERRIDE { return vtString; } + String __ToString() const HXCPP_OVERRIDE { return mValue; } + String toString() HXCPP_OVERRIDE { return mValue; } + double __ToDouble() const HXCPP_OVERRIDE { if (!mValue.raw_ptr()) return 0; @@ -2502,33 +2502,33 @@ class StringData : public hx::Object return atof(mValue.utf8_str()); #endif } - int __length() const { return mValue.length; } + int __length() const HXCPP_OVERRIDE { return mValue.length; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mValue); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mValue); } #endif - int __ToInt() const + int __ToInt() const HXCPP_OVERRIDE { if (!mValue.raw_ptr()) return 0; return atoi(mValue.utf8_str()); } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { return mValue.compare( const_cast(inRHS)->toString() ); } - hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) + hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return mValue.__Field(inString, inCallProp); } diff --git a/src/hx/CFFI.cpp b/src/hx/CFFI.cpp index 8ad11c2bc..264447c82 100644 --- a/src/hx/CFFI.cpp +++ b/src/hx/CFFI.cpp @@ -49,16 +49,16 @@ class Abstract_obj : public Object } - virtual int __GetType() const { return mType; } - virtual hx::ObjectPtr __GetClass() const { return 0; } + int __GetType() const HXCPP_OVERRIDE { return mType; } + hx::ObjectPtr __GetClass() const HXCPP_OVERRIDE { return 0; } virtual bool __IsClass(hx::Class inClass ) const { return false; } - virtual void *__GetHandle() const + void *__GetHandle() const HXCPP_OVERRIDE { return mHandle; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(_hxcpp_toString); if (mMarkSize>=sizeof(void *) && mHandle) @@ -68,7 +68,7 @@ class Abstract_obj : public Object } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(_hxcpp_toString); if (mFinalizer) @@ -100,7 +100,7 @@ class Abstract_obj : public Object mHandle = 0; } - String toString() + String toString() HXCPP_OVERRIDE { if (_hxcpp_toString.mPtr) return _hxcpp_toString( Dynamic(this) ); @@ -115,14 +115,14 @@ class Abstract_obj : public Object HX_CSTRING(")"); } - hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) + hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (inString==HX_CSTRING("_hxcpp_toString")) return _hxcpp_toString; if (inString==HX_CSTRING("_hxcpp_kind")) return __hxcpp_get_kind(this); return hx::Object::__Field(inString, inCallProp); } - hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) + hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (inName==HX_CSTRING("_hxcpp_toString")) { diff --git a/src/hx/Debug.cpp b/src/hx/Debug.cpp index 403bf8118..b19bfad09 100644 --- a/src/hx/Debug.cpp +++ b/src/hx/Debug.cpp @@ -128,9 +128,9 @@ class hxSehException : public hx::Object hxSehException(int inCode) : code(inCode) { } - String __ToString() const { return HX_CSTRING("hxSehException"); } + String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING("hxSehException"); } - int __GetType() const { return vtObject; } + int __GetType() const HXCPP_OVERRIDE { return vtObject; } }; static hx::Object *sException = new hxSehException(1); diff --git a/src/hx/Hash.h b/src/hx/Hash.h index 0fde32d0a..0aa4a8e04 100644 --- a/src/hx/Hash.h +++ b/src/hx/Hash.h @@ -353,7 +353,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > bool TIsWeakRefValid(String &key) { return IsWeakRefValid(key.raw_ptr()); } - void updateAfterGc() + void updateAfterGc() HXCPP_OVERRIDE { if (Element::WeakKeys && Element::ManageKeys) { @@ -451,7 +451,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > HX_OBJ_WB_GET(this, bucket); } - bool remove(Key inKey) + bool remove(Key inKey) HXCPP_OVERRIDE { if (!bucket) return false; @@ -511,10 +511,10 @@ struct Hash : public HashBase< typename ELEMENT::Key > return 0; } - bool exists(Key inKey) { return find( HashCalcHash(inKey), inKey ); } + bool exists(Key inKey) HXCPP_OVERRIDE { return find( HashCalcHash(inKey), inKey ); } - HashBase *convertStore(HashStore inStore) + HashBase *convertStore(HashStore inStore) HXCPP_OVERRIDE { switch(inStore) { @@ -545,11 +545,11 @@ struct Hash : public HashBase< typename ELEMENT::Key > return true; } - bool query(Key inKey,int &outValue) { return TQuery(inKey,outValue); } - bool query(Key inKey,::String &outValue) { return TQuery(inKey,outValue); } - bool query(Key inKey,Float &outValue) { return TQuery(inKey,outValue); } - bool query(Key inKey,Dynamic &outValue) { return TQuery(inKey,outValue); } - bool query(Key inKey,cpp::Int64 &outValue) { return TQuery(inKey, outValue); } + bool query(Key inKey,int &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); } + bool query(Key inKey,::String &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); } + bool query(Key inKey,Float &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); } + bool query(Key inKey,Dynamic &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); } + bool query(Key inKey,cpp::Int64 &outValue) HXCPP_OVERRIDE { return TQuery(inKey, outValue); } Value get(Key inKey) @@ -616,14 +616,14 @@ struct Hash : public HashBase< typename ELEMENT::Key > #endif } - void set(Key inKey, const int &inValue) { TSet(inKey, inValue); } - void set(Key inKey, const ::String &inValue) { TSet(inKey, inValue); } - void set(Key inKey, const Float &inValue) { TSet(inKey, inValue); } - void set(Key inKey, const Dynamic &inValue) { TSet(inKey, inValue); } + void set(Key inKey, const int &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); } + void set(Key inKey, const ::String &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); } + void set(Key inKey, const Float &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); } + void set(Key inKey, const Dynamic &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); } void set(Key inKey, const null &inValue) { TSet(inKey, inValue); } - void set(Key inKey, const cpp::Int64 &inValue) { TSet(inKey, inValue); } + void set(Key inKey, const cpp::Int64 &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); } - void clear() + void clear() HXCPP_OVERRIDE { bucket = 0; size = 0; @@ -691,7 +691,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > array->push(elem->key); } }; - Array keys() + Array keys() HXCPP_OVERRIDE { KeyBuilder builder(getSize()); iterate(builder); @@ -713,7 +713,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > array->push(elem->value); } }; - Dynamic values() + Dynamic values() HXCPP_OVERRIDE { ValueBuilder builder(getSize()); iterate(builder); @@ -760,7 +760,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > } }; - String toString() + String toString() HXCPP_OVERRIDE { StringBuilder builder(getSize()); iterate(builder); @@ -768,7 +768,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > } - String toStringRaw() + String toStringRaw() HXCPP_OVERRIDE { StringBuilder builder(getSize(),true); iterate(builder); @@ -792,7 +792,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > } }; - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_ARRAY(bucket); @@ -802,7 +802,7 @@ struct Hash : public HashBase< typename ELEMENT::Key > #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { //printf(" visit hash %p\n", this); HX_VISIT_ARRAY(bucket); diff --git a/src/hx/Lib.cpp b/src/hx/Lib.cpp index ac79db590..378382200 100644 --- a/src/hx/Lib.cpp +++ b/src/hx/Lib.cpp @@ -132,45 +132,45 @@ class ExternalPrimitive : public hx::Object functionName = ("extern::cffi "+mName).makePermanent().raw_ptr(); } - virtual int __GetType() const { return vtFunction; } - String __ToString() const { return mName; } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + String __ToString() const HXCPP_OVERRIDE { return mName; } #if (HXCPP_API_LEVEL<500) - Dynamic __run() + Dynamic __run() HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 0) throw HX_INVALID_ARG_COUNT; if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER); return ((prim_0)mProc)(); } - Dynamic __run(D a) + Dynamic __run(D a) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 1) throw HX_INVALID_ARG_COUNT; if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER); return ((prim_1)mProc)(a.GetPtr()); } - Dynamic __run(D a, D b) + Dynamic __run(D a, D b) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 2) throw HX_INVALID_ARG_COUNT; if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER); return ((prim_2)mProc)(a.GetPtr(), b.GetPtr()); } - Dynamic __run(D a, D b, D c) + Dynamic __run(D a, D b, D c) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 3) throw HX_INVALID_ARG_COUNT; if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER); return ((prim_3)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr()); } - Dynamic __run(D a, D b, D c, D d) + Dynamic __run(D a, D b, D c, D d) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 4) throw HX_INVALID_ARG_COUNT; if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER); return ((prim_4)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr(), d.GetPtr()); } - Dynamic __run(D a, D b, D c, D d, D e) + Dynamic __run(D a, D b, D c, D d, D e) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != 5) throw HX_INVALID_ARG_COUNT; @@ -178,7 +178,7 @@ class ExternalPrimitive : public hx::Object return ((prim_5)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr(), d.GetPtr(), e.GetPtr()); } - Dynamic __Run(const Array& inArgs) + Dynamic __Run(const Array& inArgs) HXCPP_OVERRIDE { HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0); if (mArgCount != -1 && mArgCount != inArgs->length) @@ -225,7 +225,7 @@ class ExternalPrimitive : public hx::Object } } #endif - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const ExternalPrimitive *other = dynamic_cast(inRHS); if (!other) diff --git a/src/hx/StdLibs.cpp b/src/hx/StdLibs.cpp index 64a81e76f..584d9ce42 100644 --- a/src/hx/StdLibs.cpp +++ b/src/hx/StdLibs.cpp @@ -815,17 +815,17 @@ struct VarArgFunc : public hx::Object } #endif - int __GetType() const { return vtFunction; } - ::String __ToString() const { return mRealFunc->__ToString() ; } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + ::String __ToString() const HXCPP_OVERRIDE { return mRealFunc->__ToString(); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mRealFunc); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mRealFunc); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mRealFunc); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mRealFunc); } #endif - void *__GetHandle() const { return mRealFunc.GetPtr(); } - Dynamic __Run(const Array &inArgs) + void *__GetHandle() const HXCPP_OVERRIDE { return mRealFunc.GetPtr(); } + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { #if (HXCPP_API_LEVEL>=500) return hx::invoker::invoke(mRealFunc.mPtr, inArgs); diff --git a/src/hx/Thread.cpp b/src/hx/Thread.cpp index f5eae2a36..5058b2410 100644 --- a/src/hx/Thread.cpp +++ b/src/hx/Thread.cpp @@ -53,7 +53,7 @@ struct Deque : public Array_obj } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { Array_obj::__Visit(__inCtx); mFinalizer->Visit(__inCtx); @@ -218,7 +218,7 @@ class hxThreadInfo : public hx::Object { return mDeque->PopFront(inBlocked); } - String toString() + String toString() HXCPP_OVERRIDE { return String(GetThreadNumber()); } @@ -227,7 +227,7 @@ class hxThreadInfo : public hx::Object } Dynamic GetTLS(int inID) { return mTLS[inID]; } - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mFunction); HX_MARK_MEMBER(mTLS); @@ -235,7 +235,7 @@ class hxThreadInfo : public hx::Object HX_MARK_OBJECT(mDeque); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mFunction); HX_VISIT_MEMBER(mTLS); @@ -538,7 +538,7 @@ class hxLock : public hx::Object HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdLock }; #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { mFinalizer->Visit(__inCtx); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { mFinalizer->Visit(__inCtx); } #endif hx::InternalFinalizer *mFinalizer; diff --git a/src/hx/cppia/ArrayBuiltin.cpp b/src/hx/cppia/ArrayBuiltin.cpp index 6bd3cc711..2d321565e 100644 --- a/src/hx/cppia/ArrayBuiltin.cpp +++ b/src/hx/cppia/ArrayBuiltin.cpp @@ -106,12 +106,12 @@ struct ArraySetter : public ArrayBuiltinBase : ArrayBuiltinBase(inSrc,inThisExpr,ioExpressions) { } - const char *getName() { return "ArraySetter"; } - virtual ExprType getType() + const char *getName() HXCPP_OVERRIDE { return "ArraySetter"; } + ExprType getType() HXCPP_OVERRIDE { return (ExprType)ExprTypeOf::value; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { Array_obj *thisVal = reinterpret_cast*>(thisExpr->runObject(ctx)); BCR_CHECK; @@ -125,7 +125,7 @@ struct ArraySetter : public ArrayBuiltinBase #endif return ValToInt(elem); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Array_obj *thisVal = reinterpret_cast*>(thisExpr->runObject(ctx)); BCR_CHECK; @@ -139,7 +139,7 @@ struct ArraySetter : public ArrayBuiltinBase #endif return ValToFloat(elem); } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { Array_obj *thisVal = reinterpret_cast*>(thisExpr->runObject(ctx)); BCR_CHECK; @@ -153,7 +153,7 @@ struct ArraySetter : public ArrayBuiltinBase #endif return ValToString(elem); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { Array_obj *thisVal = reinterpret_cast*>(thisExpr->runObject(ctx)); BCR_CHECK; @@ -220,7 +220,7 @@ struct ArraySetter : public ArrayBuiltinBase } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { ExprType elemType = (ExprType)ExprTypeOf::value; ExprType rightHandType; @@ -416,9 +416,9 @@ struct ArrayBuiltin : public ArrayBuiltinBase { unsafe = inUnsafe; } - const char *getName() { return gArrayFuncNames[FUNC]; } + const char *getName() HXCPP_OVERRIDE { return gArrayFuncNames[FUNC]; } - ExprType getType() + ExprType getType() HXCPP_OVERRIDE { switch(FUNC) { @@ -459,7 +459,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPush) { @@ -565,7 +565,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase return 0; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPop) { @@ -619,7 +619,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPop) { @@ -693,7 +693,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase return runObject(ctx)->toString(); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==af__get) { @@ -826,7 +826,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase return 0; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPop) { @@ -946,7 +946,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase } - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) HXCPP_OVERRIDE { if (FUNC==af__get) { @@ -1003,7 +1003,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase return 0; } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { if (FUNC==af__get) { @@ -1221,7 +1221,7 @@ struct ArrayBuiltin : public ArrayBuiltinBase static bool isBoolElem() { return ExprTypeIsBool::value; } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { // TODO - null check switch(FUNC) diff --git a/src/hx/cppia/ArrayVirtual.cpp b/src/hx/cppia/ArrayVirtual.cpp index 8a5c749dd..65bca7d21 100644 --- a/src/hx/cppia/ArrayVirtual.cpp +++ b/src/hx/cppia/ArrayVirtual.cpp @@ -163,9 +163,9 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase : ArrayBuiltinBase(inSrc,inThisExpr,ioExpressions) { } - const char *getName() { return gArrayFuncNames[FUNC]; } + const char *getName() HXCPP_OVERRIDE { return gArrayFuncNames[FUNC]; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPush) { @@ -215,13 +215,13 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase return Dynamic( runObject(ctx) ); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx); } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afJoin) { @@ -243,7 +243,7 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase return obj ? obj->toString() : ::String(); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afPush || FUNC==afContains || FUNC==afRemove || FUNC==afIndexOf || FUNC==afLastIndexOf) return Dynamic(runInt(ctx)).mPtr; @@ -404,7 +404,7 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase return 0; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (FUNC==afSort) { @@ -475,7 +475,7 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase } } - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) HXCPP_OVERRIDE { if (FUNC==af__get) { @@ -532,7 +532,7 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase return 0; } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { if (FUNC==af__get) { @@ -589,9 +589,9 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase return etObject; } - ExprType getType() { return inlineGetType(); } + ExprType getType() HXCPP_OVERRIDE { return inlineGetType(); } - bool isBoolInt() { return FUNC==afRemove || FUNC==afContains; } + bool isBoolInt() HXCPP_OVERRIDE { return FUNC==afRemove || FUNC==afContains; } #ifdef CPPIA_JIT @@ -622,7 +622,7 @@ struct ArrayBuiltinAny : public ArrayBuiltinBase } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JitTemp thisVal(compiler,etObject); if (FUNC!=afBlit) diff --git a/src/hx/cppia/Cppia.cpp b/src/hx/cppia/Cppia.cpp index 8a11eb7c7..2e7eb7c19 100644 --- a/src/hx/cppia/Cppia.cpp +++ b/src/hx/cppia/Cppia.cpp @@ -145,15 +145,15 @@ struct CppiaVoidExpr : public CppiaExpr { CppiaVoidExpr(const CppiaExpr *inSrc=0) : CppiaExpr(inSrc) {} - const char *getName() { return "CppiaVoidExpr"; } + const char *getName() HXCPP_OVERRIDE { return "CppiaVoidExpr"; } - ExprType getType() { return etVoid; } + ExprType getType() HXCPP_OVERRIDE { return etVoid; } - virtual int runInt(CppiaCtx *ctx) { runVoid(ctx); return 0; } - virtual Float runFloat(CppiaCtx *ctx) { runVoid(ctx); return 0.0; } - virtual ::String runString(CppiaCtx *ctx) { runVoid(ctx); return String(); } - virtual hx::Object *runObject(CppiaCtx *ctx) { runVoid(ctx); return 0; } - virtual void runVoid(CppiaCtx *ctx) = 0; + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0.0; } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return String(); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE = 0; }; @@ -166,15 +166,15 @@ struct CppiaIntExpr : public CppiaExpr { CppiaIntExpr(const CppiaExpr *inSrc=0) : CppiaExpr(inSrc) {} - const char *getName() { return "CppiaIntExpr"; } - ExprType getType() { return etInt; } + const char *getName() HXCPP_OVERRIDE { return "CppiaIntExpr"; } + ExprType getType() HXCPP_OVERRIDE { return etInt; } - void runVoid(CppiaCtx *ctx) { runInt(ctx); } - Float runFloat(CppiaCtx *ctx) { return runInt(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runInt(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runInt(ctx)); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runInt(ctx); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runInt(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runInt(ctx)); } - int runInt(CppiaCtx *ctx) = 0; + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE = 0; }; @@ -185,13 +185,13 @@ struct CppiaBoolExpr : public CppiaIntExpr { CppiaBoolExpr(const CppiaExpr *inSrc=0) : CppiaIntExpr(inSrc) {} - const char *getName() { return "CppiaBoolExpr"; } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runInt(ctx) ? true : false).mPtr; } - String runString(CppiaCtx *ctx) { return runInt(ctx)?HX_CSTRING("true") : HX_CSTRING("false");} - bool isBoolInt() { return true; } + const char *getName() HXCPP_OVERRIDE { return "CppiaBoolExpr"; } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runInt(ctx) ? true : false).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx)?HX_CSTRING("true") : HX_CSTRING("false");} + bool isBoolInt() HXCPP_OVERRIDE { return true; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JumpId notCondition = genCompare(compiler, true, 0); @@ -341,9 +341,9 @@ struct BlockCallable : public ScriptCallable { } - ExprType getType() { return body->getType(); } + ExprType getType() HXCPP_OVERRIDE { return body->getType(); } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; ctx->push( ctx->getThis(false) ); @@ -353,7 +353,7 @@ struct BlockCallable : public ScriptCallable CPPIA_STACK_LINE(this); body->runVoid(ctx); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; ctx->push( ctx->getThis(false) ); @@ -363,7 +363,7 @@ struct BlockCallable : public ScriptCallable CPPIA_STACK_LINE(this); return body->runInt(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; ctx->push( ctx->getThis(false) ); @@ -373,7 +373,7 @@ struct BlockCallable : public ScriptCallable CPPIA_STACK_LINE(this); return body->runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; ctx->push( ctx->getThis(false) ); @@ -395,7 +395,7 @@ struct BlockExpr : public CppiaExpr ReadExpressions(expressions,stream); } - CppiaExpr *link(CppiaModule &data) + CppiaExpr *link(CppiaModule &data) HXCPP_OVERRIDE { if (data.layout==0) { @@ -407,8 +407,8 @@ struct BlockExpr : public CppiaExpr return this; } - const char *getName() { return "BlockExpr"; } - virtual ExprType getType() + const char *getName() HXCPP_OVERRIDE { return "BlockExpr"; } + ExprType getType() HXCPP_OVERRIDE { if (expressions.size()==0) return etNull; @@ -416,7 +416,7 @@ struct BlockExpr : public CppiaExpr } #define BlockExprRun(ret,name,defVal) \ - ret name(CppiaCtx *ctx) \ + ret name(CppiaCtx *ctx) HXCPP_OVERRIDE \ { \ int last = expressions.size()-1; \ for(int a=0;agetLineOffset(); @@ -474,7 +474,7 @@ struct IfElseExpr : public CppiaExpr CppiaExpr *doIf; CppiaExpr *doElse; - const char *getName() { return "IfElseExpr"; } + const char *getName() HXCPP_OVERRIDE { return "IfElseExpr"; } IfElseExpr(CppiaStream &stream) { condition = createCppiaExpr(stream); @@ -482,7 +482,7 @@ struct IfElseExpr : public CppiaExpr doElse = createCppiaExpr(stream); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); doIf = doIf->link(inModule); @@ -490,7 +490,7 @@ struct IfElseExpr : public CppiaExpr return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (condition->runInt(ctx)) doIf->runVoid(ctx); @@ -498,7 +498,7 @@ struct IfElseExpr : public CppiaExpr doElse->runVoid(ctx); } #define IF_ELSE_RUN(TYPE,NAME) \ - TYPE NAME(CppiaCtx *ctx) \ + TYPE NAME(CppiaCtx *ctx) HXCPP_OVERRIDE \ { \ if (condition->runInt(ctx)) \ { \ @@ -514,7 +514,7 @@ struct IfElseExpr : public CppiaExpr IF_ELSE_RUN(Float,runFloat) #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JumpId ifNot = condition->genCompare(compiler,true); doIf->genCode(compiler,inDest,destType); @@ -540,16 +540,16 @@ struct IfExpr : public CppiaDynamicExpr doIf = createCppiaExpr(stream); } - const char *getName() { return "IfExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "IfExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); doIf = doIf->link(inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) { runVoid(ctx); return 0; } - void runVoid(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (condition->runInt(ctx)) { @@ -559,7 +559,7 @@ struct IfExpr : public CppiaDynamicExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JumpId ifNot = condition->genCompare(compiler,true); doIf->genCode(compiler,inDest,destType); @@ -575,15 +575,15 @@ struct CppiaIsNull : public CppiaBoolExpr CppiaIsNull(CppiaStream &stream) { condition = createCppiaExpr(stream); } - const char *getName() { return "IsNull"; } + const char *getName() HXCPP_OVERRIDE { return "IsNull"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (condition->getType()==etString) return condition->runString(ctx)==null(); @@ -592,7 +592,7 @@ struct CppiaIsNull : public CppiaBoolExpr } #ifdef CPPIA_JIT - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { if (condition->getType()==etString) { @@ -619,10 +619,10 @@ struct CppiaIsNotNull : public CppiaBoolExpr CppiaIsNotNull(CppiaStream &stream) { condition = createCppiaExpr(stream); } - const char *getName() { return "IsNotNull"; } - CppiaExpr *link(CppiaModule &inModule) { condition = condition->link(inModule); return this; } + const char *getName() HXCPP_OVERRIDE { return "IsNotNull"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (condition->getType()==etString) return condition->runString(ctx)!=null(); @@ -632,7 +632,7 @@ struct CppiaIsNotNull : public CppiaBoolExpr #ifdef CPPIA_JIT - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { if (condition->getType()==etString) { @@ -744,7 +744,7 @@ struct CallFunExpr : public CppiaExpr isThisCall = inThisCall; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { LinkExpressions(args,inModule); // Should already be linked @@ -756,12 +756,12 @@ struct CallFunExpr : public CppiaExpr return this; } - const char *getName() { return "CallFunExpr"; } - ExprType getType() { return returnType; } - bool isBoolInt() { return isBoolReturn; } + const char *getName() HXCPP_OVERRIDE { return "CallFunExpr"; } + ExprType getType() HXCPP_OVERRIDE { return returnType; } + bool isBoolInt() HXCPP_OVERRIDE { return isBoolReturn; } #define CallFunExprVal(ret,name,funcName) \ - ret name(CppiaCtx *ctx) \ + ret name(CppiaCtx *ctx) HXCPP_OVERRIDE \ { \ unsigned char *pointer = ctx->pointer; \ function->pushArgs(ctx,thisExpr?thisExpr->runObject(ctx):ctx->getThis(false),args); \ @@ -774,7 +774,7 @@ struct CallFunExpr : public CppiaExpr //CallFunExprVal(hx::Object * ,runObject, runContextConvertObject); //CallFunExprVal(String ,runString, runContextConvertString); - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; function->pushArgs(ctx,thisExpr?thisExpr->runObject(ctx):ctx->getThis(false),args); @@ -785,7 +785,7 @@ struct CallFunExpr : public CppiaExpr return runContextConvertString(ctx, function->getReturnType(), function); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; function->pushArgs(ctx,thisExpr?thisExpr->runObject(ctx):ctx->getThis(false),args); @@ -796,7 +796,7 @@ struct CallFunExpr : public CppiaExpr return runContextConvertObject(ctx, function->getReturnType(), function); } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { unsigned char *pointer = ctx->pointer; function->pushArgs(ctx,thisExpr?thisExpr->runObject(ctx):ctx->getThis(false),args); @@ -818,7 +818,7 @@ struct CallFunExpr : public CppiaExpr // Function Call - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { genFunctionCall(function, compiler, inDest, destType, isBoolReturn, returnType,thisExpr, args, isThisCall ? (JitVal)sJitThis : JitVal()); @@ -841,23 +841,23 @@ struct CppiaExprWithValue : public CppiaDynamicExpr value.mPtr = 0; } - hx::Object *runObject(CppiaCtx *ctx) { return value.mPtr; } - void mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(value); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return value.mPtr; } + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(value); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(value); } + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(value); } #endif - const char *getName() { return "CppiaExprWithValue"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CppiaExprWithValue"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { inModule.markable.push_back(this); return this; } - void runVoid(CppiaCtx *ctx) { runObject(ctx); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runObject(ctx); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType!=etNull && destType!=etVoid) compiler->convert( (void *)value.mPtr, etObject, inDest, destType); @@ -944,16 +944,16 @@ struct CallDynamicFunction : public CppiaExprWithValue inModule.markable.push_back(this); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { LinkExpressions(args,inModule); return CppiaExprWithValue::link(inModule); } - const char *getName() { return "CallDynamicFunction"; } - ExprType getType() { return etObject; } + const char *getName() HXCPP_OVERRIDE { return "CallDynamicFunction"; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { int n = args.size(); #if (HXCPP_API_LEVEL>=500) @@ -1031,17 +1031,17 @@ struct CallDynamicFunction : public CppiaExprWithValue #endif } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *result = runObject(ctx); return result ? result->__ToInt() : 0; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *result = runObject(ctx); return result ? result->__ToDouble() : 0; } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *result = runObject(ctx); BCR_CHECK; @@ -1050,7 +1050,7 @@ struct CallDynamicFunction : public CppiaExprWithValue #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { { AutoFramePos frame(compiler); @@ -1105,8 +1105,8 @@ struct SetExpr : public CppiaExpr value = createCppiaExpr(stream); } - const char *getName() { return "SetExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "SetExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { lvalue = lvalue->link(inModule); value = value->link(inModule); @@ -1155,26 +1155,28 @@ struct CastExpr : public CppiaDynamicExpr value = createCppiaExpr(stream); } - ExprType getType() { return op==castInt || op==castBool ? etInt : - op==castFloat ? etFloat : - op==castString ? etString : - etObject; } + ExprType getType() HXCPP_OVERRIDE { + return op==castInt || op==castBool ? etInt : + op==castFloat ? etFloat : + op==castString ? etString : + etObject; + } - bool isBoolInt() { return op==castBool; } + bool isBoolInt() HXCPP_OVERRIDE { return op == castBool; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (op==castBool) return (bool)value->runInt(ctx); return value->runInt(ctx); } - double runFloat(CppiaCtx *ctx) + double runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return value->runFloat(ctx); } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { switch(op) { @@ -1192,7 +1194,7 @@ struct CastExpr : public CppiaDynamicExpr } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (op==castInt) return Dynamic(value->runInt(ctx)).mPtr; @@ -1219,9 +1221,9 @@ struct CastExpr : public CppiaDynamicExpr return DynamicToArrayType(obj, arrayType); } - const char *getName() { return "CastExpr"; } + const char *getName() HXCPP_OVERRIDE { return "CastExpr"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { value = value->link(inModule); @@ -1290,11 +1292,11 @@ struct CastExpr : public CppiaDynamicExpr CppiaCtx::getCurrent()->exception = HX_INVALID_CAST.mPtr; return 0; } - + return obj; } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (destType==etNull || destType==etVoid) { @@ -1426,16 +1428,16 @@ struct ToInterface : public CppiaDynamicExpr toType = 0; } - const char *getName() { return array ? "ToInterfaceArray" : "ToInterface"; } + const char *getName() HXCPP_OVERRIDE { return array ? "ToInterfaceArray" : "ToInterface"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { DBGLOG("Api 330 - no cast required\n"); CppiaExpr *linked = value->link(inModule); delete this; return linked; } - hx::Object *runObject(CppiaCtx *ctx) { return 0; } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return 0; } }; @@ -1504,8 +1506,8 @@ struct NewExpr : public CppiaDynamicExpr ReadExpressions(args,stream); } - const char *getName() { return "NewExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "NewExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { type = inModule.types[classId]; if (!type->cppiaClass && type->haxeClass.mPtr) @@ -1514,7 +1516,7 @@ struct NewExpr : public CppiaDynamicExpr LinkExpressions(args,inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (type->arrayType) { @@ -1562,7 +1564,7 @@ struct NewExpr : public CppiaDynamicExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (type->arrayType) { @@ -1713,8 +1715,8 @@ struct CallHaxe : public CppiaExpr isStatic = inIsStatic; isSuper = inIsSuper; } - ExprType getType() { return returnType; } - CppiaExpr *link(CppiaModule &inModule) + ExprType getType() HXCPP_OVERRIDE { return returnType; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (strlen(function.signature) != args.size()+1) throw "CallHaxe: Invalid arg count"; @@ -1724,7 +1726,7 @@ struct CallHaxe : public CppiaExpr { case sigInt: case sigBool: case sigFloat: case sigString: case sigObject: break; // Ok - case sigVoid: + case sigVoid: if (i==0) // return void ok break; // fallthough @@ -1752,9 +1754,9 @@ struct CallHaxe : public CppiaExpr } - bool isBoolInt() { return function.signature[0]==sigBool; } + bool isBoolInt() HXCPP_OVERRIDE { return function.signature[0]==sigBool; } - const char *getName() { return "CallHaxe"; } + const char *getName() HXCPP_OVERRIDE { return "CallHaxe"; } template void run(CppiaCtx *ctx,T &outValue) @@ -1802,30 +1804,30 @@ struct CallHaxe : public CppiaExpr } } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { null val; run(ctx,val); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int val; run(ctx,val); return val; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float val; run(ctx,val); return val; } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { String val; run(ctx,val); return val; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (isBoolInt()) { @@ -1849,7 +1851,7 @@ struct CallHaxe : public CppiaExpr CATCH_NATIVE } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { int framePos = compiler->getCurrentFrameSize(); @@ -1905,7 +1907,7 @@ struct CallStatic : public CppiaExpr int classId; int fieldId; Expressions args; - + CallStatic(CppiaStream &stream) { classId = stream.getInt(); @@ -1913,8 +1915,8 @@ struct CallStatic : public CppiaExpr ReadExpressions(args,stream); } - const char *getName() { return "CallStatic"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CallStatic"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[classId]; @@ -1958,7 +1960,7 @@ struct CallStatic : public CppiaExpr // TODO - optimise... if (!replace && type->name==HX_CSTRING("String") && field==HX_CSTRING("fromCharCode")) replace = new CallDynamicFunction(inModule, this, String::fromCharCode_dyn(), args ); - + //CPPIALOG(" static call to %s::%s (%d)\n", type->name.out_str(), field.out_str(), type->cppiaClass!=0); if (replace) @@ -1997,19 +1999,19 @@ void genNullReferenceExceptionCheck(CppiaCompiler *compiler, const JitVal ®) struct CallGetIndex : public CppiaIntExpr { CppiaExpr *thisExpr; - + CallGetIndex(CppiaExpr *inSrc, CppiaExpr *inThis) : CppiaIntExpr(inSrc) { thisExpr = inThis; } - const char *getName() { return "__Index"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "__Index"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { thisExpr = thisExpr->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = thisExpr->runObject(ctx); CPPIA_CHECK(obj); @@ -2018,7 +2020,7 @@ struct CallGetIndex : public CppiaIntExpr #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { thisExpr->genCode(compiler, sJitTemp0, etObject); genNullReferenceExceptionCheck(compiler,sJitTemp0); @@ -2040,7 +2042,7 @@ struct CallSetField : public CppiaDynamicExpr CppiaExpr *nameExpr; CppiaExpr *valueExpr; CppiaExpr *isPropExpr; - + CallSetField(CppiaExpr *inSrc, CppiaExpr *inThis, CppiaExpr *inName, CppiaExpr *inValue, CppiaExpr *inProp) : CppiaDynamicExpr(inSrc) { @@ -2050,8 +2052,8 @@ struct CallSetField : public CppiaDynamicExpr isPropExpr = inProp; } - const char *getName() { return "__SetField"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "__SetField"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { thisExpr = thisExpr->link(inModule); nameExpr = nameExpr->link(inModule); @@ -2059,7 +2061,7 @@ struct CallSetField : public CppiaDynamicExpr isPropExpr = isPropExpr->link(inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = thisExpr->runObject(ctx); CPPIA_CHECK(obj); @@ -2076,7 +2078,7 @@ struct CallGetField : public CppiaDynamicExpr CppiaExpr *thisExpr; CppiaExpr *nameExpr; CppiaExpr *isPropExpr; - + CallGetField(CppiaExpr *inSrc, CppiaExpr *inThis, CppiaExpr *inName, CppiaExpr *inProp) : CppiaDynamicExpr(inSrc) { thisExpr = inThis; @@ -2084,15 +2086,15 @@ struct CallGetField : public CppiaDynamicExpr isPropExpr = inProp; } - const char *getName() { return "__Field"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "__Field"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { thisExpr = thisExpr->link(inModule); nameExpr = nameExpr->link(inModule); isPropExpr = isPropExpr->link(inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = thisExpr->runObject(ctx); CPPIA_CHECK(obj); @@ -2150,8 +2152,8 @@ struct CallMemberVTable : public CppiaExpr scriptVTableOffset = inScriptVTableOffset; } - const char *getName() { return "CallMemberVTable"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CallMemberVTable"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (thisExpr) thisExpr = thisExpr->link(inModule); @@ -2164,7 +2166,7 @@ struct CallMemberVTable : public CppiaExpr boolResult = type->haxeClass==ClassOf(); return this; } - ExprType getType() { return returnType; } + ExprType getType() HXCPP_OVERRIDE { return returnType; } // ScriptCallable **vtable = (ScriptCallable **)thisVal->__GetScriptVTable(); #define CALL_VTABLE_SETUP(errorValue) \ @@ -2178,37 +2180,37 @@ struct CallMemberVTable : public CppiaExpr /* TODO */; \ AutoStack save(ctx,pointer); - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { CALL_VTABLE_SETUP() ctx->runVoid(func); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { CALL_VTABLE_SETUP(BCRReturn()) return runContextConvertInt(ctx, checkInterfaceReturnType ? func->getReturnType() : returnType, func); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { CALL_VTABLE_SETUP(BCRReturn()) return runContextConvertFloat(ctx, checkInterfaceReturnType ? func->getReturnType() : returnType, func); } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { CALL_VTABLE_SETUP(BCRReturn()) return runContextConvertString(ctx, checkInterfaceReturnType ? func->getReturnType() : returnType, func); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { CALL_VTABLE_SETUP(BCRReturn()) return runContextConvertObject(ctx, checkInterfaceReturnType ? func->getReturnType() : returnType, func); } - bool isBoolInt() { return boolResult; } + bool isBoolInt() HXCPP_OVERRIDE { return boolResult; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { int framePos = compiler->getCurrentFrameSize(); if (thisExpr) @@ -2307,11 +2309,11 @@ struct ThisExpr : public CppiaDynamicExpr { } - const char *getName() { return "ThisExpr"; } - hx::Object *runObject(CppiaCtx *ctx) { return ctx->getThis(); } + const char *getName() HXCPP_OVERRIDE { return "ThisExpr"; } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return ctx->getThis(); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { compiler->convert(sJitThis, etObject, inDest, destType); } @@ -2327,8 +2329,8 @@ struct ClassOfExpr : public CppiaExprWithValue { typeId = stream.getInt(); } - const char *getName() { return "ClassOfExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ClassOfExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[typeId]; if (type->cppiaClass) @@ -2345,7 +2347,7 @@ struct CallGlobal : public CppiaExpr { int fieldId; Expressions args; - + CallGlobal(CppiaStream &stream) { fieldId = stream.getInt(); @@ -2353,8 +2355,8 @@ struct CallGlobal : public CppiaExpr ReadExpressions(args,stream,n); } - const char *getName() { return "CallGlobal"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CallGlobal"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { String name = inModule.strings[fieldId]; LinkExpressions(args,inModule); @@ -2618,7 +2620,7 @@ struct FieldByName : public CppiaDynamicExpr CrementOp crement; hx::Class staticClass; - + FieldByName(CppiaExpr *inSrc, CppiaExpr *inObject, hx::Class inStaticClass, String inName, AssignOp inAssign, CrementOp inCrement, CppiaExpr *inValue) : CppiaDynamicExpr(inSrc) @@ -2631,8 +2633,8 @@ struct FieldByName : public CppiaDynamicExpr value = inValue; } - const char *getName() { return "FieldByName"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "FieldByName"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (value) value = value->link(inModule); @@ -2642,7 +2644,7 @@ struct FieldByName : public CppiaDynamicExpr return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = object ? object->runObject(ctx) : staticClass.mPtr ? staticClass.mPtr : ctx->getThis(false); BCR_CHECK; @@ -2702,7 +2704,7 @@ struct FieldByName : public CppiaDynamicExpr } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (crement==coNone && assign==aoNone) { @@ -2892,7 +2894,7 @@ struct GetFieldByName : public CppiaDynamicExpr bool isInterface; bool isStatic; hx::Class staticClass; - + GetFieldByName(CppiaStream &stream,bool isThisObject,bool inIsStatic=false) { classId = stream.getInt(); @@ -2914,9 +2916,9 @@ struct GetFieldByName : public CppiaDynamicExpr name.raw_ref() = 0; vtableSlot = -1; } - const char *getName() { return "GetFieldByName"; } + const char *getName() HXCPP_OVERRIDE { return "GetFieldByName"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (object) object = object->link(inModule); @@ -2986,7 +2988,7 @@ struct GetFieldByName : public CppiaDynamicExpr return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *instance = object ? object->runObject(ctx) : isStatic ? staticClass.mPtr : ctx->getThis(false); BCR_CHECK; @@ -2995,7 +2997,7 @@ struct GetFieldByName : public CppiaDynamicExpr { //if (isInterface) // instance = instance->__GetRealObject(); - + ScriptCallable **vtable = (ScriptCallable **)instance->__GetScriptVTable(); ScriptCallable *func = vtable[vtableSlot]; if (func==0) @@ -3011,7 +3013,7 @@ struct GetFieldByName : public CppiaDynamicExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { // TODO - interfaces if (object) @@ -3064,14 +3066,14 @@ struct GetFieldByName : public CppiaDynamicExpr } } #endif - - CppiaExpr *makeSetter(AssignOp inOp,CppiaExpr *inValue) + + CppiaExpr *makeSetter(AssignOp inOp,CppiaExpr *inValue) HXCPP_OVERRIDE { // delete this - remove markable? return new FieldByName(this, object, staticClass, name, inOp, coNone, inValue); } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { // delete this - remove markable? return new FieldByName(this, object, staticClass, name, aoNone, inOp, 0); @@ -3085,7 +3087,7 @@ struct Call : public CppiaDynamicExpr { Expressions args; CppiaExpr *func; - + Call(CppiaStream &stream) { int argCount = stream.getInt(); @@ -3102,14 +3104,14 @@ struct Call : public CppiaDynamicExpr } - const char *getName() { return "Call"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "Call"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { func = func->link(inModule); LinkExpressions(args,inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *funcVal = func->runObject(ctx); BCR_CHECK; @@ -3200,7 +3202,7 @@ struct Call : public CppiaDynamicExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp functionObject(compiler, jtPointer); func->genCode(compiler, functionObject, etObject ); @@ -3236,7 +3238,7 @@ struct CallMember : public CppiaExpr CppiaExpr *thisExpr; Expressions args; bool callSuperField; - + CallMember(CppiaStream &stream,MemberCallType inCall) { classId = stream.getInt(); @@ -3284,8 +3286,8 @@ struct CallMember : public CppiaExpr - const char *getName() { return "CallMember"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CallMember"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (fieldId==0) return linkSuperCall(inModule); @@ -3296,7 +3298,7 @@ struct CallMember : public CppiaExpr //CPPIALOG(" linking call %s::%s\n", type->name.out_str(), field.out_str()); CppiaExpr *replace = 0; - + if (type->arrayType) { replace = createArrayBuiltin(this, type->arrayType, thisExpr, field, args); @@ -3462,7 +3464,7 @@ inline hx::Object *CheckNotNull(hx::Object *inPtr) return inPtr; } -template +template struct MemReference : public CppiaExpr { int offset; @@ -3501,49 +3503,49 @@ struct MemReference : public CppiaExpr offset = 0; pointer = inPointer; } - bool isBoolInt() + bool isBoolInt() HXCPP_OVERRIDE { return ExprTypeIsBool::value; } - - ExprType getType() + + ExprType getType() HXCPP_OVERRIDE { return (ExprType) ExprTypeOf::value; } - const char *getName() { return "MemReference"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "MemReference"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (object) object = object->link(inModule); if (REFMODE==locAbsolute) // Only for string/object? inModule.markable.push_back(this); - + return this; } - void mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER( *pointer ); } + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER( *pointer ); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER( *pointer ); } + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER( *pointer ); } #endif - void runVoid(CppiaCtx *ctx) { } - int runInt(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToInt( MEMGETVAL ); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToFloat( MEMGETVAL ); } - ::String runString(CppiaCtx *ctx) { + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { T &t = MEMGETVAL; BCR_CHECK; if (isBoolInt()) return ValToString( MEMGETVAL ? true : false ); return ValToString(t); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (isBoolInt()) return Dynamic( MEMGETVAL ? true : false ).mPtr; @@ -3553,7 +3555,7 @@ struct MemReference : public CppiaExpr #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (REFMODE==locAbsolute) { @@ -3593,8 +3595,8 @@ struct MemReference : public CppiaExpr #endif - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *value); - CppiaExpr *makeCrement(CrementOp inOp); + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *value) HXCPP_OVERRIDE; + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE; }; @@ -3888,7 +3890,7 @@ void genWriteBarrier(CppiaCompiler *compiler, JitReg objVal, JitVal valuePtr) #endif -template +template struct MemReferenceSetter : public CppiaExpr { int offset; @@ -3906,21 +3908,21 @@ struct MemReferenceSetter : public CppiaExpr pointer = inSrc->pointer; value = inValue; } - ExprType getType() + ExprType getType() HXCPP_OVERRIDE { return (ExprType) ExprTypeOf::value; } - const char *getName() { return "MemReferenceSetter"; } + const char *getName() HXCPP_OVERRIDE { return "MemReferenceSetter"; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_VCHECK; Assign::run( *t, ctx, value); MEM_WB_CHECK; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; @@ -3928,7 +3930,7 @@ struct MemReferenceSetter : public CppiaExpr MEM_WB_CHECK; return val; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; @@ -3936,7 +3938,7 @@ struct MemReferenceSetter : public CppiaExpr MEM_WB_CHECK; return val; } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; @@ -3944,7 +3946,7 @@ struct MemReferenceSetter : public CppiaExpr MEM_WB_CHECK; return val; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; @@ -3953,12 +3955,12 @@ struct MemReferenceSetter : public CppiaExpr return result.mPtr; } - void mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER( *pointer ); } + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER( *pointer ); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER( *pointer ); } + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER( *pointer ); } #endif - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (REFMODE==locAbsolute) // Only for string/object? inModule.markable.push_back(this); @@ -3966,7 +3968,7 @@ struct MemReferenceSetter : public CppiaExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitType targetType = sizeof(T)==1 ? jtByte : sizeof(T)==2 ? jtShort : getJitType(getType()); bool useTemp = targetType == jtByte || targetType==jtShort; @@ -4073,7 +4075,7 @@ struct MemReferenceSetter : public CppiaExpr }; -template +template CppiaExpr *MemReference::makeSetter(AssignOp op,CppiaExpr *value) { switch(op) @@ -4195,13 +4197,13 @@ static hx::Object * SLJIT_CALL objPreDecWb(hx::Object *inObj,int inOffset) #endif -template +template struct MemReferenceCrement : public CppiaExpr { int offset; T *pointer; CppiaExpr *object; - const char *getName() { return "MemReferenceCrement"; } + const char *getName() HXCPP_OVERRIDE { return "MemReferenceCrement"; } MemReferenceCrement(MemReference *inSrc) : CppiaExpr(inSrc) { @@ -4209,31 +4211,31 @@ struct MemReferenceCrement : public CppiaExpr object = inSrc->object; pointer = inSrc->pointer; } - ExprType getType() + ExprType getType() HXCPP_OVERRIDE { return (ExprType) ExprTypeOf::value; } - void runVoid(CppiaCtx *ctx) { + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; CREMENT::run( *t ); MEM_WB_CHECK; } - int runInt(CppiaCtx *ctx) { + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; int result = ValToInt( CREMENT::run(*t) ); MEM_WB_CHECK; return result; } - Float runFloat(CppiaCtx *ctx) { + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; Float result = ValToFloat( CREMENT::run(*t)); MEM_WB_CHECK; return result; } - ::String runString(CppiaCtx *ctx) { + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; String result = ValToString( CREMENT::run(*t) ); @@ -4241,7 +4243,7 @@ struct MemReferenceCrement : public CppiaExpr return result; } - hx::Object *runObject(CppiaCtx *ctx) { + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { T *t = MEMGETPTR; BCR_CHECK; Dynamic result( CREMENT::run(*t) ); @@ -4250,12 +4252,12 @@ struct MemReferenceCrement : public CppiaExpr } - void mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER( *pointer ); } + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER( *pointer ); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER( *pointer ); } + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER( *pointer ); } #endif - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (REFMODE==locAbsolute) // Only for string/object? inModule.markable.push_back(this); @@ -4264,7 +4266,7 @@ struct MemReferenceCrement : public CppiaExpr #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { CrementOp op = (CrementOp)CREMENT::OP; int diff = op==coPostDec || op==coPreDec ? -1 : 1; @@ -4421,7 +4423,7 @@ struct MemReferenceCrement : public CppiaExpr -template +template CppiaExpr *MemReference::makeCrement(CrementOp inOp) { switch(inOp) @@ -4449,9 +4451,9 @@ struct MemStackFloatSetter : public CppiaExpr AssignOp op; MemStackFloatSetter(const CppiaExpr *inSrc, int inOffset, AssignOp inOp, CppiaExpr *inValue) - : CppiaExpr(inSrc), offset(inOffset), op(inOp), value(inValue){ } - ExprType getType() { return etFloat; } - const char *getName() { return "MemStackFloatSetter"; } + : CppiaExpr(inSrc), offset(inOffset), op(inOp), value(inValue){ } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "MemStackFloatSetter"; } inline Float doRun(CppiaCtx *ctx) { @@ -4475,11 +4477,11 @@ struct MemStackFloatSetter : public CppiaExpr } - void runVoid(CppiaCtx *ctx) { doRun(ctx); } - int runInt(CppiaCtx *ctx) { return doRun(ctx); } - Float runFloat(CppiaCtx *ctx) { return doRun(ctx); } - ::String runString(CppiaCtx *ctx) { return ValToString(doRun(ctx)); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(doRun(ctx)).mPtr; } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { doRun(ctx); } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return doRun(ctx); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return doRun(ctx); } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToString(doRun(ctx)); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(doRun(ctx)).mPtr; } }; @@ -4489,9 +4491,9 @@ struct MemStackFloatCrement : public CppiaExpr CrementOp op; MemStackFloatCrement(const CppiaExpr *inSrc, int inOffset, CrementOp inOp) - : CppiaExpr(inSrc), offset(inOffset), op(inOp) { } - ExprType getType() { return etFloat; } - const char *getName() { return "MemStackFloatCrement"; } + : CppiaExpr(inSrc), offset(inOffset), op(inOp) { } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "MemStackFloatCrement"; } inline Float doRun(CppiaCtx *ctx) { @@ -4508,11 +4510,11 @@ struct MemStackFloatCrement : public CppiaExpr return v; } - void runVoid(CppiaCtx *ctx) { doRun(ctx); } - int runInt(CppiaCtx *ctx) { return doRun(ctx); } - Float runFloat(CppiaCtx *ctx) { return doRun(ctx); } - ::String runString(CppiaCtx *ctx) { return ValToString(doRun(ctx)); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(doRun(ctx)).mPtr; } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { doRun(ctx); } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return doRun(ctx); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return doRun(ctx); } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToString(doRun(ctx)); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(doRun(ctx)).mPtr; } }; @@ -4524,24 +4526,24 @@ struct MemStackFloatReference : public CppiaExpr MemStackFloatReference(const CppiaExpr *inSrc, int inOffset) : CppiaExpr(inSrc), offset(inOffset) { } - ExprType getType() { return etFloat; } - const char *getName() { return "MemStackFloatReference"; } - CppiaExpr *link(CppiaModule &inModule) { return this; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "MemStackFloatReference"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { return this; } - void runVoid(CppiaCtx *ctx) { } - int runInt(CppiaCtx *ctx) { return GetFloatAligned( ((char *)ctx->frame) + offset ); } - Float runFloat(CppiaCtx *ctx) { return GetFloatAligned( ((char *)ctx->frame) + offset ); } - ::String runString(CppiaCtx *ctx) { return ValToString( GetFloatAligned( ((char *)ctx->frame) + offset )); } - hx::Object *runObject(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return GetFloatAligned( ((char *)ctx->frame) + offset ); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return GetFloatAligned( ((char *)ctx->frame) + offset ); } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToString( GetFloatAligned( ((char *)ctx->frame) + offset )); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic( GetFloatAligned( ((char *)ctx->frame) + offset ) ).mPtr; } - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *value) + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *value) HXCPP_OVERRIDE { return new MemStackFloatSetter(this, offset, op, value); } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { return new MemStackFloatCrement(this, offset, inOp); } @@ -4551,19 +4553,19 @@ struct MemStackFloatReference : public CppiaExpr struct VirtualArrayLength : public CppiaIntExpr { CppiaExpr *thisExpr; - + VirtualArrayLength(CppiaExpr *inSrc, CppiaExpr *inThis) : CppiaIntExpr(inSrc) { thisExpr = inThis; } - const char *getName() { return "length"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "length"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { thisExpr = thisExpr->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { cpp::VirtualArray_obj *obj = (cpp::VirtualArray_obj *)thisExpr->runObject(ctx); BCR_CHECK; @@ -4576,7 +4578,7 @@ struct VirtualArrayLength : public CppiaIntExpr { return inVArray->get_length(); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { thisExpr->genCode(compiler,sJitTemp0,etObject); compiler->callNative((void *)getLen, sJitTemp0.as(jtPointer)); @@ -4591,7 +4593,7 @@ struct GetFieldByLinkage : public CppiaExpr int fieldId; int typeId; CppiaExpr *object; - + GetFieldByLinkage(CppiaStream &stream,bool inThisObject) { typeId = stream.getInt(); @@ -4599,8 +4601,8 @@ struct GetFieldByLinkage : public CppiaExpr object = inThisObject ? 0 : createCppiaExpr(stream); } - const char *getName() { return "GetFieldByLinkage"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "GetFieldByLinkage"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[typeId]; String field = inModule.strings[fieldId]; @@ -4733,32 +4735,32 @@ struct StringVal : public CppiaExprWithValue { } - ExprType getType() { return etString; } + ExprType getType() HXCPP_OVERRIDE { return etString; } - const char *getName() { return "StringVal"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "StringVal"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { strVal = inModule.strings[stringId]; //CPPIALOG("Linked %d -> %s\n", stringId, strVal.out_str()); return CppiaExprWithValue::link(inModule); } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return strVal; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (!value.mPtr) value = strVal; return value.mPtr; } - void mark(hx::MarkContext *__inCtx) + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(value); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(value); } @@ -4766,12 +4768,12 @@ struct StringVal : public CppiaExprWithValue #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { switch(destType) { case etObject: - //TODO - GC! + //TODO - GC! if (!value.mPtr) value = strVal; compiler->move(inDest, (void *) value.mPtr ); @@ -4801,21 +4803,21 @@ template struct DataVal : public CppiaExprWithValue { T data; - + DataVal(T inVal) : data(inVal) { } - const char *getName() { return "DataVal"; } + const char *getName() HXCPP_OVERRIDE { return "DataVal"; } - ExprType getType() { return (ExprType)ExprTypeOf::value; } + ExprType getType() HXCPP_OVERRIDE { return (ExprType)ExprTypeOf::value; } - void runVoid(CppiaCtx *ctx) { } - int runInt(CppiaCtx *ctx) { return ValToInt(data); } - Float runFloat(CppiaCtx *ctx) { return ValToFloat(data); } - ::String runString(CppiaCtx *ctx) { return ValToString(data); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToInt(data); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToFloat(data); } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return ValToString(data); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (!value.mPtr) value = Dynamic(data); @@ -4826,7 +4828,7 @@ struct DataVal : public CppiaExprWithValue String stringConversion; double doubleConversion; - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { switch(destType) { @@ -4862,18 +4864,18 @@ struct DataVal : public CppiaExprWithValue struct NullVal : public CppiaExpr { NullVal() { } - ExprType getType() { return etObject; } - const char *getName() { return "NullVal"; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } + const char *getName() HXCPP_OVERRIDE { return "NullVal"; } + + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return 0; } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return 0.0; } + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return null(); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return 0; } - void runVoid(CppiaCtx *ctx) { } - int runInt(CppiaCtx *ctx) { return 0; } - Float runFloat(CppiaCtx *ctx) { return 0.0; } - ::String runString(CppiaCtx *ctx) { return null(); } - hx::Object *runObject(CppiaCtx *ctx) { return 0; } - #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { compiler->returnNull(inDest, destType); } @@ -4896,8 +4898,8 @@ struct PosInfo : public CppiaExprWithValue classId = stream.getInt(); methodId = stream.getInt(); } - const char *getName() { return "PosInfo"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "PosInfo"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { String clazz = inModule.strings[classId]; String file = inModule.strings[fileId]; @@ -4908,7 +4910,7 @@ struct PosInfo : public CppiaExprWithValue #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { // TODO GC compiler->move(inDest, (void *)value.mPtr ); @@ -4936,14 +4938,14 @@ struct ObjectDef : public CppiaDynamicExpr ReadExpressions(values,stream,fieldCount); } - const char *getName() { return "ObjectDef"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ObjectDef"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { data = &inModule; LinkExpressions(values,inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Anon result = hx::Anon_obj::Create(); for(int i=0;iAdd(*inName, Dynamic(inValue), false ); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JitTemp obj(compiler, jtPointer); compiler->callNative( (void *)createAnon ); @@ -4973,7 +4975,7 @@ struct ObjectDef : public CppiaDynamicExpr for(int i=0;igenCode(compiler, sJitArg2.as(jtPointer), etObject); - compiler->callNative( (void *)anonAdd, obj, (void *)&data->strings[stringIds[i]],sJitArg2); + compiler->callNative( (void *)anonAdd, obj, (void *)&data->strings[stringIds[i]],sJitArg2); } if (destType!=etVoid && destType!=etNull) compiler->convert(obj,etObject,inDest,destType); @@ -4994,8 +4996,8 @@ struct ArrayDef : public CppiaDynamicExpr } - const char *getName() { return "ArrayDef"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ArrayDef"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[classId]; arrayType = type->arrayType; @@ -5008,13 +5010,13 @@ struct ArrayDef : public CppiaDynamicExpr return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { int n = items.size(); switch(arrayType) { case arrBool: - { + { Array result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;i result = Array_obj::__new(n,n); for(int i=0;ilink(inModule); index = index->link(inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = object->runObject(ctx); BCR_CHECK; @@ -5413,20 +5415,20 @@ struct DynamicArrayI : public CppiaDynamicExpr obj->__SetItem(i,val1); return val1.mPtr; } - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) HXCPP_OVERRIDE { assign = op; value = inValue; return this; } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { crement = inOp; return this; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JitTemp obj(compiler,jtPointer); object->genCode(compiler, obj, etObject); @@ -5554,8 +5556,8 @@ struct ArrayAccessI : public CppiaDynamicExpr __set = 0; } - const char *getName() { return "ArrayAccessI"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ArrayAccessI"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (object) object = object->link(inModule); @@ -5625,7 +5627,7 @@ struct ArrayAccessI : public CppiaDynamicExpr } } - + template void run(CppiaCtx *ctx,T &outValue) { @@ -5735,7 +5737,7 @@ struct ArrayAccessI : public CppiaDynamicExpr #endif } - CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) + CppiaExpr *makeSetter(AssignOp op,CppiaExpr *inValue) HXCPP_OVERRIDE { if (op!=aoSet) throw "TODO - arrayAccess undefined setter"; @@ -5743,26 +5745,26 @@ struct ArrayAccessI : public CppiaDynamicExpr value = inValue; return this; } - CppiaExpr *makeCrement(CrementOp inOp) + CppiaExpr *makeCrement(CrementOp inOp) HXCPP_OVERRIDE { throw "TODO - arrayAccess makeCrement"; crement = inOp; return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { null val; run(ctx,val); BCR_VCHECK; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int val; run(ctx,val); BCR_CHECK; return val; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float val; run(ctx,val); BCR_CHECK; return val; } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { String val; run(ctx,val); BCR_CHECK; return val; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { Dynamic val; run(ctx,val); BCR_CHECK; return val.mPtr; } }; @@ -5787,9 +5789,9 @@ struct ArrayIExpr : public CppiaExpr assignOp = aoNone; } - const char *getName() { return "ArrayIExpr"; } + const char *getName() HXCPP_OVERRIDE { return "ArrayIExpr"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[classId]; @@ -5838,14 +5840,14 @@ struct EnumIExpr : public CppiaDynamicExpr object = createCppiaExpr(stream); } - const char *getName() { return "EnumIExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "EnumIExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { object = object->link(inModule); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *obj = object->runObject(ctx); BCR_CHECK; @@ -5853,7 +5855,7 @@ struct EnumIExpr : public CppiaDynamicExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { object->genCode(compiler, sJitTemp0, etObject); int offset = sizeof( EnumBase_obj ) + index*sizeof(cpp::Variant); @@ -5880,7 +5882,7 @@ struct VarDecl : public CppiaVoidExpr } } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (init) { @@ -5898,8 +5900,8 @@ struct VarDecl : public CppiaVoidExpr } } - const char *getName() { return "VarDecl"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "VarDecl"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { var.link(inModule); init = init ? init->link(inModule) : 0; @@ -5909,7 +5911,7 @@ struct VarDecl : public CppiaVoidExpr #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JitFramePos pos(var.stackPos,var.expressionType); if (init) @@ -5976,14 +5978,14 @@ struct TVars : public CppiaVoidExpr throw "Bad var decl"; } } - const char *getName() { return "TVars"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "TVars"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { LinkExpressions(vars,inModule); return this; } - - void runVoid(CppiaCtx *ctx) + + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { CppiaExpr **v = &vars[0]; CppiaExpr **end = v + vars.size(); @@ -5992,7 +5994,7 @@ struct TVars : public CppiaVoidExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { for(int v=0;vgenCode(compiler, JitVal(), etVoid ); @@ -6006,7 +6008,7 @@ struct ForExpr : public CppiaVoidExpr CppiaExpr *init; CppiaExpr *loop; - + ForExpr(CppiaStream &stream) { var.fromStream(stream); @@ -6014,8 +6016,8 @@ struct ForExpr : public CppiaVoidExpr loop = createCppiaExpr(stream); } - const char *getName() { return "ForExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ForExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { var.link(inModule); init = init->link(inModule); @@ -6023,7 +6025,7 @@ struct ForExpr : public CppiaVoidExpr return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { hx::Object *iterator = init->runObject(ctx); CPPIA_CHECK(iterator); @@ -6063,7 +6065,7 @@ struct WhileExpr : public CppiaVoidExpr CppiaExpr *condition; CppiaExpr *loop; - + WhileExpr(CppiaStream &stream) { isWhileDo = stream.getInt(); @@ -6071,15 +6073,15 @@ struct WhileExpr : public CppiaVoidExpr loop = createCppiaExpr(stream); } - const char *getName() { return "WhileExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "WhileExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); loop = loop->link(inModule); return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { if (isWhileDo && !condition->runInt(ctx)) return; @@ -6107,7 +6109,7 @@ struct WhileExpr : public CppiaVoidExpr ctx->breakContReturn &= ~bcrLoop; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { LabelId oldCont = compiler->setContinuePos( compiler->addLabel() ); QuickVec oldBreaks; @@ -6149,7 +6151,7 @@ struct SwitchExpr : public CppiaExpr std::vector cases; CppiaExpr *defaultCase; - + SwitchExpr(CppiaStream &stream) { caseCount = stream.getInt(); @@ -6165,8 +6167,8 @@ struct SwitchExpr : public CppiaExpr defaultCase = hasDefault ? createCppiaExpr(stream) : 0; } - const char *getName() { return "SwitchExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "SwitchExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { condition = condition->link(inModule); for(int i=0;irunVoid(ctx); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { CppiaExpr *body = getBody(ctx); BCR_CHECK; @@ -6232,7 +6234,7 @@ struct SwitchExpr : public CppiaExpr return 0; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { CppiaExpr *body = getBody(ctx); BCR_CHECK; @@ -6241,7 +6243,7 @@ struct SwitchExpr : public CppiaExpr return 0; } - ::String runString(CppiaCtx *ctx) + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { CppiaExpr *body = getBody(ctx); BCR_CHECK; @@ -6250,7 +6252,7 @@ struct SwitchExpr : public CppiaExpr return String(); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { CppiaExpr *body = getBody(ctx); BCR_CHECK; @@ -6266,7 +6268,7 @@ struct SwitchExpr : public CppiaExpr return Dynamic(o0) == Dynamic(o1); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { ExprType switchType = condition->getType(); JitTemp test( compiler, switchType ); @@ -6360,7 +6362,7 @@ struct TryExpr : public CppiaVoidExpr CppiaExpr *body; std::vector catches; - + TryExpr(CppiaStream &stream) { catchCount = stream.getInt(); @@ -6373,8 +6375,8 @@ struct TryExpr : public CppiaVoidExpr } } - const char *getName() { return "TryExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "TryExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { body = body->link(inModule); for(int i=0;iisClassOf(exception); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { ThrowList thisThrown; ThrowList *oldList = compiler->pushCatching(&thisThrown); @@ -6495,10 +6497,10 @@ struct VarRef : public CppiaExpr store = fsUnknown; } - ExprType getType() { return type; } + ExprType getType() HXCPP_OVERRIDE { return type; } - const char *getName() { return "VarRef"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "VarRef"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { var = inModule.layout->findVar(varId); if (!var) @@ -6585,14 +6587,14 @@ struct FlagBreak : public CppiaVoidExpr int flag; FlagBreak(int inFlag) : flag(inFlag) { } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { ctx->breakContReturn |= flag; } - const char *getName() { return flag==bcrBreak ? "Break" : "Continue"; } + const char *getName() HXCPP_OVERRIDE { return flag==bcrBreak ? "Break" : "Continue"; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (flag==bcrBreak) compiler->addBreak(); @@ -6624,8 +6626,8 @@ struct RetVal : public CppiaVoidExpr value = 0; } - const char *getName() { return "RetVal"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "RetVal"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { if (value) { @@ -6637,7 +6639,7 @@ struct RetVal : public CppiaVoidExpr return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { #ifdef DEBUG_RETURN_TYPE gLastRet = returnType; @@ -6668,7 +6670,7 @@ struct RetVal : public CppiaVoidExpr } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (value) { @@ -6697,10 +6699,10 @@ struct BinOp : public CppiaExpr type = etFloat; } - ExprType getType() { return type; } + ExprType getType() HXCPP_OVERRIDE { return type; } - const char *getName() =0; - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE =0; + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { left = left->link(inModule); right = right->link(inModule); @@ -6711,13 +6713,13 @@ struct BinOp : public CppiaExpr type = etFloat; return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (type==etInt) return Dynamic(runInt(ctx)).mPtr; return Dynamic(runFloat(ctx)).mPtr; } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { if (type==etInt) return String(runInt(ctx)); @@ -6730,21 +6732,21 @@ struct OpMult : public BinOp { OpMult(CppiaStream &stream) : BinOp(stream) { } - const char *getName() { return "OpMult"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "OpMult"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int lval = left->runInt(ctx); BCR_CHECK; return lval * right->runInt(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float lval = left->runFloat(ctx); BCR_CHECK; return lval * right->runFloat(ctx); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etVoid) { @@ -6787,22 +6789,22 @@ struct OpMult : public BinOp struct OpSub : public BinOp { OpSub(CppiaStream &stream) : BinOp(stream) { } - const char *getName() { return "OpSub"; } + const char *getName() HXCPP_OVERRIDE { return "OpSub"; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int lval = left->runInt(ctx); BCR_CHECK; return lval - right->runInt(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float lval = left->runFloat(ctx); BCR_CHECK; return lval - right->runFloat(ctx); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etVoid) { @@ -6846,22 +6848,22 @@ struct OpDiv : public BinOp { OpDiv(CppiaStream &stream) : BinOp(stream) { } - const char *getName() { return "OpDiv"; } - ExprType getType() { return etFloat; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "OpDiv"; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { // Int division - if you use 'cast' - do as float then cast to int Float lval = left->runFloat(ctx); BCR_CHECK; return lval / right->runFloat(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float lval = left->runFloat(ctx); BCR_CHECK; return lval / right->runFloat(ctx); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { BinOp::link(inModule); type = etFloat; @@ -6869,7 +6871,7 @@ struct OpDiv : public BinOp } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etVoid) { @@ -6905,19 +6907,19 @@ struct ThrowExpr : public CppiaVoidExpr { value = createCppiaExpr(stream); } - const char *getName() { return "ThrowExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "ThrowExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { value = value->link(inModule); return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { // HX_STACK_DO_THROW ? throw Dynamic( value->runObject(ctx) ); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { value->genCode(compiler, sJitCtx.star(jtPointer, offsetof(hx::StackContext,exception)), etObject); compiler->addThrow(); @@ -6932,18 +6934,18 @@ struct OpNot : public CppiaBoolExpr { value = createCppiaExpr(stream); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { value = value->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return ! value->runInt(ctx); } #ifdef CPPIA_JIT - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { return value->genCompare(compiler, !inReverse, inLabel); } @@ -6960,13 +6962,13 @@ struct OpAnd : public CppiaBoolExpr left = createCppiaExpr(stream); right = createCppiaExpr(stream); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { left = left->link(inModule); right = right->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; @@ -6975,7 +6977,7 @@ struct OpAnd : public CppiaBoolExpr #ifdef CPPIA_JIT - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { if (inReverse) { @@ -7021,7 +7023,7 @@ struct OpAnd : public CppiaBoolExpr struct OpOr : public OpAnd { OpOr(CppiaStream &stream) : OpAnd(stream) { } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; @@ -7030,7 +7032,7 @@ struct OpOr : public OpAnd #ifdef CPPIA_JIT - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { if (inReverse) { @@ -7084,18 +7086,18 @@ struct BitNot : public CppiaIntExpr { left = createCppiaExpr(stream); } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { left = left->link(inModule); return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return ~left->runInt(ctx); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { left->genCode(compiler, sJitTemp0, etInt); if (destType==etInt) @@ -7118,8 +7120,8 @@ struct BitOpBase : public CppiaIntExpr left = createCppiaExpr(stream); right = createCppiaExpr(stream); } - const char *getName() = 0; - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE = 0; + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { left = left->link(inModule); right = right->link(inModule); @@ -7130,7 +7132,7 @@ struct BitOpBase : public CppiaIntExpr #ifdef CPPIA_JIT virtual BitOp getBitOp() = 0; - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { JitTemp tLeft(compiler, jtInt); left->genCode(compiler, tLeft, etInt); @@ -7149,8 +7151,8 @@ struct BitOpBase : public CppiaIntExpr struct BitAnd : public BitOpBase { BitAnd(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitAnd"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitAnd"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; @@ -7158,22 +7160,22 @@ struct BitAnd : public BitOpBase } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpAnd; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpAnd; } #endif }; struct BitOr : public BitOpBase { BitOr(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitOr"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitOr"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; return l | right->runInt(ctx); } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpOr; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpOr; } #endif }; @@ -7181,15 +7183,15 @@ struct BitOr : public BitOpBase struct BitXOr : public BitOpBase { BitXOr(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitXOr"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitXOr"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; return l ^ right->runInt(ctx); } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpXOr; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpXOr; } #endif }; @@ -7197,15 +7199,15 @@ struct BitXOr : public BitOpBase struct BitUSR : public BitOpBase { BitUSR(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitUSR"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitUSR"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; return hx::UShr(l , right->runInt(ctx)); } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpUSR; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpUSR; } #endif }; @@ -7213,15 +7215,15 @@ struct BitUSR : public BitOpBase struct BitShiftR : public BitOpBase { BitShiftR(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitShiftR"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitShiftR"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; return l >> right->runInt(ctx); } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpShiftR; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpShiftR; } #endif }; @@ -7229,15 +7231,15 @@ struct BitShiftR : public BitOpBase struct BitShiftL : public BitOpBase { BitShiftL(CppiaStream &stream) : BitOpBase(stream) { } - const char *getName() { return "BitShiftL"; } - int runInt(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "BitShiftL"; } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int l = left->runInt(ctx); BCR_CHECK; return l << right->runInt(ctx); } #ifdef CPPIA_JIT - BitOp getBitOp() { return bitOpShiftL; } + BitOp getBitOp() HXCPP_OVERRIDE { return bitOpShiftL; } #endif }; @@ -7298,13 +7300,13 @@ struct SpecialAdd : public CppiaExpr left = inLeft; right = inRight; } - virtual const char *getName() { return "SpecialAdd"; } - void runVoid(CppiaCtx *ctx) + const char *getName() HXCPP_OVERRIDE { return "SpecialAdd"; } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { left->runVoid(ctx); right->runVoid(ctx); } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { if (AS_DYNAMIC) { @@ -7319,7 +7321,7 @@ struct SpecialAdd : public CppiaExpr return lval + right->runString(ctx); } } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { if (AS_DYNAMIC) { @@ -7327,10 +7329,10 @@ struct SpecialAdd : public CppiaExpr BCR_CHECK; return (lval + Dynamic(right->runObject(ctx))).mPtr; } - + return Dynamic(runString(ctx)).mPtr; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { if (AS_DYNAMIC) { @@ -7338,13 +7340,13 @@ struct SpecialAdd : public CppiaExpr BCR_CHECK; return (lval + Dynamic(right->runObject(ctx)))->__ToInt(); } - + left->runVoid(ctx); BCR_CHECK; right->runVoid(ctx); return 0; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { if (AS_DYNAMIC) { @@ -7352,14 +7354,14 @@ struct SpecialAdd : public CppiaExpr BCR_CHECK; return (lval + Dynamic(right->runObject(ctx)))->__ToDouble(); } - + left->runVoid(ctx); BCR_CHECK; right->runVoid(ctx); return 0; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (!AS_DYNAMIC) { @@ -7458,33 +7460,33 @@ struct OpNeg : public CppiaExpr { value = createCppiaExpr(stream); } - virtual const char *getName() { return "OpNeg"; } + const char *getName() HXCPP_OVERRIDE { return "OpNeg"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { value = value->link(inModule); type = value->getType()==etInt ? etInt : etFloat; return this; } - ExprType getType() { return type; } + ExprType getType() HXCPP_OVERRIDE { return type; } - void runVoid(CppiaCtx *ctx) { value->runVoid(ctx); } - int runInt(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { value->runVoid(ctx); } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return - value->runInt(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return - value->runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(- value->runFloat(ctx)).mPtr; } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etInt) { @@ -7514,9 +7516,9 @@ struct OpAdd : public BinOp { } - const char *getName() { return "Add"; } + const char *getName() HXCPP_OVERRIDE { return "Add"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { BinOp::link(inModule); @@ -7537,26 +7539,26 @@ struct OpAdd : public BinOp return this; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { left->runVoid(ctx); BCR_VCHECK; right->runVoid(ctx); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { int lval = left->runInt(ctx); BCR_CHECK; return lval + right->runInt(ctx); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float lval = left->runFloat(ctx); BCR_CHECK; return lval + right->runFloat(ctx); } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etVoid) { @@ -7609,25 +7611,25 @@ struct OpMod : public BinOp OpMod(CppiaStream &stream) : BinOp(stream) { } - const char *getName() { return "OpMod"; } + const char *getName() HXCPP_OVERRIDE { return "OpMod"; } // Need this for /0 behaviour - ExprType getType() { return etFloat; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { BinOp::link(inModule); type = etFloat; return this; } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { double lval = left->runFloat(ctx); BCR_CHECK; return hx::DoubleMod(lval,right->runFloat(ctx)); } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { Float lval = left->runFloat(ctx); BCR_CHECK; @@ -7635,7 +7637,7 @@ struct OpMod : public BinOp } #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { if (destType==etVoid) { @@ -7655,7 +7657,7 @@ struct OpMod : public BinOp #endif }; -struct CrementExpr : public CppiaExpr +struct CrementExpr : public CppiaExpr { CrementOp op; CppiaExpr *lvalue; @@ -7665,8 +7667,8 @@ struct CrementExpr : public CppiaExpr op = inOp; lvalue = createCppiaExpr(stream); } - const char *getName() { return "CrementExpr"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "CrementExpr"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { lvalue = lvalue->link(inModule); CppiaExpr *replace = lvalue->makeCrement( op ); @@ -7682,7 +7684,7 @@ struct CrementExpr : public CppiaExpr } }; -struct OpCompareBase : public CppiaBoolExpr +struct OpCompareBase : public CppiaBoolExpr { enum CompareType { compFloat, compInt, compString, compDynamic }; @@ -7697,9 +7699,9 @@ struct OpCompareBase : public CppiaBoolExpr compareType = compDynamic; } - const char *getName() { return "OpCompare"; } + const char *getName() HXCPP_OVERRIDE { return "OpCompare"; } - CppiaExpr *link(CppiaModule &inModule) + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { left = left->link(inModule); right = right->link(inModule); @@ -7720,7 +7722,7 @@ struct OpCompareBase : public CppiaBoolExpr return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { bool result = runInt(ctx); return Dynamic(result).mPtr; @@ -7728,14 +7730,14 @@ struct OpCompareBase : public CppiaBoolExpr }; template -struct OpCompare : public OpCompareBase +struct OpCompare : public OpCompareBase { COMPARE compare; OpCompare(CppiaStream &stream) : OpCompareBase(stream) { } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { switch(compareType) { @@ -7786,7 +7788,7 @@ struct OpCompare : public OpCompareBase } - JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) + JumpId genCompare(CppiaCompiler *compiler,bool inReverse,LabelId inLabel) HXCPP_OVERRIDE { switch(compareType) { diff --git a/src/hx/cppia/Cppia.h b/src/hx/cppia/Cppia.h index ec7bb374c..28252bd15 100644 --- a/src/hx/cppia/Cppia.h +++ b/src/hx/cppia/Cppia.h @@ -217,12 +217,12 @@ typedef std::vector Expressions; struct CppiaDynamicExpr : public CppiaExpr { inline CppiaDynamicExpr(const CppiaExpr *inSrc=0) : CppiaExpr(inSrc) {} - const char *getName() = 0; - int runInt(CppiaCtx *ctx); - Float runFloat(CppiaCtx *ctx); - ::String runString(CppiaCtx *ctx); - void runVoid(CppiaCtx *ctx); - hx::Object *runObject(CppiaCtx *ctx) = 0; + const char *getName() HXCPP_OVERRIDE = 0; + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE; + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE; + ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE; + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE; + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE= 0; }; @@ -232,8 +232,8 @@ struct ArrayBuiltinBase : public CppiaExpr Expressions args; ArrayBuiltinBase(CppiaExpr *inSrc, CppiaExpr *inThisExpr, Expressions &ioExpressions); - const char *getName(); - CppiaExpr *link(CppiaModule &inData); + const char *getName() HXCPP_OVERRIDE; + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE; }; CppiaExpr *createArrayAnyBuiltin(CppiaExpr *src, @@ -288,7 +288,7 @@ struct ScriptCallable : public CppiaDynamicExpr ScriptCallable(CppiaModule &inModule,ScriptNamedFunction *inFunction); ~ScriptCallable(); - CppiaExpr *link(CppiaModule &inModule); + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE; #ifdef HXCPP_STACK_SCRIPTABLE void getScriptableVariables(unsigned char *inFrame, Array outNames); @@ -298,14 +298,14 @@ struct ScriptCallable : public CppiaDynamicExpr static int Hash(int value, const char *inString); ExprType getReturnType() { return returnType; } - ExprType getType() { return etObject; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } #ifdef CPPIA_JIT void compile(); void genDefaults(CppiaCompiler *compiler); void genArgs(CppiaCompiler *compiler, CppiaExpr *inThis, Expressions &inArgs, const JitVal &inThisVal); - void genCode(CppiaCompiler *compiler,const JitVal &inDest=JitVal(),ExprType type=etNull); + void genCode(CppiaCompiler *compiler,const JitVal &inDest=JitVal(),ExprType type=etNull) HXCPP_OVERRIDE; #endif @@ -313,11 +313,11 @@ struct ScriptCallable : public CppiaDynamicExpr void pushArgsDynamic(CppiaCtx *ctx, hx::Object *inThis, Array &inArgs); // Return the closure - hx::Object *runObject(CppiaCtx *ctx); + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE; - const char *getName(); - String runString(CppiaCtx *ctx); - void runVoid(CppiaCtx *ctx); + const char *getName() HXCPP_OVERRIDE; + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE; + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE; // Run the actual function diff --git a/src/hx/cppia/CppiaClasses.cpp b/src/hx/cppia/CppiaClasses.cpp index aed4987fd..5cfe6f171 100644 --- a/src/hx/cppia/CppiaClasses.cpp +++ b/src/hx/cppia/CppiaClasses.cpp @@ -12,9 +12,9 @@ class CppiaEnumBase : public EnumBase_obj public: CppiaEnumBase(CppiaClassInfo *inInfo) { classInfo = inInfo; } - ::hx::ObjectPtr __GetClass() const; - ::String GetEnumName( ) const; - ::String __ToString() const; + ::hx::ObjectPtr __GetClass() const HXCPP_OVERRIDE; + ::String GetEnumName() const HXCPP_OVERRIDE; + ::String __ToString() const HXCPP_OVERRIDE; }; @@ -140,15 +140,15 @@ class EnumConstructorClosure : public hx::Object { } - Dynamic __Run(const Array &inArgs) + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { return constructor.create(inArgs); } - int __GetType() const { return vtFunction; } - int __ArgCount() const { return constructor.args.size(); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return constructor.args.size(); } - String toString() { return HX_CSTRING("#function(") + constructor.name + HX_CSTRING(")"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("#function(") + constructor.name + HX_CSTRING(")"); } }; @@ -205,8 +205,8 @@ struct EnumField : public CppiaDynamicExpr } } - const char *getName() { return "EnumField"; } - CppiaExpr *link(CppiaModule &inModule) + const char *getName() HXCPP_OVERRIDE { return "EnumField"; } + CppiaExpr *link(CppiaModule &inModule) HXCPP_OVERRIDE { TypeData *type = inModule.types[enumId]; if (type->cppiaClass) @@ -242,7 +242,7 @@ struct EnumField : public CppiaDynamicExpr return enumValue.mPtr; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { int s = args.size(); if (s==0) @@ -258,14 +258,14 @@ struct EnumField : public CppiaDynamicExpr return value ? value->create(dynArgs) : enumClass->ConstructEnum(enumName,dynArgs).mPtr; } - void mark(hx::MarkContext *__inCtx) + void mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(enumName); HX_MARK_MEMBER(enumClass); HX_MARK_MEMBER(enumValue); } #ifdef HXCPP_VISIT_ALLOCS - void visit(hx::VisitContext *__inCtx) + void visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(enumName); HX_VISIT_MEMBER(enumClass); @@ -275,7 +275,7 @@ struct EnumField : public CppiaDynamicExpr #ifdef CPPIA_JIT - void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE { int s = args.size(); if (s==0) @@ -1586,12 +1586,12 @@ class CppiaClass : public hx::Class_obj info = inInfo; } - Array GetClassFields() + Array GetClassFields() HXCPP_OVERRIDE { return info->GetClassFields(); } - Array GetInstanceFields() + Array GetInstanceFields() HXCPP_OVERRIDE { Array members = mSuper ? (*mSuper)->GetInstanceFields() : Array_obj::__new(0,0); @@ -1644,23 +1644,23 @@ class CppiaClass : public hx::Class_obj } - Dynamic ConstructEmpty() + Dynamic ConstructEmpty() HXCPP_OVERRIDE { if (info->isEnum) return Dynamic(); Expressions none; return info->createInstance(CppiaCtx::getCurrent(),none,false); - } + } - Dynamic ConstructArgs(hx::DynamicArray inArgs) + Dynamic ConstructArgs(hx::DynamicArray inArgs) HXCPP_OVERRIDE { return info->createInstance(CppiaCtx::getCurrent(),inArgs); } - bool __IsEnum() { return info->isEnum; } + bool __IsEnum() HXCPP_OVERRIDE { return info->isEnum; } - Dynamic ConstructEnum(String inName,hx::DynamicArray inArgs) + Dynamic ConstructEnum(String inName, hx::DynamicArray inArgs) HXCPP_OVERRIDE { if (!info->isEnum) return Dynamic(); @@ -1669,7 +1669,7 @@ class CppiaClass : public hx::Class_obj return info->enumConstructors[index]->create(inArgs); } - bool VCanCast(hx::Object *inPtr) + bool VCanCast(hx::Object *inPtr) HXCPP_OVERRIDE { if (!inPtr) return false; @@ -1702,19 +1702,19 @@ class CppiaClass : public hx::Class_obj } - hx::Val __Field(const String &inName,hx::PropertyAccess inCallProp) + hx::Val __Field(const String &inName,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { if (inName==HX_CSTRING("__meta__")) return __meta__; return info->getStaticValue(inName,inCallProp); } - hx::Val __SetField(const String &inName,const hx::Val &inValue ,hx::PropertyAccess inCallProp) + hx::Val __SetField(const String &inName,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return info->setStaticValue(inName,inValue,inCallProp); } - bool __HasField(const String &inName) + bool __HasField(const String &inName) HXCPP_OVERRIDE { if (inName==HX_CSTRING("__meta__")) return __meta__!=null(); diff --git a/src/hx/cppia/CppiaCompiler.cpp b/src/hx/cppia/CppiaCompiler.cpp index 54320210e..e6f8087e9 100644 --- a/src/hx/cppia/CppiaCompiler.cpp +++ b/src/hx/cppia/CppiaCompiler.cpp @@ -259,32 +259,32 @@ class CppiaJitCompiler : public CppiaCompiler } } - int getBaseSize() + int getBaseSize() HXCPP_OVERRIDE { return baseFrameSize; } - void setLineOffset( int inOffset ) + void setLineOffset( int inOffset ) HXCPP_OVERRIDE { lineOffset = inOffset; } - int getLineOffset( ) + int getLineOffset( ) HXCPP_OVERRIDE { return lineOffset; } - int getCurrentFrameSize() + int getCurrentFrameSize() HXCPP_OVERRIDE { return frameSize; } - void restoreFrameSize(int inSize) + void restoreFrameSize(int inSize) HXCPP_OVERRIDE { frameSize = inSize; } - void addFrame(ExprType inType) + void addFrame(ExprType inType) HXCPP_OVERRIDE { frameSize += getJitTypeSize( getJitType(inType) ); if (frameSize>maxFrameSize) @@ -292,7 +292,7 @@ class CppiaJitCompiler : public CppiaCompiler } - void beginGeneration(int inArgs) + void beginGeneration(int inArgs) HXCPP_OVERRIDE { compiler = sljit_create_compiler(NULL); @@ -335,7 +335,7 @@ class CppiaJitCompiler : public CppiaCompiler catching = 0; } - CppiaFunc finishGeneration() + CppiaFunc finishGeneration() HXCPP_OVERRIDE { for(int i=0;i &ioBreakList) + void swapBreakList(QuickVec &ioBreakList) HXCPP_OVERRIDE { allBreaks.swap(ioBreakList); } - - void setBreakTarget() + + void setBreakTarget() HXCPP_OVERRIDE { for(int i=0;i jumpDone; @@ -1080,7 +1080,7 @@ class CppiaJitCompiler : public CppiaCompiler - void convertResult(ExprType inSrcType, const JitVal &inTarget, ExprType inToType) + void convertResult(ExprType inSrcType, const JitVal &inTarget, ExprType inToType) HXCPP_OVERRIDE { if (inSrcType!=etVoid && inSrcType!=etNull && inToType!=etVoid && inToType!=etNull) { @@ -1089,7 +1089,7 @@ class CppiaJitCompiler : public CppiaCompiler } - void convertReturnReg(ExprType inSrcType, const JitVal &inTarget, ExprType inToType, bool asBool = false) + void convertReturnReg(ExprType inSrcType, const JitVal &inTarget, ExprType inToType, bool asBool = false) HXCPP_OVERRIDE { if (inSrcType!=etVoid && inSrcType!=etNull && inToType!=etVoid && inToType!=etNull) { @@ -1097,7 +1097,7 @@ class CppiaJitCompiler : public CppiaCompiler } } - void returnNull(const JitVal &inTarget, ExprType inToType) + void returnNull(const JitVal &inTarget, ExprType inToType) HXCPP_OVERRIDE { switch(inToType) { @@ -1124,19 +1124,19 @@ class CppiaJitCompiler : public CppiaCompiler } - void traceObject(const char *inLabel, const JitVal &inObj) + void traceObject(const char *inLabel, const JitVal &inObj) HXCPP_OVERRIDE { callNative( (void *)my_trace_obj_func, JitVal((void *)inLabel), inObj); } - void tracePointer(const char *inLabel, const JitVal &inPtr) + void tracePointer(const char *inLabel, const JitVal &inPtr) HXCPP_OVERRIDE { callNative( (void *)my_trace_ptr_func, JitVal((void *)inLabel), inPtr); } - void traceInt(const char *inLabel, const JitVal &inValue) + void traceInt(const char *inLabel, const JitVal &inValue) HXCPP_OVERRIDE { callNative( (void *)my_trace_int_func, JitVal((void *)inLabel), inValue); } - void traceFloat(const char *inLabel, const JitVal &inValue) + void traceFloat(const char *inLabel, const JitVal &inValue) HXCPP_OVERRIDE { if (isMemoryVal(inValue)) { @@ -1152,20 +1152,20 @@ class CppiaJitCompiler : public CppiaCompiler } } - void trace(const char *inText) + void trace(const char *inText) HXCPP_OVERRIDE { callNative( (void *)my_trace_func, JitVal( (void *)inText )); } - void traceStrings(const char *inS0,const char *inS1) + void traceStrings(const char *inS0,const char *inS1) HXCPP_OVERRIDE { callNative( (void *)my_trace_strings, JitVal( (void *)inS0 ), JitVal( (void *)inS1 )); } - void traceString(const char *inLabel, const JitVal &inValue) + void traceString(const char *inLabel, const JitVal &inValue) HXCPP_OVERRIDE { callNative( (void *)my_trace_string, JitVal( (void *)inLabel ), inValue ); } - void negate(const JitVal &inDest, const JitVal &inSrc) + void negate(const JitVal &inDest, const JitVal &inSrc) HXCPP_OVERRIDE { if (inSrc.type==jtFloat) { @@ -1178,7 +1178,7 @@ class CppiaJitCompiler : public CppiaCompiler } - void add(const JitVal &inDest, const JitVal &v0, const JitVal &v1 ) + void add(const JitVal &inDest, const JitVal &v0, const JitVal &v1 ) HXCPP_OVERRIDE { if (v0.type==jtFloat) { @@ -1203,12 +1203,12 @@ class CppiaJitCompiler : public CppiaCompiler } - void bitNot(const JitVal &inDest, const JitVal &v0) + void bitNot(const JitVal &inDest, const JitVal &v0) HXCPP_OVERRIDE { emit_op1(SLJIT_NOT32, inDest, v0); } - void bitOp(BitOp inOp, const JitVal &inDest, const JitVal &v0, const JitVal &v1 ) + void bitOp(BitOp inOp, const JitVal &inDest, const JitVal &v0, const JitVal &v1 ) HXCPP_OVERRIDE { switch(inOp) { @@ -1233,7 +1233,7 @@ class CppiaJitCompiler : public CppiaCompiler } } - void mult(const JitVal &inDest, const JitVal &v0, const JitVal &v1, bool asFloat ) + void mult(const JitVal &inDest, const JitVal &v0, const JitVal &v1, bool asFloat ) HXCPP_OVERRIDE { sljit_s32 tDest = getTarget(inDest); sljit_s32 t0 = getTarget(v0); @@ -1264,7 +1264,7 @@ class CppiaJitCompiler : public CppiaCompiler } } - void sub(const JitVal &inDest, const JitVal &v0, const JitVal &v1, bool asFloat ) + void sub(const JitVal &inDest, const JitVal &v0, const JitVal &v1, bool asFloat ) HXCPP_OVERRIDE { sljit_s32 tDest = getTarget(inDest); sljit_s32 t0 = getTarget(v0); @@ -1294,12 +1294,12 @@ class CppiaJitCompiler : public CppiaCompiler } - void fdiv(const JitVal &inDest, const JitVal &v0, const JitVal &v1) + void fdiv(const JitVal &inDest, const JitVal &v0, const JitVal &v1) HXCPP_OVERRIDE { emit_fop2(SLJIT_DIV_F64, inDest, v0, v1 ); } - void divmod() + void divmod() HXCPP_OVERRIDE { if (sJitTemp1.reg0>=maxTempCount) maxTempCount = sJitTemp1.reg0; @@ -1308,13 +1308,13 @@ class CppiaJitCompiler : public CppiaCompiler } - void call(const JitVal &func,const JitVal &inArg0) + void call(const JitVal &func,const JitVal &inArg0) HXCPP_OVERRIDE { move(sJitArg0,inArg0); emit_ijump(func,1); } - void callNative(void *func) + void callNative(void *func) HXCPP_OVERRIDE { makesNativeCalls = true; if (maxTempCount<1) @@ -1324,7 +1324,7 @@ class CppiaJitCompiler : public CppiaCompiler sljit_emit_ijump(compiler, SLJIT_CALL1, SLJIT_IMM, SLJIT_FUNC_OFFSET(func)); } } - void callNative(void *func, const JitVal &inArg0) + void callNative(void *func, const JitVal &inArg0) HXCPP_OVERRIDE { makesNativeCalls = true; if (maxTempCount<1) @@ -1352,7 +1352,7 @@ class CppiaJitCompiler : public CppiaCompiler if (restoreLocal>=0) localSize = restoreLocal; } - void callNative(void *func, const JitVal &inArg0, const JitVal &inArg1) + void callNative(void *func, const JitVal &inArg0, const JitVal &inArg1) HXCPP_OVERRIDE { makesNativeCalls = true; if (maxTempCount<2) @@ -1370,7 +1370,7 @@ class CppiaJitCompiler : public CppiaCompiler { setError("Passing string value in register error"); } - + restoreLocal = localSize; JitLocalPos temp(allocTemp(jtFloat),jtFloat); move( temp, inArg0 ); @@ -1413,7 +1413,7 @@ class CppiaJitCompiler : public CppiaCompiler } - void callNative(void *func, const JitVal &inArg0, const JitVal &inArg1, const JitVal &inArg2) + void callNative(void *func, const JitVal &inArg0, const JitVal &inArg1, const JitVal &inArg2) HXCPP_OVERRIDE { makesNativeCalls = true; if (maxTempCount<3) @@ -1430,7 +1430,7 @@ class CppiaJitCompiler : public CppiaCompiler { setError("Passing string value in register error"); } - + restoreLocal = localSize; JitLocalPos temp(allocTemp(jtFloat),jtFloat); move( temp, inArg0 ); @@ -1494,7 +1494,7 @@ class CppiaJitCompiler : public CppiaCompiler localSize = restoreLocal; } - void checkException() + void checkException() HXCPP_OVERRIDE { JumpId onException = compare( cmpP_NOT_ZERO,sJitCtx.star(jtPointer, offsetof(hx::StackContext,exception)),(void *)0, 0 ); if (catching) @@ -1505,7 +1505,7 @@ class CppiaJitCompiler : public CppiaCompiler } - void addThrow() + void addThrow() HXCPP_OVERRIDE { if (catching) catching->push_back( jump() ); @@ -1513,13 +1513,13 @@ class CppiaJitCompiler : public CppiaCompiler uncaught.push( jump() ); } - ThrowList *pushCatching(ThrowList *inList) + ThrowList *pushCatching(ThrowList *inList) HXCPP_OVERRIDE { ThrowList *oldList = catching; catching = inList; return oldList; } - void popCatching(ThrowList *inList) + void popCatching(ThrowList *inList) HXCPP_OVERRIDE { catching = inList; } diff --git a/src/hx/cppia/CppiaFunction.cpp b/src/hx/cppia/CppiaFunction.cpp index 2c5eae864..005977b36 100644 --- a/src/hx/cppia/CppiaFunction.cpp +++ b/src/hx/cppia/CppiaFunction.cpp @@ -76,7 +76,7 @@ class RelayExpr : public CppiaExpr execute = inExecute; } - void runVoid(CppiaCtx *ctx) + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { execute(ctx); } @@ -655,7 +655,7 @@ void ScriptCallable::compile() compiler->setOnReturn( onReturn, stackSize ); #ifdef HXCPP_STACK_LINE - compiler->setLineOffset( stackSize + offsetof(StackFrame,lineNumber) ); + compiler->setLineOffset( stackSize + offsetof(StackFrame,lineNumber) ); #endif #endif @@ -827,7 +827,7 @@ class CppiaClosure : public hx::Object - Dynamic __Run(const Array &inArgs) + Dynamic __Run(const Array &inArgs) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); @@ -845,7 +845,7 @@ class CppiaClosure : public hx::Object } #if (HXCPP_API_LEVEL<500) - Dynamic __run() + Dynamic __run() HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack a(ctx); @@ -853,7 +853,7 @@ class CppiaClosure : public hx::Object return doRun(ctx,0); } - Dynamic __run(D a) + Dynamic __run(D a) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack aut(ctx); @@ -861,7 +861,7 @@ class CppiaClosure : public hx::Object pushArgDynamic(ctx,0,a); return doRun(ctx,1); } - Dynamic __run(D a,D b) + Dynamic __run(D a,D b) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack aut(ctx); @@ -870,7 +870,7 @@ class CppiaClosure : public hx::Object pushArgDynamic(ctx,1,b); return doRun(ctx,2); } - Dynamic __run(D a,D b,D c) + Dynamic __run(D a,D b,D c) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack aut(ctx); @@ -880,7 +880,7 @@ class CppiaClosure : public hx::Object pushArgDynamic(ctx,2,c); return doRun(ctx,3); } - Dynamic __run(D a,D b,D c,D d) + Dynamic __run(D a,D b,D c,D d) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack aut(ctx); @@ -892,7 +892,7 @@ class CppiaClosure : public hx::Object return doRun(ctx,4); } - Dynamic __run(D a,D b,D c,D d,D e) + Dynamic __run(D a,D b,D c,D d,D e) HXCPP_OVERRIDE { CppiaCtx *ctx = CppiaCtx::getCurrent(); AutoStack aut(ctx); @@ -906,7 +906,7 @@ class CppiaClosure : public hx::Object } #endif - void __Mark(hx::MarkContext *__inCtx) + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(*getThis()); char *base = ((char *)this) + sizeof(CppiaClosure); @@ -914,7 +914,7 @@ class CppiaClosure : public hx::Object function->captureVars[i]->markClosure(base,__inCtx); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(*getThis()); char *base = ((char *)this) + sizeof(CppiaClosure); @@ -922,9 +922,9 @@ class CppiaClosure : public hx::Object function->captureVars[i]->visitClosure(base,__inCtx); } #endif - virtual void *__GetHandle() const { return *getThis(); } + void *__GetHandle() const HXCPP_OVERRIDE { return *getThis(); } - int __Compare(const hx::Object *inRHS) const + int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE { const CppiaClosure *other = dynamic_cast(inRHS); if (!other) @@ -934,10 +934,10 @@ class CppiaClosure : public hx::Object - int __GetType() const { return vtFunction; } - int __ArgCount() const { return function->args.size(); } + int __GetType() const HXCPP_OVERRIDE { return vtFunction; } + int __ArgCount() const HXCPP_OVERRIDE { return function->args.size(); } - String toString() { return HX_CSTRING("function"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("function"); } }; hx::Object * CPPIA_CALL createClosure(CppiaCtx *ctx, ScriptCallable *inFunction) diff --git a/src/hx/cppia/CppiaModule.cpp b/src/hx/cppia/CppiaModule.cpp index 1cea8f30e..303e0443f 100644 --- a/src/hx/cppia/CppiaModule.cpp +++ b/src/hx/cppia/CppiaModule.cpp @@ -291,13 +291,13 @@ class CppiaObject : public hx::CppiaLoadedModule_obj { delete ((CppiaObject *)inObj)->cppia; } - void __Mark(hx::MarkContext *ctx) { cppia->mark(ctx); } + void __Mark(hx::MarkContext *ctx) HXCPP_OVERRIDE { cppia->mark(ctx); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *ctx) { cppia->visit(ctx); } + void __Visit(hx::VisitContext *ctx) HXCPP_OVERRIDE { cppia->visit(ctx); } #endif - void boot() + void boot() HXCPP_OVERRIDE { if (booted) return; @@ -317,7 +317,7 @@ class CppiaObject : public hx::CppiaLoadedModule_obj } - void run() + void run() HXCPP_OVERRIDE { if (!booted) boot(); @@ -344,7 +344,7 @@ class CppiaObject : public hx::CppiaLoadedModule_obj } } - ::hx::Class resolveClass( ::String inName) + ::hx::Class resolveClass( ::String inName) HXCPP_OVERRIDE { CppiaClassInfo *info = cppia->findClass(inName); if (info) diff --git a/src/hx/cppia/GlobalBuiltin.cpp b/src/hx/cppia/GlobalBuiltin.cpp index 315c56fc3..519792697 100644 --- a/src/hx/cppia/GlobalBuiltin.cpp +++ b/src/hx/cppia/GlobalBuiltin.cpp @@ -19,15 +19,15 @@ class IntBuiltin1 : public CppiaExpr IntBuiltin1(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "IntBuiltin1"; } - ExprType getType() { return etInt; } + const char *getName() HXCPP_OVERRIDE { return "IntBuiltin1"; } + ExprType getType() HXCPP_OVERRIDE { return etInt; } - void runVoid(CppiaCtx *ctx) { runInt(ctx); } - Float runFloat(CppiaCtx *ctx) { return runInt(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runInt(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runInt(ctx)); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runInt(ctx); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runInt(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runInt(ctx)); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -45,15 +45,15 @@ class IntBuiltin2 : public CppiaExpr IntBuiltin2(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "IntBuiltin2"; } - ExprType getType() { return etInt; } + const char *getName() HXCPP_OVERRIDE { return "IntBuiltin2"; } + ExprType getType() HXCPP_OVERRIDE { return etInt; } - void runVoid(CppiaCtx *ctx) { runInt(ctx); } - Float runFloat(CppiaCtx *ctx) { return runInt(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runInt(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runInt(ctx)); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runInt(ctx); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runInt(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runInt(ctx)); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -75,14 +75,14 @@ class VoidBuiltin1 : public CppiaExpr VoidBuiltin1(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "VoidBuiltin1"; } - ExprType getType() { return etVoid; } + const char *getName() HXCPP_OVERRIDE { return "VoidBuiltin1"; } + ExprType getType() HXCPP_OVERRIDE { return etVoid; } - int runInt(CppiaCtx *ctx) { runVoid(ctx); return 0; } - Float runFloat(CppiaCtx *ctx) { runVoid(ctx); return 0;} - hx::Object *runObject(CppiaCtx *ctx) { runVoid(ctx); return 0; } - String runString(CppiaCtx *ctx) { runVoid(ctx); return String(); } - void runVoid(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0;} + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return String(); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -101,14 +101,14 @@ class VoidBuiltin2 : public CppiaExpr VoidBuiltin2(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "VoidBuiltin2"; } - ExprType getType() { return etVoid; } + const char *getName() HXCPP_OVERRIDE { return "VoidBuiltin2"; } + ExprType getType() HXCPP_OVERRIDE { return etVoid; } - int runInt(CppiaCtx *ctx) { runVoid(ctx); return 0; } - Float runFloat(CppiaCtx *ctx) { runVoid(ctx); return 0;} - hx::Object *runObject(CppiaCtx *ctx) { runVoid(ctx); return 0; } - String runString(CppiaCtx *ctx) { runVoid(ctx); return String(); } - void runVoid(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0;} + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return String(); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -129,14 +129,14 @@ class VoidBuiltin3 : public CppiaExpr VoidBuiltin3(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "VoidBuiltin3"; } - ExprType getType() { return etVoid; } + const char *getName() HXCPP_OVERRIDE { return "VoidBuiltin3"; } + ExprType getType() HXCPP_OVERRIDE { return etVoid; } - int runInt(CppiaCtx *ctx) { runVoid(ctx); return 0; } - Float runFloat(CppiaCtx *ctx) { runVoid(ctx); return 0;} - hx::Object *runObject(CppiaCtx *ctx) { runVoid(ctx); return 0; } - String runString(CppiaCtx *ctx) { runVoid(ctx); return String(); } - void runVoid(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0;} + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return 0; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { runVoid(ctx); return String(); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -159,7 +159,7 @@ class VoidBuiltin3 : public CppiaExpr __hxcpp_memory_set_double(inBuffer,inAddr,*inValue); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp obj(compiler,jtPointer); args[0]->genCode(compiler, obj, etObject); @@ -185,14 +185,14 @@ class FloatBuiltin0 : public CppiaExpr FloatBuiltin0(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "FloatBuiltin0"; } - ExprType getType() { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "FloatBuiltin0"; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } - int runInt(CppiaCtx *ctx) { return runFloat(ctx); } - void runVoid(CppiaCtx *ctx) { runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runFloat(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runFloat(ctx)); } - Float runFloat(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return runFloat(ctx); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runFloat(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runFloat(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runFloat(ctx)); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return FUNC(); } @@ -202,7 +202,7 @@ class FloatBuiltin0 : public CppiaExpr *outResult = FUNC(); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (destType==etFloat && isMemoryVal(inDest) ) { @@ -226,14 +226,14 @@ class FloatBuiltin1 : public CppiaExpr FloatBuiltin1(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "FloatBuiltin1"; } - ExprType getType() { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "FloatBuiltin1"; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } - int runInt(CppiaCtx *ctx) { return runFloat(ctx); } - void runVoid(CppiaCtx *ctx) { runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runFloat(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runFloat(ctx)); } - Float runFloat(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return runFloat(ctx); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runFloat(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runFloat(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runFloat(ctx)); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -252,14 +252,14 @@ class FloatBuiltin2 : public CppiaExpr FloatBuiltin2(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "FloatBuiltin2"; } - ExprType getType() { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "FloatBuiltin2"; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } - int runInt(CppiaCtx *ctx) { return runFloat(ctx); } - void runVoid(CppiaCtx *ctx) { runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runFloat(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runFloat(ctx)); } - Float runFloat(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return runFloat(ctx); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runFloat(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runFloat(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runFloat(ctx)); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -280,14 +280,14 @@ class FloatBuiltin3 : public CppiaExpr FloatBuiltin3(CppiaExpr *inSrc, Expressions &inArgs) : CppiaExpr(inSrc), args(inArgs) { } - const char *getName() { return "FloatBuiltin3"; } - ExprType getType() { return etFloat; } + const char *getName() HXCPP_OVERRIDE { return "FloatBuiltin3"; } + ExprType getType() HXCPP_OVERRIDE { return etFloat; } - int runInt(CppiaCtx *ctx) { return runFloat(ctx); } - void runVoid(CppiaCtx *ctx) { runFloat(ctx); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runFloat(ctx)).mPtr; } - String runString(CppiaCtx *ctx) { return String(runFloat(ctx)); } - Float runFloat(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return runFloat(ctx); } + void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { runFloat(ctx); } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runFloat(ctx)).mPtr; } + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return String(runFloat(ctx)); } + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); @@ -326,10 +326,10 @@ class ObjectBuiltin1 : public CppiaDynamicExpr ObjectBuiltin1(CppiaExpr *inSrc, Expressions &inArgs) : CppiaDynamicExpr(inSrc), args(inArgs) { } - const char *getName() { return "ObjectBuiltin1"; } - ExprType getType() { return etObject; } + const char *getName() HXCPP_OVERRIDE { return "ObjectBuiltin1"; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { ARG0 val0; runValue(val0, ctx, args[0]); diff --git a/src/hx/cppia/StringBuiltin.cpp b/src/hx/cppia/StringBuiltin.cpp index be5651d11..beb6cc68f 100644 --- a/src/hx/cppia/StringBuiltin.cpp +++ b/src/hx/cppia/StringBuiltin.cpp @@ -12,13 +12,13 @@ struct StringExpr : public CppiaExpr { strVal = inThis; } - ExprType getType() { return etString; } - CppiaExpr *link(CppiaModule &inData) + ExprType getType() HXCPP_OVERRIDE { return etString; } + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE { strVal = strVal->link(inData); return this; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runString(ctx)).mPtr; } @@ -35,14 +35,14 @@ struct SubStrExpr : public StringExpr a0 = inA0; a1 = inA1; } - const char *getName() { return "SubStrExpr"; } - CppiaExpr *link(CppiaModule &inData) + const char *getName() HXCPP_OVERRIDE { return "SubStrExpr"; } + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE { a0 = a0->link(inData); a1 = a1->link(inData); return StringExpr::link(inData); } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -64,7 +64,7 @@ struct SubStrExpr : public StringExpr { *ioValue = ioValue->substring(start, Dynamic(end)); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp ioValue(compiler,jtString); JitTemp startVal(compiler,jtInt); @@ -86,13 +86,13 @@ struct StringIteratorExpr : public StringExpr StringIteratorExpr(CppiaExpr *inSrc, CppiaExpr *inThis) : StringExpr(inSrc,inThis) { } - const char *getName() { return "StringIteratorExpr"; } + const char *getName() HXCPP_OVERRIDE { return "StringIteratorExpr"; } - ExprType getType() { return etObject; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } - String runString(CppiaCtx *ctx) { return Dynamic(runObject(ctx)); } - int runInt(CppiaCtx *ctx) { return 0; } - hx::Object *runObject(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runObject(ctx)); } + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { return 0; } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -105,7 +105,7 @@ struct StringIteratorExpr : public StringExpr return ( KEYS ? inValue->keyValueIterator() : inValue->iterator() ).mPtr; } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp value(compiler,jtString); strVal->genCode(compiler, value, etString); @@ -121,9 +121,9 @@ struct StringIteratorExpr : public StringExpr template struct ToCaseExpr : public StringExpr { - const char *getName() { return "ToCaseExpr"; } + const char *getName() HXCPP_OVERRIDE { return "ToCaseExpr"; } ToCaseExpr(CppiaExpr *inSrc, CppiaExpr *inThis ) : StringExpr(inSrc,inThis) { } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -141,7 +141,7 @@ struct ToCaseExpr : public StringExpr *ioVal = ioVal->toLowerCase(); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { if (destType==etString) { @@ -168,15 +168,15 @@ struct CharAtExpr : public StringExpr { a0 = inIndex; } - CppiaExpr *link(CppiaModule &inData) + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE { a0 = a0->link(inData); return StringExpr::link(inData); } - const char *getName() { return "CharAtExpr"; } - ExprType getType() { return CODE ? (AS_INT ? etInt : etObject) : etString; } + const char *getName() HXCPP_OVERRIDE { return "CharAtExpr"; } + ExprType getType() HXCPP_OVERRIDE { return CODE ? (AS_INT ? etInt : etObject) : etString; } - String runString(CppiaCtx *ctx) + String runString(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -184,7 +184,7 @@ struct CharAtExpr : public StringExpr BCR_CHECK; return val.charAt(idx); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { //printf("Char code at %d INT\n", CODE); String val = strVal->runString(ctx); @@ -197,7 +197,7 @@ struct CharAtExpr : public StringExpr else return val.charCodeAt(idx); } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -229,7 +229,7 @@ struct CharAtExpr : public StringExpr *ioValue = ioValue->charAt(inIndex); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp value(compiler,jtString); strVal->genCode(compiler, value, etString); @@ -284,16 +284,16 @@ struct SplitExpr : public CppiaExpr strVal = inThis; a0 = inDelim; } - const char *getName() { return "SplitExpr"; } - CppiaExpr *link(CppiaModule &inData) + const char *getName() HXCPP_OVERRIDE { return "SplitExpr"; } + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE { strVal = strVal->link(inData); a0 = a0->link(inData); return this; } - ExprType getType() { return etObject; } + ExprType getType() HXCPP_OVERRIDE { return etObject; } - hx::Object *runObject(CppiaCtx *ctx) + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -308,7 +308,7 @@ struct SplitExpr : public CppiaExpr { return (inValue->split(*sep)).mPtr; } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp value(compiler,jtString); JitTemp sep(compiler,jtString); @@ -338,20 +338,20 @@ struct IndexOfExpr : public CppiaExpr sought = inSought; start = inStart; } - const char *getName() { return "IndexOfExpr"; } - ExprType getType() { return etInt; } - CppiaExpr *link(CppiaModule &inData) + const char *getName() HXCPP_OVERRIDE { return "IndexOfExpr"; } + ExprType getType() HXCPP_OVERRIDE { return etInt; } + CppiaExpr *link(CppiaModule &inData) HXCPP_OVERRIDE { strVal = strVal->link(inData); sought = sought->link(inData); start = start->link(inData); return this; } - Float runFloat(CppiaCtx *ctx) + Float runFloat(CppiaCtx *ctx) HXCPP_OVERRIDE { return runInt(ctx); } - int runInt(CppiaCtx *ctx) + int runInt(CppiaCtx *ctx) HXCPP_OVERRIDE { String val = strVal->runString(ctx); BCR_CHECK; @@ -364,7 +364,7 @@ struct IndexOfExpr : public CppiaExpr else return val.indexOf(s,first); } - hx::Object *runObject(CppiaCtx *ctx) { return Dynamic(runInt(ctx)).mPtr; } + hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE { return Dynamic(runInt(ctx)).mPtr; } #ifdef CPPIA_JIT @@ -376,7 +376,7 @@ struct IndexOfExpr : public CppiaExpr { return ioValue->lastIndexOf(*sought, Dynamic(first)); } - void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) + void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE { JitTemp value(compiler,jtString); JitTemp soughtTemp(compiler,jtString); diff --git a/src/hx/gc/Immix.cpp b/src/hx/gc/Immix.cpp index 0f7b41c6b..6611afdc2 100644 --- a/src/hx/gc/Immix.cpp +++ b/src/hx/gc/Immix.cpp @@ -2438,7 +2438,7 @@ class WeakRef : public hx::Object // Don't mark our ref ! #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mRef); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mRef); } #endif Dynamic mRef; @@ -2929,8 +2929,8 @@ class AllocCounter : public hx::VisitContext AllocCounter() { count = 0; } - void visitObject(hx::Object **ioPtr) { count ++; } - void visitAlloc(void **ioPtr) { count ++; } + void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE { count ++; } + void visitAlloc(void **ioPtr) HXCPP_OVERRIDE { count ++; } }; @@ -3875,24 +3875,24 @@ class GlobalAllocator GlobalAllocator *mAlloc; public: AdjustPointer(GlobalAllocator *inAlloc) : mAlloc(inAlloc) { } - - void visitObject(hx::Object **ioPtr) + + void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE { if ( ((*(unsigned int **)ioPtr)[-1]) == IMMIX_OBJECT_HAS_MOVED ) { //GCLOG(" patch object to %p -> %p\n", *ioPtr, (*(hx::Object ***)ioPtr)[0]); *ioPtr = (*(hx::Object ***)ioPtr)[0]; - //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] ); + //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] ); } } - void visitAlloc(void **ioPtr) + void visitAlloc(void **ioPtr) HXCPP_OVERRIDE { if ( ((*(unsigned int **)ioPtr)[-1]) == IMMIX_OBJECT_HAS_MOVED ) { //GCLOG(" patch reference to %p -> %p\n", *ioPtr, (*(void ***)ioPtr)[0]); *ioPtr = (*(void ***)ioPtr)[0]; - //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] ); + //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] ); } } }; @@ -6147,7 +6147,7 @@ class LocalAllocator : public hx::StackContext #endif // } HXCPP_EXPLICIT_STACK_EXTENT - void SetupStackAndCollect(bool inMajor, bool inForceCompact, bool inLocked=false,bool inFreeIsFragged=false) + void SetupStackAndCollect(bool inMajor, bool inForceCompact, bool inLocked=false,bool inFreeIsFragged=false) HXCPP_OVERRIDE { #ifndef HXCPP_SINGLE_THREADED_APP #if HXCPP_DEBUG @@ -6209,7 +6209,7 @@ class LocalAllocator : public hx::StackContext } - void *CallAlloc(int inSize,unsigned int inObjectFlags) + void *CallAlloc(int inSize,unsigned int inObjectFlags) HXCPP_OVERRIDE { #ifndef HXCPP_SINGLE_THREADED_APP #if HXCPP_DEBUG @@ -6868,7 +6868,7 @@ int GcGetThreadAttachedCount() class GcFreezer : public hx::VisitContext { public: - void visitObject(hx::Object **ioPtr) + void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE { hx::Object *obj = *ioPtr; if (!obj || IsConstAlloc(obj)) @@ -6881,7 +6881,7 @@ class GcFreezer : public hx::VisitContext (*ioPtr)->__Visit(this); } - void visitAlloc(void **ioPtr) + void visitAlloc(void **ioPtr) HXCPP_OVERRIDE { void *data = *ioPtr; if (!data || IsConstAlloc(data)) diff --git a/src/hx/libs/regexp/RegExp.cpp b/src/hx/libs/regexp/RegExp.cpp index 9c66167c9..09d1808a7 100644 --- a/src/hx/libs/regexp/RegExp.cpp +++ b/src/hx/libs/regexp/RegExp.cpp @@ -133,9 +133,9 @@ struct pcredata : public hx::Object #endif } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(string); HX_MARK_MEMBER(expr); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(string); HX_MARK_MEMBER(expr); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(string); HX_VISIT_MEMBER(expr); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(string); HX_VISIT_MEMBER(expr); } #endif static void finalize(Dynamic obj) @@ -143,7 +143,7 @@ struct pcredata : public hx::Object ((pcredata *)(obj.mPtr))->destroy(); } - String toString() { return expr; } + String toString() HXCPP_OVERRIDE { return expr; } }; diff --git a/src/hx/libs/sqlite/Sqlite.cpp b/src/hx/libs/sqlite/Sqlite.cpp index 211c93400..388c6c183 100644 --- a/src/hx/libs/sqlite/Sqlite.cpp +++ b/src/hx/libs/sqlite/Sqlite.cpp @@ -96,7 +96,7 @@ struct result : public hx::Object } } - String toString() { return HX_CSTRING("Sqlite Result"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("Sqlite Result"); } //static void finalize_result( result *r, int exc, bool throwError = true ) }; @@ -153,12 +153,12 @@ struct database : public hx::Object HX_OBJ_WB_GET(this, last.mPtr); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(last); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(last); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(last); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(last); } #endif - String toString() { return HX_CSTRING("Sqlite Databse"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("Sqlite Databse"); } }; static void sqlite_error( sqlite3 *db ) { diff --git a/src/hx/libs/ssl/SSL.cpp b/src/hx/libs/ssl/SSL.cpp index 36d3897ed..f355042f3 100644 --- a/src/hx/libs/ssl/SSL.cpp +++ b/src/hx/libs/ssl/SSL.cpp @@ -73,7 +73,7 @@ struct sslctx : public hx::Object ((sslctx *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("sslctx"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("sslctx"); } }; struct sslconf : public hx::Object @@ -104,7 +104,7 @@ struct sslconf : public hx::Object ((sslconf *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("sslconfig"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("sslconfig"); } }; struct sslcert : public hx::Object @@ -144,7 +144,7 @@ struct sslcert : public hx::Object ((sslcert *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("sslcert"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("sslcert"); } }; struct sslpkey : public hx::Object @@ -175,7 +175,7 @@ struct sslpkey : public hx::Object ((sslpkey *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("sslpkey"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("sslpkey"); } }; static mbedtls_entropy_context entropy; diff --git a/src/hx/libs/std/File.cpp b/src/hx/libs/std/File.cpp index d3ed2a0a8..a88318746 100644 --- a/src/hx/libs/std/File.cpp +++ b/src/hx/libs/std/File.cpp @@ -48,9 +48,9 @@ struct fio : public hx::Object name = String(); } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(name); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(name); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(name); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(name); } #endif static void finalize(Dynamic inObj) @@ -58,7 +58,7 @@ struct fio : public hx::Object ((fio *)(inObj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("fio:") + name; } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("fio:") + name; } }; diff --git a/src/hx/libs/std/Process.cpp b/src/hx/libs/std/Process.cpp index d9f020e1c..3f395178f 100644 --- a/src/hx/libs/std/Process.cpp +++ b/src/hx/libs/std/Process.cpp @@ -97,7 +97,7 @@ struct vprocess : public hx::Object ((vprocess *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("vprocess"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("vprocess"); } }; vprocess *getProcess(Dynamic handle) diff --git a/src/hx/libs/std/Random.cpp b/src/hx/libs/std/Random.cpp index af59c15b7..14888b3c0 100644 --- a/src/hx/libs/std/Random.cpp +++ b/src/hx/libs/std/Random.cpp @@ -39,7 +39,7 @@ struct rnd : public hx::Object unsigned long seeds[NSEEDS]; unsigned long cur; - String toString() { return HX_CSTRING("rand"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("rand"); } }; static unsigned long mag01[2]={ diff --git a/src/hx/libs/std/Socket.cpp b/src/hx/libs/std/Socket.cpp index fe77cdc46..1e36bf0e9 100644 --- a/src/hx/libs/std/Socket.cpp +++ b/src/hx/libs/std/Socket.cpp @@ -72,7 +72,7 @@ struct SocketWrapper : public hx::Object SOCKET socket; - int __GetType() const { return socketType; } + int __GetType() const HXCPP_OVERRIDE { return socketType; } }; @@ -1125,19 +1125,19 @@ struct polldata : public hx::Object } } - void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(ridx); HX_MARK_MEMBER(widx); } + void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(ridx); HX_MARK_MEMBER(widx); } #ifdef HXCPP_VISIT_ALLOCS - void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(ridx); HX_VISIT_MEMBER(widx); } + void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(ridx); HX_VISIT_MEMBER(widx); } #endif - int __GetType() const { return pollType; } + int __GetType() const HXCPP_OVERRIDE { return pollType; } static void finalize(Dynamic obj) { ((polldata *)(obj.mPtr))->destroy(); } - String toString() { return HX_CSTRING("polldata"); } + String toString() HXCPP_OVERRIDE { return HX_CSTRING("polldata"); } }; polldata *val_poll(Dynamic o) diff --git a/toolchain/linux-toolchain.xml b/toolchain/linux-toolchain.xml index bd0422bda..6fd3347fa 100644 --- a/toolchain/linux-toolchain.xml +++ b/toolchain/linux-toolchain.xml @@ -44,7 +44,6 @@ - diff --git a/toolchain/mac-toolchain.xml b/toolchain/mac-toolchain.xml index 00509746a..01e9ada69 100644 --- a/toolchain/mac-toolchain.xml +++ b/toolchain/mac-toolchain.xml @@ -39,7 +39,6 @@ -