public abstract class ClassVisitor
extends java.lang.Object
修飾子と型 | フィールドと説明 |
---|---|
protected int | api このビジターによって実装された ASM API バージョン。 |
protected ClassVisitor | cv このビジターがメソッド呼び出しを委譲する必要があるクラスビジター。 |
コンストラクターと説明 |
---|
ClassVisitor(int api) 新しい ClassVisitor を構築します。 |
ClassVisitor(int api, ClassVisitor cv) 新しい ClassVisitor を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces) クラスのヘッダーにアクセスします。 |
AnnotationVisitor | visitAnnotation(java.lang.String desc, boolean visible) クラスのアノテーションにアクセスします。 |
void | visitAttribute(Attribute attr) クラスの非標準属性を訪問します。 |
void | visitEnd() クラスの最後を訪問します。 |
FieldVisitor | visitField(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value) クラスのフィールドを訪問します。 |
void | visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access) 内部クラスに関する情報を訪問します。 |
MethodVisitor | visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions) クラスのメソッドを訪問します。 |
ModuleVisitor | visitModule(java.lang.String name, int access, java.lang.String version) クラスに対応するモジュールにアクセスしてください。 |
void | visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc) クラスの外側のクラスを訪問します。 |
void | visitSource(java.lang.String source, java.lang.String debug) クラスのソースを訪問します。 |
AnnotationVisitor | visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String desc, boolean visible) クラスシグネチャーの型のアノテーションにアクセスします。 |
protected final int api
protected ClassVisitor cv
public ClassVisitor(int api)
ClassVisitor
を構築します。api
- この訪問者によって実装された ASMAPI バージョン。Opcodes.ASM4
、Opcodes.ASM5
、Opcodes.ASM6
のいずれかである必要があります。public ClassVisitor(int api, ClassVisitor cv)
ClassVisitor
を構築します。api
- この訪問者によって実装された ASMAPI バージョン。Opcodes.ASM4
、Opcodes.ASM5
、Opcodes.ASM6
のいずれかである必要があります。cv
- このビジターがメソッド呼び出しを委譲する必要があるクラスビジター。null の可能性があります。public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
version
- クラスのバージョン。access
- クラスのアクセスフラグ(Opcodes
を参照)このパラメーターは、クラスが非推奨かどうかも示します。name
- クラスの内部名(getInternalName
を参照)signature
- このクラスの署名。クラスが総称クラスではなく、総称クラスまたはインターフェースを継承または実装しない場合は、 null になる可能性があります。superName
- スーパークラスの内部名(getInternalName
を参照)インターフェースの場合、スーパークラスは Object
です。 null の場合がありますが、Object
クラスの場合のみです。interfaces
- クラスのインターフェースの内部名(getInternalName
を参照) null の場合があります。public void visitSource(java.lang.String source, java.lang.String debug)
source
- クラスのコンパイル元のソースファイルの名前。 null の場合があります。debug
- クラスのソース要素とコンパイル済み要素の間の対応を計算するための追加のデバッグ情報。 null の場合があります。public ModuleVisitor visitModule(java.lang.String name, int access, java.lang.String version)
name
- モジュール名 access
- ACC_OPEN
、ACC_SYNTHETIC
、ACC_MANDATED
の中でモジュールフラグ。version
- モジュールバージョンまたは null。public void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)
owner
- クラスを囲むクラスの内部名。name
- クラスを含むメソッドの名前、またはクラスがそのクラスのメソッドで囲まれていない場合は null 。desc
- クラスを含むメソッドの記述子、またはクラスがその包含クラスのメソッドで囲まれていない場合は null 。public AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
desc
- アノテーションクラスのクラス記述子。visible
- true アノテーションが実行時に表示される場合。public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
typeRef
- アノテーション付きの型への参照。この型参照の種類は、CLASS_TYPE_PARAMETER
、CLASS_TYPE_PARAMETER_BOUND
または CLASS_EXTENDS
でなければなりません。TypeReference
を参照してください。typePath
- 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は、null になることがあります。desc
- アノテーションクラスのクラス記述子。visible
- true アノテーションが実行時に表示される場合。public void visitAttribute(Attribute attr)
attr
- 属性。public void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)
name
- 内部クラスの内部名(getInternalName
を参照)outerName
- 内部クラスが属するクラスの内部名(getInternalName
を参照)メンバークラスではない場合は、 null になることがあります。innerName
- 包含クラス内の内部クラスの(単純な)名前匿名の内部クラスの場合、 null になる場合があります。access
- 外側のクラスで最初に宣言された内部クラスのアクセスフラグ。public FieldVisitor visitField(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
access
- フィールドのアクセスフラグ(Opcodes
を参照)このパラメーターは、フィールドが合成か非推奨か、あるいはその両方かを示します。name
- フィールドの名前。desc
- フィールドの記述子(Type
を参照)signature
- フィールドの署名。フィールドの型がジェネリクス型を使用しない場合、 null になることがあります。value
- フィールドの初期値。このパラメーターは、フィールドに初期値がない場合は null になる可能性があり、Integer
、Float
、Long
、Double
、String
(それぞれ int、float、long または String フィールドの場合)でなければなりません。 このパラメーターは静的フィールドにのみ使用されます。非静的フィールドの場合、その値は無視されます。これは、コンストラクターまたはメソッドのバイトコード命令によって初期化する必要があります。public MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
MethodVisitor
インスタンス(または null)を返す必要があります。つまり、以前に返されたビジターを返しません。access
- メソッドのアクセスフラグ(Opcodes
を参照)このパラメーターは、メソッドが合成であるか、非推奨であるかを示します。name
- メソッドの名前。desc
- メソッドの記述子(Type
を参照)signature
- メソッドの署名。メソッドのパラメーター、戻り値の型、例外がジェネリクス型を使用しない場合、 null になることがあります。exceptions
- メソッドの例外クラスの内部名(getInternalName
を参照) null の場合があります。public void visitEnd()