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

Method findMember

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

Source from the content-addressed store, hash-verified

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