@Override public boolean matches(CtBehavior ctBehavior) { boolean classMatches = true; boolean methodMatches = true; boolean parameterMatches = true; CtClass declaringClass = ctBehavior.getDeclaringClass(); String name = declaringClass.getName(); if (!classPattern.matcher(name).matches()) { classMatches = false; } String methodName = ctBehavior.getName(); if (!methodPattern.matcher(methodName).matches()) { methodMatches = false; } SignatureParser signatureParser = new SignatureParser(); signatureParser.parse(ctBehavior.getSignature()); List<String> parameters = signatureParser.getParameters(); if (parameters.size() != parameterPatterns.size()) { parameterMatches = false; } else { for (int i = 0; i < parameters.size(); i++) { Pattern pattern = parameterPatterns.get(i); if (!pattern.matcher(parameters.get(i)).matches()) { parameterMatches = false; } } } return (classMatches && methodMatches && parameterMatches); }
@Override public boolean matches(CtBehavior ctBehavior) { boolean classMatches = true; boolean methodMatches = true; boolean parameterMatches = true; CtClass declaringClass = ctBehavior.getDeclaringClass(); String name = declaringClass.getName(); if (!classPattern.matcher(name).matches()) { classMatches = false; } String methodName = ctBehavior.getName(); if (!methodPattern.matcher(methodName).matches()) { methodMatches = false; } SignatureParser signatureParser = new SignatureParser(); signatureParser.parse(ctBehavior.getSignature()); List<String> parameters = signatureParser.getParameters(); if (parameters.size() != parameterPatterns.size()) { parameterMatches = false; } else { for (int i = 0; i < parameters.size(); i++) { Pattern pattern = parameterPatterns.get(i); if (!pattern.matcher(parameters.get(i)).matches()) { parameterMatches = false; } } } return (classMatches && methodMatches && parameterMatches); }
private Optional<CtMethod> findMatchingMethod(CtMethod method, List<CtMethod> candidates) { Optional<CtMethod> found = Optional.absent(); SignatureParser methodSignatureParser = new SignatureParser(); methodSignatureParser.parse(method.getSignature()); List<CtMethod> methodsWithSameParameters = new ArrayList<>(); for (CtMethod candidate : candidates) { List<String> probeParameters = methodSignatureParser.getParameters(); SignatureParser candidateSignatureParser = new SignatureParser(); candidateSignatureParser.parse(candidate.getSignature()); List<String> candidateParameters = candidateSignatureParser.getParameters(); if (probeParameters.size() != candidateParameters.size()) { for (CtMethod candidate : methodsWithSameParameters) { SignatureParser candidateSignatureParser = new SignatureParser(); candidateSignatureParser.parse(candidate.getSignature()); String candidateReturnType = candidateSignatureParser.getReturnType(); if (probeReturnType.equals(candidateReturnType)) {
private Optional<CtMethod> findMatchingMethod(CtMethod method, List<CtMethod> candidates) { Optional<CtMethod> found = Optional.absent(); SignatureParser methodSignatureParser = new SignatureParser(); methodSignatureParser.parse(method.getSignature()); List<CtMethod> methodsWithSameParameters = new ArrayList<>(); for (CtMethod candidate : candidates) { List<String> probeParameters = methodSignatureParser.getParameters(); SignatureParser candidateSignatureParser = new SignatureParser(); candidateSignatureParser.parse(candidate.getSignature()); List<String> candidateParameters = candidateSignatureParser.getParameters(); if (probeParameters.size() != candidateParameters.size()) { for (CtMethod candidate : methodsWithSameParameters) { SignatureParser candidateSignatureParser = new SignatureParser(); candidateSignatureParser.parse(candidate.getSignature()); String candidateReturnType = candidateSignatureParser.getReturnType(); if (probeReturnType.equals(candidateReturnType)) {