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

Method getOuterProperty

src/main/java/groovy/lang/MetaClassImpl.java:2155–2169  ·  view source on GitHub ↗
(final Class<?> sender, final Object object, final String name, final MissingPropertyException mpe)

Source from the content-addressed store, hash-verified

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)) {
2157 var outerClass = getNonClosureOuter(sender); // check outer class nesting of call site
2158 if (outerClass != null && (sender == theClass || sender.isAssignableFrom(theClass))) {
2159 MetaClass omc = registry.getMetaClass(outerClass);
2160 Object target = getOuterReference(sender, object);
2161 try {
2162 return omc.getProperty(outerClass, target, name, false, false);
2163 } catch (MissingPropertyException e) {
2164 mpe.addSuppressed(e);
2165 }
2166 }
2167 }
2168 throw mpe;
2169 }
2170
2171 /**
2172 * Returns the effective readable meta property for a property access.

Callers 1

getPropertyMethod · 0.95

Calls 6

isGroovyObjectMethod · 0.95
getNonClosureOuterMethod · 0.95
getOuterReferenceMethod · 0.95
getPropertyMethod · 0.95
getMetaClassMethod · 0.65
isAssignableFromMethod · 0.45

Tested by

no test coverage detected