From 3b5ae63e8e046ed23c9c8021895a0848c3402a5e Mon Sep 17 00:00:00 2001 From: pauln2112cge Date: Wed, 30 Sep 2026 07:34:44 +0200 Subject: [PATCH 1/2] Export resource folder --- bundles/nl.esi.xtext.types.tests/build.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bundles/nl.esi.xtext.types.tests/build.properties b/bundles/nl.esi.xtext.types.tests/build.properties index 7d28f0e..e0e0c30 100644 --- a/bundles/nl.esi.xtext.types.tests/build.properties +++ b/bundles/nl.esi.xtext.types.tests/build.properties @@ -10,7 +10,8 @@ source.. = src/,\ src-gen/,\ - xtend-gen/ + xtend-gen/,\ + resources/ bin.includes = .,\ META-INF/ bin.excludes = **/*.xtend From a54a429bd3d88fa96359a1f5627d42b9ebff1ba2 Mon Sep 17 00:00:00 2001 From: pauln2112cge Date: Wed, 30 Sep 2026 07:35:13 +0200 Subject: [PATCH 2/2] Don't raise types errors when type is not resolved --- .../xtext/expressions/validation/ExpressionValidator.xtend | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bundles/nl.esi.xtext.expressions/src/nl/esi/xtext/expressions/validation/ExpressionValidator.xtend b/bundles/nl.esi.xtext.expressions/src/nl/esi/xtext/expressions/validation/ExpressionValidator.xtend index 172d466..0b64e4b 100644 --- a/bundles/nl.esi.xtext.expressions/src/nl/esi/xtext/expressions/validation/ExpressionValidator.xtend +++ b/bundles/nl.esi.xtext.expressions/src/nl/esi/xtext/expressions/validation/ExpressionValidator.xtend @@ -209,7 +209,8 @@ class ExpressionValidator extends AbstractExpressionValidator { var field = getAllFields(e.type).get(i) if (f.recordField.name.equals(field.name)){ //type checking - if (!f.exp.typeOf.subTypeOf(field.type.typeObject)){ + val expType = f.exp?.typeOf + if (expType !== null && !expType.subTypeOf(field.type.typeObject)){ error('Type mismatch', e, ExpressionPackage.Literals.EXPRESSION_RECORD__FIELDS, e.fields.indexOf(f)) } } @@ -311,10 +312,11 @@ class ExpressionValidator extends AbstractExpressionValidator { val args = e.functionArgs for (var i = 0; i < args.size; i++) { val arg = args.get(i) + val param = e.function.params.get(i) val paramType = param.type.inferActualType(arg)?.typeObject val argType = arg.typeOf - if (!argType.subTypeOf(paramType) ) { + if (argType !== null && !argType.subTypeOf(paramType) ) { error('''Function «e.function.name» expects argument «param.name» to be of type «paramType.typeName».''', e, ExpressionPackage.Literals.EXPRESSION_FUNCTION_CALL__ARGS, i) }