mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Java: Fixed conversion of constructor parameters for java.awt.Color (IDEA-172996)
This commit is contained in:
+16
-9
@@ -141,7 +141,7 @@ public class ConvertColorRepresentationIntentionAction extends BaseColorIntentio
|
||||
|
||||
@Nullable
|
||||
private static String[] createArguments(@NotNull PsiExpression rgbExpression) {
|
||||
return createArguments(rgbExpression, 3);
|
||||
return createArguments(rgbExpression, false);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -151,7 +151,7 @@ public class ConvertColorRepresentationIntentionAction extends BaseColorIntentio
|
||||
if (hasAlpha == null) {
|
||||
return null;
|
||||
}
|
||||
return hasAlpha ? createArguments(rgbExpression, 4) : createArguments(rgbExpression);
|
||||
return createArguments(rgbExpression, hasAlpha);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -167,7 +167,7 @@ public class ConvertColorRepresentationIntentionAction extends BaseColorIntentio
|
||||
@NotNull PsiExpression gExpression,
|
||||
@NotNull PsiExpression bExpression,
|
||||
@NotNull PsiExpression aExpression) {
|
||||
final Integer value = createInt(computeInteger(rExpression), computeInteger(gExpression), computeInteger(bExpression), computeInteger(aExpression));
|
||||
final Integer value = createInt(computeInteger(aExpression), computeInteger(rExpression), computeInteger(gExpression), computeInteger(bExpression));
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -180,15 +180,22 @@ public class ConvertColorRepresentationIntentionAction extends BaseColorIntentio
|
||||
|
||||
@Nullable
|
||||
private static String[] createArguments(@NotNull PsiExpression rgbExpression,
|
||||
int parts) {
|
||||
final Integer rgb = computeInteger(rgbExpression);
|
||||
if (rgb == null) {
|
||||
boolean hasAlpha) {
|
||||
final Integer argb = computeInteger(rgbExpression);
|
||||
if (argb == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final String[] result = new String[parts];
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
result[result.length - i - 1] = String.valueOf(rgb >> (i * Byte.SIZE) & 0xFF);
|
||||
final String[] result;
|
||||
if (hasAlpha) {
|
||||
result = new String[4]; // (r, g, b, a)
|
||||
result[3] = String.valueOf(argb >> (3 * Byte.SIZE) & 0xFF);
|
||||
}
|
||||
else {
|
||||
result = new String[3]; // (r, g, b)
|
||||
}
|
||||
for (int i = 0; i < 3; i++) {
|
||||
result[2 - i] = String.valueOf(argb >> (i * Byte.SIZE) & 0xFF);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// "Convert to 'new Color(37, 100, 120, 140)'" "true"
|
||||
// "Convert to 'new Color(100, 120, 140, 37)'" "true"
|
||||
|
||||
package java.awt;
|
||||
|
||||
class A {
|
||||
private Color color = new Color(37, 100, 120, 140);
|
||||
private Color color = new Color(100, 120, 140, 37);
|
||||
}
|
||||
|
||||
class Color {
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// "Convert to 'new Color(0x2564788c,true)'" "true"
|
||||
// "Convert to 'new Color(0x8c256478,true)'" "true"
|
||||
|
||||
package java.awt;
|
||||
|
||||
class A {
|
||||
private Color color = new Color(0x2564788c, true);
|
||||
private Color color = new Color(0x8c256478, true);
|
||||
}
|
||||
|
||||
class Color {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Convert to 'new Color(37, 100, 120, 140)'" "true"
|
||||
// "Convert to 'new Color(100, 120, 140, 37)'" "true"
|
||||
|
||||
package java.awt;
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Convert to 'new Color(0x2564788c,true)'" "true"
|
||||
// "Convert to 'new Color(0x8c256478,true)'" "true"
|
||||
|
||||
package java.awt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user