public static MethodUsage toMethodUsage(MethodCallExpr call, ResolvedMethodDeclaration methodDeclaration, TypeSolver typeSolver) {
        TypeInference typeInference = new TypeInference(typeSolver);
        Optional<InstantiationSet> instantiationSetOpt = typeInference.instantiationInference(call, methodDeclaration);
        if (instantiationSetOpt.isPresent()) {
            return instantiationSetToMethodUsage(methodDeclaration, instantiationSetOpt.get());
        } else {
            throw new IllegalArgumentException();
        }
    }
public static MethodUsage toMethodUsage(MethodCallExpr call, ResolvedMethodDeclaration methodDeclaration, TypeSolver typeSolver) {
        TypeInference typeInference = new TypeInference(typeSolver);
        Optional<InstantiationSet> instantiationSetOpt = typeInference.instantiationInference(call, methodDeclaration);
        if (instantiationSetOpt.isPresent()) {
            return instantiationSetToMethodUsage(methodDeclaration, instantiationSetOpt.get());
        } else {
            throw new IllegalArgumentException();
        }
    }
public static MethodUsage toMethodUsage ( MethodCallExpr call , ResolvedMethodDeclaration methodDeclaration , TypeSolver typeSolver ) { TypeInference typeInference = new TypeInference ( typeSolver ) ; Optional < InstantiationSet > instantiationSetOpt = typeInference . instantiationInference ( call , methodDeclaration ) ; if ( instantiationSetOpt . isPresent ( ) ) { return instantiationSetToMethodUsage ( methodDeclaration , instantiationSetOpt . get ( ) ) ; } else { throw new IllegalArgumentException ( ) ; } }
/
/