浏览代码

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

Alexander Kuzmenko 7 年之前
父节点
当前提交
bd3359620d
共有 2 个文件被更改,包括 2 次插入1 次删除
  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 =
 		method write_expr_syntax_assoc_decl args =
 			match args with
 			match args with
+				| [] -> self#write_assoc_array_decl []
 				| { eexpr = TObjectDecl fields } :: [] -> self#write_assoc_array_decl fields
 				| { eexpr = TObjectDecl fields } :: [] -> self#write_assoc_array_decl fields
 				| _ -> ctx.error "php.Syntax.assocDecl() accepts object declaration only." self#pos
 				| _ -> 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)`.
         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.
         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.
         Don't let compiler to optimize away local var passed to this method.