Sfoglia il codice sorgente

Match vararg types implicitly

kindlich 4 anni fa
parent
commit
bc7f15b8ca
Non sono state trovate chiavi note per questa firma nel database

+ 13
- 0
CodeModel/src/main/java/org/openzen/zenscript/codemodel/FunctionHeader.java Vedi File

@@ -252,6 +252,19 @@ public class FunctionHeader {
252 252
 			return false;
253 253
 		
254 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 268
 		for (int i = 0; i < arguments.arguments.length; i++) {
256 269
 			if (!scope.getTypeMembers(arguments.arguments[i].type).canCastImplicit(header.parameters[i].type))
257 270
 				return false;

Loading…
Annulla
Salva