[jvm-lang] java: port _Create property from usage_ action

- make it create template for both getter and setter;
- make it work with type parameter guesser;
- add tests!
This commit is contained in:
Daniil Ovchinnikov
2018-02-12 17:45:12 +03:00
parent 64292fd235
commit fbe959bf47
28 changed files with 633 additions and 32 deletions
@@ -0,0 +1,18 @@
// "Create property" "true"
class JC {
private boolean foo;
public boolean isFoo() {<caret>
return foo;
}
public void setFoo(boolean foo) {
this.foo = foo;
}
}
class Main {
void usage(JC jc) {
jc.isFoo();
}
}
@@ -1,9 +1,8 @@
// "Create property" "true"
class Calculator {
int i;
public void printError() {
setI(0);
setI(0);
}
public void setI(int i) {
@@ -3,7 +3,7 @@ class Calculator {
private Object i;
{
setI(() -> {});
setI(() -> {});
}
public void setI(Object i) {
@@ -3,7 +3,7 @@ class Calculator {
private int i;
public void printError() {
setI(0);
setI(0);
}
public void setI(int i) {
@@ -0,0 +1,8 @@
// "Create property" "true"
class JC {}
class Main {
void usage(JC jc) {
jc.<caret>isFoo();
}
}
@@ -2,7 +2,7 @@
class Calculator {
int i;
public void printError() {
set<caret>I(0);
set<caret>I(0);
}
public int getI() {return i;}
}
@@ -2,6 +2,6 @@
class Calculator {
int i;
public void printError() {
set<caret>I(0);
set<caret>I(0);
}
}
@@ -0,0 +1,10 @@
// "Create property" "false"
class JC {
void setFoo(boolean a) {}
}
class Main {
void usage(JC jc) {
jc.<caret>isFoo();
}
}
@@ -0,0 +1,8 @@
// "Create property" "false"
class JC {}
class Main {
void usage(JC jc) {
jc.<caret>isFoo("1");
}
}
@@ -0,0 +1,10 @@
// "Create property" "false"
class JC {
void setFoo(int a) {}
}
class Main {
void usage(JC jc) {
jc.<caret>getFoo();
}
}
@@ -0,0 +1,8 @@
// "Create property" "false"
class JC {}
class Main {
void usage(JC jc) {
jc.<caret>getFoo("1");
}
}
@@ -0,0 +1,8 @@
// "Create property" "false"
class JC {}
class Main {
void usage(JC jc) {
jc.<caret>setFoo("1", "2");
}
}
@@ -0,0 +1,8 @@
// "Create property" "false"
class JC {}
class Main {
void usage(JC jc) {
jc.<caret>setFoo();
}
}
@@ -0,0 +1,8 @@
// "Create property" "false"
interface I {}
class Main {
void usage(I i) {
i.<caret>setFoo("hello");
}
}
@@ -1,6 +1,6 @@
// "Create property" "true"
class Calculator {
{
set<caret>I(() -> {});
set<caret>I(() -> {});
}
}
@@ -1,6 +1,6 @@
// "Create property" "true"
class Calculator {
public void printError() {
set<caret>I(0);
set<caret>I(0);
}
}