IDEA-19061 Integrate the Rearranger-plugin into core-IDEA

1. 'Constructor' entry type is defined and supported at java rearranger;
2. Test data fixes;
This commit is contained in:
Denis.Zhdanov
2012-09-06 13:21:41 +04:00
parent a0b15e3f6f
commit 4a4aa01505
11 changed files with 137 additions and 16 deletions
@@ -1,12 +1,28 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// "Bind Constructor Parameters to Fields" "true"
class Bar {
private int myi1;
private int myi2;
private final int myI1;
private final int myI2;
private final String myI3;
private int myi1;
private int myi2;
Bar(int i1, int i2, String i3) {
myI1 = i1;
@@ -1,10 +1,26 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// "Bind Constructor Parameters to Fields" "true"
class Bar {
private int myi1;
private int myi2;
private int myi1;
private int myi2;
Bar(int <caret>i1, int i2, String i3) {
}
Bar(int <caret>i1, int i2, String i3) {
}
}
@@ -1,9 +1,24 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// "Make 'a' implement 'b'" "true"
class a {
void f(b<String> r) {
r.g(<caret>this);
}
}
interface b<T> {
void g(b<T> t);
@@ -1,3 +1,18 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.util.Date;
public class TestClass {
@@ -50,5 +65,4 @@ public class TestClass {
Date beginDate = ( today == null ? start : today );
return ( ( endDate.getTime() - beginDate.getTime() ));
}
}
@@ -18,6 +18,7 @@ package com.intellij.psi.codeStyle.arrangement
import org.junit.Before
import static com.intellij.psi.codeStyle.arrangement.match.ArrangementEntryType.*
import static com.intellij.psi.codeStyle.arrangement.match.ArrangementModifier.PUBLIC
/**
* @author Denis Zhdanov
* @since 7/20/12 2:45 PM
@@ -198,4 +199,36 @@ class Test {
[rule(FIELD)]
)
}
void testMethodsAndConstructors() {
doTest('''\
class Test {
abstract void method1();
Test() {}
abstract void method2();
}''',
'''\
class Test {
Test() {}
abstract void method1();
abstract void method2();
}''',
[rule(CONSTRUCTOR), rule(METHOD)])
}
void testConstructorAsMethod() {
doTest('''\
class Test {
private int i;
Test() {}
public int j;
}''',
'''\
class Test {
public int j;
Test() {}
private int i;
}''',
[rule(FIELD, PUBLIC), rule(METHOD), rule(FIELD)])
}
}