From 1c56c33e61763e669df8388f32b8437a46069e93 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Mon, 6 Jan 2020 15:04:07 +0100
Subject: [PATCH] rename ScopeTree to RootScope, this fixes #1

---
 scope/src/main/jastadd/ScopeTree.relast                |  2 +-
 scope/src/main/jastadd/Shadowing.jrag                  | 10 +++++-----
 scope4j/src/main/jastadd/ProgramToScopeTree.jrag       |  8 ++++----
 scope4j/src/main/jastadd/ProgramToScopeTree.relast     |  2 +-
 scope4j/src/main/java/org/extendj/ScopeAnalysis.java   |  4 ++--
 scope4m/src/main/jastadd/ModelicaToScopeTree.jrag      |  8 ++++----
 scope4m/src/main/jastadd/ModelicaToScopeTree.relast    |  2 +-
 scope4m/src/main/java/org/jmodelica/ScopeAnalysis.java |  4 ++--
 8 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/scope/src/main/jastadd/ScopeTree.relast b/scope/src/main/jastadd/ScopeTree.relast
index 3da7080..9b561c6 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 56a1a21..45f7e1d 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 b1dc8e2..0204102 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 e799ab9..2f1d3b1 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 603bb69..fc284c9 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 4643764..1a7a8e0 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 082b97d..1852e35 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 ec82dd1..fe1cefa 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();
-- 
GitLab