Commit 3aea776
committed
Invalidate symbols for artifact classfiles, refactor classfile parser
No longer run the classfile parser on Scala generated classfiles that
don't have a Scala signature (module classes, inner classes, etc).
Various cleanups in the classfile parser, minimize the work performed
on Scala classfiles. Before, the attributes section was parsed twice:
once to find the ScalaSig attribute, the second time to find the
ScalaSignature in the RuntimeVisibleAnnotations. Now everything happens
in the first iteration.
Also fixes a bug in the backend: classes ending in `$` did not get a
ScalaSignature by mistake. They were filtered out by the name-based
test that is supposed to identify module classes.1 parent e216e0e commit 3aea776
File tree
6 files changed
+272
-236
lines changed- src/compiler/scala/tools/nsc
- backend/jvm
- symtab/classfile
- test
- files/neg
- junit/scala/tools/nsc/backend/jvm
6 files changed
+272
-236
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
501 | 501 | | |
502 | 502 | | |
503 | 503 | | |
504 | | - | |
| 504 | + | |
505 | 505 | | |
506 | 506 | | |
507 | 507 | | |
| |||
0 commit comments