Holds metadata about methods of a class encountered during a scan. All values are taken directly out of the classfile for the class.
| 52 | * classfile for the class. |
| 53 | */ |
| 54 | public class MethodInfo extends ClassMemberInfo implements Comparable<MethodInfo> { |
| 55 | /** The parsed type descriptor. */ |
| 56 | private transient MethodTypeSignature typeDescriptor; |
| 57 | |
| 58 | /** The parsed type signature (or null if none). Method parameter types are unaligned. */ |
| 59 | private transient MethodTypeSignature typeSignature; |
| 60 | |
| 61 | /** |
| 62 | * Unaligned parameter names. These are only produced in JDK8+, and only if the commandline switch `-parameters` |
| 63 | * is provided at compiletime. |
| 64 | */ |
| 65 | private String[] parameterNames; |
| 66 | |
| 67 | /** |
| 68 | * Unaligned parameter modifiers. These are only produced in JDK8+, and only if the commandline switch |
| 69 | * `-parameters` is provided at compiletime. |
| 70 | */ |
| 71 | private int[] parameterModifiers; |
| 72 | |
| 73 | /** Unaligned parameter annotations. */ |
| 74 | AnnotationInfo[][] parameterAnnotationInfo; |
| 75 | |
| 76 | /** Aligned method parameter info. */ |
| 77 | private transient MethodParameterInfo[] parameterInfo; |
| 78 | |
| 79 | /** True if this method has a body. */ |
| 80 | private boolean hasBody; |
| 81 | |
| 82 | /** The minimum line number for the body of this method, or 0 if unknown. */ |
| 83 | private int minLineNum; |
| 84 | |
| 85 | /** The maximum line number for the body of this method, or 0 if unknown. */ |
| 86 | private int maxLineNum; |
| 87 | |
| 88 | /** The type annotation decorators for the {@link MethodTypeSignature} instance. */ |
| 89 | private transient List<MethodTypeAnnotationDecorator> typeAnnotationDecorators; |
| 90 | |
| 91 | private String[] thrownExceptionNames; |
| 92 | |
| 93 | private transient ClassInfoList thrownExceptions; |
| 94 | |
| 95 | // ------------------------------------------------------------------------------------------------------------- |
| 96 | |
| 97 | /** Default constructor for deserialization. */ |
| 98 | MethodInfo() { |
| 99 | super(); |
| 100 | } |
| 101 | |
| 102 | /** |
| 103 | * Constructor. |
| 104 | * |
| 105 | * @param definingClassName |
| 106 | * The name of the enclosing class. |
| 107 | * @param methodName |
| 108 | * The name of the method. |
| 109 | * @param methodAnnotationInfo |
| 110 | * The list of {@link AnnotationInfo} objects for any annotations on the method. |
| 111 | * @param modifiers |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…