diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-03-11 22:12:11 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-03-13 22:24:03 +0100 |
commit | 6e79370294777421d6f01b8a635e71dc0e2454d6 (patch) | |
tree | 5f81d0c6da370953b074235d19b46f2b4e493dfe /test/files/pos/t7232 | |
parent | 2ff7650fb9f337dd123449e6cbcefc521cac8556 (diff) | |
download | scala-6e79370294777421d6f01b8a635e71dc0e2454d6.tar.gz scala-6e79370294777421d6f01b8a635e71dc0e2454d6.tar.bz2 scala-6e79370294777421d6f01b8a635e71dc0e2454d6.zip |
SI-7232 Fix Java import vs defn. binding precendence
Java Spec:
> A single-type-import declaration d in a compilation unit c
> of package p that imports a type named n shadows, throughout
> c, the declarations of:
> - any top level type named n declared in another compilation
> unit of p
> - any type named n imported by a type-import-on-demand
> declaration in c
> - any type named n imported by a static-import-on-demand
> declaration in c
Scala Spec:
> Bindings of different kinds have a precedence defined on them:
> 1. Definitions and declarations that are local, inherited, or made
> available by a package clause in the same compilation unit where
> the definition occurs have highest precedence.
> 2. Explicit imports have next highest precedence.
Diffstat (limited to 'test/files/pos/t7232')
-rw-r--r-- | test/files/pos/t7232/Foo.java | 9 | ||||
-rw-r--r-- | test/files/pos/t7232/List.java | 4 | ||||
-rw-r--r-- | test/files/pos/t7232/Test.scala | 5 |
3 files changed, 18 insertions, 0 deletions
diff --git a/test/files/pos/t7232/Foo.java b/test/files/pos/t7232/Foo.java new file mode 100644 index 0000000000..3478301b30 --- /dev/null +++ b/test/files/pos/t7232/Foo.java @@ -0,0 +1,9 @@ +package pack; + +import java.util.List; + +public class Foo { + public static java.util.List okay() { throw new Error(); } + + public static List wrong() { throw new Error(); } +} diff --git a/test/files/pos/t7232/List.java b/test/files/pos/t7232/List.java new file mode 100644 index 0000000000..e42c63aa67 --- /dev/null +++ b/test/files/pos/t7232/List.java @@ -0,0 +1,4 @@ +package pack; + +public class List { +} diff --git a/test/files/pos/t7232/Test.scala b/test/files/pos/t7232/Test.scala new file mode 100644 index 0000000000..49c3c12aed --- /dev/null +++ b/test/files/pos/t7232/Test.scala @@ -0,0 +1,5 @@ +object Test { + import pack._ + Foo.okay().size() + Foo.wrong().size() +} |