Parcourir la source

Ignore storageTag when validating call arguments

kindlich il y a 5 ans
Parent
révision
a3e8809917
Aucune clé connue n'a été trouvée dans la base pour cette signature

+ 10
- 7
Validator/src/main/java/org/openzen/zenscript/validator/visitors/ExpressionValidator.java Voir le fichier

@@ -5,9 +5,14 @@
5 5
  */
6 6
 package org.openzen.zenscript.validator.visitors;
7 7
 
8
-import org.openzen.zencode.shared.*;
9
-import org.openzen.zenscript.codemodel.*;
10
-import org.openzen.zenscript.codemodel.definition.*;
8
+import java.util.*;
9
+
10
+import org.openzen.zencode.shared.CodePosition;
11
+import org.openzen.zenscript.codemodel.FunctionHeader;
12
+import org.openzen.zenscript.codemodel.FunctionParameter;
13
+import org.openzen.zenscript.codemodel.Modifiers;
14
+import org.openzen.zenscript.codemodel.definition.EnumDefinition;
15
+import org.openzen.zenscript.codemodel.definition.VariantDefinition;
11 16
 import org.openzen.zenscript.codemodel.expression.*;
12 17
 import org.openzen.zenscript.codemodel.expression.switchvalue.*;
13 18
 import org.openzen.zenscript.codemodel.member.*;
@@ -15,9 +20,6 @@ import org.openzen.zenscript.codemodel.member.ref.*;
15 20
 import org.openzen.zenscript.codemodel.type.*;
16 21
 import org.openzen.zenscript.validator.*;
17 22
 import org.openzen.zenscript.validator.analysis.*;
18
-
19
-import java.util.*;
20
-
21 23
 /**
22 24
  *
23 25
  * @author Hoofdgebruiker
@@ -764,7 +766,8 @@ public class ExpressionValidator implements ExpressionVisitor<Void> {
764 766
 			}
765 767
 			
766 768
 			FunctionParameter parameter = instancedHeader.getParameter(isVariadic, i);
767
-			if (!parameter.type.equals(argument.type) && !parameter.defaultValue.type.equals(argument.type)) {
769
+			if (!parameter.type.equals(argument.type) && (parameter.defaultValue == null || !Objects.equals(parameter.defaultValue.type, argument.type))) {
770
+				if(!parameter.type.type.equals(argument.type.type))
768 771
 				validator.logError(
769 772
 						ValidationLogEntry.Code.INVALID_CALL_ARGUMENT,
770 773
 						position,

Loading…
Annuler
Enregistrer