@@ -38,25 +38,16 @@ public SubtypingCheckVisitor(Map<String, Map<Integer, Type>> methodParams,
3838
3939 public void visit (MethodCallExpr methodCall , Void arg ) {
4040 super .visit (methodCall , arg );
41- if (!methodParams .containsKey (methodCall .getNameAsString ())) {
42- messager .printMessage (Kind .NOTE , "Don't have key for method: " + methodCall .getNameAsString ());
41+ if (!methodParams .containsKey (methodCall .getNameAsString ()))
4342 return ;
44- }
4543 // ResolvedMethodDeclaration methodDeclaration = methodCall.resolve();
4644 for (int i = 0 ; i < methodCall .getArguments ().size (); ++i ) {
47- try {
48- ResolvedType argumentType = methodCall .getArgument (i ).calculateResolvedType (),
49- parameterType = methodParams .get (methodCall .getNameAsString ()).get (i ).resolve ();
50- if (!argumentType .isReferenceType () || !parameterType .isReferenceType ())
51- continue ;
52- boolean valid = isValidSubtype (parameterType , argumentType );
53- if (!valid )
54- messager .printMessage (Kind .ERROR ,
55- String .format ("Invalid subtype for method call: %s" , methodCall .toString ()));
56- } catch (Exception e ) {
57- messager .printMessage (Kind .NOTE , methodCall .getArguments ().toString ());
58- messager .printMessage (Kind .NOTE , methodParams .get (methodCall .getNameAsString ()).toString ());
59- }
45+ ResolvedType argumentType = methodCall .getArgument (i ).calculateResolvedType (),
46+ parameterType = methodParams .get (methodCall .getNameAsString ()).get (i ).resolve ();
47+ boolean valid = isValidSubtype (parameterType , argumentType );
48+ if (!valid )
49+ messager .printMessage (Kind .ERROR ,
50+ String .format ("Invalid subtype for method call: %s" , methodCall .toString ()));
6051 }
6152 }
6253
0 commit comments