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

@:has_untypedstaticcallMethod(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 if func does not, but should have a context. This can occur by accessing a function field natively, e.g. through Reflect.field or by using (object : Dynamic).field. However, if func has a context, o is ignored like on other targets.

@:has_untypedstaticfields(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.

@:has_untypedstatichasField(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.

@:has_untypedstaticisEnumValue(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.

@:has_untypedstaticisFunction(f:Dynamic):Bool

Returns true if f is a function, false otherwise.

If f is null, the result is false.

@:has_untypedstaticisObject(v:Dynamic):Bool

Tells 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.

@:has_untypedstaticmakeVarArgs(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.