Class AssignmentExpressionsTypeVisitor
- java.lang.Object
-
- de.monticore.types3.AbstractTypeVisitor
-
- de.monticore.expressions.assignmentexpressions.types3.AssignmentExpressionsTypeVisitor
-
- All Implemented Interfaces:
AssignmentExpressionsVisitor2,de.monticore.visitor.IVisitor
- Direct Known Subclasses:
AssignmentExpressionsCTTIVisitor
public class AssignmentExpressionsTypeVisitor extends AbstractTypeVisitor implements AssignmentExpressionsVisitor2
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringARITHMETIC_ASSIGNMENT_ERROR_CODEprotected static java.lang.StringBINARY_ASSIGNMENT_ERROR_CODEprotected static java.lang.StringBIT_ASSIGNMENT_ERROR_CODE-
Fields inherited from class de.monticore.types3.AbstractTypeVisitor
ctx4Ast, LOG_NAME, tmpMap, type4Ast
-
-
Constructor Summary
Constructors Constructor Description AssignmentExpressionsTypeVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected SymTypeExpressionaddAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionaffix(SymTypeExpression inner, java.lang.String op, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionandAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionassignment(SymTypeExpression left, SymTypeExpression right, int op, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionassignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition src)protected SymTypeExpressioncompoundAssignment(SymTypeExpression left, SymTypeExpression right, java.util.Optional<SymTypeExpression> interimResult, java.lang.String errorCode, java.lang.String op, de.se_rwth.commons.SourcePosition pos)JLS 20, 15.26.2: A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T) ((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once.protected SymTypeExpressionderive(ASTAssignmentExpression expr, SymTypeExpression left, SymTypeExpression right)Deprecated, for removal: This API element is subject to removal in a future version.protected SymTypeExpressiondivideAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)voidendVisit(ASTAssignmentExpression expr)voidendVisit(ASTDecPrefixExpression expr)voidendVisit(ASTDecSuffixExpression expr)voidendVisit(ASTIncPrefixExpression expr)voidendVisit(ASTIncSuffixExpression expr)protected SymTypeExpressiongetTypeForAssignmentOrLogError(java.lang.String errorCode, java.lang.String op, de.se_rwth.commons.SourcePosition pos, java.util.Optional<SymTypeExpression> result, SymTypeExpression left, SymTypeExpression right)protected SymTypeExpressionleftShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionmoduloAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionmultiplyAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionorAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionrightShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)voidsetOperatorCalculator(TypeVisitorOperatorCalculator operatorCalculator)Deprecated, for removal: This API element is subject to removal in a future version.is now a static delegateprotected SymTypeExpressionsubtractAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionunsignedRightShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)protected SymTypeExpressionxorAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)-
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
-
-
-
-
Field Detail
-
ARITHMETIC_ASSIGNMENT_ERROR_CODE
protected static final java.lang.String ARITHMETIC_ASSIGNMENT_ERROR_CODE
- See Also:
- Constant Field Values
-
BIT_ASSIGNMENT_ERROR_CODE
protected static final java.lang.String BIT_ASSIGNMENT_ERROR_CODE
- See Also:
- Constant Field Values
-
BINARY_ASSIGNMENT_ERROR_CODE
protected static final java.lang.String BINARY_ASSIGNMENT_ERROR_CODE
- See Also:
- Constant Field Values
-
-
Method Detail
-
setOperatorCalculator
@Deprecated(forRemoval=true) public void setOperatorCalculator(TypeVisitorOperatorCalculator operatorCalculator)
Deprecated, for removal: This API element is subject to removal in a future version.is now a static delegate
-
endVisit
public void endVisit(ASTIncSuffixExpression expr)
- Specified by:
endVisitin interfaceAssignmentExpressionsVisitor2
-
endVisit
public void endVisit(ASTDecSuffixExpression expr)
- Specified by:
endVisitin interfaceAssignmentExpressionsVisitor2
-
endVisit
public void endVisit(ASTIncPrefixExpression expr)
- Specified by:
endVisitin interfaceAssignmentExpressionsVisitor2
-
endVisit
public void endVisit(ASTDecPrefixExpression expr)
- Specified by:
endVisitin interfaceAssignmentExpressionsVisitor2
-
affix
protected SymTypeExpression affix(SymTypeExpression inner, java.lang.String op, de.se_rwth.commons.SourcePosition pos)
-
endVisit
public void endVisit(ASTAssignmentExpression expr)
- Specified by:
endVisitin interfaceAssignmentExpressionsVisitor2
-
derive
@Deprecated(forRemoval=true) protected SymTypeExpression derive(ASTAssignmentExpression expr, SymTypeExpression left, SymTypeExpression right)
Deprecated, for removal: This API element is subject to removal in a future version.
-
assignment
protected SymTypeExpression assignment(SymTypeExpression left, SymTypeExpression right, int op, de.se_rwth.commons.SourcePosition pos)
-
addAssignment
protected SymTypeExpression addAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
subtractAssignment
protected SymTypeExpression subtractAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
multiplyAssignment
protected SymTypeExpression multiplyAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
moduloAssignment
protected SymTypeExpression moduloAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
divideAssignment
protected SymTypeExpression divideAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
andAssignment
protected SymTypeExpression andAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
orAssignment
protected SymTypeExpression orAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
xorAssignment
protected SymTypeExpression xorAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
rightShiftAssignment
protected SymTypeExpression rightShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
leftShiftAssignment
protected SymTypeExpression leftShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
unsignedRightShiftAssignment
protected SymTypeExpression unsignedRightShiftAssignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition pos)
-
compoundAssignment
protected SymTypeExpression compoundAssignment(SymTypeExpression left, SymTypeExpression right, java.util.Optional<SymTypeExpression> interimResult, java.lang.String errorCode, java.lang.String op, de.se_rwth.commons.SourcePosition pos)
JLS 20, 15.26.2: A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T) ((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once.- Parameters:
interimResult- type of ((E1) op (E2))
-
assignment
protected SymTypeExpression assignment(SymTypeExpression left, SymTypeExpression right, de.se_rwth.commons.SourcePosition src)
-
getTypeForAssignmentOrLogError
protected SymTypeExpression getTypeForAssignmentOrLogError(java.lang.String errorCode, java.lang.String op, de.se_rwth.commons.SourcePosition pos, java.util.Optional<SymTypeExpression> result, SymTypeExpression left, SymTypeExpression right)
-
-