pascal-lab/Tai-e

Method resolution is null

Closed this issue · 5 comments

I get exception here when analyzing some library:

throw new MethodResolutionFailedException(
.

arguments are:

-pp
-ap
-scope
ALL
-a
pta=implicit-entries:false;only-app:false;handle-invokedynamic:true;cs:2-type;dump:false;reflection-inference:solar;handle-invokedynamic:true;merge-string-objects:false;distinguish-string-constants:all
-a
cg=dump-call-edges:true

The class (defined as phantom) I get the exception on is not in classpath, so I thought the -ap should have handled this method resolution somehow.
Similar to what it does here:

Thanks for your issue.

There is indeed an inconsistency in phantom field and method processing here.

Just let you know we are working for this.

ok thanks

Where did you encounter the exception? Is it thrown by Tai-e's code or your analysis?

The exception is thrown here:

throw new MethodResolutionFailedException(

The method I am trying to resolve is from my application code

Thanks for your info. We will fix this issue in our new front end, but we may not fix it in current master branch, as it will cause conflicts later when we merge new front end. You could use MethodRef.resolveNullable(), which doesn't throw exception, and returns null instead.