MCPcopy Index your code
hub / github.com/classgraph/classgraph / MethodInfo

Class MethodInfo

src/main/java/io/github/classgraph/MethodInfo.java:54–1091  ·  view source on GitHub ↗

Holds metadata about methods of a class encountered during a scan. All values are taken directly out of the classfile for the class.

Source from the content-addressed store, hash-verified

52 * classfile for the class.
53 */
54public 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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…