Skip to content

Commit

Permalink
JavaLightTypeCheck3 use static delegates
Browse files Browse the repository at this point in the history
  • Loading branch information
SE-FDr committed Jan 20, 2025
1 parent 5d3a8cf commit b75c668
Showing 1 changed file with 7 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
import de.monticore.types3.util.OOWithinScopeBasicSymbolsResolver;
import de.monticore.types3.util.OOWithinTypeBasicSymbolsResolver;
import de.monticore.types3.util.TypeContextCalculator;
import de.monticore.types3.util.WithinScopeBasicSymbolsResolver;
import de.monticore.types3.util.WithinTypeBasicSymbolsResolver;
import de.monticore.types3.util.TypeVisitorOperatorCalculator;
import de.monticore.visitor.ITraverser;
import de.se_rwth.commons.logging.Log;

Expand All @@ -31,16 +30,16 @@ public class JavaLightTypeCheck3 extends MapBasedTypeCheck3 {
public static void init() {
Log.trace("init JavaLightTypeCheck3", "TypeCheck setup");

// initialize static delegates
OOWithinScopeBasicSymbolsResolver.init();
OOWithinTypeBasicSymbolsResolver.init();
TypeContextCalculator.init();
TypeVisitorOperatorCalculator.init();

JavaLightTraverser traverser = JavaLightMill.traverser();
Type4Ast type4Ast = new Type4Ast();
InferenceContext4Ast ctx4Ast = new InferenceContext4Ast();

// for some Visitors
WithinTypeBasicSymbolsResolver withinTypeBasicSymbolsResolver =
new OOWithinTypeBasicSymbolsResolver();
WithinScopeBasicSymbolsResolver withinScopeBasicSymbolsResolver =
new OOWithinScopeBasicSymbolsResolver();

// Literals

MCCommonLiteralsTypeVisitor visMCCommonLiterals = new MCCommonLiteralsTypeVisitor();
Expand All @@ -56,15 +55,12 @@ public static void init() {
traverser.setAssignmentExpressionsHandler(visAssignmentExpressions);

CommonExpressionsCTTIVisitor visCommonExpressions = new CommonExpressionsCTTIVisitor();
visCommonExpressions.setWithinTypeBasicSymbolsResolver(withinTypeBasicSymbolsResolver);
visCommonExpressions.setWithinScopeResolver(withinScopeBasicSymbolsResolver);
visCommonExpressions.setType4Ast(type4Ast);
visCommonExpressions.setContext4Ast(ctx4Ast);
traverser.add4CommonExpressions(visCommonExpressions);
traverser.setCommonExpressionsHandler(visCommonExpressions);

ExpressionBasisCTTIVisitor visExpressionBasis = new ExpressionBasisCTTIVisitor();
visExpressionBasis.setWithinScopeResolver(withinScopeBasicSymbolsResolver);
visExpressionBasis.setType4Ast(type4Ast);
visExpressionBasis.setContext4Ast(ctx4Ast);
traverser.add4ExpressionsBasis(visExpressionBasis);
Expand All @@ -73,18 +69,12 @@ public static void init() {
UglyExpressionsCTTIVisitor visUglyExpressions = new UglyExpressionsCTTIVisitor();
visUglyExpressions.setType4Ast(type4Ast);
visUglyExpressions.setContext4Ast(ctx4Ast);
visUglyExpressions.setOOWithinTypeBasicSymbolsResolver(
new OOWithinTypeBasicSymbolsResolver()
);
visUglyExpressions.setTypeContextCalculator(new TypeContextCalculator());
traverser.add4UglyExpressions(visUglyExpressions);
traverser.setUglyExpressionsHandler(visUglyExpressions);

// MCTypes

MCBasicTypesTypeVisitor visMCBasicTypes = new MCBasicTypesTypeVisitor();
visMCBasicTypes.setWithinTypeResolver(withinTypeBasicSymbolsResolver);
visMCBasicTypes.setWithinScopeResolver(withinScopeBasicSymbolsResolver);
visMCBasicTypes.setType4Ast(type4Ast);
traverser.add4MCBasicTypes(visMCBasicTypes);

Expand Down

0 comments on commit b75c668

Please sign in to comment.