|
@@ -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,
|