diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-04-21 11:52:39 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-04-21 12:02:36 +1000 |
commit | c51080b78385402c941e5280d1740406ea8702d0 (patch) | |
tree | 7ddf795eca3644d17576e62bc2aedb80ca09d9cb /test/files/run/t9268.check | |
parent | 555f8f09c90b7014f153488e442f2d107b18b6e5 (diff) | |
download | scala-c51080b78385402c941e5280d1740406ea8702d0.tar.gz scala-c51080b78385402c941e5280d1740406ea8702d0.tar.bz2 scala-c51080b78385402c941e5280d1740406ea8702d0.zip |
SI-9268 Be robust against absent classfiles during signature parsing
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.
Diffstat (limited to 'test/files/run/t9268.check')
-rw-r--r-- | test/files/run/t9268.check | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/files/run/t9268.check b/test/files/run/t9268.check new file mode 100644 index 0000000000..90ef940eb3 --- /dev/null +++ b/test/files/run/t9268.check @@ -0,0 +1,5 @@ +Compiling Client1 +pos: NoPosition Class Waiter not found - continuing with a stub. WARNING +Compiling Client2 +pos: NoPosition Class Waiter not found - continuing with a stub. WARNING +pos: NoPosition Unable to locate class corresponding to inner class entry for Predicate in owner Waiter ERROR |