J2K: convert protected member used outside of inheritors as public

This commit is contained in:
Natalia Ukhorskaya
2016-02-19 13:58:40 +03:00
parent 52be775f28
commit 7d594970ff
27 changed files with 503 additions and 3 deletions
@@ -0,0 +1,26 @@
package test;
public abstract class Base {
protected int field;
public Base(int value) {
field = value;
}
}
public class Derived extends Base {
public Derived(int value) {
super(value);
}
private View usage = new View() {
@Override
void click() {
int activity = field;
}
}
}
abstract class View {
abstract void click();
}
@@ -0,0 +1,16 @@
package test
abstract class Base(protected var field: Int)
class Derived(value: Int) : Base(value) {
private val usage = object : View() {
override fun click() {
val activity = field
}
}
}
internal abstract class View {
internal abstract fun click()
}
@@ -0,0 +1,21 @@
package test;
public class BaseInheritorSamePackage {
protected BaseInheritorSamePackage() {
}
protected void foo() {
}
protected int i = 1;
}
class DerivedInheritorSamePackage extends BaseInheritorSamePackage {
public void usage1() {
BaseInheritorSamePackage base = new BaseInheritorSamePackage();
base.foo();
int i = base.i;
}
}
@@ -0,0 +1,18 @@
package test
open class BaseInheritorSamePackage protected constructor() {
protected fun foo() {
}
protected var i = 1
}
internal class DerivedInheritorSamePackage : BaseInheritorSamePackage() {
fun usage1() {
val base = BaseInheritorSamePackage()
base.foo()
val i = base.i
}
}
@@ -0,0 +1,13 @@
package test;
public class BaseProtectedConstructor {
protected BaseSamePackage() {
}
}
class DerivedSamePackage extends BaseProtectedConstructor {
DerivedSamePackage() {
super();
}
}
@@ -0,0 +1,5 @@
package test
open class BaseProtectedConstructor protected constructor()
internal class DerivedSamePackage : BaseProtectedConstructor()
@@ -0,0 +1,21 @@
package test;
public class BaseSamePackage {
protected BaseSamePackage() {
}
protected void foo() {
}
protected int i = 1;
}
class DerivedSamePackage {
public void usage1() {
BaseSamePackage base = new BaseSamePackage();
base.foo();
int i = base.i;
}
}
@@ -0,0 +1,18 @@
package test
class BaseSamePackage {
fun foo() {
}
var i = 1
}
internal class DerivedSamePackage {
fun usage1() {
val base = BaseSamePackage()
base.foo()
val i = base.i
}
}
@@ -0,0 +1,16 @@
package test;
public class BaseProtectedConstructor {
protected void foo() {
}
}
class MiddleSamePackage extends BaseProtectedConstructor {
}
class DerivedSamePackage extends MiddleSamePackage {
void usage() {
foo();
}
}
@@ -0,0 +1,15 @@
package test
open class BaseProtectedConstructor {
protected fun foo() {
}
}
internal open class MiddleSamePackage : BaseProtectedConstructor()
internal class DerivedSamePackage : MiddleSamePackage() {
fun usage() {
foo()
}
}
@@ -0,0 +1,21 @@
package test;
class BaseSuperSamePackage {
public void usage1() {
DerivedSuperSamePackage derived = new DerivedSuperSamePackage();
derived.foo();
int i = derived.i;
}
}
class DerivedSuperSamePackage extends BaseSuperSamePackage {
protected DerivedSuperSamePackage() {
}
protected void foo() {
}
protected int i = 1;
}
@@ -0,0 +1,18 @@
package test
internal open class BaseSuperSamePackage {
fun usage1() {
val derived = DerivedSuperSamePackage()
derived.foo()
val i = derived.i
}
}
internal class DerivedSuperSamePackage : BaseSuperSamePackage() {
fun foo() {
}
var i = 1
}
+35
View File
@@ -0,0 +1,35 @@
package test;
public class BaseProtectedConstructor {
protected void usageInConstructor() {
}
protected int usageInPropertyInitializer() {
return 1;
}
protected void usageInStaticInit() {
}
protected void usageInMethod() {
}
}
class DerivedSamePackage {
DerivedSamePackage() {
new BaseProtectedConstructor().usageInConstructor();
}
private int i = new BaseProtectedConstructor().usageInPropertyInitializer();
static {
new BaseProtectedConstructor().usageInStaticInit();
}
void usage() {
new BaseProtectedConstructor().usageInMethod();
}
}
+38
View File
@@ -0,0 +1,38 @@
package test
class BaseProtectedConstructor {
fun usageInConstructor() {
}
fun usageInPropertyInitializer(): Int {
return 1
}
fun usageInStaticInit() {
}
fun usageInMethod() {
}
}
internal class DerivedSamePackage {
init {
BaseProtectedConstructor().usageInConstructor()
}
private val i = BaseProtectedConstructor().usageInPropertyInitializer()
fun usage() {
BaseProtectedConstructor().usageInMethod()
}
companion object {
init {
BaseProtectedConstructor().usageInStaticInit()
}
}
}