summaryrefslogtreecommitdiff
path: root/test/files/run/t2464/Connect.java
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-06-06 19:01:48 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-06-06 19:01:48 +0200
commit2a19cd56258884e25f26565d7b865cc2ec931b23 (patch)
tree699ce548bdc6a2cd63b4a4ab448036681bc7a2f8 /test/files/run/t2464/Connect.java
parent5312d6305530eb14d369d0f4acaf7ca4e278ea72 (diff)
downloadscala-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.java20
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
+ }
+}