mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
convert to atomic/thread-local intentions: fix migrated value assignment conversion IDEA-194426
This commit is contained in:
+3
-1
@@ -178,7 +178,9 @@ public class AtomicConversionRule extends TypeConversionRule {
|
||||
if (parent instanceof PsiAssignmentExpression) {
|
||||
final IElementType operationSign = ((PsiAssignmentExpression)parent).getOperationTokenType();
|
||||
if (operationSign == JavaTokenType.EQ) {
|
||||
return new TypeConversionDescriptor("$qualifier$ = $val$", "$qualifier$.set($val$)", (PsiAssignmentExpression)parent);
|
||||
boolean rightInfected = ((PsiAssignmentExpression)parent).getLExpression() == context;
|
||||
String replacement = rightInfected ? "$qualifier$ = $val$.get()" : "$qualifier$.set($val$)";
|
||||
return new TypeConversionDescriptor("$qualifier$ = $val$", replacement, (PsiAssignmentExpression)parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -89,7 +89,9 @@ public class ThreadLocalConversionRule extends TypeConversionRule {
|
||||
if (parent instanceof PsiAssignmentExpression) {
|
||||
final IElementType operationSign = ((PsiAssignmentExpression)parent).getOperationTokenType();
|
||||
if (operationSign == JavaTokenType.EQ) {
|
||||
return new TypeConversionDescriptor("$qualifier$ = $val$", "$qualifier$.set(" + toBoxed("$val$", from, context)+")", (PsiAssignmentExpression)parent);
|
||||
boolean rightInfected = ((PsiAssignmentExpression)parent).getLExpression() == context;
|
||||
String replacement = rightInfected ? "$qualifier$ = $val$.get()" : "$qualifier$.set(" + toBoxed("$val$", from, context) + ")";
|
||||
return new TypeConversionDescriptor("$qualifier$ = $val$", replacement, (PsiAssignmentExpression)parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
// "Convert to atomic" "true"
|
||||
class X {
|
||||
private static final AtomicInteger count = new AtomicInteger(); // convert me
|
||||
private final int index;
|
||||
|
||||
X() {
|
||||
count.getAndIncrement();
|
||||
index = count.get();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Convert to atomic" "true"
|
||||
class X {
|
||||
private static int co<caret>unt = 0; // convert me
|
||||
private final int index;
|
||||
|
||||
X() {
|
||||
count++;
|
||||
index = count;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Convert to ThreadLocal" "true"
|
||||
class X {
|
||||
private static final ThreadLocal<Integer> count = ThreadLocal.withInitial(() -> 0); // convert me
|
||||
private final int index;
|
||||
|
||||
X() {
|
||||
count.set(count.get() + 1);
|
||||
index = count.get();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Convert to ThreadLocal" "true"
|
||||
class X {
|
||||
private static int co<caret>unt = 0; // convert me
|
||||
private final int index;
|
||||
|
||||
X() {
|
||||
count++;
|
||||
index = count;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user