in analyzer/src/main/java/com/android/tools/sizereduction/analyzer/model/GroovyGradleParser.java [125:150]
public void visitMethodCallExpression(MethodCallExpression expression) {
// get initial parent, parentParent values.
String parent =
methodCallStack.size() < 1 ? "" : Iterables.getLast(methodCallStack).getMethodAsString();
String parentParent = getParentParent();
methodCallStack.add(expression);
if (expression.getArguments() instanceof ArgumentListExpression) {
Expression objectExpression = expression.getObjectExpression();
String newParent = getValidParentString(objectExpression);
if (newParent != null) {
parentParent = parent;
parent = newParent;
if (objectExpression instanceof PropertyExpression) {
String newParentParent =
getValidParentString(((PropertyExpression) objectExpression).getObjectExpression());
if (newParentParent != null) {
parentParent = newParentParent;
}
}
}
checkDslProperty(expression, parent, parentParent);
}
super.visitMethodCallExpression(expression);
methodCallStack.remove(methodCallStack.size() - 1);
}