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(ISymbolResolver, BoundExpression, params VBType[])
Determines a static VBType from specified operands.
public override StaticSemanticsEvaluationResult DetermineDeclaredType(ISymbolResolver resolver, BoundExpression expression, params VBType[] operandDeclaredTypes)
Parameters
resolverISymbolResolverThe static context containing the available static memory space.
expressionBoundExpressionThe expression node being evaluated.
operandDeclaredTypesVBType[]The declared type of each operand involved in the evaluation.
Returns
DetermineOperatorStaticType(ISymbolResolver, BoundExpression, 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(ISymbolResolver resolver, BoundExpression expression, VBType lhs, VBType rhs)
Parameters
resolverISymbolResolverThe static context containing the available static memory space.
expressionBoundExpressionThe expression node being evaluated.
lhsVBTypeThe declared type of the LHS operand.
rhsVBTypeThe declared type of the RHS operand.