Browse Source

[php] allow invoking `Syntax.assocDecl()` without arguments

Alexander Kuzmenko 7 years ago
parent
commit
bd3359620d
2 changed files with 2 additions and 1 deletions
  1. 1 0
      src/generators/genphp7.ml
  2. 1 1
      std/php/Syntax.hx

+ 1 - 0
src/generators/genphp7.ml

@@ -2424,6 +2424,7 @@ class code_writer (ctx:Common.context) hx_type_path php_name =
 		*)
 		method write_expr_syntax_assoc_decl args =
 			match args with
+				| [] -> self#write_assoc_array_decl []
 				| { eexpr = TObjectDecl fields } :: [] -> self#write_assoc_array_decl fields
 				| _ -> ctx.error "php.Syntax.assocDecl() accepts object declaration only." self#pos
 		(**

+ 1 - 1
std/php/Syntax.hx

@@ -235,7 +235,7 @@ extern class Syntax {
         That means you can't pass an object stored in a variable to this method like `Syntax.assocDecl(someVar)`.
         Use `php.Lib.associativeArrayOfObject(someVar)` instead.
     **/
-    static function assocDecl<T:{}>( arg:T ) : NativeAssocArray<Dynamic>;
+    static function assocDecl<T:{}>( ?arg:T ) : NativeAssocArray<Dynamic>;
 
     /**
         Don't let compiler to optimize away local var passed to this method.