CPP-16098 - Lags during inplace rename typing

- changed behaviour in safe way by introducing new method to check that particular expression does not depend
  on committed PSI

GitOrigin-RevId: f5ec732613cdafdcef8a1d48eb8d04135c634047
This commit is contained in:
Vladimir Plyashkun
2019-05-03 01:39:50 +03:00
committed by intellij-monorepo-bot
parent 338ad6db56
commit 2d9369d983
1065 changed files with 13223 additions and 11324 deletions
@@ -0,0 +1,2 @@
/**<caret>
* Copyright © 2000-2010 JetBrains s.r.o.
@@ -0,0 +1,2 @@
/**
* Copyright &copy; 2000-2010 JetBrains s.r.o.
@@ -0,0 +1 @@
/*<caret> © 2010 JetBrains
@@ -0,0 +1 @@
/* &copy; 2010 JetBrains
@@ -0,0 +1,3 @@
class C {
String s = "<caret>Áî
}
@@ -0,0 +1,3 @@
class C {
String s = "\u00c1\u00ee
}
@@ -0,0 +1,6 @@
package c;
import a.*;
class Test extends Base {
Test() { }
}
@@ -0,0 +1,7 @@
class C {
void m(Foo f) {}
{
m(() -> {});
}
}
@@ -0,0 +1,14 @@
interface A {
void enableInspections(B... providers);
void enableInspections(Runnable r, String... inspections);
}
interface B {
Class[] get();
}
class C {
void foo(A a) {
a.enableInspections(() -> new Class[]{});
}
}
@@ -0,0 +1,9 @@
// "Replace explicit type with 'var'" "true"
class MyTest {
private void m() {
var r = new Runnable() {
@Override
public void run() {}
};
}
}
@@ -0,0 +1,9 @@
// "Replace explicit type with 'var'" "true"
class MyTest {
private void m() {
Ru<caret>nnable r = new Runnable() {
@Override
public void run() {}
};
}
}
@@ -0,0 +1,13 @@
// "Simplify boolean expression" "true"
class X {
void test(int a, int b) {
if (a + 1 + foo(a, b) > 5) {
}
}
private int foo(int a, int b) {
return a+b;
}
}
@@ -0,0 +1,13 @@
// "Simplify boolean expression" "true"
class X {
void test(int a, int b) {
if (<caret>true && (a + 1) + foo((a), b) > 5) {
}
}
private int foo(int a, int b) {
return a+b;
}
}
@@ -43,4 +43,14 @@ public class Main {
interface Visitor { }
}
class X implements Iterable<String> {
class Y {
void test() {
for (String s : X.this) {
System.out.println(s);
}
}
}
}
}
@@ -31,4 +31,15 @@ public class Main {
}
}
class X implements Map<String, String> {
class Y {
void test() {
for (Entry<String, String> entry : X.this.entrySet()) {
String k = entry.getKey();
String v = entry.getValue();
System.out.println(k + "-" + v);
}
}
}
}
}
@@ -33,4 +33,12 @@ public class Main {
interface Visitor { }
}
class X implements Iterable<String> {
class Y {
void test() {
forEach(System.out::println);
}
}
}
}
@@ -21,4 +21,11 @@ public class Main {
map.forEach(otherMap::putIfAbsent);
}
class X implements Map<String, String> {
class Y {
void test() {
forEach((k, v) -> System.out.println(k + "-" + v));
}
}
}
}