クラス 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
  • コンストラクターの詳細

    • OpMinus

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

    • 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 - スタックの内容に関する情報を持つコンテキストオブジェクト