Browse Source

Ignore storageTag when validating call arguments

kindlich 5 years ago
parent
commit
a3e8809917
No known key found for this signature in database

+ 10
- 7
Validator/src/main/java/org/openzen/zenscript/validator/visitors/ExpressionValidator.java View File

5
  */
5
  */
6
 package org.openzen.zenscript.validator.visitors;
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
 import org.openzen.zenscript.codemodel.expression.*;
16
 import org.openzen.zenscript.codemodel.expression.*;
12
 import org.openzen.zenscript.codemodel.expression.switchvalue.*;
17
 import org.openzen.zenscript.codemodel.expression.switchvalue.*;
13
 import org.openzen.zenscript.codemodel.member.*;
18
 import org.openzen.zenscript.codemodel.member.*;
15
 import org.openzen.zenscript.codemodel.type.*;
20
 import org.openzen.zenscript.codemodel.type.*;
16
 import org.openzen.zenscript.validator.*;
21
 import org.openzen.zenscript.validator.*;
17
 import org.openzen.zenscript.validator.analysis.*;
22
 import org.openzen.zenscript.validator.analysis.*;
18
-
19
-import java.util.*;
20
-
21
 /**
23
 /**
22
  *
24
  *
23
  * @author Hoofdgebruiker
25
  * @author Hoofdgebruiker
764
 			}
766
 			}
765
 			
767
 			
766
 			FunctionParameter parameter = instancedHeader.getParameter(isVariadic, i);
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
 				validator.logError(
771
 				validator.logError(
769
 						ValidationLogEntry.Code.INVALID_CALL_ARGUMENT,
772
 						ValidationLogEntry.Code.INVALID_CALL_ARGUMENT,
770
 						position,
773
 						position,

Loading…
Cancel
Save