Package de.monticore.types.check.helpers
Class DefiningSymbolHandler
java.lang.Object
de.monticore.types.check.helpers.DefiningSymbolHandler
- All Implemented Interfaces:
CommonExpressionsHandler,ExpressionsBasisHandler,de.monticore.visitor.IHandler
public class DefiningSymbolHandler
extends Object
implements ExpressionsBasisHandler, CommonExpressionsHandler
Provides a handlers for CommonExpressions and ExpressionBasis that implement part of the logic of
DefiningSymbolSetter. Compose this handler with a traverser and potentially handlers for other languages to
get a full implementation. The traverser/handling pattern is used to downcast expressions to their real types.
Thereby we can easily set ASTNameExpression.setDefiningSymbol(ISymbol) or similar methods while maintaining
flexibility for language composition.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ASTExpressionprotected de.monticore.symboltable.ISymbolprotected CommonExpressionsTraverser -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionde.monticore.symboltable.ISymbolvoidhandle(ASTCallExpression callExpr) voidhandle(ASTFieldAccessExpression fieldAccessExpr) voidhandle(ASTNameExpression nameExpr) voidsetExpressionToLink(ASTExpression expressionToLink) voidsetSymbolToLink(de.monticore.symboltable.ISymbol symbolToLink) voidsetTraverser(CommonExpressionsTraverser traverser) voidsetTraverser(ExpressionsBasisTraverser traverser) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.monticore.expressions.commonexpressions._visitor.CommonExpressionsHandler
handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverse, traverseMethods inherited from interface de.monticore.expressions.expressionsbasis._visitor.ExpressionsBasisHandler
handle, handle, handle, handle, handle, handle, handle, handle, traverse, traverse, traverse, traverse, traverse, traverse, traverseMethods inherited from interface de.monticore.visitor.IHandler
handle, handle, handle, handle, handle, traverse, traverse
-
Field Details
-
traverser
-
expressionToLink
-
symbolToLink
protected de.monticore.symboltable.ISymbol symbolToLink
-
-
Constructor Details
-
DefiningSymbolHandler
public DefiningSymbolHandler()
-
-
Method Details
-
getTraverser
- Specified by:
getTraverserin interfaceCommonExpressionsHandler- Specified by:
getTraverserin interfaceExpressionsBasisHandler- Specified by:
getTraverserin interfacede.monticore.visitor.IHandler
-
setTraverser
- Specified by:
setTraverserin interfaceCommonExpressionsHandler
-
setTraverser
- Specified by:
setTraverserin interfaceExpressionsBasisHandler- Parameters:
traverser- must be of typeCommonExpressionsTraverser
-
getExpressionToLink
-
setExpressionToLink
-
getSymbolToLink
public de.monticore.symboltable.ISymbol getSymbolToLink() -
setSymbolToLink
public void setSymbolToLink(de.monticore.symboltable.ISymbol symbolToLink) -
handle
- Specified by:
handlein interfaceExpressionsBasisHandler
-
handle
- Specified by:
handlein interfaceCommonExpressionsHandler
-
handle
- Specified by:
handlein interfaceCommonExpressionsHandler
-