diff --git a/gradle.properties b/gradle.properties index a178dd01..631a7c8b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ assertj_version = 3.21.0 junit_version = 5.8.2 # Version of published artifacts -version = 7.8.25 +version = 7.8.26 diff --git a/language/src/main/java/de/monticore/lang/sysmlv2/symboltable/completers/TypesCompleter.java b/language/src/main/java/de/monticore/lang/sysmlv2/symboltable/completers/TypesCompleter.java index 0c1f1baa..8b9247a5 100644 --- a/language/src/main/java/de/monticore/lang/sysmlv2/symboltable/completers/TypesCompleter.java +++ b/language/src/main/java/de/monticore/lang/sysmlv2/symboltable/completers/TypesCompleter.java @@ -25,6 +25,7 @@ import de.monticore.types.check.SymTypeExpression; import de.monticore.types.check.SymTypeExpressionFactory; import de.monticore.types.mccollectiontypes._ast.ASTMCGenericType; +import de.monticore.types.mcstructuraltypes._ast.ASTMCTupleType; import de.se_rwth.commons.logging.Log; import java.util.ArrayList; @@ -47,7 +48,17 @@ private List getTypeCompletion(List specia for(var mcType: astTyping.getSuperTypesList()) { SymTypeExpression res = null; - if(mcType instanceof ASTMCGenericType) { + if(mcType instanceof ASTMCTupleType) { + var tupleType = (ASTMCTupleType) mcType; + List componentTypes = new ArrayList<>(); + for(var componentMcType : tupleType.getMCTypeList()) { + componentTypes.add(SymTypeExpressionFactory.createTypeExpression( + componentMcType.printType(), + (IBasicSymbolsScope) componentMcType.getEnclosingScope())); + } + res = SymTypeExpressionFactory.createTuple(componentTypes); + } + else if(mcType instanceof ASTMCGenericType) { // We still have to print when the type is generic because the defining symbol does not give info about the // instantiation with type arguments res = SymTypeExpressionFactory.createTypeExpression( diff --git a/language/src/main/java/de/monticore/lang/sysmlv2/types/SysMLv2DeriveSymTypeOfCommonExpressions.java b/language/src/main/java/de/monticore/lang/sysmlv2/types/SysMLv2DeriveSymTypeOfCommonExpressions.java index 2cbd75bb..cbacad46 100644 --- a/language/src/main/java/de/monticore/lang/sysmlv2/types/SysMLv2DeriveSymTypeOfCommonExpressions.java +++ b/language/src/main/java/de/monticore/lang/sysmlv2/types/SysMLv2DeriveSymTypeOfCommonExpressions.java @@ -69,7 +69,7 @@ public boolean isIntegralType(SymTypeExpression type) { protected void calculateFieldAccessAboutPortUsage(SymTypeExpression type) { if (this.isStream) { //case for isStream == true - if (type.getTypeInfo().getName().contains("Stream")) { + if (type.hasTypeInfo() && type.getTypeInfo().getName().contains("Stream")) { //type is already Stream, set TypeCheckResult getTypeCheckResult().setResult(type); } else {