Class BinaryArithmeticOperatorStaticSemantics
Uses pattern-matching rules to encapsulate binary arithmetic operator static semantics as defined in MS-VBAL 5.6.9.3.
public abstract record BinaryArithmeticOperatorStaticSemantics : StaticSemantics, IEquatable<StaticSemantics>, IStaticSemantics, IEquatable<BinaryArithmeticOperatorStaticSemantics>
- Inheritance
-
BinaryArithmeticOperatorStaticSemantics
- Implements
- Derived
- Inherited Members
Constructors
BinaryArithmeticOperatorStaticSemantics()
Uses pattern-matching rules to encapsulate binary arithmetic operator static semantics as defined in MS-VBAL 5.6.9.3.
protected BinaryArithmeticOperatorStaticSemantics()
Methods
DetermineDeclaredType(StaticEvaluationContext, ExpressionNode, params VBType[])
Determines a static VBType from specified operands.
public override StaticSemanticsEvaluationResult DetermineDeclaredType(StaticEvaluationContext context, ExpressionNode expression, params VBType[] operandDeclaredTypes)
Parameters
contextStaticEvaluationContextThe compile-time context this expression is evaluated against.
expressionExpressionNodeThe expression node being evaluated.
operandDeclaredTypesVBType[]The declared type of each operand involved in the evaluation.
Returns
DetermineOperatorStaticType(StaticEvaluationContext, ExpressionNode, VBType, VBType)
MS-VBAL 5.6.9.3 Arithmetic Operators (static semantics) The operator has the declared type returned by this method, based on the declared type of its operands.
protected virtual StaticSemanticsEvaluationResult DetermineOperatorStaticType(StaticEvaluationContext context, ExpressionNode expression, VBType lhs, VBType rhs)
Parameters
contextStaticEvaluationContextThe compile-time context this expression is evaluated against.
expressionExpressionNodeThe expression node being evaluated.
lhsVBTypeThe declared type of the LHS operand.
rhsVBTypeThe declared type of the RHS operand.