Skip to content

Commit 40d5d89

Browse files
committed
GROOVY-11841: reduce nesting and mutation
1 parent 9b1cdd0 commit 40d5d89

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

src/main/java/groovy/lang/MetaClassImpl.java

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -288,25 +288,35 @@ public MetaProperty hasProperty(final Object obj, final String name) {
288288
*/
289289
@Override
290290
public MetaProperty getMetaProperty(final String name) {
291-
MetaProperty metaProperty = null;
292-
293-
Map<String, MetaProperty> propertyMap = subMap(classPropertyIndex, theCachedClass);
294-
metaProperty = propertyMap.get(name);
295-
if (metaProperty == null) {
296-
metaProperty = staticPropertyIndex.get(name);
297-
if (metaProperty == null) {
298-
propertyMap = subMap(classPropertyIndexForSuper, theCachedClass);
299-
metaProperty = propertyMap.get(name);
300-
if (metaProperty == null) {
301-
MetaBeanProperty property = findPropertyInClassHierarchy(name, theCachedClass);
302-
if (property != null) {
303-
onSuperPropertyFoundInHierarchy(property);
304-
metaProperty = property;
305-
}
306-
}
291+
MetaProperty metaProperty;
292+
293+
var propertyMap = classPropertyIndex.get(theCachedClass);
294+
if (propertyMap != null) {
295+
metaProperty = propertyMap.get(name);
296+
if (metaProperty != null) {
297+
return metaProperty;
298+
}
299+
}
300+
301+
metaProperty = staticPropertyIndex.get(name);
302+
if (metaProperty != null) {
303+
return metaProperty;
304+
}
305+
306+
propertyMap = classPropertyIndexForSuper.get(theCachedClass);
307+
if (propertyMap != null) {
308+
metaProperty = propertyMap.get(name);
309+
if (metaProperty != null) {
310+
return metaProperty;
307311
}
308312
}
309313

314+
var metaBeanProperty = findPropertyInClassHierarchy(name, theCachedClass);
315+
if (metaBeanProperty != null) {
316+
metaProperty = metaBeanProperty;
317+
onSuperPropertyFoundInHierarchy(metaBeanProperty);
318+
}
319+
310320
return metaProperty;
311321
}
312322

0 commit comments

Comments
 (0)