multiply operator.
Conversions and promotions are handled as defined in
Section 5.6.2 of the
Java Language Specification, with the addiction of BigDecimal/BigInteger management:
If any of the operands is of a reference type, unboxing conversion (Section 5.1.8)
is performed. Then:
If either operand is of type BigDecimal, the other is converted to BigDecimal.
If either operand is of type double, the other is converted to double.
Otherwise, if either operand is of type float, the other is converted to float.
If either operand is of type BigInteger, the other is converted to BigInteger.
Otherwise, if either operand is of type long, the other is converted to long.
Otherwise, both operands are converted to type int.
| Modifier and Type | Field and Description |
|---|---|
| private static final int | MAX_REPEATED_TEXT_SIZE
Maximum number of characters permitted in repeated text. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| public void | generateCode(MethodVisitor
the ASM MethodVisitor into which code should be generated mv, CodeFlow a context object with info about what is on the stack cf)Overrides org. Generate the bytecode for this node into the supplied visitor. |
| public TypedValue | getValueInternal(ExpressionState state)
Implements abstract org. Implements the |
| public boolean | isCompilable()
Overrides org. Check whether a node can be compiled to bytecode. |
| MAX_REPEATED_TEXT_SIZE | back to summary |
|---|---|
| private static final int MAX_REPEATED_TEXT_SIZE Maximum number of characters permitted in repeated text.
| |
| OpMultiply | back to summary |
|---|---|
| public OpMultiply(int startPos, int endPos, SpelNodeImpl... operands) | |
| checkRepeatedTextSize | back to summary |
|---|---|
| private void checkRepeatedTextSize(String text, int count) | |
| generateCode | back to summary |
|---|---|
| public void generateCode(MethodVisitor mv, CodeFlow cf) Overrides org. Doc from org. Generate the bytecode for this node into the supplied visitor. Context info about the current expression being compiled is available in the codeflow object, e.g. including information about the type of the object currently on the stack.
| |
| getValueInternal | back to summary |
|---|---|
| public TypedValue getValueInternal(ExpressionState state) throws EvaluationException Implements abstract org. Implements the Supported operand types:
| |
| isCompilable | back to summary |
|---|---|
| public boolean isCompilable() Overrides org. Doc from org. Check whether a node can be compiled to bytecode. The reasoning in each node may be different but will typically involve checking whether the exit type descriptor of the node is known and any relevant child nodes are compilable.
| |