summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-09-29 12:45:53 +0000
committerMartin Odersky <odersky@gmail.com>2011-09-29 12:45:53 +0000
commit4529141cc154a9d7359e16344d7a318ca529f89f (patch)
tree478616804b5d720036f1281548eb28ce786e9672
parent02ac8de5c018a38e8262795010ed980dad9245b3 (diff)
downloadscala-4529141cc154a9d7359e16344d7a318ca529f89f.tar.gz
scala-4529141cc154a9d7359e16344d7a318ca529f89f.tar.bz2
scala-4529141cc154a9d7359e16344d7a318ca529f89f.zip
Following Paul's detective work, fixed Java cla...
Following Paul's detective work, fixed Java class loading in reflection. Moved test code.scala into checkin build. Yay!
-rw-r--r--src/compiler/scala/reflect/runtime/JavaToScala.scala2
-rw-r--r--test/files/run/code.check18
-rw-r--r--test/files/run/code.scala (renamed from test/disabled/run/code.scala)0
3 files changed, 19 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/runtime/JavaToScala.scala b/src/compiler/scala/reflect/runtime/JavaToScala.scala
index 3d295e3ff9..f1eedbcf30 100644
--- a/src/compiler/scala/reflect/runtime/JavaToScala.scala
+++ b/src/compiler/scala/reflect/runtime/JavaToScala.scala
@@ -36,7 +36,7 @@ trait JavaToScala extends ConversionUtil { self: SymbolTable =>
* Can you check with your newly acquired classloader fu whether this implementation makes sense?
*/
def javaClass(path: String): jClass[_] =
- jClass.forName(path, false, java.lang.ClassLoader.getSystemClassLoader)
+ jClass.forName(path, false, getClass.getClassLoader)
/** Does `path` correspond to a Java class with that fully qualified name? */
def isJavaClass(path: String): Boolean =
diff --git a/test/files/run/code.check b/test/files/run/code.check
new file mode 100644
index 0000000000..4bc36424ee
--- /dev/null
+++ b/test/files/run/code.check
@@ -0,0 +1,18 @@
+testing: ((x: Int) => x.$plus(ys.length))
+result = ((x: Int) => x.+{(x: <?>)Int}(ys.length{Int}){Int}){Int => Int}
+testing: (() => {
+ val e: Element = new Element("someName");
+ e
+})
+result = (() => {
+ val e: Element = new Element{Element}{(name: <?>)Element}("someName"{java.lang.String("someName")}){Element};
+ e{Element}
+}{Element}){() => Element}
+testing: (() => truc.elem = 6)
+result = (() => truc.elem{Int} = 6{Int(6)}{Unit}){() => Unit}
+testing: (() => truc.elem = truc.elem.$plus(6))
+result = (() => truc.elem{Int} = truc.elem.+{(x: <?>)Int}(6{Int(6)}){Int}{Unit}){() => Unit}
+testing: (() => new baz.BazElement("someName"))
+result = (() => new baz.BazElement{baz.BazElement}{(name: <?>)baz.BazElement}("someName"{java.lang.String("someName")}){baz.BazElement}){() => baz.BazElement}
+testing: ((x: Int) => x.$plus(ys.length))
+result = ((x: Int) => x.+{(x: <?>)Int}(ys.length{Int}){Int}){Int => Int}
diff --git a/test/disabled/run/code.scala b/test/files/run/code.scala
index 8881c2eda8..8881c2eda8 100644
--- a/test/disabled/run/code.scala
+++ b/test/files/run/code.scala