mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cleanup
This commit is contained in:
@@ -112,17 +112,17 @@ public class SyntaxTraverser<T> extends FilteredTraverserBase<T, SyntaxTraverser
|
||||
|
||||
@NotNull
|
||||
public SyntaxTraverser<T> expandTypes(@NotNull Condition<? super IElementType> c) {
|
||||
return super.expand(compose(api.TO_TYPE(), c));
|
||||
return super.expand(compose(api.TO_TYPE, c));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public SyntaxTraverser<T> filterTypes(@NotNull Condition<? super IElementType> c) {
|
||||
return super.filter(compose(api.TO_TYPE(), c));
|
||||
return super.filter(compose(api.TO_TYPE, c));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public SyntaxTraverser<T> forceDisregardTypes(@NotNull Condition<? super IElementType> c) {
|
||||
return super.forceDisregard(compose(api.TO_TYPE(), c));
|
||||
return super.forceDisregard(compose(api.TO_TYPE, c));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -167,53 +167,45 @@ public class SyntaxTraverser<T> extends FilteredTraverserBase<T, SyntaxTraverser
|
||||
});
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Function<T, IElementType> TO_TYPE() {
|
||||
return new Function<T, IElementType>() {
|
||||
@Override
|
||||
public IElementType fun(T t) {
|
||||
return typeOf(t);
|
||||
}
|
||||
public final Function<T, IElementType> TO_TYPE = new Function<T, IElementType>() {
|
||||
@Override
|
||||
public IElementType fun(T t) {
|
||||
return typeOf(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_TYPE";
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_TYPE";
|
||||
}
|
||||
};
|
||||
|
||||
@NotNull
|
||||
public Function<T, CharSequence> TO_TEXT() {
|
||||
return new Function<T, CharSequence>() {
|
||||
@Override
|
||||
public CharSequence fun(T t) {
|
||||
return textOf(t);
|
||||
}
|
||||
public final Function<T, CharSequence> TO_TEXT = new Function<T, CharSequence>() {
|
||||
@Override
|
||||
public CharSequence fun(T t) {
|
||||
return textOf(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_TEXT";
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_TEXT";
|
||||
}
|
||||
};
|
||||
|
||||
@NotNull
|
||||
public Function<T, TextRange> TO_RANGE() {
|
||||
return new Function<T, TextRange>() {
|
||||
@Override
|
||||
public TextRange fun(T t) {
|
||||
return rangeOf(t);
|
||||
}
|
||||
public final Function<T, TextRange> TO_RANGE = new Function<T, TextRange>() {
|
||||
@Override
|
||||
public TextRange fun(T t) {
|
||||
return rangeOf(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_RANGE";
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_RANGE";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public abstract static class ApiEx<T> extends Api<T> {
|
||||
|
||||
@Nullable
|
||||
public abstract T first(@NotNull T node);
|
||||
|
||||
@@ -231,13 +223,20 @@ public class SyntaxTraverser<T> extends FilteredTraverserBase<T, SyntaxTraverser
|
||||
public JBIterable<? extends T> children(@NotNull final T node) {
|
||||
final T first = first(node);
|
||||
if (first == null) return JBIterable.empty();
|
||||
return JBIterable.generate(first, new Function<T, T>() {
|
||||
@Override
|
||||
public T fun(T t) {
|
||||
return next(t);
|
||||
}
|
||||
});
|
||||
return JBIterable.generate(first, TO_NEXT);
|
||||
}
|
||||
|
||||
private final Function<T, T> TO_NEXT = new Function<T, T>() {
|
||||
@Override
|
||||
public T fun(T t) {
|
||||
return next(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TO_NEXT";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static class PsiApi extends ApiEx<PsiElement> {
|
||||
|
||||
+1
-2
@@ -31,7 +31,6 @@ import com.intellij.openapi.fileTypes.SyntaxHighlighter;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -97,7 +96,7 @@ class ChameleonSyntaxHighlightingPass extends TextEditorHighlightingPass {
|
||||
TextAttributes defaultAttrs = scheme.getAttributes(HighlighterColors.TEXT);
|
||||
|
||||
SyntaxTraverser<PsiElement> s = psiTraverser(myFile).
|
||||
expand(compose(psiApi().TO_RANGE(), range -> range.intersects(myStartOffset, myEndOffset))).filterTypes(instanceOf(ILazyParseableElementType.class)).filterTypes(notInstanceOf(IFileElementType.class));
|
||||
expand(compose(psiApi().TO_RANGE, range -> range.intersects(myStartOffset, myEndOffset))).filterTypes(instanceOf(ILazyParseableElementType.class)).filterTypes(notInstanceOf(IFileElementType.class));
|
||||
List<HighlightInfo> infos = ContainerUtil.newArrayList();
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user