diff --git a/scope/src/main/jastadd/ScopeTree.relast b/scope/src/main/jastadd/ScopeTree.relast index 3da708098f1cdcc38ff9eb5e5470f2242883970c..9b561c69f66a081f6b681b1203a52b81d85f580f 100644 --- a/scope/src/main/jastadd/ScopeTree.relast +++ b/scope/src/main/jastadd/ScopeTree.relast @@ -1,4 +1,4 @@ -ScopeTree : Scope; +RootScope : Scope; abstract Element; Declaration:Element ::= <Name:String>; Scope:Element ::= Element*; diff --git a/scope/src/main/jastadd/Shadowing.jrag b/scope/src/main/jastadd/Shadowing.jrag index 56a1a218138b579846dbab4cb04d0a7616aa1d11..45f7e1dfeb39e1c556e6358d4c43e3b65cb44fc3 100644 --- a/scope/src/main/jastadd/Shadowing.jrag +++ b/scope/src/main/jastadd/Shadowing.jrag @@ -1,8 +1,8 @@ aspect Shadowing { - coll Set<AbstractFinding> ScopeTree.variableShadowings() [new HashSet<>()] with add root ScopeTree; + coll Set<AbstractFinding> RootScope.variableShadowings() [new HashSet<>()] with add root RootScope; - Declaration contributes new VariableShadowFinding(shadowed(), this) when isShadowing() to ScopeTree.variableShadowings(); - Declaration contributes new MultipleDeclarationFinding(this) when isShadowingInSameScope() to ScopeTree.variableShadowings(); + Declaration contributes new VariableShadowFinding(shadowed(), this) when isShadowing() to RootScope.variableShadowings(); + Declaration contributes new MultipleDeclarationFinding(this) when isShadowingInSameScope() to RootScope.variableShadowings(); syn Declaration Declaration.shadowed()= shadowed(asDeclaration()); @@ -25,7 +25,7 @@ aspect Shadowing { } } } - return (this instanceof ScopeTree) ? null : shadowed(shadower); + return (this instanceof RootScope) ? null : shadowed(shadower); } inh Declaration Declaration.shadowedInSameScope(); @@ -43,7 +43,7 @@ aspect Shadowing { syn boolean Declaration.isShadowingInSameScope() = shadowedInSameScope() != null; syn boolean Scope.isSuperScopeOf(Scope subScope) = (this==subScope) || isSuperScopeInh(subScope); - eq ScopeTree.isSuperScopeOf(Scope subScope) = this==subScope; + eq RootScope.isSuperScopeOf(Scope subScope) = this==subScope; inh boolean Scope.isSuperScopeInh(Scope subScope); eq Scope.getElement().isSuperScopeInh(Scope subScope) = isSuperScopeOf(subScope); diff --git a/scope4j/src/main/jastadd/ProgramToScopeTree.jrag b/scope4j/src/main/jastadd/ProgramToScopeTree.jrag index b1dc8e2586d5d76cbcfe93de04f5ecc821a2fe47..02041022078e8116b16cadc2f68e4305c574c6ea 100644 --- a/scope4j/src/main/jastadd/ProgramToScopeTree.jrag +++ b/scope4j/src/main/jastadd/ProgramToScopeTree.jrag @@ -1,7 +1,7 @@ aspect ProgramToScopeTree { /** a relational nta collection attribute to compute the scope tree */ - syn lazy ScopeTree Program.scopeTree() { - ScopeTree tree = asScopeTree(); + syn lazy RootScope Program.scopeTree() { + RootScope tree = asRootScope(); // add all classes for (CompilationUnit cu : getCompilationUnitList()) { @@ -73,8 +73,8 @@ aspect ProgramToScopeTree { */ aspect ScopeTreeConstructors { - syn lazy ScopeTree Program.asScopeTree() { - ScopeTree tree = new ScopeTree(); + syn lazy RootScope Program.asRootScope() { + RootScope tree = new RootScope(); tree.setProgram(this); return tree; } diff --git a/scope4j/src/main/jastadd/ProgramToScopeTree.relast b/scope4j/src/main/jastadd/ProgramToScopeTree.relast index e799ab9c6afe7e2f5ae561fcad0fa48e6be2ea31..2f1d3b1250ae46a1e2c437138d2bf0db12ae227e 100644 --- a/scope4j/src/main/jastadd/ProgramToScopeTree.relast +++ b/scope4j/src/main/jastadd/ProgramToScopeTree.relast @@ -1,5 +1,5 @@ // glue relation for the Java-based variable shadowing analysis -rel ScopeTree.Program -> Program; +rel RootScope.Program -> Program; abstract JavaScope : Scope; abstract TypeDeclScope : JavaScope; diff --git a/scope4j/src/main/java/org/extendj/ScopeAnalysis.java b/scope4j/src/main/java/org/extendj/ScopeAnalysis.java index 603bb69259676a78383c9746395d35aa55d239cf..fc284c99ff0db063d282c9c0f6c24573624946ea 100644 --- a/scope4j/src/main/java/org/extendj/ScopeAnalysis.java +++ b/scope4j/src/main/java/org/extendj/ScopeAnalysis.java @@ -76,7 +76,7 @@ public class ScopeAnalysis extends Frontend { // measure the time (without parsing) from here long startGenerationTime = System.nanoTime(); - ScopeTree scopeTree = program.scopeTree(); + RootScope scopeTree = program.scopeTree(); DrAST_root_node = scopeTree; long startAnalysisTime = System.nanoTime(); @@ -118,7 +118,7 @@ public class ScopeAnalysis extends Frontend { program = readProgram(files); - ScopeTree scopeTree = program.scopeTree(); + RootScope scopeTree = program.scopeTree(); if (tree) { scopeTree.printAST(); diff --git a/scope4m/src/main/jastadd/ModelicaToScopeTree.jrag b/scope4m/src/main/jastadd/ModelicaToScopeTree.jrag index 4643764e63cb4575a69cabef026f56bf22523b15..1a7a8e0315e8f0fad0ce5df6316d1e14290751bc 100644 --- a/scope4m/src/main/jastadd/ModelicaToScopeTree.jrag +++ b/scope4m/src/main/jastadd/ModelicaToScopeTree.jrag @@ -1,7 +1,7 @@ aspect ModelicaToScopeTree { /** a relational nta attribute to compute the scope tree */ - syn lazy ScopeTree SourceRoot.scopeTree() { - ScopeTree tree = (ScopeTree) scope(); + syn lazy RootScope SourceRoot.scopeTree() { + RootScope tree = (RootScope) scope(); // add all top-level classes for (SrcClassDecl classDecl : topLevelClasses()) { @@ -53,8 +53,8 @@ aspect ModelicaToScopeTree { */ aspect ScopeTreeConstructors { - syn lazy ScopeTree SourceRoot.asScope() { - ScopeTree tree = new ScopeTree(); + syn lazy RootScope SourceRoot.asScope() { + RootScope tree = new RootScope(); tree.setSourceRoot(this); return tree; } diff --git a/scope4m/src/main/jastadd/ModelicaToScopeTree.relast b/scope4m/src/main/jastadd/ModelicaToScopeTree.relast index 082b97dcdbab81c65ce7836df9653a1821aa3537..1852e359a3d47cb3c07d8d53aed17fb231c6cff5 100644 --- a/scope4m/src/main/jastadd/ModelicaToScopeTree.relast +++ b/scope4m/src/main/jastadd/ModelicaToScopeTree.relast @@ -1,5 +1,5 @@ // glue relation for the Java-based variable shadowing analysis -rel ScopeTree.SourceRoot -> SourceRoot; +rel RootScope.SourceRoot -> SourceRoot; // scopes diff --git a/scope4m/src/main/java/org/jmodelica/ScopeAnalysis.java b/scope4m/src/main/java/org/jmodelica/ScopeAnalysis.java index ec82dd1e5ca3b78e56f06d66c3570a0db32b2076..fe1cefa1d043ff04cbc0809c3a234eeae7fab5af 100644 --- a/scope4m/src/main/java/org/jmodelica/ScopeAnalysis.java +++ b/scope4m/src/main/java/org/jmodelica/ScopeAnalysis.java @@ -65,7 +65,7 @@ public class ScopeAnalysis { // measure the time (without parsing) from here long startGenerationTime = System.nanoTime(); - ScopeTree scopeTree = sourceRoot.scopeTree(); + RootScope scopeTree = sourceRoot.scopeTree(); long startAnalysisTime = System.nanoTime(); @@ -109,7 +109,7 @@ public class ScopeAnalysis { sourceRoot = readProgram(files); - ScopeTree scopeTree = sourceRoot.scopeTree(); + RootScope scopeTree = sourceRoot.scopeTree(); if (tree) { scopeTree.printAST();