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

Method findMember

output/java/1.4.17/ObjectModelAdaptor.java:84–123  ·  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 =
107 Character.toUpperCase(memberName.charAt(0))+
108 memberName.substring(1, memberName.length());
109 member = tryGetMethod(clazz, "get"+methodSuffix);
110 if ( member==null ) {
111 member = tryGetMethod(clazz, "is"+methodSuffix);
112 if ( member==null ) {
113 member = tryGetMethod(clazz, "has"+methodSuffix);
114 }
115 }
116 if ( member==null ) {
117 // try for a visible field
118 member = tryGetField(clazz, memberName);
119 }
120 members.put(memberName, member !=null ?member : INVALID_MEMBER);
121 return member;
122 }
123 }
124
125 protected static Method tryGetMethod(Class<?> clazz, String methodName) {
126 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