From 67c73e2ce2fa80249563260a3a58473dd5ec20a4 Mon Sep 17 00:00:00 2001 From: Maarten Coene Date: Fri, 24 May 2019 10:15:09 +0200 Subject: [PATCH] Return early when searching for a method without parameters --- .../javassistmodel/JavassistClassDeclaration.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistClassDeclaration.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistClassDeclaration.java index a4b7e1a899..fbd0b32e91 100644 --- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistClassDeclaration.java +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistClassDeclaration.java @@ -203,7 +203,13 @@ public SymbolReference solveMethod(String name, List< boolean isSynthetic = method.getMethodInfo().getAttribute(SyntheticAttribute.tag) != null; boolean isNotBridge = (method.getMethodInfo().getAccessFlags() & AccessFlag.BRIDGE) == 0; if (method.getName().equals(name) && !isSynthetic && isNotBridge && staticOnlyCheck.test(method)) { - candidates.add(new JavassistMethodDeclaration(method, typeSolver)); + ResolvedMethodDeclaration candidate = new JavassistMethodDeclaration(method, typeSolver); + candidates.add(candidate); + + // no need to search for overloaded/inherited methods if the method has no parameters + if (argumentsTypes.isEmpty() && candidate.getNumberOfParams() == 0) { + return SymbolReference.solved(candidate); + } } }