The Reflect API is a way to manipulate values dynamically through an abstract interface in an untyped manner. Use with care.
See:
static callMethod (o:Dynamic, func:Function, args:Array<Dynamic>):DynamicCall a method with the given object and arguments.
static compare<T> (a:T, b:T ):IntCompares a and b.
If a is less than b, the result is negative. If b is less than a, the result is positive. If a and b are equal, the result is 0.
This function is only defined if a and b are of the same type.
If that type is a function, the result is unspecified and Reflect.compareMethods should be used instead.
For all other types, the result is 0 if a and b are equal. If they are not equal, the result depends on the type and is negative if:
If a and b are null, the result is 0. If only one of them is null, the result is unspecified.
static compareMethods (f1:Dynamic, f2:Dynamic):BoolCompares the functions f1 and f2.
If f1 or f2 are not functions, the result is unspecified.
Otherwise the result is true if f1 and the f2 are physically equal, false otherwise.
static copy<T> (o:T ):T Copies the fields of structure o.
This is only guaranteed to work on anonymous structures.
If o is null, the result is unspecified.
static deleteField (o:Dynamic, field:String):BoolRemoves the field named field from structure o.
This method is only guaranteed to work on anonymous structures.
If o or field are null, the result is unspecified.
static field (o:Dynamic, field:String):DynamicReturns the value of the field named field on object o.
If o is not an object or has no field named field, the result is null.
If the field is defined as a property, its accessors are ignored. Refer to Reflect.getProperty for a function supporting property accessors.
If field is null, the result is unspecified.
(As3) If used on a property field, the getter will be invoked. It is not possible to obtain the value directly.
static fields (o:Dynamic):Array<String>Returns the fields of structure o.
This method is only guaranteed to work on anonymous structures. Refer to Type.getInstanceFields for a function supporting class instances.
If o is null, the result is unspecified.
static getProperty (o:Dynamic, field:String):DynamicReturns the value of the field named field on object o, taking property getter functions into account.
If the field is not a property, this function behaves like Reflect.field, but might be slower.
If o or field are null, the result is unspecified.
static hasField (o:Dynamic, field:String):BoolTells if structure o has a field named field.
This is only guaranteed to work for anonymous structures. Refer to Type.getInstanceFields for a function supporting class instances.
If o or field are null, the result is unspecified.
static isEnumValue (v:Dynamic):BoolTells if v is an enum value.
The result is true if v is of type EnumValue, i.e. an enum constructor.
Otherwise, including if v is null, the result is false.
static isFunction (f:Dynamic):BoolReturns true if f is a function, false otherwise.
If f is null, the result is false.
static isObject (v:Dynamic):BoolTells if v is an object.
The result is true if v is one of the following:
Otherwise, including if v is null, the result is false.
static makeVarArgs (f:Array<Dynamic> ‑> Dynamic):Dynamicstatic makeVarArgs (f:Array<Dynamic> ‑> Void):DynamicTransform a function taking an array of arguments into a function that can be called with any number of arguments.
static setField (o:Dynamic, field:String, value:Dynamic):VoidSets the field named field of object o to value value.
If o has no field named field, this function is only guaranteed to work for anonymous structures.
If o or field are null, the result is unspecified.
(As3) If used on a property field, the setter will be invoked. It is not possible to set the value directly.
static setProperty (o:Dynamic, field:String, value:Dynamic):VoidSets the field named field of object o to value value, taking property setter functions into account.
If the field is not a property, this function behaves like Reflect.setField, but might be slower.
If field is null, the result is unspecified.
© 2005–2018 Haxe Foundation
Licensed under a MIT license.
https://api.haxe.org/Reflect.html