boolean (@Nullable GrExpression exp, GrMethod method) { if (exp == null) { return false; } if (exp instanceof GrLiteral) { return false; } if (exp instanceof GrMethodCallExpression) { return methodCallExpressionDefinitelyRecurses( (GrMethodCallExpression) exp, method); } if (exp instanceof GrNewExpression) { return callExpressionDefinitelyRecurses( (GrNewExpression) exp, method); } if (exp instanceof GrAssignmentExpression) { return assignmentExpressionDefinitelyRecurses( (GrAssignmentExpression) exp, method); } if (exp instanceof GrArrayDeclaration) { return arrayInitializerExpressionDefinitelyRecurses( (GrArrayDeclaration) exp, method); } if (exp instanceof GrTypeCastExpression) { return typeCastExpressionDefinitelyRecurses( (GrTypeCastExpression) exp, method); } if (exp instanceof GrIndexProperty) { return arrayAccessExpressionDefinitelyRecurses((GrIndexProperty) exp, method); } if (exp instanceof GrUnaryExpression) { return unaryExpressionDefinitelyRecurses( (GrUnaryExpression) exp, method); } if (exp instanceof GrBinaryExpression) { return binaryExpressionDefinitelyRecurses( (GrBinaryExpression) exp, method); } if (exp instanceof GrInstanceOfExpression) { return instanceOfExpressionDefinitelyRecurses( (GrInstanceOfExpression) exp, method); } if (exp instanceof GrElvisExpression) { return elvisExpressionDefinitelyRecurses( (GrElvisExpression) exp, method); } if (exp instanceof GrConditionalExpression) { return conditionalExpressionDefinitelyRecurses( (GrConditionalExpression) exp, method); } if (exp instanceof GrParenthesizedExpression) { return parenthesizedExpressionDefinitelyRecurses( (GrParenthesizedExpression) exp, method); } if (exp instanceof GrReferenceExpression) { return referenceExpressionDefinitelyRecurses( (GrReferenceExpression) exp, method); } return false; }