diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate.log new file mode 100644 index 000000000000..1c771cf7e8e7 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/HidePackagePrivateWithPackagePrivate/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePackagePrivateWithPackagePrivate/ppp/ClientInside.class +End of files +Compiling files: +src/ppp/ClientInside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Base.java new file mode 100644 index 000000000000..e50a7f8dd036 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4417f01a0bcd --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPackagePrivate/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected.log new file mode 100644 index 000000000000..89d890867561 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/HidePackagePrivateWithProtected/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePackagePrivateWithProtected/ppp/ClientInside.class +End of files +Compiling files: +src/ppp/ClientInside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Base.java new file mode 100644 index 000000000000..e50a7f8dd036 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4a38b80f2cdc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithProtected/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + protected String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic.log new file mode 100644 index 000000000000..ee40a1b27fe5 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/HidePackagePrivateWithPublic/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePackagePrivateWithPublic/ppp/ClientInside.class +End of files +Compiling files: +src/ppp/ClientInside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Base.java new file mode 100644 index 000000000000..e50a7f8dd036 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java.new new file mode 100644 index 000000000000..f8dd1d81506c --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePackagePrivateWithPublic/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + public String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate.log new file mode 100644 index 000000000000..f19b59652c22 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/HideProtectedWithPackagePrivate/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HideProtectedWithPackagePrivate/qqq/DerivedOutside.class +End of files +Compiling files: +src/qqq/DerivedOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Base.java new file mode 100644 index 000000000000..797ff7a8253d --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + protected String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4417f01a0bcd --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPackagePrivate/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected.log new file mode 100644 index 000000000000..b28b5d1920f8 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected.log @@ -0,0 +1,14 @@ +Cleaning output files: +out/production/HideProtectedWithProtected/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HideProtectedWithProtected/ppp/ClientInside.class +out/production/HideProtectedWithProtected/qqq/DerivedOutside.class +End of files +Compiling files: +src/ppp/ClientInside.java +src/qqq/DerivedOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Base.java new file mode 100644 index 000000000000..797ff7a8253d --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + protected String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4a38b80f2cdc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + protected String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithProtected/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic.log new file mode 100644 index 000000000000..bf6ec8fe0c74 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic.log @@ -0,0 +1,14 @@ +Cleaning output files: +out/production/HideProtectedWithPublic/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HideProtectedWithPublic/ppp/ClientInside.class +out/production/HideProtectedWithPublic/qqq/DerivedOutside.class +End of files +Compiling files: +src/ppp/ClientInside.java +src/qqq/DerivedOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Base.java new file mode 100644 index 000000000000..797ff7a8253d --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + protected String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java.new new file mode 100644 index 000000000000..f8dd1d81506c --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + public String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hideProtectedWithPublic/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate.log new file mode 100644 index 000000000000..ee14d2409df0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate.log @@ -0,0 +1,14 @@ +Cleaning output files: +out/production/HidePublicWithPackagePrivate/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePublicWithPackagePrivate/qqq/ClientOutside.class +out/production/HidePublicWithPackagePrivate/qqq/DerivedOutside.class +End of files +Compiling files: +src/qqq/ClientOutside.java +src/qqq/DerivedOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Base.java new file mode 100644 index 000000000000..10e247c78830 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + public String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4417f01a0bcd --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/ClientOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/ClientOutside.java new file mode 100644 index 000000000000..89f78710501e --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/ClientOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class ClientOutside { + void foo(Derived d) { + String str = d.x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPackagePrivate/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected.log new file mode 100644 index 000000000000..d991690d3cf6 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/HidePublicWithProtected/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePublicWithProtected/qqq/ClientOutside.class +End of files +Compiling files: +src/qqq/ClientOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Base.java new file mode 100644 index 000000000000..10e247c78830 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + public String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java.new new file mode 100644 index 000000000000..4a38b80f2cdc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + protected String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/ClientOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/ClientOutside.java new file mode 100644 index 000000000000..89f78710501e --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/ClientOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class ClientOutside { + void foo(Derived d) { + String str = d.x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithProtected/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic.log new file mode 100644 index 000000000000..29335dd08931 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic.log @@ -0,0 +1,16 @@ +Cleaning output files: +out/production/HidePublicWithPublic/ppp/Derived.class +End of files +Compiling files: +src/ppp/Derived.java +End of files +Cleaning output files: +out/production/HidePublicWithPublic/ppp/ClientInside.class +out/production/HidePublicWithPublic/qqq/ClientOutside.class +out/production/HidePublicWithPublic/qqq/DerivedOutside.class +End of files +Compiling files: +src/ppp/ClientInside.java +src/qqq/ClientOutside.java +src/qqq/DerivedOutside.java +End of files \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Base.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Base.java new file mode 100644 index 000000000000..10e247c78830 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Base.java @@ -0,0 +1,5 @@ +package ppp; + +public class Base { + public String x = "base"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/ClientInside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/ClientInside.java new file mode 100644 index 000000000000..b7ae0c25f7bc --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/ClientInside.java @@ -0,0 +1,7 @@ +package ppp; + +public class ClientInside { + void foo(Derived d) { + String str = d.x; + } +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java new file mode 100644 index 000000000000..9e4ccbd0bd08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java @@ -0,0 +1,4 @@ +package ppp; + +public class Derived extends Base{ +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java.new new file mode 100644 index 000000000000..f8dd1d81506c --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/ppp/Derived.java.new @@ -0,0 +1,5 @@ +package ppp; + +public class Derived extends Base{ + public String x = "derived"; +} diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/ClientOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/ClientOutside.java new file mode 100644 index 000000000000..89f78710501e --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/ClientOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class ClientOutside { + void foo(Derived d) { + String str = d.x; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/DerivedOutside.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/DerivedOutside.java new file mode 100644 index 000000000000..0630e68ddcd0 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/hidePublicWithPublic/src/qqq/DerivedOutside.java @@ -0,0 +1,8 @@ +package qqq; +import ppp.*; + +public class DerivedOutside extends Derived{ + void foo() { + String str = x; + } +} \ No newline at end of file diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java index 92de13d228b7..8683d1a48a9f 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java @@ -1618,38 +1618,35 @@ public class Mappings { for (final Pair p : overriddenFields) { final FieldRepr ff = p.first; final ClassRepr cc = p.second; - - if (!ff.isPrivate()) { + if (ff.isPrivate()) { + continue; + } + final boolean sameKind = f.myType.equals(ff.myType) && f.isStatic() == ff.isStatic() && f.isSynthetic() == ff.isSynthetic() && f.isFinal() == ff.isFinal(); + if (!sameKind || Difference.weakerAccess(f.access, ff.access)) { final TIntHashSet propagated = myPresent.propagateFieldAccess(ff.name, cc.name); - final Set localUsages = new HashSet<>(); + final Set affectedUsages = new HashSet<>(); debug("Affecting usages of overridden field in class ", cc.name); - myFuture.affectFieldUsages(ff, propagated, ff.createUsage(myContext, cc.name), localUsages, state.myDependants); + myFuture.affectFieldUsages(ff, propagated, ff.createUsage(myContext, cc.name), affectedUsages, state.myDependants); - if (f.isPrivate() || (f.isPublic() && (ff.isPublic() || ff.isPackageLocal())) || (f.isProtected() && ff.isProtected()) || (f.isPackageLocal() && ff.isPackageLocal())) { - // nothing - } - else { - UsageConstraint constraint; - - if ((ff.isProtected() && f.isPublic()) || (f.isProtected() && ff.isPublic()) || (ff.isPackageLocal() && f.isProtected())) { - constraint = myFuture.new InheritanceConstraint(cc).negate(); + if (sameKind) { + // check if we can reduce the number of usages going to be recompiled + UsageConstraint constraint = null; + if (f.isProtected()) { + // no need to recompile usages in field class' package and hierarchy, since newly added field is accessible in this scope + constraint = myFuture.new InheritanceConstraint(cc); } - else if (ff.isPublic() && ff.isPackageLocal()) { - constraint = myFuture.new PackageConstraint(cc.getPackageName()).negate(); + else if (f.isPackageLocal()) { + // no need to recompile usages in field class' package, since newly added field is accessible in this scope + constraint = myFuture.new PackageConstraint(cc.getPackageName()); } - else { - final Util.InheritanceConstraint inherit = myFuture.new InheritanceConstraint(cc); - final Util.PackageConstraint matchPackage = myFuture.new PackageConstraint(cc.getPackageName()); - constraint = inherit.negate().and(matchPackage.negate()); - } - - for (final UsageRepr.Usage usage : localUsages) { - state.myUsageConstraints.put(usage, constraint); + if (constraint != null) { + for (final UsageRepr.Usage usage : affectedUsages) { + state.myUsageConstraints.put(usage, constraint); + } } } - - state.myAffectedUsages.addAll(localUsages); + state.myAffectedUsages.addAll(affectedUsages); } } } diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java index 100c6793e8f9..6774f8832f96 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java @@ -54,4 +54,40 @@ public class FieldModifierTest extends IncrementalTestCase { public void testUnsetStaticFinal() { doTest(); } + + public void testHidePackagePrivateWithPackagePrivate() { + doTest(); + } + + public void testHidePackagePrivateWithProtected() { + doTest(); + } + + public void testHidePackagePrivateWithPublic() { + doTest(); + } + + public void testHideProtectedWithPackagePrivate() { + doTest(); + } + + public void testHideProtectedWithProtected() { + doTest(); + } + + public void testHideProtectedWithPublic() { + doTest(); + } + + public void testHidePublicWithPackagePrivate() { + doTest(); + } + + public void testHidePublicWithProtected() { + doTest(); + } + + public void testHidePublicWithPublic() { + doTest(); + } }