From 7177e24e98e0039f3cd9ec43b303d2b72dd95b90 Mon Sep 17 00:00:00 2001 From: MKZaito <127297267+MKZaito@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:07:05 +0200 Subject: [PATCH 1/3] prevent Crash during StartUp --- .../types/SysMLv2DeriveSymTypeOfCommonExpressions.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 cbacad46..f4cf1a22 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 @@ -78,6 +78,8 @@ protected void calculateFieldAccessAboutPortUsage(SymTypeExpression type) { var streamType = SysMLv2Mill.globalScope().resolveType("EventStream"); if(streamType.isEmpty()) { Log.error("Stream not defined in global scope. Initialize it with 'SysMLv2Mill.addStreamType()'!"); + getTypeCheckResult().setResult(SymTypeExpressionFactory.createObscureType()); + return; } if (type instanceof SymTypeArray) { //for example, type like boolean[], int[]... @@ -158,7 +160,8 @@ protected void calculateFieldAccess(ASTFieldAccessExpression expr, //in superclass is: getTypeCheckResult().setResult(type); if (expr.getExpression() instanceof ASTNameExpression) { //case for expression like f.a,f.a[1] - if (((ASTNameExpression) expr.getExpression()).getDefiningSymbol().get() instanceof PortUsage2VariableSymbolAdapter) { + var definingSymbol = ((ASTNameExpression) expr.getExpression()).getDefiningSymbol(); + if (definingSymbol.isPresent() && definingSymbol.get() instanceof PortUsage2VariableSymbolAdapter) { calculateFieldAccessAboutPortUsage(type); } else { //else-case for SuperClass @@ -169,7 +172,8 @@ protected void calculateFieldAccess(ASTFieldAccessExpression expr, var arrayExpr = expr.getExpression(); if (((ASTArrayAccessExpression) arrayExpr).getExpression() instanceof ASTNameExpression) { var nameExpr = ((ASTArrayAccessExpression) arrayExpr).getExpression(); - if (((ASTNameExpression) nameExpr).getDefiningSymbol().get() instanceof PortUsage2VariableSymbolAdapter) { + var definingSymbol = ((ASTNameExpression) nameExpr).getDefiningSymbol(); + if (definingSymbol.isPresent() && definingSymbol.get() instanceof PortUsage2VariableSymbolAdapter) { calculateFieldAccessAboutPortUsage(type); } else { //else-case for SuperClass From 4a7f6d6011a36c08be98e86347c6e6c6d16ca468 Mon Sep 17 00:00:00 2001 From: MKZaito <127297267+MKZaito@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:07:55 +0200 Subject: [PATCH 2/3] load StreamSymbols in GlobalScope during StartUp --- .../src/main/java/de/monticore/lang/sysmlv2/SysMLv2Mill.java | 1 + .../src/main/java/de/monticore/lang/sysmlv2/SysMLv2Tool.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Mill.java b/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Mill.java index fbd95d84..8375ac2f 100644 --- a/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Mill.java +++ b/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Mill.java @@ -36,6 +36,7 @@ public static void prepareGlobalScope() { SysMLv2Mill.addScalarValueTypes(); SysMLv2Mill.addCollectionTypes(); SysMLv2Mill.addTsynVariables(); + SysMLv2Tool.loadStreamSymbolsFromJar(); } /** diff --git a/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Tool.java b/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Tool.java index 376e4f0c..f03f1d2e 100644 --- a/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Tool.java +++ b/language/src/main/java/de/monticore/lang/sysmlv2/SysMLv2Tool.java @@ -462,7 +462,7 @@ public void run(String[] args) { } } - public void loadStreamSymbolsFromJar() { + public static void loadStreamSymbolsFromJar() { URL streamDefUrl = SysMLv2Tool.class.getClassLoader().getResource( "Stream.symtabdefinitionsym"); From 325c276eb26773f0ee05bd8fa94b7096a33c34de Mon Sep 17 00:00:00 2001 From: MKZaito <127297267+MKZaito@users.noreply.github.com> Date: Thu, 30 Apr 2026 20:01:19 +0200 Subject: [PATCH 3/3] version bumb to 7.8.42 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 28212dbd..6a7369e8 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.41 +version = 7.8.42