public class MethodMetadataReadingVisitor extends MethodVisitor implements MethodMetadata
MethodMetadata
インターフェースを介して公開する ASM メソッドビジター。修飾子と型 | フィールドと説明 |
---|---|
protected int | access |
protected LinkedMultiValueMap<StringSE, AnnotationAttributes> | attributesMap |
protected ClassLoaderSE | classLoader |
protected StringSE | declaringClassName |
protected MapSE<StringSE, SetSE<StringSE>> | metaAnnotationMap |
protected SetSE<MethodMetadata> | methodMetadataSet |
protected StringSE | methodName |
protected StringSE | returnTypeName |
api, mv
コンストラクターと説明 |
---|
MethodMetadataReadingVisitor(StringSE methodName, int access, StringSE declaringClassName, StringSE returnTypeName, ClassLoaderSE classLoader, SetSE<MethodMetadata> methodMetadataSet) |
修飾子と型 | メソッドと説明 |
---|---|
MultiValueMap<StringSE, ObjectSE> | getAllAnnotationAttributes(StringSE annotationName) 指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまり |
MultiValueMap<StringSE, ObjectSE> | getAllAnnotationAttributes(StringSE annotationName, boolean classValuesAsString) 指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまり |
AnnotationAttributes | getAnnotationAttributes(StringSE annotationName) 指定された型のアノテーションの属性があれば、それを取得します(つまり |
AnnotationAttributes | getAnnotationAttributes(StringSE annotationName, boolean classValuesAsString) 指定された型のアノテーションの属性があれば、それを取得します(つまり |
StringSE | getDeclaringClassName() このメソッドを宣言するクラスの完全修飾名を返します。 |
StringSE | getMethodName() メソッドの名前を返します。 |
StringSE | getReturnTypeName() このメソッドの宣言された戻り値の型の完全修飾名を返します。 |
boolean | isAbstract() 基本となるメソッドが効果的に抽象的であるかどうかを返します。 |
boolean | isAnnotated(StringSE annotationName) 基になる要素に、指定された型のアノテーションまたはメタアノテーションが定義されているかどうかを判別します。 |
boolean | isFinal() 基になるメソッドが "final" としてマークされているかどうかを返します。 |
boolean | isOverridable() 基本となるメソッドがオーバーライド可能かどうかを返します。 |
boolean | isStatic() 基本となるメソッドが「静的」として宣言されているかどうかを返します。 |
AnnotationVisitor | visitAnnotation(StringSE desc, boolean visible) このメソッドのアノテーションにアクセスします。 |
visitAnnotableParameterCount, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final StringSE methodName
protected final int access
protected final StringSE declaringClassName
protected final StringSE returnTypeName
@Nullable protected final ClassLoaderSE classLoader
protected final SetSE<MethodMetadata> methodMetadataSet
protected final LinkedMultiValueMap<StringSE,AnnotationAttributes> attributesMap
public MethodMetadataReadingVisitor(StringSE methodName, int access, StringSE declaringClassName, StringSE returnTypeName, @Nullable ClassLoaderSE classLoader, SetSE<MethodMetadata> methodMetadataSet)
public AnnotationVisitor visitAnnotation(StringSE desc, boolean visible)
MethodVisitor
MethodVisitor
の visitAnnotation
desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。public StringSE getMethodName()
MethodMetadata
MethodMetadata
の getMethodName
public boolean isAbstract()
MethodMetadata
MethodMetadata
の isAbstract
public boolean isStatic()
MethodMetadata
MethodMetadata
の isStatic
public boolean isFinal()
MethodMetadata
MethodMetadata
の isFinal
public boolean isOverridable()
MethodMetadata
MethodMetadata
の isOverridable
public boolean isAnnotated(StringSE annotationName)
AnnotatedTypeMetadata
このメソッドが true
を返す場合、AnnotatedTypeMetadata.getAnnotationAttributes(java.lang.String)
は null 以外のマップを返します。
AnnotatedTypeMetadata
の isAnnotated
annotationName
- 検索するアノテーション型の完全修飾クラス名 @Nullable public AnnotationAttributes getAnnotationAttributes(StringSE annotationName)
AnnotatedTypeMetadata
AnnotatedTypeMetadata
の getAnnotationAttributes
annotationName
- 検索するアノテーション型の完全修飾クラス名 null
になります。@Nullable public AnnotationAttributes getAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
AnnotatedTypeMetadata
AnnotatedTypeMetadata
の getAnnotationAttributes
annotationName
- 検索するアノテーション型の完全修飾クラス名 classValuesAsString
- クラス参照を String クラス名に変換して、最初にロードする必要がある可能性のあるクラス参照の代わりに、返されたマップの値として公開するかどうか null
になります。@Nullable public MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName)
AnnotatedTypeMetadata
AnnotatedTypeMetadata
の getAllAnnotationAttributes
annotationName
- 検索するアノテーション型の完全修飾クラス名 null
になります。AnnotatedTypeMetadata.getAllAnnotationAttributes(String, boolean)
@Nullable public MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
AnnotatedTypeMetadata
AnnotatedTypeMetadata
の getAllAnnotationAttributes
annotationName
- 検索するアノテーション型の完全修飾クラス名 classValuesAsString
- クラス参照を文字列に変換するかどうか null
になります。AnnotatedTypeMetadata.getAllAnnotationAttributes(String)
public StringSE getDeclaringClassName()
MethodMetadata
MethodMetadata
の getDeclaringClassName
public StringSE getReturnTypeName()
MethodMetadata
MethodMetadata
の getReturnTypeName