public abstract class ClassVisitor
extends java.lang.Objectvisit [ visitSource ] [ visitModule ] [ visitNestHost ] [ visitOuterClass ](visitAnnotation | visitTypeAnnotation | visitAttribute)*(visitNestMember | visitInnerClass | visitField | visitMethod)* visitEnd の順序で呼び出す必要があります。| 修飾子と型 | フィールドと説明 |
|---|---|
protected int | api この訪問者によって実装された ASM API バージョン。 |
protected ClassVisitor | cv このビジターがメソッド呼び出しを委譲する必要があるクラスビジター。 |
| コンストラクターと説明 |
|---|
ClassVisitor(int api) 新しい ClassVisitor を構築します。 |
ClassVisitor(int api, ClassVisitor classVisitor) 新しい 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 descriptor, boolean visible) クラスのアノテーションにアクセスします。 |
void | visitAttribute(Attribute attribute) クラスの非標準属性を訪問します。 |
void | visitEnd() クラスの最後を訪問します。 |
FieldVisitor | visitField(int access, java.lang.String name, java.lang.String descriptor, 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 descriptor, java.lang.String signature, java.lang.String[] exceptions) クラスのメソッドを訪問します。 |
ModuleVisitor | visitModule(java.lang.String name, int access, java.lang.String version) クラスに対応するモジュールにアクセスしてください。 |
void | visitNestHost(java.lang.String nestHost) クラスのネストホストクラスを訪問します。 |
void | visitNestMember(java.lang.String nestMember) 巣のメンバーを訪問します。 |
void | visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String descriptor) クラスの外側のクラスを訪問します。 |
void | visitSource(java.lang.String source, java.lang.String debug) クラスのソースを訪問します。 |
AnnotationVisitor | visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String descriptor, boolean visible) クラスシグネチャーの型のアノテーションにアクセスします。 |
protected final int api
Opcodes.ASM4、Opcodes.ASM5、Opcodes.ASM6、Opcodes.ASM7 のいずれかである必要があります。protected ClassVisitor cv
public ClassVisitor(int api)
ClassVisitor を構築します。api - このビジターが実装した ASM API バージョン。Opcodes.ASM4、Opcodes.ASM5、Opcodes.ASM6、Opcodes.ASM7 のいずれかである必要があります。public ClassVisitor(int api,
ClassVisitor classVisitor)ClassVisitor を構築します。api - このビジターが実装した ASM API バージョン。Opcodes.ASM4、Opcodes.ASM5、Opcodes.ASM6、Opcodes.ASM7 のいずれかである必要があります。classVisitor - このビジターがメソッド呼び出しを委譲する必要があるクラスビジター。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 - クラスのバージョン。マイナーバージョンは上位 16 ビットに格納され、メジャーバージョンは下位 16 ビットに格納されます。access - クラスのアクセスフラグ(Opcodes を参照)このパラメーターは、クラスが非推奨かどうかも示します。name - クラスの内部名(Type.getInternalName() を参照)signature - このクラスの署名。クラスが総称クラスではなく、総称クラスまたはインターフェースを継承または実装しない場合、null になることがあります。superName - スーパークラスの名前の内部(Type.getInternalName() を参照)。インターフェースの場合、スーパークラスは Object です。null の場合がありますが、Object クラスの場合のみです。interfaces - クラスのインターフェースの内部名(Type.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 visitNestHost(java.lang.String nestHost)
nestHost - ネストのホストクラスの内部名。public void visitOuterClass(java.lang.String owner,
java.lang.String name,
java.lang.String descriptor)owner - クラスを囲むクラスの内部名。name - クラスを含むメソッドの名前、またはクラスがそのクラスのメソッドで囲まれていない場合は nulldescriptor - クラスを含むメソッドの記述子、またはクラスがその包含クラスのメソッドで囲まれていない場合は nullpublic AnnotationVisitor visitAnnotation(java.lang.String descriptor, boolean visible)
descriptor - アノテーションクラスのクラス記述子。visible - 実行時にアノテーションが表示される場合は true。public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String descriptor, boolean visible)
typeRef - アノテーション付きの型への参照。この型参照の種類は、TypeReference.CLASS_TYPE_PARAMETER、TypeReference.CLASS_TYPE_PARAMETER_BOUND または TypeReference.CLASS_EXTENDS でなければなりません。TypeReference を参照してください。typePath - 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。descriptor - アノテーションクラスのクラス記述子。visible - 実行時にアノテーションが表示される場合は true。public void visitAttribute(Attribute attribute)
attribute - 属性。public void visitNestMember(java.lang.String nestMember)
nestMember - ネストメンバーの内部名。public void visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)name - 内部クラスの内部名(Type.getInternalName() を参照)outerName - 内部クラスが属するクラスの内部名(Type.getInternalName() を参照)メンバークラスではない場合は null になります。innerName - 包含クラス内の内部クラスの(単純な)名前匿名の内部クラスの場合は null になります。access - 外側のクラスで最初に宣言された内部クラスのアクセスフラグ。public FieldVisitor visitField(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)
access - フィールドのアクセスフラグ(Opcodes を参照)このパラメーターは、フィールドが合成か非推奨か、あるいはその両方かを示します。name - フィールドの名前。descriptor - フィールドの記述子(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 descriptor, java.lang.String signature, java.lang.String[] exceptions)
MethodVisitor インスタンス(または null)を返す必要があります。つまり、以前に返されたビジターを返しません。access - メソッドのアクセスフラグ(Opcodes を参照)このパラメーターは、メソッドが合成であるか、非推奨であるかを示します。name - メソッドの名前。descriptor - メソッドの記述子(Type を参照)signature - メソッドの署名。メソッドのパラメーター、戻り値の型、例外がジェネリクス型を使用しない場合、null になることがあります。exceptions - メソッドの例外クラスの内部名(Type.getInternalName() を参照) null の可能性があります。public void visitEnd()