From b39b2c1062b324eddaca7f2d26b49b5490007220 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 17 Dec 2013 19:18:25 +0400 Subject: [PATCH] Refactoring: reformat with reordering entities --- .../JetKeywordCompletionContributor.java | 184 +++++++++--------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java index 4cab8284aaf..9040f3a7d44 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java @@ -70,6 +70,86 @@ public class JetKeywordCompletionContributor extends CompletionContributor { private final static List FUNCTION_KEYWORDS = Lists.newArrayList(GET_KEYWORD.toString(), SET_KEYWORD.toString()); + public JetKeywordCompletionContributor() { + registerScopeKeywordsCompletion(InTopFilter.class.getName(), new InTopFilter(), + ABSTRACT_KEYWORD, CLASS_KEYWORD, ENUM_KEYWORD, + FINAL_KEYWORD, FUN_KEYWORD, GET_KEYWORD, + IMPORT_KEYWORD, INTERNAL_KEYWORD, + OPEN_KEYWORD, PACKAGE_KEYWORD, PRIVATE_KEYWORD, + PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD, TRAIT_KEYWORD, + TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD); + + registerScopeKeywordsCompletion("In modifier list but not in parameters", + new AndFilter( + new SuperParentFilter(new ClassFilter(JetModifierList.class)), + new NotFilter(new InTypeParameterFirstChildFilter())), + ABSTRACT_KEYWORD, FINAL_KEYWORD, INTERNAL_KEYWORD, + OPEN_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD); + + registerScopeKeywordsCompletion(InClassBodyFilter.class.getName(), new InClassBodyFilter(), + ABSTRACT_KEYWORD, CLASS_KEYWORD, ENUM_KEYWORD, + FINAL_KEYWORD, FUN_KEYWORD, GET_KEYWORD, + INTERNAL_KEYWORD, + OPEN_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, + PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD, TRAIT_KEYWORD, + TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD); + + registerScopeKeywordsCompletion(InNonClassBlockFilter.class.getName(), new InNonClassBlockFilter(), + AS_KEYWORD, BREAK_KEYWORD, BY_KEYWORD, + CATCH_KEYWORD, CLASS_KEYWORD, CONTINUE_KEYWORD, + DO_KEYWORD, ELSE_KEYWORD, ENUM_KEYWORD, + FALSE_KEYWORD, FINALLY_KEYWORD, FOR_KEYWORD, FUN_KEYWORD, + GET_KEYWORD, IF_KEYWORD, + IN_KEYWORD, INTERNAL_KEYWORD, + IS_KEYWORD, NULL_KEYWORD, OBJECT_KEYWORD, + PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, + RETURN_KEYWORD, SET_KEYWORD, SUPER_KEYWORD, + CAPITALIZED_THIS_KEYWORD, THIS_KEYWORD, THROW_KEYWORD, + TRAIT_KEYWORD, TRUE_KEYWORD, TRY_KEYWORD, + TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, + VARARG_KEYWORD, WHEN_KEYWORD, WHERE_KEYWORD, WHILE_KEYWORD); + + registerScopeKeywordsCompletion(InPropertyBodyFilter.class.getName(), new InPropertyBodyFilter(), + ELSE_KEYWORD, FALSE_KEYWORD, IF_KEYWORD, + NULL_KEYWORD, THIS_KEYWORD, TRUE_KEYWORD, WHEN_KEYWORD); + + registerScopeKeywordsCompletion(InTypeParameterFirstChildFilter.class.getName(), new InTypeParameterFirstChildFilter(), false, + IN_KEYWORD, OUT_KEYWORD); + + registerScopeKeywordsCompletion(AfterClassInClassBodyFilter.class.getName(), new AfterClassInClassBodyFilter(), false, + OBJECT_KEYWORD); + } + + private static String[] convertTokensToStrings(JetToken... keywords) { + ArrayList strings = new ArrayList(keywords.length); + for (JetToken keyword : keywords) { + strings.add(keyword.toString()); + } + + return ArrayUtil.toStringArray(strings); + } + + private static ElementPattern getPlacePattern(ElementFilter placeFilter, boolean notIdentifier) { + if (notIdentifier) { + return PlatformPatterns.psiElement().and(new FilterPattern(new AndFilter(GENERAL_FILTER, NOT_IDENTIFIER_FILTER, placeFilter))); + } + else { + return PlatformPatterns.psiElement().and(new FilterPattern(new AndFilter(GENERAL_FILTER, placeFilter))); + } + } + + private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, boolean notIdentifier, String... keywords) { + extend(CompletionType.BASIC, getPlacePattern(placeFilter, notIdentifier), new KeywordsCompletionProvider(debugName, keywords)); + } + + private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, boolean notIdentifier, JetToken... keywords) { + registerScopeKeywordsCompletion(debugName, placeFilter, notIdentifier, convertTokensToStrings(keywords)); + } + + private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, JetToken... keywords) { + registerScopeKeywordsCompletion(debugName, placeFilter, true, convertTokensToStrings(keywords)); + } + private static class CommentFilter implements ElementFilter { @Override public boolean isAcceptable(Object element, PsiElement context) { @@ -157,13 +237,6 @@ public class JetKeywordCompletionContributor extends CompletionContributor { } private static class InPropertyBodyFilter extends PositionElementFilter { - @Override - public boolean isAcceptable(Object element, PsiElement context) { - if (!(element instanceof PsiElement)) return false; - JetProperty property = PsiTreeUtil.getParentOfType(context, JetProperty.class, false); - return property != null && isAfterName(property, (PsiElement) element); - } - private static boolean isAfterName(@NotNull JetProperty property, @NotNull PsiElement element) { for (PsiElement child = property.getFirstChild(); child != null; child = child.getNextSibling()) { if (PsiTreeUtil.isAncestor(child, element, false)) { @@ -177,6 +250,13 @@ public class JetKeywordCompletionContributor extends CompletionContributor { return false; } + + @Override + public boolean isAcceptable(Object element, PsiElement context) { + if (!(element instanceof PsiElement)) return false; + JetProperty property = PsiTreeUtil.getParentOfType(context, JetProperty.class, false); + return property != null && isAfterName(property, (PsiElement) element); + } } private static class SimplePrefixMatcher extends PrefixMatcher { @@ -196,8 +276,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor { } } - public static class KeywordsCompletionProvider extends CompletionProvider { - + private static class KeywordsCompletionProvider extends CompletionProvider { private final Collection elements; private final String debugName; @@ -220,8 +299,10 @@ public class JetKeywordCompletionContributor extends CompletionContributor { } @Override - protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context, - @NotNull CompletionResultSet result) { + protected void addCompletions( + @NotNull CompletionParameters parameters, ProcessingContext context, + @NotNull CompletionResultSet result + ) { WeigherPackage.addJetSorting(result, parameters) .withPrefixMatcher(new SimplePrefixMatcher(result.getPrefixMatcher().getPrefix())) .addAllElements(elements); @@ -232,85 +313,4 @@ public class JetKeywordCompletionContributor extends CompletionContributor { return debugName; } } - - public JetKeywordCompletionContributor() { - registerScopeKeywordsCompletion(InTopFilter.class.getName(), new InTopFilter(), - ABSTRACT_KEYWORD, CLASS_KEYWORD, ENUM_KEYWORD, - FINAL_KEYWORD, FUN_KEYWORD, GET_KEYWORD, - IMPORT_KEYWORD, INTERNAL_KEYWORD, - OPEN_KEYWORD, PACKAGE_KEYWORD, PRIVATE_KEYWORD, - PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD, TRAIT_KEYWORD, - TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD); - - registerScopeKeywordsCompletion( - "In modifier list but not in parameters", - new AndFilter( - new SuperParentFilter(new ClassFilter(JetModifierList.class)), - new NotFilter(new InTypeParameterFirstChildFilter())), - ABSTRACT_KEYWORD, FINAL_KEYWORD, INTERNAL_KEYWORD, - OPEN_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD); - - registerScopeKeywordsCompletion(InClassBodyFilter.class.getName(), new InClassBodyFilter(), - ABSTRACT_KEYWORD, CLASS_KEYWORD, ENUM_KEYWORD, - FINAL_KEYWORD, FUN_KEYWORD, GET_KEYWORD, - INTERNAL_KEYWORD, - OPEN_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, - PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD, TRAIT_KEYWORD, - TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD); - - registerScopeKeywordsCompletion(InNonClassBlockFilter.class.getName(), new InNonClassBlockFilter(), - AS_KEYWORD, BREAK_KEYWORD, BY_KEYWORD, - CATCH_KEYWORD, CLASS_KEYWORD, CONTINUE_KEYWORD, - DO_KEYWORD, ELSE_KEYWORD, ENUM_KEYWORD, - FALSE_KEYWORD, FINALLY_KEYWORD, FOR_KEYWORD, FUN_KEYWORD, - GET_KEYWORD, IF_KEYWORD, - IN_KEYWORD, INTERNAL_KEYWORD, - IS_KEYWORD, NULL_KEYWORD, OBJECT_KEYWORD, - PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, - RETURN_KEYWORD, SET_KEYWORD, SUPER_KEYWORD, - CAPITALIZED_THIS_KEYWORD, THIS_KEYWORD, THROW_KEYWORD, - TRAIT_KEYWORD, TRUE_KEYWORD, TRY_KEYWORD, - TYPE_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, - VARARG_KEYWORD, WHEN_KEYWORD, WHERE_KEYWORD, WHILE_KEYWORD); - - registerScopeKeywordsCompletion(InPropertyBodyFilter.class.getName(), new InPropertyBodyFilter(), - ELSE_KEYWORD, FALSE_KEYWORD, IF_KEYWORD, - NULL_KEYWORD, THIS_KEYWORD, TRUE_KEYWORD, WHEN_KEYWORD); - - registerScopeKeywordsCompletion(InTypeParameterFirstChildFilter.class.getName(), new InTypeParameterFirstChildFilter(), false, - IN_KEYWORD, OUT_KEYWORD); - - registerScopeKeywordsCompletion(AfterClassInClassBodyFilter.class.getName(), new AfterClassInClassBodyFilter(), false, - OBJECT_KEYWORD); - } - - private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, boolean notIdentifier, String... keywords) { - extend(CompletionType.BASIC, getPlacePattern(placeFilter, notIdentifier), new KeywordsCompletionProvider(debugName, keywords)); - } - - private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, boolean notIdentifier, JetToken... keywords) { - registerScopeKeywordsCompletion(debugName, placeFilter, notIdentifier, convertTokensToStrings(keywords)); - } - - private void registerScopeKeywordsCompletion(String debugName, ElementFilter placeFilter, JetToken... keywords) { - registerScopeKeywordsCompletion(debugName, placeFilter, true, convertTokensToStrings(keywords)); - } - - private static String[] convertTokensToStrings(JetToken... keywords) { - ArrayList strings = new ArrayList(keywords.length); - for (JetToken keyword : keywords) { - strings.add(keyword.toString()); - } - - return ArrayUtil.toStringArray(strings); - } - - private static ElementPattern getPlacePattern(ElementFilter placeFilter, boolean notIdentifier) { - if (notIdentifier) { - return PlatformPatterns.psiElement().and(new FilterPattern(new AndFilter(GENERAL_FILTER, NOT_IDENTIFIER_FILTER, placeFilter))); - } - else { - return PlatformPatterns.psiElement().and(new FilterPattern(new AndFilter(GENERAL_FILTER, placeFilter))); - } - } }