瀏覽代碼

Match vararg types implicitly

kindlich 5 年之前
父節點
當前提交
bc7f15b8ca
沒有發現已知的金鑰在資料庫的簽署中
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13
    0
      CodeModel/src/main/java/org/openzen/zenscript/codemodel/FunctionHeader.java

+ 13
- 0
CodeModel/src/main/java/org/openzen/zenscript/codemodel/FunctionHeader.java 查看文件

252
 			return false;
252
 			return false;
253
 		
253
 		
254
 		FunctionHeader header = fillGenericArguments(position, scope, arguments.typeArguments);
254
 		FunctionHeader header = fillGenericArguments(position, scope, arguments.typeArguments);
255
+		if(isVariadic()) {
256
+		    boolean matches = true;
257
+            for (int i = 0; i < arguments.arguments.length; i++) {
258
+                if (!scope.getTypeMembers(arguments.arguments[i].type).canCastImplicit(header.getParameterType(true, i))) {
259
+                    matches = false;
260
+                    break;
261
+                }
262
+            }
263
+            if(matches) {
264
+                return true;
265
+            }
266
+        }
267
+		
255
 		for (int i = 0; i < arguments.arguments.length; i++) {
268
 		for (int i = 0; i < arguments.arguments.length; i++) {
256
 			if (!scope.getTypeMembers(arguments.arguments[i].type).canCastImplicit(header.parameters[i].type))
269
 			if (!scope.getTypeMembers(arguments.arguments[i].type).canCastImplicit(header.parameters[i].type))
257
 				return false;
270
 				return false;

Loading…
取消
儲存