MCPcopy Index your code
hub / github.com/antlr/codebuff / findMember

Method findMember

output/java8/1.4.13/ObjectModelAdaptor.java:83–120  ·  view source on GitHub ↗
(Class<?> clazz, String memberName)

Source from the content-addressed store, hash-verified

81 }
82
83 protected static Member findMember(Class<?> clazz, String memberName) {
84 if ( clazz==null ) {
85 throw new NullPointerException("clazz");
86 }
87 if ( memberName==null ) {
88 throw new NullPointerException("memberName");
89 }
90 synchronized (membersCache) {
91 Map<String, Member> members = membersCache.get(clazz);
92 Member member;
93 if ( members!=null ) {
94 member = members.get(memberName);
95 if ( member!=null ) {
96 return member!= INVALID_MEMBER ? member : null;
97 }
98 }
99 else {
100 members = new HashMap<String, Member>();
101 membersCache.put(clazz, members);
102 }
103
104 // try getXXX and isXXX properties, look up using reflection
105 String methodSuffix = Character.toUpperCase(memberName.charAt(0))+memberName.substring(1, memberName.length());
106 member = tryGetMethod(clazz, "get"+methodSuffix);
107 if ( member==null ) {
108 member = tryGetMethod(clazz, "is"+methodSuffix);
109 if ( member==null ) {
110 member = tryGetMethod(clazz, "has"+methodSuffix);
111 }
112 }
113 if ( member==null ) {
114 // try for a visible field
115 member = tryGetField(clazz, memberName);
116 }
117 members.put(memberName, member!=null ? member : INVALID_MEMBER);
118 return member;
119 }
120 }
121
122 protected static Method tryGetMethod(Class<?> clazz, String methodName) {
123 try {

Callers 1

getPropertyMethod · 0.95

Calls 6

tryGetMethodMethod · 0.95
tryGetFieldMethod · 0.95
getMethod · 0.65
putMethod · 0.65
toUpperCaseMethod · 0.45
lengthMethod · 0.45

Tested by

no test coverage detected