class Reflect
no package
The Reflect API is a way to manipulate values dynamically through an abstract interface in an untyped manner. Use with care.
See also:
Static methods
staticcallMethod(o:Dynamic, func:Function, args:Array<Dynamic>):Dynamic
Call a method func
with the given arguments args
.
The object o
is ignored in most cases. It serves as the this
-context in the following
situations:
- (neko) Allows switching the context to
o
in all cases. - (macro) Same as neko for Haxe 3. No context switching in Haxe 4.
- (js, lua) Require the
o
argument iffunc
does not, but should have a context. This can occur by accessing a function field natively, e.g. throughReflect.field
or by using(object : Dynamic).field
. However, iffunc
has a context,o
is ignored like on other targets.
staticfields(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.
statichasField(o:Dynamic, field:String):Bool
Tells 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.
staticisEnumValue(v:Dynamic):Bool
Tells 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.
staticisFunction(f:Dynamic):Bool
Returns true if f
is a function, false otherwise.
If f
is null, the result is false.
staticmakeVarArgs(f:Array<Dynamic> ‑> Dynamic):Dynamic
staticmakeVarArgs(f:Array<Dynamic> ‑> Void):Dynamic
Transform a function taking an array of arguments into a function that can be called with any number of arguments.