| パッケージ | 説明 |
|---|---|
| org.springframework.asm | Spring による ASM の再パッケージ化(内部使用のみ)。 |
| org.springframework.context.expression | Spring アプリケーションコンテキスト内の式解析サポート。 |
| org.springframework.core.type.classreading | アノテーションおよびクラスレベルのメタデータを読み取るためのクラスをサポートします。 |
| org.springframework.expression.spel | SpEL の中央実装パッケージ。 |
| org.springframework.expression.spel.ast | SpEL の抽象構文ツリー。 |
| org.springframework.expression.spel.support | さまざまなコア抽象化のための SpEL のデフォルト実装。 |
| 修飾子と型 | フィールドと説明 |
|---|---|
protected MethodVisitor | MethodVisitor.mv このビジターがメソッド呼び出しを委譲する必要があるメソッドビジター。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
MethodVisitor | ClassVisitor.visitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions) クラスのメソッドを訪問します。 |
MethodVisitor | ClassWriter.visitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions) |
| コンストラクターと説明 |
|---|
MethodVisitor(int api, MethodVisitor methodVisitor) 新しい MethodVisitor を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | MapAccessor.generateCode(java.lang.String propertyName, MethodVisitor mv, CodeFlow cf) |
| 修飾子と型 | クラスと説明 |
|---|---|
class | MethodMetadataReadingVisitor メソッドで定義されたアノテーションを探し、 MethodMetadata インターフェースを介して公開する ASM メソッドビジター。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
MethodVisitor | AnnotationMetadataReadingVisitor.visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | CodeFlow.ClinitAdder.generateCode(MethodVisitor mv, CodeFlow codeflow) |
void | CompilablePropertyAccessor.generateCode(java.lang.String propertyName, MethodVisitor mv, CodeFlow cf) 必要に応じて、コードフローからのコンテキスト情報を使用して、指定された MethodVisitor へのアクセス操作を実行するバイトコードを生成します。 |
static void | CodeFlow.insertAnyNecessaryTypeConversionBytecodes(MethodVisitor mv, char targetDescriptor, java.lang.String stackDescriptor) スタックの内容と目的のターゲット型に基づいて、必要な数値変換バイトコードを挿入します。 |
static void | CodeFlow.insertArrayStore(MethodVisitor mv, java.lang.String arrayElementType) スタック項目を配列に格納するための適切なバイトコードを生成します。 |
static void | CodeFlow.insertBoxIfNecessary(MethodVisitor mv, char ch) 特定の型に適切なボクシング指示を決定し(ボクシングが必要な場合)、指示を提供されたビジターに挿入します。 |
static void | CodeFlow.insertBoxIfNecessary(MethodVisitor mv, java.lang.String descriptor) 特定の型に適切なボクシング指示を決定し(ボクシングが必要な場合)、指示を提供されたビジターに挿入します。 |
static void | CodeFlow.insertCheckCast(MethodVisitor mv, java.lang.String descriptor) 提供された記述子に適切な CHECKCAST 命令を挿入します。 |
static void | CodeFlow.insertNewArrayCode(MethodVisitor mv, int size, java.lang.String arraytype) 正しいバイトコードを生成して配列を構築します。 |
static void | CodeFlow.insertNumericUnboxOrPrimitiveTypeCoercion(MethodVisitor mv, java.lang.String stackDescriptor, char targetDescriptor) 数学演算子で使用するために、スタック上の(おそらくボックス化された)数値からプリミティブ数値型への変換を処理します。 |
static void | CodeFlow.insertOptimalLoad(MethodVisitor mv, int value) スタックに数値をロードするための最適な命令を作成します。 |
static void | CodeFlow.insertUnboxInsns(MethodVisitor mv, char ch, java.lang.String stackDescriptor) ボックス型からプリミティブ値に変換するために必要なキャストと値の呼び出しを挿入します。 |
static void | CodeFlow.insertUnboxNumberInsns(MethodVisitor mv, char targetDescriptor, java.lang.String stackDescriptor) 数値の場合は、適切なメソッドを使用して、リクエストされたプリミティブ型に変換します。 |
void | CodeFlow.loadEvaluationContext(MethodVisitor mv) バイトコードをプッシュして EvaluationContext(コンパイルされた式メソッドに渡される 2 番目のパラメーター)をロードします。 |
void | CodeFlow.loadTarget(MethodVisitor mv) バイトコードをプッシュしてターゲットをロードします(つまり |
void | CodeFlow.unboxBooleanIfNecessary(MethodVisitor mv) コードフローが java.lang.Boolean に評価された最後の式を示している場合は、必要な命令を挿入して、ブールプリミティブにボックス化します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | OpAnd.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpGE.generateCode(MethodVisitor mv, CodeFlow cf) |
void | VariableReference.generateCode(MethodVisitor mv, CodeFlow cf) |
void | NullLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpMultiply.generateCode(MethodVisitor mv, CodeFlow cf) |
void | Elvis.generateCode(MethodVisitor mv, CodeFlow cf) |
void | RealLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpPlus.generateCode(MethodVisitor mv, CodeFlow cf) |
void | FloatLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpDivide.generateCode(MethodVisitor mv, CodeFlow cf) |
void | TypeReference.generateCode(MethodVisitor mv, CodeFlow cf) |
void | InlineList.generateCode(MethodVisitor mv, CodeFlow codeflow) |
void | SpelNodeImpl.generateCode(MethodVisitor mv, CodeFlow cf) このノードのバイトコードを提供されたビジターに生成します。 |
void | OpEQ.generateCode(MethodVisitor mv, CodeFlow cf) |
void | StringLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | CompoundExpression.generateCode(MethodVisitor mv, CodeFlow cf) |
void | IntLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OperatorNot.generateCode(MethodVisitor mv, CodeFlow cf) |
void | BooleanLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpOr.generateCode(MethodVisitor mv, CodeFlow cf) |
void | Indexer.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpModulus.generateCode(MethodVisitor mv, CodeFlow cf) |
void | Ternary.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpMinus.generateCode(MethodVisitor mv, CodeFlow cf) |
void | ConstructorReference.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OperatorInstanceof.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpGT.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpNE.generateCode(MethodVisitor mv, CodeFlow cf) |
void | PropertyOrFieldReference.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpLE.generateCode(MethodVisitor mv, CodeFlow cf) |
void | MethodReference.generateCode(MethodVisitor mv, CodeFlow cf) |
void | LongLiteral.generateCode(MethodVisitor mv, CodeFlow cf) |
void | OpLT.generateCode(MethodVisitor mv, CodeFlow cf) |
void | FunctionReference.generateCode(MethodVisitor mv, CodeFlow cf) |
protected static void | SpelNodeImpl.generateCodeForArgument(MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, java.lang.String paramDesc) 引数を求めてバイトコードを生成し、その後、ボクシング / アンボクシング / チェックキャストを実行して、期待されるパラメーター記述子と一致することを確認します。 |
protected static void | SpelNodeImpl.generateCodeForArguments(MethodVisitor mv, CodeFlow cf, java.lang.reflect.Member member, SpelNodeImpl[] arguments) 指定されたメソッドの引数値の構築を処理するコードを生成します。 |
protected void | Operator.generateComparisonCode(MethodVisitor mv, CodeFlow cf, int compInstruction1, int compInstruction2) 数値比較演算子は非常によく似た生成コードを共有し、2 つの比較命令のみが異なります。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | ReflectivePropertyAccessor.OptimalPropertyAccessor.generateCode(java.lang.String propertyName, MethodVisitor mv, CodeFlow cf) |