クラス OpMinus

実装されたすべてのインターフェース:
OpcodesSpelNode

public class OpMinus extends Operator
マイナス演算子は以下をサポートします:
  • 数の減算
  • 1 文字の文字列から int を減算する (実質的にその文字を減らす)、つまり 'd' - 3 = 'a'

数値の単項演算子として使用できます。オペランドの型が異なる場合(double-int = double)、標準プロモーションが実行されます。他のオプションについては、登録されたオーバーローダーに従います。

導入:
3.0
作成者:
Andy Clement, Juergen Hoeller, Giovanni Dall'Oglio Risso, Sam Brannen, Semyon Danilov
  • コンストラクターの詳細

    • OpMinus

      public OpMinus(int startPos, int endPos, SpelNodeImpl... operands)
  • メソッドの詳細

    • isNegativeNumberLiteral

      public boolean isNegativeNumberLiteral()
      この演算子が単項マイナスであり、その子が数値リテラルであるかどうかを判断します。
      戻り値:
      負の数値リテラルの場合は true 
      導入:
      6.1
    • getValueInternal

      public TypedValue getValueInternal(ExpressionState state) throws EvaluationException
      次で指定:
      クラス SpelNodeImplgetValueInternal 
      例外:
      EvaluationException
    • toStringAST

      public StringSE toStringAST()
      クラスからコピーされた説明: Operator
      すべての演算子の文字列形式は同じ '(' [operand] [operator] [operand] ')' です。
      次で指定:
      インターフェース SpelNodetoStringAST 
      オーバーライド:
      クラス OperatortoStringAST 
      戻り値:
      文字列形式
    • getRightOperand

      public SpelNodeImpl getRightOperand()
      オーバーライド:
      クラス OperatorgetRightOperand 
    • isCompilable

      public boolean isCompilable()
      クラスからコピーされた説明: SpelNodeImpl
      ノードをバイトコードにコンパイルできるかどうかを確認します。各ノードの推論は異なる場合がありますが、通常、ノードの出口型記述子が既知であり、関連する子ノードがコンパイル可能かどうかを確認する必要があります。
      オーバーライド:
      クラス SpelNodeImplisCompilable 
      戻り値:
      このノードをバイトコードにコンパイルできる場合は true 
    • generateCode

      public void generateCode(MethodVisitor mv, CodeFlow cf)
      クラスからコピーされた説明: SpelNodeImpl
      このノードのバイトコードを提供されたビジターに生成します。コンパイルされている現在の式に関するコンテキスト情報は、コードフローオブジェクトで利用できます。現在スタック上にあるオブジェクトの型に関する情報を含みます。
      オーバーライド:
      クラス SpelNodeImplgenerateCode 
      パラメーター:
      mv - コードが生成される ASM MethodVisitor
      cf - スタックの内容に関する情報を持つコンテキストオブジェクト