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 -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanLogs an error if the lower and upper bounds of the range are not integral types.protected booleans.calculateIntersectionAndMinusOperation(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult) protected SymTypeExpressioncalculateLogicalSetExpression(ASTExpression expr, SymTypeExpression setType) protected SymTypeExpressioncalculateSetInExpression(ASTExpression expr, SymTypeExpression elemResult, SymTypeExpression setResult) protected SymTypeExpressioncalculateSetIntersectionExpression(ASTExpression expr, SymTypeExpression innerType) protected SymTypeExpressioncalculateSetUnionExpression(ASTExpression expr, SymTypeExpression innerType) calculateUnionExpression(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult) protected booleanprotected booleanvoidvoidendVisit(ASTSetAndExpression expr) voidendVisit(ASTSetComprehension expr) voidendVisit(ASTSetEnumeration expr) voidendVisit(ASTSetInExpression expr) voidvoidvoidvoidendVisit(ASTSetOrExpression expr) voidvoidendVisit(ASTSetValueRange expr) voidendVisit(ASTUnionExpression expr) protected Optional<List<ASTExpression>> Get all expressions within the set enumeration.protected List<SymTypeExpression> Get all expressions' types within the set enumeration.protected booleanwhether a type is a Set or List, this differs between languages (s.a.Methods inherited from class de.monticore.types3.AbstractTypeVisitor
getAsBasicSymbolsScope, getInferenceContext4Ast, getType4Ast, setContext4Ast, setType4AstMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.monticore.visitor.IVisitor
endVisit, endVisit, endVisit, endVisit, visit, visit, visit, visitMethods 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
-
Constructor Details
-
SetExpressionsTypeVisitor
public SetExpressionsTypeVisitor()
-
-
Method Details
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetInExpression
protected SymTypeExpression calculateSetInExpression(ASTExpression expr, SymTypeExpression elemResult, SymTypeExpression setResult) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateUnionExpression
public SymTypeExpression calculateUnionExpression(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateIntersectionAndMinusOperation
public SymTypeExpression calculateIntersectionAndMinusOperation(ASTExpression expr, SymTypeExpression leftResult, SymTypeExpression rightResult) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetUnionExpression
protected SymTypeExpression calculateSetUnionExpression(ASTExpression expr, SymTypeExpression innerType) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateSetIntersectionExpression
protected SymTypeExpression calculateSetIntersectionExpression(ASTExpression expr, SymTypeExpression innerType) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
calculateLogicalSetExpression
protected SymTypeExpression calculateLogicalSetExpression(ASTExpression expr, SymTypeExpression setType) -
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
checkSetVariableDeclaration
-
checkGeneratorDeclaration
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
endVisit
- Specified by:
endVisitin interfaceSetExpressionsVisitor2
-
isSetOrListCollection
whether a type is a Set or List, this differs between languages (s.a. OCL) -
getContainedExpressions
Get all expressions within the set enumeration. E.g.:"{1, 2..4}" -> "1","2","4"Returns empty on error (will have been logged) -
getContainedExpressionTypes
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
-
assertRangeContainsIntegrals
Logs an error if the lower and upper bounds of the range are not integral types.- Returns:
- true iff no error occurred.
-