MCPcopy Index your code
hub / github.com/apache/groovy / getClassProperty

Method getClassProperty

src/main/java/groovy/lang/MetaClassImpl.java:2129–2153  ·  view source on GitHub ↗
(final Class<?> sender, final Class<?> receiver, final String name)

Source from the content-addressed store, hash-verified

2127 }
2128
2129 private Object getClassProperty(final Class<?> sender, final Class<?> receiver, final String name) throws MissingPropertyException {
2130 try {
2131 MetaClass cmc = registry.getMetaClass(Class.class);
2132 return cmc.getProperty(Class.class, receiver, name, false, false);
2133 } catch (MissingPropertyException ignored) {
2134 }
2135
2136 try {
2137 // try $static_propertyMissing / throw MissingPropertyException
2138 return invokeStaticMissingProperty(receiver, name, null, true);
2139 } catch (MissingPropertyException missing) {
2140 if (isGroovyObject()) { // GROOVY-11823, et al.
2141 var outerClass = getNonClosureOuter(theClass);
2142 if (outerClass != null && sender.isNestmateOf(outerClass)) {
2143 try {
2144 MetaClass omc = registry.getMetaClass(outerClass);
2145 return omc.getProperty(sender, outerClass, name, false, false);
2146 } catch (MissingPropertyException mpe) {
2147 missing.addSuppressed(mpe);
2148 }
2149 }
2150 }
2151 throw missing;
2152 }
2153 }
2154
2155 private Object getOuterProperty(final Class<?> sender, final Object object, final String name, final MissingPropertyException mpe) {
2156 if (sender == theClass ? isGroovyObject() : GroovyObject.class.isAssignableFrom(sender)) {

Callers 1

getPropertyMethod · 0.95

Calls 5

getPropertyMethod · 0.95
isGroovyObjectMethod · 0.95
getNonClosureOuterMethod · 0.95
getMetaClassMethod · 0.65

Tested by

no test coverage detected