123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package php;
- import haxe.extern.Rest;
- import haxe.extern.AsVar;
- import haxe.extern.EitherType;
- /**
- Special extern class to support PHP language specifics.
- Don't use these functions unless you are really sure what you are doing.
- **/
- extern class Syntax {
- /**
- This method allows to force specified binary operation for `left` and `right` values.
- `operator` must be a constant string like "+" or "==".
- **/
- static function binop( left:Dynamic, operator:String, right:Dynamic ) : Dynamic;
- /**
- Generates `(int)$value`
- **/
- static function int( value:Dynamic ) : Int;
- /**
- Generates `(float)$value`
- **/
- static function float( value:Dynamic ) : Float;
- /**
- Generates `(string)$value`
- **/
- static function string( value:Dynamic ) : String;
- /**
- Generates `(bool)$value`
- **/
- static function bool( value:Dynamic ) : Bool;
- /**
- Generates `(object)$value`
- **/
- static function object( value:Dynamic ) : Dynamic;
- /**
- Generates `(array)$value`
- **/
- static function array( value:Dynamic ) : NativeArray;
- /**
- Ggenerates `$value instanceof $phpClassName`.
- Haxe generates `Std.is(value, Type)` calls to `$value instanceof Type` automatically where possible.
- `type` only accepts direct class names. That means `Type.resolveClass('MyClass')` is not allowed, but `MyClass` is.
- **/
- static function instanceof<V,C>( value:AsVar<V>, type:AsVar<Class<C>> ) : Bool;
- /**
- ```
- PHP.foreach(collection, function(key, value) trace(key, value));
- ```
- generates:
- ```
- foreach($collection as $key => $value) {
- trace($key, $value);
- }
- ```
- **/
- static function foreach<TCollection,TKey,TValue>( collection:TCollection, body:TKey->TValue->Void ) : Void;
- /**
- Generates `new $className($arg1, ...$argN)`
- **/
- static function construct( className:AsVar<String>, args:Rest<Dynamic>) : Dynamic;
- /**
- Generates instance field access for reading on `object`
- **/
- static function getField<T>( object:AsVar<T>, fieldName:AsVar<String> ) : Dynamic;
- /**
- Generates instance field access for writing on `object`
- **/
- static function setField<T>( object:AsVar<T>, fieldName:AsVar<String>, value:Dynamic ) : Void;
- /**
- Generates static field access for reading on `className`
- **/
- static function getStaticField( className:AsVar<EitherType<Class<Dynamic>,String>>, fieldName:AsVar<String> ) : Dynamic;
- /**
- Generates static field access for writing on `object`
- **/
- static function setStaticField( object:AsVar<EitherType<Class<Dynamic>,String>>, fieldName:AsVar<String>, value:Dynamic ) : Void;
- /**
- Generates a call to instance method: `$object->{$methodName}(<args>)`
- **/
- static function call<T>( object:AsVar<T>, methodName:AsVar<String>, args:Rest<Dynamic> ) : Dynamic;
- /**
- Generates a call to static method: `$className::{$methodName}(<args>)`
- **/
- static function staticCall( className:AsVar<EitherType<Class<Dynamic>,String>>, methodName:AsVar<String>, args:Rest<Dynamic> ) : Dynamic;
- /**
- ```
- PHP.arrayDecl(arg1, arg2, arg3);
- ```
- Generates native array declaration:
- ```
- [$arg1, $arg2, $arg3]
- ```
- **/
- static function arrayDecl<T>( args:Rest<T> ) : NativeIndexedArray<T>;
- /**
- Don't let compiler to optimize away local var passed to this method.
- **/
- static function keepVar( localVar:Dynamic ) : Void;
- /**
- Adds `...` operator before `args`
- **/
- static function splat( args:EitherType<NativeArray, Traversable> ) : Rest<Dynamic>;
- /**
- Add errors suppression operator `@` before `expression`
- **/
- static function suppress<T>( expression:T ) : T;
- }
|