소스 검색

[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 =
 			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.