From 679862778c6f4ce03c3001869d9facfa33313170 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 2 Feb 2012 14:49:55 +0400 Subject: [PATCH] Added templates for named object. --- .../src/org/jetbrains/jet/lang/parsing/JetParsing.java | 4 +++- .../completion/JetKeywordCompletionContributor.java | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java index 91b0cb28c94..be032e0ef1f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -622,7 +622,9 @@ public class JetParsing extends AbstractJetParsing { if (named) { PsiBuilder.Marker propertyDeclaration = mark(); - expect(IDENTIFIER, "Expecting object name", TokenSet.create(LBRACE)); + if (!parseIdeTemplate()) { + expect(IDENTIFIER, "Expecting object name", TokenSet.create(LBRACE)); + } propertyDeclaration.done(OBJECT_DECLARATION_NAME); } else { diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java index 3f6761c4394..7b95251aa30 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java @@ -62,6 +62,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor { private static final String VAR_WITH_GETTER_AND_SETTER_TEMPLATE = "var <##> : <##>\nget() {\n<##>\n}\nset(value) {\n<##>\n}"; private static final String TRAIT_TEMPLATE = "trait <##> {\n<##>\n}"; private static final String CLASS_TEMPLATE = "class <##> {\n<##>\n}"; + private static final String OBJECT_NAMED_TEMPLATE = "object <##> {\n<##>\n}"; private static class CommentFilter implements ElementFilter { @Override @@ -203,7 +204,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor { registerScopeKeywordsCompletion(new InClassBodyFilter(), ABSTRACT_KEYWORD, ENUM_KEYWORD, FINAL_KEYWORD, GET_KEYWORD, - INLINE_KEYWORD, INTERNAL_KEYWORD, OBJECT_KEYWORD, + INLINE_KEYWORD, INTERNAL_KEYWORD, OPEN_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD, TYPE_KEYWORD); @@ -215,7 +216,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor { FALSE_KEYWORD, FINALLY_KEYWORD, FOR_KEYWORD, GET_KEYWORD, IN_KEYWORD, INLINE_KEYWORD, INTERNAL_KEYWORD, - IS_KEYWORD, NULL_KEYWORD, OBJECT_KEYWORD, + IS_KEYWORD, NULL_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, RETURN_KEYWORD, SET_KEYWORD, SUPER_KEYWORD, CAPITALIZED_THIS_KEYWORD, THIS_KEYWORD, THROW_KEYWORD, @@ -238,11 +239,11 @@ public class JetKeywordCompletionContributor extends CompletionContributor { registerScopeKeywordsCompletion(new InClassBodyFilter(), FUN_TEMPLATE, VAL_WITH_TYPE_TEMPLATE, VAL_WITH_GETTER_TEMPLATE, VAR_WITH_TYPE_TEMPLATE, VAR_WITH_GETTER_AND_SETTER_TEMPLATE, - TRAIT_TEMPLATE, CLASS_TEMPLATE); + TRAIT_TEMPLATE, CLASS_TEMPLATE, OBJECT_NAMED_TEMPLATE); registerScopeKeywordsCompletion(new InNonClassBlockFilter(), IF_TEMPLATE, IF_ELSE_TEMPLATE, IF_ELSE_ONELINE_TEMPLATE, FUN_TEMPLATE, VAL_SIMPLE_TEMPLATE, VAR_SIMPLE_TEMPLATE, - TRAIT_TEMPLATE, CLASS_TEMPLATE); + TRAIT_TEMPLATE, CLASS_TEMPLATE, OBJECT_NAMED_TEMPLATE); registerScopeKeywordsCompletion(new InPropertyFilter(), IF_ELSE_ONELINE_TEMPLATE); }