Skip to content

Commit c5e95a6

Browse files
authored
Revert color preview patch (#6780)
This time it is signed. Turns out you cannot create a PR from the GitHub window, since they are not signed.
1 parent f21afb0 commit c5e95a6

File tree

1 file changed

+6
-54
lines changed

1 file changed

+6
-54
lines changed

flutter-idea/src/io/flutter/editor/FlutterColorProvider.java

Lines changed: 6 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
import com.intellij.psi.impl.source.tree.AstBufferUtil;
1515
import com.jetbrains.lang.dart.DartLanguage;
1616
import com.jetbrains.lang.dart.DartTokenTypes;
17-
import com.jetbrains.lang.dart.psi.*;
17+
import com.jetbrains.lang.dart.psi.DartArgumentList;
18+
import com.jetbrains.lang.dart.psi.DartArguments;
19+
import com.jetbrains.lang.dart.psi.DartExpression;
20+
import com.jetbrains.lang.dart.psi.DartLiteralExpression;
1821
import io.flutter.FlutterBundle;
1922
import org.jetbrains.annotations.NotNull;
2023
import org.jetbrains.annotations.Nullable;
@@ -35,6 +38,7 @@ public Color getColorFrom(@NotNull PsiElement element) {
3538
if (element.getNode().getElementType() != DartTokenTypes.IDENTIFIER) return null;
3639

3740
final String name = element.getText();
41+
if (!(name.equals("Colors") || name.equals("CupertinoColors") || name.equals("Color"))) return null;
3842

3943
final PsiElement refExpr = topmostReferenceExpression(element);
4044
if (refExpr == null) return null;
@@ -58,28 +62,6 @@ else if (parent.getNode().getElementType() == DartTokenTypes.SIMPLE_TYPE) {
5862
return parseColorElements(parent, refExpr);
5963
}
6064
else {
61-
if (parent.getNode().getElementType() == DartTokenTypes.VAR_INIT ||
62-
parent.getNode().getElementType() == DartTokenTypes.FUNCTION_BODY) {
63-
final PsiElement reference = resolveReferencedElement(refExpr);
64-
if (reference != null && reference.getLastChild() != null) {
65-
Color tryParseColor = null;
66-
if (reference instanceof DartCallExpression) {
67-
final DartExpression expression = ((DartCallExpression)reference).getExpression();
68-
if (expression != null && expression.getLastChild() instanceof DartReferenceExpression) {
69-
tryParseColor = parseColorElements(reference, expression);
70-
if (tryParseColor != null) return tryParseColor;
71-
}
72-
}
73-
final PsiElement lastChild = reference.getLastChild();
74-
if (lastChild instanceof DartArguments && reference.getParent() != null) {
75-
tryParseColor = parseColorElements(reference, reference.getParent());
76-
}
77-
else {
78-
tryParseColor = parseColorElements(reference, reference.getLastChild());
79-
}
80-
if (tryParseColor != null) return tryParseColor;
81-
}
82-
}
8365
// name.equals(refExpr.getFirstChild().getText()) -> Colors.blue
8466
final PsiElement idNode = refExpr.getFirstChild();
8567
if (idNode == null) return null;
@@ -100,36 +82,6 @@ else if (parent.getNode().getElementType() == DartTokenTypes.SIMPLE_TYPE) {
10082
return null;
10183
}
10284

103-
@Nullable
104-
private PsiElement resolveReferencedElement(@NotNull PsiElement element) {
105-
if (element instanceof DartCallExpression && element.getFirstChild().getText().equals("Color")) {
106-
return element;
107-
}
108-
final PsiElement symbol = element.getLastChild();
109-
final PsiElement result;
110-
if (symbol instanceof DartReference) {
111-
result = ((DartReference)symbol).resolve();
112-
}
113-
else if (element instanceof DartReference) {
114-
result = ((DartReference)element).resolve();
115-
}
116-
else {
117-
return null;
118-
}
119-
if (!(result instanceof DartComponentName) || result.getParent() == null) return null;
120-
final PsiElement declaration = result.getParent().getParent();
121-
if (!(declaration instanceof DartVarDeclarationList)) return null;
122-
final PsiElement lastChild = declaration.getLastChild();
123-
if (!(lastChild instanceof DartVarInit)) return null;
124-
125-
final PsiElement effectiveElement = lastChild.getLastChild();
126-
// Recursively determine reference if the initialization is still a `DartReference`.
127-
if (effectiveElement instanceof DartReference && !(effectiveElement instanceof DartCallExpression)) {
128-
return resolveReferencedElement(effectiveElement);
129-
}
130-
return effectiveElement;
131-
}
132-
13385
@Nullable
13486
private Color parseColorElements(@NotNull PsiElement parent, @NotNull PsiElement refExpr) {
13587
final PsiElement selectorNode = refExpr.getLastChild();
@@ -270,4 +222,4 @@ private void replaceDouble(DartExpression expr, Double value) {
270222
}
271223
}
272224
}
273-
}
225+
}

0 commit comments

Comments
 (0)