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 java.lang.Object implements ExpressionsBasisHandler, CommonExpressionsHandler
Provides a handlers for CommonExpressions and ExpressionBasis that implement part of the logic ofDefiningSymbolSetter. 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 setASTNameExpression.setDefiningSymbol(ISymbol)or similar methods while maintaining flexibility for language composition.
-
-
Field Summary
Fields Modifier and Type Field Description protected ASTExpressionexpressionToLinkprotected de.monticore.symboltable.ISymbolsymbolToLinkprotected CommonExpressionsTraversertraverser
-
Constructor Summary
Constructors Constructor Description DefiningSymbolHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ASTExpressiongetExpressionToLink()de.monticore.symboltable.ISymbolgetSymbolToLink()CommonExpressionsTraversergetTraverser()voidhandle(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, wait
-
Methods 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, traverse
-
-
-
-
Field Detail
-
traverser
protected CommonExpressionsTraverser traverser
-
expressionToLink
protected ASTExpression expressionToLink
-
symbolToLink
protected de.monticore.symboltable.ISymbol symbolToLink
-
-
Method Detail
-
getTraverser
public CommonExpressionsTraverser getTraverser()
- Specified by:
getTraverserin interfaceCommonExpressionsHandler- Specified by:
getTraverserin interfaceExpressionsBasisHandler- Specified by:
getTraverserin interfacede.monticore.visitor.IHandler
-
setTraverser
public void setTraverser(CommonExpressionsTraverser traverser)
- Specified by:
setTraverserin interfaceCommonExpressionsHandler
-
setTraverser
public void setTraverser(ExpressionsBasisTraverser traverser)
- Specified by:
setTraverserin interfaceExpressionsBasisHandler- Parameters:
traverser- must be of typeCommonExpressionsTraverser
-
getExpressionToLink
public ASTExpression getExpressionToLink()
-
setExpressionToLink
public void setExpressionToLink(ASTExpression expressionToLink)
-
getSymbolToLink
public de.monticore.symboltable.ISymbol getSymbolToLink()
-
setSymbolToLink
public void setSymbolToLink(de.monticore.symboltable.ISymbol symbolToLink)
-
handle
public void handle(ASTNameExpression nameExpr)
- Specified by:
handlein interfaceExpressionsBasisHandler
-
handle
public void handle(ASTFieldAccessExpression fieldAccessExpr)
- Specified by:
handlein interfaceCommonExpressionsHandler
-
handle
public void handle(ASTCallExpression callExpr)
- Specified by:
handlein interfaceCommonExpressionsHandler
-
-