Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SI-9268 Be robust against absent classfiles during signature parsing #4457

Merged
merged 1 commit into from
Apr 21, 2015

Conversation

retronym
Copy link
Member

When parsing a Java generic signature that references an inner
class A$B, we were tripping an assertion if the enclosing class
A was absent.

This commit creates a stub symbol for B when this happens, rather
than continuing on with NoSymbol.

The enclosed test shows that we can instantiate a class containing
a method referring to such an inner class with only a warning
about the absent classfile, and that an error is issued only upon
a subsequent attempt to call the method.

Review by @lrytz

When parsing a Java generic signature that references an inner
class `A$B`, we were tripping an assertion if the enclosing class
`A` was absent.

This commit creates a stub symbol for `B` when this happens, rather
than continuing on with `NoSymbol`.

The enclosed test shows that we can instantiate a class containing
a method referring to such an inner class with only a warning
about the absent classfile, and that an error is issued only upon
a subsequent attempt to call the method.
@scala-jenkins scala-jenkins added this to the 2.11.7 milestone Apr 21, 2015
@lrytz
Copy link
Member

lrytz commented Apr 21, 2015

LGTM

adriaanm added a commit that referenced this pull request Apr 21, 2015
SI-9268 Be robust against absent classfiles during signature parsing
@adriaanm adriaanm merged commit 906584d into scala:2.11.x Apr 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants