diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-06-06 19:01:48 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-06-06 19:01:48 +0200 |
commit | 2a19cd56258884e25f26565d7b865cc2ec931b23 (patch) | |
tree | 699ce548bdc6a2cd63b4a4ab448036681bc7a2f8 /test/files/run/t2464/Connect.java | |
parent | 5312d6305530eb14d369d0f4acaf7ca4e278ea72 (diff) | |
download | scala-2a19cd56258884e25f26565d7b865cc2ec931b23.tar.gz scala-2a19cd56258884e25f26565d7b865cc2ec931b23.tar.bz2 scala-2a19cd56258884e25f26565d7b865cc2ec931b23.zip |
SI-2464 Resiliance against missing InnerClass attributes
A classfile in the wild related to Vaadin lacked the InnerClasses
attribute. As such, our class file parser treated a nested enum
class as top-level, which led to a crash when trying to find its
linked module.
More details of the investigation are available in the JIRA comments.
The test introduces a new facility to rewrite classfiles.
This commit turns this situation into a logged warning, rather
than crashing. Code by @paulp, test by yours truly.
Diffstat (limited to 'test/files/run/t2464/Connect.java')
-rw-r--r-- | test/files/run/t2464/Connect.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/run/t2464/Connect.java b/test/files/run/t2464/Connect.java new file mode 100644 index 0000000000..59349f94c8 --- /dev/null +++ b/test/files/run/t2464/Connect.java @@ -0,0 +1,20 @@ +package test; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface Connect { + + LoadStyle loadStyle() default LoadStyle.EAGER; + + public enum LoadStyle { + EAGER, + DEFERRED, + LAZY + } +} |