Class SetExpressionsTypeVisitor
- java.lang.Object
-
- de.monticore.types3.AbstractTypeVisitor
-
- de.monticore.ocl.setexpressions.types3.SetExpressionsTypeVisitor
-
- All Implemented Interfaces:
SetExpressionsVisitor2,de.monticore.visitor.IVisitor
- Direct Known Subclasses:
SetExpressionsCTTIVisitor
public class SetExpressionsTypeVisitor extends AbstractTypeVisitor implements SetExpressionsVisitor2
-
-
Field Summary
-
Fields inherited from class de.monticore.types3.AbstractTypeVisitor
ctx4Ast, LOG_NAME, tmpMap, type4Ast
-
-
Constructor Summary
Constructors Constructor Description SetExpressionsTypeVisitor()
-
Method Summary
-
Methods inherited from class de.monticore.types3.AbstractTypeVisitor
getAsBasicSymbolsScope, getInferenceContext4Ast, getType4Ast, setContext4Ast, setType4Ast
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.monticore.visitor.IVisitor
endVisit, endVisit, endVisit, endVisit, visit, visit, visit, visit
-
Methods inherited from interface de.monticore.ocl.setexpressions._visitor.SetExpressionsVisitor2
endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Method Detail
-
endVisit
public void endVisit(ASTSetInExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
public void endVisit(ASTSetNotInExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetInExpression
protected SymTypeExpression calculateSetInExpression(ASTExpression expr, SymTypeExpression elemResult, SymTypeExpression setResult)
-
endVisit
public void endVisit(ASTUnionExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateUnionExpression
public SymTypeExpression calculateUnionExpression(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult)
-
endVisit
public void endVisit(ASTIntersectionExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
public void endVisit(ASTSetMinusExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateIntersectionAndMinusOperation
public SymTypeExpression calculateIntersectionAndMinusOperation(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult)
-
endVisit
public void endVisit(ASTSetUnionExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetUnionExpression
protected SymTypeExpression calculateSetUnionExpression(ASTExpression expr, SymTypeExpression innerType)
-
endVisit
public void endVisit(ASTSetIntersectionExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetIntersectionExpression
protected SymTypeExpression calculateSetIntersectionExpression(ASTExpression expr, SymTypeExpression innerType)
-
endVisit
public void endVisit(ASTSetAndExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
public void endVisit(ASTSetOrExpression expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateLogicalSetExpression
protected SymTypeExpression calculateLogicalSetExpression(ASTExpression expr, SymTypeExpression setType)
-
endVisit
public void endVisit(ASTSetComprehension expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
checkSetVariableDeclaration
protected boolean checkSetVariableDeclaration(ASTSetVariableDeclaration varDecl)
-
checkGeneratorDeclaration
protected boolean checkGeneratorDeclaration(ASTGeneratorDeclaration genDecl)
-
endVisit
public void endVisit(ASTSetEnumeration expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
public void endVisit(ASTSetValueRange expr)
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
isSetOrListCollection
protected boolean isSetOrListCollection(SymTypeExpression type)
whether a type is a Set or List, this differs between languages (s.a. OCL)
-
getContainedExpressions
protected java.util.Optional<java.util.List<ASTExpression>> getContainedExpressions(ASTSetEnumeration expr)
Get all expressions within the set enumeration. E.g.:"{1, 2..4}" -> "1","2","4"Returns empty on error (will have been logged)
-
getContainedExpressionTypes
protected java.util.List<SymTypeExpression> getContainedExpressionTypes(ASTSetEnumeration expr)
Get all expressions' types within the set enumeration. They need to be stored in Type4Ast before calling this. E.g.:"{1, 2..4}" -> int, int, intMay contain Obscure (error will have been logged).
-
assertRangesContainIntegrals
protected boolean assertRangesContainIntegrals(ASTSetEnumeration expr)
-
assertRangeContainsIntegrals
protected boolean assertRangeContainsIntegrals(ASTSetValueRange range)
Logs an error if the lower and upper bounds of the range are not integral types.- Returns:
- true iff no error occurred.
-
-