Skip to content

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