Kill plugin logos
[idea/community.git] / plugins / groovy / src / META-INF / plugin.xml
1 <!--
2   ~  Copyright 2000-2009 JetBrains s.r.o.
3   ~  Licensed under the Apache License, Version 2.0 (the "License");
4   ~  you may not use this file except in compliance with the License.
5   ~  You may obtain a copy of the License at
6   ~
7   ~  http://www.apache.org/licenses/LICENSE-2.0
8   ~
9   ~  Unless required by applicable law or agreed to in writing, software
10   ~  distributed under the License is distributed on an "AS IS" BASIS,
11   ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   ~  See the License for the specific language governing permissions and
13   ~  limitations under the License.
14   ~
15   -->
16
17 <idea-plugin url="http://www.jetbrains.net/confluence/display/GRVY/Groovy+Home">
18   <id>org.intellij.groovy</id>
19   <name>Groovy</name>
20   <description>Plugin for Groovy language support, including Groovy++, Grape, Gant and Griffon</description>
21   <version>9.0</version>
22   <vendor>JetBrains</vendor>
23   <depends>com.intellij.properties</depends>
24
25   <depends optional="true" config-file="groovy-copyright.xml">com.intellij.copyright</depends>
26   <depends optional="true" config-file="intellilang-groovy-support.xml">org.intellij.intelliLang</depends>
27   <depends optional="true">AntSupport</depends>
28
29   <extensionPoints>
30     <extensionPoint name="membersContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersContributor"/>
31     <extensionPoint name="defaultImportContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.DefaultImportContributor"/>
32     <extensionPoint name="astTransformContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.AstTransformContributor"/>
33     <extensionPoint name="closureMissingMethodContributor"
34                     interface="org.jetbrains.plugins.groovy.lang.resolve.ClosureMissingMethodContributor"/>
35     <extensionPoint name="variableEnhancer" interface="org.jetbrains.plugins.groovy.lang.psi.typeEnhancers.GrVariableEnhancer"/>
36     <extensionPoint name="referenceTypeEnhancer" interface="org.jetbrains.plugins.groovy.lang.psi.typeEnhancers.GrReferenceTypeEnhancer"/>
37     <extensionPoint name="typeConverter" interface="org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter"/>
38     <extensionPoint name="expectedTypesContributor"
39                     interface="org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesContributor"/>
40     <extensionPoint name="classSubstitutor" interface="org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitutor"/>
41
42     <extensionPoint name="positionManagerDelegate"
43                     interface="org.jetbrains.plugins.groovy.extensions.debugger.ScriptPositionManagerHelper"/>
44     <extensionPoint name="compilerExtension" interface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerExtension"/>
45     <extensionPoint name="scriptTypeDetector" interface="org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector"/>
46
47     <extensionPoint name="namedArgumentProvider" interface="org.jetbrains.plugins.groovy.extensions.GroovyNamedArgumentProvider"/>
48     <extensionPoint name="mapContentProvider" interface="org.jetbrains.plugins.groovy.extensions.GroovyMapContentProvider"/>
49
50     <extensionPoint name="unresolvedHighlightFilter" interface="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedHighlightFilter"/>
51     <extensionPoint name="unresolvedHighlightFileFilter"
52                     interface="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedHighlightFileFilter"/>
53     <extensionPoint name="configSlurperSupport" interface="org.jetbrains.plugins.groovy.configSlurper.ConfigSlurperSupport"/>
54
55     <extensionPoint name="callExpressionTypeCalculator"
56                     interface="org.jetbrains.plugins.groovy.lang.psi.typeEnhancers.GrCallExpressionTypeCalculator"/>
57     <extensionPoint name="classDescriptor" beanClass="org.jetbrains.plugins.groovy.extensions.GroovyClassDescriptor"/>
58     <extensionPoint name="methodDescriptor" beanClass="org.jetbrains.plugins.groovy.extensions.GroovyMethodDescriptorExtension"/>
59
60     <extensionPoint name="groovyShellRunner" interface="org.jetbrains.plugins.groovy.console.GroovyShellRunner"/>
61
62     <!-- Groovy DSL extension points -->
63     <extensionPoint name="psiEnhancerCategory" interface="org.jetbrains.plugins.groovy.dsl.psi.PsiEnhancerCategory"/>
64     <extensionPoint name="gdslTopLevelProvider" interface="org.jetbrains.plugins.groovy.dsl.dsltop.GdslMembersProvider"/>
65
66     <extensionPoint name="groovyFrameworkConfigNotification"
67                     interface="org.jetbrains.plugins.groovy.annotator.GroovyFrameworkConfigNotification"/>
68     <extensionPoint name="groovySourceFolderDetector" interface="org.jetbrains.plugins.groovy.actions.GroovySourceFolderDetector"/>
69
70     <extensionPoint name="mvc.framework" interface="org.jetbrains.plugins.groovy.mvc.MvcFramework"/>
71   </extensionPoints>
72
73   <extensions defaultExtensionNs="org.intellij.groovy">
74     <groovyFrameworkConfigNotification order="last"
75                                        implementation="org.jetbrains.plugins.groovy.annotator.DefaultGroovyFrameworkConfigNotification"/>
76
77     <membersContributor implementation="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicMembersContributor"/>
78     <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.GrCollectionTypeMembersProvider"/>
79     <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.LoggingContributor"/>
80     <membersContributor implementation="org.jetbrains.plugins.groovy.spock.SpockMemberContributor"/>
81     <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.MixinMemberContributor"/>
82     <membersContributor implementation="org.jetbrains.plugins.groovy.swingBuilder.SwingBuilderNonCodeMemberContributor"/>
83     <membersContributor implementation="org.jetbrains.plugins.groovy.dgm.DGMMemberContributor"/>
84
85     <membersContributor implementation="org.jetbrains.plugins.groovy.geb.GebSpockTestMemberContributor"/>
86     <membersContributor implementation="org.jetbrains.plugins.groovy.geb.GebPageMemberContributor"/>
87
88     <membersContributor implementation="org.jetbrains.plugins.groovy.geb.GebJUnitTestMemberContributor"/>
89     <membersContributor implementation="org.jetbrains.plugins.groovy.geb.GebBrowserMemberContributor"/>
90
91     <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.DelegatedMethodsContributor"/>
92     <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.AutoExternalizeContributor"/>
93     <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.AutoCloneContributor"/>
94     <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.ConstructorAnnotationsProcessor"/>
95     <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.GrInheritConstructorContributor"/>
96
97     <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gant.GantPositionManagerHelper"/>
98
99     <methodDescriptor lightMethodKey="SwingBuilder_builder_method"
100                       namedArgsProvider="org.jetbrains.plugins.groovy.swingBuilder.SwingBuilderNamedArgumentProvider"/>
101
102     <mapContentProvider implementation="org.jetbrains.plugins.groovy.configSlurper.ConfigSlurperMapContentProvider"/>
103     <referenceTypeEnhancer implementation="org.jetbrains.plugins.groovy.configSlurper.GroovyMapValueTypeEhancer"/>
104
105     <unresolvedHighlightFilter implementation="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedReferenceFilterByFile"/>
106
107     <callExpressionTypeCalculator
108         implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.DefaultCallExpressionTypeCalculator"
109         order="last"/>
110     <callExpressionTypeCalculator
111         implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrDescriptorReturnTypeCalculator"/>
112     <callExpressionTypeCalculator
113         implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrDGMTypeCalculator"/>
114
115     <scriptTypeDetector implementation="org.jetbrains.plugins.groovy.gant.GantScriptTypeDetector"/>
116
117     <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovySourceCodeNamedArgumentProvider" order="last"/>
118     <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovyConstructorNamedArgumentProvider"/>
119     <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovyMethodReturnNamedArgumentProvider" order="last"/>
120
121     <!-- GroovyDSL extensions -->
122     <gdslTopLevelProvider implementation="org.jetbrains.plugins.groovy.dsl.dsltop.GroovyDslDefaultMembers"/>
123     <gdslTopLevelProvider implementation="org.jetbrains.plugins.groovy.lang.resolve.GdkMethodDslProvider"/>
124     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiClassCategory"/>
125     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiElementCategory"/>
126     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiMethodCategory"/>
127     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiExpressionCategory"/>
128
129     <variableEnhancer implementation="org.jetbrains.plugins.groovy.lang.psi.typeEnhancers.ClosureParameterEnhancer"/>
130
131     <membersContributor implementation="org.jetbrains.plugins.groovy.gant.GantMemberContributor"/>
132
133     <typeConverter implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GrContainerTypeConverter"/>
134     <typeConverter implementation="org.jetbrains.plugins.groovy.lang.psi.impl.types.GrStringTypeConverter"/>
135
136     <typeConverter implementation="org.jetbrains.plugins.groovy.gpp.GppTypeConverter"/>
137     <expectedTypesContributor implementation="org.jetbrains.plugins.groovy.gpp.GppExpectedTypesContributor"/>
138     <variableEnhancer implementation="org.jetbrains.plugins.groovy.gpp.GppClosureParameterTypeProvider"/>
139     <classSubstitutor implementation="org.jetbrains.plugins.groovy.gpp.GppClassSubstitutor"/>
140     <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gpp.GppPositionManager"/>
141
142     <mvc.framework implementation="org.jetbrains.plugins.groovy.griffon.GriffonFramework"/>
143     <groovyFrameworkConfigNotification implementation="org.jetbrains.plugins.groovy.griffon.GriffonConfigureNotification"/>
144     <defaultImportContributor implementation="org.jetbrains.plugins.groovy.griffon.GriffonDefaultImportContributor"/>
145
146     <groovyShellRunner implementation="org.jetbrains.plugins.groovy.console.DefaultGroovyShellRunner" order="last"/>
147   </extensions>
148
149   <extensions defaultExtensionNs="com.intellij.properties">
150     <implicitPropertyUsageProvider implementation="org.jetbrains.plugins.groovy.dgm.DGMImplicitPropertyUsageProvider"/>
151   </extensions>
152
153   <extensions defaultExtensionNs="com.intellij">
154     <pom.declarationSearcher implementation="org.jetbrains.plugins.groovy.geb.GebContentDeclarationSearcher"/>
155
156     <testFramework implementation="org.jetbrains.plugins.groovy.testIntegration.GroovyTestFramework"/>
157     <testCreator language="Groovy" implementationClass="com.intellij.testIntegration.JavaTestCreator"/>
158     <testGenerator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.testIntegration.GroovyTestGenerator"/>
159     <constructorBodyGenerator language="Groovy"
160                               implementationClass="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.GrConstructorBodyGenerator"/>
161     <editorNotificationProvider implementation="org.jetbrains.plugins.groovy.annotator.ConfigureGroovyLibraryNotificationProvider"/>
162     <refactoring.introduceParameterMethodUsagesProcessor
163         implementation="org.jetbrains.plugins.groovy.refactoring.introduce.parameter.java2groovy.GroovyIntroduceParameterMethodUsagesProcessor"/>
164     <refactoring.changeSignatureUsageProcessor
165         implementation="org.jetbrains.plugins.groovy.refactoring.changeSignature.GrChangeSignatureUsageProcessor" id="groovyProcessor"
166         order="before javaProcessor"/>
167     <safeDelete.importSearcher implementation="org.jetbrains.plugins.groovy.refactoring.safeDelete.GroovyImportSearcher"/>
168
169     <constantExpressionEvaluator language="Groovy"
170                                  implementationClass="org.jetbrains.plugins.groovy.lang.psi.util.GroovyConstantExpressionEvaluator"/>
171     <annotationSupport language="Groovy"
172                        implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.auxiliary.annotation.GroovyAnnotationSupport"/>
173
174     <expressionConverter language="Groovy"
175                          implementationClass="org.jetbrains.plugins.groovy.refactoring.introduce.parameter.GroovyExpressionConverter"/>
176
177     <codeInsight.createFieldFromUsageHelper language="Groovy" implementationClass="org.jetbrains.plugins.groovy.annotator.intentions.GroovyCreateFieldFromUsageHelper"/>
178
179     <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
180     <fileTypeFactory implementation="org.jetbrains.plugins.groovy.GroovyFileTypeLoader"/>
181     <fileTypeFactory implementation="org.jetbrains.plugins.groovy.dgm.DGMFileTypeFactory"/>
182
183     <projectConfigurable instance="org.jetbrains.plugins.groovy.gant.GantConfigurable"/>
184
185     <library.presentationProvider implementation="org.jetbrains.plugins.groovy.config.GroovyLibraryPresentationProvider"/>
186     <library.presentationProvider implementation="org.jetbrains.plugins.groovy.gpp.GppLibraryPresentationProvider" order="first"/>
187     <library.presentationProvider implementation="org.jetbrains.plugins.groovy.gant.GantLibraryPresentationProvider" order="last"/>
188
189     <projectService serviceInterface="org.jetbrains.plugins.groovy.gant.GantSettings"
190                     serviceImplementation="org.jetbrains.plugins.groovy.gant.GantSettings"/>
191
192     <spellchecker.support language="Groovy"
193                           implementationClass="org.jetbrains.plugins.groovy.codeInspection.spellchecker.GroovySpellcheckingStrategy"/>
194
195     <colorSettingsPage implementation="org.jetbrains.plugins.groovy.highlighter.GroovyColorsAndFontsPage"/>
196     <framework.type implementation="org.jetbrains.plugins.groovy.config.GroovyFrameworkType"/>
197     <renameHandler implementation="org.jetbrains.plugins.groovy.refactoring.rename.PropertyRenameHandler"/>
198     <renameHandler implementation="org.jetbrains.plugins.groovy.refactoring.rename.GrMethodRenameHandler"/>
199     <renamePsiElementProcessor id="groovyFieldRenameProcessor"
200                                implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameGrFieldProcessor"
201                                order="first"/>
202     <renamePsiElementProcessor id="groovyPropertyRenameProcessor"
203                                implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameGroovyPropertyProcessor"
204                                order="first"/>
205     <renamePsiElementProcessor id="groovyLightElementRenamer"
206                                implementation="org.jetbrains.plugins.groovy.refactoring.rename.GrLightElementRenamer"
207                                order="first, after groovyPropertyRenameProcessor"/>
208     <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedClassProcessor"
209                                order="first"/>
210     <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedMethodProcessor"
211                                order="first"/>
212     <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedFieldProcessor"
213                                order="first"/>
214     <rename.inplace.resolveSnapshotProvider language="Groovy"
215                                             implementationClass="org.jetbrains.plugins.groovy.refactoring.rename.inplace.GroovyResolveSnapshotProvider"/>
216
217     <renameHandler implementation="org.jetbrains.plugins.groovy.refactoring.rename.inplace.GrVariableInplaceRenameHandler"/>
218
219     <nameSuggestionProvider implementation="org.jetbrains.plugins.groovy.refactoring.GroovyNameSuggestionProvider"/>
220
221     <statementUpDownMover implementation="org.jetbrains.plugins.groovy.editor.actions.GroovyStatementMover"/>
222
223     <applicationService serviceInterface="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"
224                         serviceImplementation="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"/>
225
226     <!-- Groovy language -->
227     <syntaxHighlighter key="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovySyntaxHighlighter"/>
228
229     <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.annotator.GroovyAnnotator"/>
230     <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.dsl.GroovyDslAnnotator"/>
231
232     <lang.psiStructureViewFactory language="Groovy"
233                                   implementationClass="org.jetbrains.plugins.groovy.structure.GroovyStructureViewFactory"/>
234     <lang.parserDefinition language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.parser.GroovyParserDefinition"/>
235     <lang.commenter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyCommenter"/>
236     <lang.foldingBuilder language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.folding.GroovyFoldingBuilder"/>
237     <lang.formatter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.formatter.GroovyFormattingModelBuilder"/>
238     <lang.whiteSpaceFormattingStrategy language="Groovy"
239                                        implementationClass="org.jetbrains.plugins.groovy.formatter.GroovyWhiteSpaceFormattingStrategy"/>
240     <postFormatProcessor implementation="org.jetbrains.plugins.groovy.formatter.GroovyBracePostFormatProcessor"/>
241
242     <enterHandlerDelegate implementation="org.jetbrains.plugins.groovy.editor.actions.GroovyEnterHandler"
243                           order="before EnterBetweenBracesHandler"/>
244     <typedHandler implementation="org.jetbrains.plugins.groovy.editor.actions.GStringTypedActionHandler"/>
245     <backspaceHandlerDelegate implementation="org.jetbrains.plugins.groovy.editor.actions.GStringBackspaceHandlerDelegate"/>
246
247     <typedHandler implementation="org.jetbrains.plugins.groovy.editor.actions.GroovyTypedHandler"/>
248     <backspaceHandlerDelegate implementation="org.jetbrains.plugins.groovy.editor.actions.GroovyBackspaceHandler"/>
249
250     <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Generic"/>
251     <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Expression"/>
252     <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Statement"/>
253     <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Declaration"/>
254
255     <defaultLiveTemplatesProvider implementation="org.jetbrains.plugins.groovy.template.GroovyTemplatesProvider"/>
256
257     <liveTemplateOptionalProcessor implementation="org.jetbrains.plugins.groovy.template.GroovyShortenFQNamesProcessor"/>
258     <variableTypeCalculator implementation="org.jetbrains.plugins.groovy.template.GroovyVariableTypeCalculator"/>
259
260     <gotoSymbolContributor implementation="org.jetbrains.plugins.groovy.gotoclass.GroovyGoToSymbolContributor"/>
261     <lang.refactoringSupport language="Groovy"
262                              implementationClass="org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringSupportProvider"/>
263     <lang.surroundDescriptor language="Groovy"
264                              implementationClass="org.jetbrains.plugins.groovy.lang.surroundWith.GroovySurroundDescriptor"/>
265     <lang.findUsagesProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.findUsages.GroovyFindUsagesProvider"/>
266     <importFilteringRule implementation="org.jetbrains.plugins.groovy.findUsages.GrImportFilteringRule"/>
267
268     <readWriteAccessDetector implementation="org.jetbrains.plugins.groovy.findUsages.GroovyReadWriteAccessDetector" order="before java"/>
269     <findUsagesHandlerFactory implementation="org.jetbrains.plugins.groovy.findUsages.GroovyFindUsagesHandlerFactory"/>
270     <highlightUsagesHandlerFactory implementation="org.jetbrains.plugins.groovy.findUsages.GrHighlightHandlerFactory"/>
271     <lang.braceMatcher language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyBraceMatcher"/>
272     <lang.importOptimizer language="Groovy" implementationClass="org.jetbrains.plugins.groovy.editor.GroovyImportOptimizer"/>
273     <lang.documentationProvider language="Groovy"
274                                 implementationClass="org.jetbrains.plugins.groovy.lang.documentation.GroovyDocumentationProvider"/>
275     <lang.smartEnterProcessor language="Groovy"
276                               implementationClass="org.jetbrains.plugins.groovy.lang.completion.smartEnter.GroovySmartEnterProcessor"/>
277     <codeInsight.overrideMethod language="Groovy"
278                                 implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyOverrideMethodsHandler"/>
279     <codeInsight.implementMethod language="Groovy"
280                                  implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyImplementMethodsHandler"/>
281
282     <methodImplementor implementation="org.jetbrains.plugins.groovy.overrideImplement.GroovyMethodImplementor"/>
283     <codeInsight.parameterInfo language="Groovy"
284                                implementationClass="org.jetbrains.plugins.groovy.lang.parameterInfo.GroovyParameterInfoHandler"/>
285     <refactoring.inlineHandler language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.inline.GroovyInlineHandler"/>
286     <inlineActionHandler implementation="org.jetbrains.plugins.groovy.refactoring.inline.GroovyInlineLocalHandler"/>
287
288     <refactoring.moveClassHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyClassHandler"/>
289     <refactoring.moveClassToInnerHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.GroovyMoveClassToInnerHandler"/>
290     <moveFileHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyFileHandler"/>
291     <refactoring.moveMemberHandler language="Groovy"
292                                    implementationClass="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyMemberHandler"/>
293
294     <refactoring.helper implementation="org.jetbrains.plugins.groovy.refactoring.GroovyImportOptimizerRefactoringHelper"/>
295     <codeInsight.lineMarkerProvider language="Groovy"
296                                     implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyLineMarkerProvider"/>
297     <codeInsight.gotoSuper language="Groovy"
298                            implementationClass="org.jetbrains.plugins.groovy.codeInsight.navigation.actions.GroovyGotoSuperHandler"/>
299     <lookup.charFilter implementation="org.jetbrains.plugins.groovy.lang.completion.GroovyReferenceCharFilter"/>
300     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyNoVariantsDelegator"
301                             id="groovyBasic2ClassName" order="first, after liveTemplates"/>
302     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionContributor"
303                             id="groovyBasic" order="before javaClassName"/>
304     <completion.contributor language="Groovy"
305                             implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovySmartCompletionContributor"/>
306     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GrMethodMergingContributor"
307                             id="grMethodMerger" order="before methodMerger"/>
308
309     <completion.contributor language="Properties" implementationClass="org.jetbrains.plugins.groovy.dgm.DGMCompletionContributor"/>
310
311     <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.UnfocusedNameIdentifier"
312                            id="groovyNameIdentifier"/>
313     <completion.confidence language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionConfidence"
314                            id="groovyAdvanced" order="after groovyNameIdentifier"/>
315     <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.UnfocusedComments"
316                            id="groovyComments"/>
317     <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.AlwaysFocusLookup" id="groovyTrue"
318                            order="last"/>
319     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.geb.GebPageFieldNameCompletionContributor"/>
320
321     <psi.referenceContributor  language="Properties" implementation="org.jetbrains.plugins.groovy.dgm.DGMReferenceContributor"/>
322
323     <weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrWithWeigher"
324              id="groovyWithWeigher" order="before stats"/>
325     <weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrKindWeigher"
326              id="groovyKindWeigher" order="before stats, after groovyWithWeigher"/>
327
328     <weigher key="proximity" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrReferenceListWeigher"
329              id="groovyReferenceListWeigher" order="before openedInEditor"/>
330
331     <topLevelClassProvider implementation="org.jetbrains.plugins.groovy.debugger.GroovyTopLevelParentClassProvider"/>
332
333     <debuggerClassFilterProvider implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerClassFilterProvider"/>
334
335     <useScopeEnlarger implementation="org.jetbrains.plugins.groovy.lang.psi.impl.search.GrPrivateFieldScopeEnlarger"/>
336
337     <debuggerEditorTextProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.debugger.GroovyEditorTextProvider"/>
338
339     <xdebugger.settings implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerSettings"/>
340     <langCodeStyleSettingsProvider implementation="org.jetbrains.plugins.groovy.codeStyle.GroovyLanguageCodeStyleSettingsProvider"/>
341     <codeStyleSettingsProvider implementation="org.jetbrains.plugins.groovy.codeStyle.GroovyCodeStyleSettingsProvider"/>
342
343     <typeHierarchyProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.GroovyTypeHierarchyProvider"/>
344
345     <lang.unwrapDescriptor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.unwrap.GroovyUnwrapDescriptor"/>
346
347     <lang.elementManipulator forClass="org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral"
348                              implementationClass="org.jetbrains.plugins.groovy.lang.resolve.GroovyStringLiteralManipulator"/>
349     <lang.elementManipulator forClass="org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel"
350                              implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.statements.arguments.GrArgumentLabelManipulator"/>
351
352     <directClassInheritorsSearch implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyDirectInheritorsSearcher"/>
353
354     <pom.declarationSearcher implementation="org.jetbrains.plugins.groovy.lang.psi.GroovyDeclarationSearcher"/>
355
356     <pom.declarationSearcher implementation="org.jetbrains.plugins.groovy.spock.SpockPomDeclarationSearcher"/>
357
358     <typeDeclarationProvider implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyTypeDeclarationProvider" order="first"/>
359
360     <!--Run/debug-->
361     <configurationType implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationType"/>
362     <configurationProducer implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationProducer"/>
363
364     <quoteHandler fileType="Groovy" className="org.jetbrains.plugins.groovy.editor.GroovyQuoteHandler"/>
365
366     <compileServer.plugin classpath="jps/groovy-jps-plugin.jar"/>
367
368     <indexPatternBuilder implementation="org.jetbrains.plugins.groovy.util.GroovyIndexPatternBuilder"/>
369     <todoIndexer filetype="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyTodoIndexer"/>
370
371     <basicWordSelectionFilter implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyWordSelectionFilter"/>
372     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyLiteralSelectioner"/>
373     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyMembersWithDocSelectioner"/>
374     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyBlockStatementsSelectioner"/>
375     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyTypeCastSelectioner"/>
376     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyDocParamsSelectioner"/>
377     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyArgListSelectioner"/>
378     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyGStringSelectioner"
379                                 order="before wordSelectioner"/>
380     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyParameterListSelectioner"/>
381     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyElseSelectioner"/>
382     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyWordSelectionHandler"/>
383     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyStatementSelectioner"/>
384
385
386     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.AccessorMethodReferencesSearcher"/>
387     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.MethodLateBoundReferencesSearcher"/>
388     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyConstructorUsagesSearcher"/>
389     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyReflectedMethodReferenceSearcher"/>
390     <annotatedElementsSearch implementation="org.jetbrains.plugins.groovy.findUsages.AnnotatedMembersSearcher"/>
391     <superMethodsSearch implementation="org.jetbrains.plugins.groovy.findUsages.GDKSuperMethodSearcher"/>
392     <definitionsSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyImplementationSearch"/>
393
394     <targetElementEvaluator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyTargetElementEvaluator"/>
395
396     <fileTemplateGroup implementation="org.jetbrains.plugins.groovy.actions.GroovyTemplatesFactory"/>
397
398     <attachSourcesProvider implementation="org.jetbrains.plugins.groovy.ivy.IvyAttachSourceProvider"/>
399
400     <compilerSettingsFactory implementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerSettingsFactory"/>
401
402     <stubElementTypeHolder class="org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes"/>
403     <!--Stubs index-->
404     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullClassNameIndex"/>
405     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullScriptNameIndex"/>
406     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFieldNameIndex"/>
407     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrMethodNameIndex"/>
408     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotationMethodNameIndex"/>
409     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotatedMemberIndex"/>
410     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrScriptClassNameIndex"/>
411     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrDirectInheritorsIndex"/>
412     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnonymousClassIndex"/>
413
414     <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.ConstructorReferencesSearcher"/>
415     <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GrAliasedImportedElementSearcher"/>
416     <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.AccessorReferencesSearcher"/>
417
418     <antCustomCompiler implementation="org.jetbrains.plugins.groovy.ant.GroovyAntCustomCompilerProvider"/>
419
420     <project.converterProvider implementation="org.jetbrains.plugins.groovy.config.GroovyModuleConverterProvider"/>
421     <project.converterProvider implementation="org.jetbrains.plugins.groovy.config.GroovyRunConfigurationConverterProvider"/>
422
423     <iconProvider implementation="org.jetbrains.plugins.groovy.GroovyIconProvider"/>
424
425     <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory"
426                     serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementFactoryImpl"/>
427     <projectService serviceInterface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"
428                     serviceImplementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"/>
429
430     <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.providers.GroovyReferenceContributor"/>
431
432     <resolveScopeProvider implementation="org.jetbrains.plugins.groovy.lang.resolve.GroovyResolveScopeProvider"/>
433
434     <java.elementFinder implementation="org.jetbrains.plugins.groovy.lang.psi.impl.javaView.GroovyClassFinder"/>
435     <java.elementFinder implementation="org.jetbrains.plugins.groovy.gant.GantClassFinder"/>
436     <java.shortNamesCache implementation="org.jetbrains.plugins.groovy.lang.stubs.GroovyShortNamesCache"/>
437
438     <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"
439                     serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"/>
440
441     <projectService serviceInterface="org.jetbrains.plugins.groovy.dgm.GroovyExtensionProvider"
442                     serviceImplementation="org.jetbrains.plugins.groovy.dgm.GroovyExtensionProvider"/>
443
444     <problemFileHighlightFilter implementation="org.jetbrains.plugins.groovy.GroovyProblemFileHighlightFilter"/>
445
446     <renameInputValidator implementation="org.jetbrains.plugins.groovy.GroovyRenameInputValidator"/>
447     <lang.namesValidator implementationClass="org.jetbrains.plugins.groovy.lang.GroovyNamesValidator" language="Groovy"/>
448
449     <fileBasedIndex implementation="org.jetbrains.plugins.groovy.dsl.GroovyDslFileIndex"/>
450
451     <patterns.patternClass className="org.jetbrains.plugins.groovy.lang.psi.patterns.GroovyPatterns" alias="groovy"/>
452
453     <stacktrace.fold substring="at org.codehaus.groovy."/>
454     <stacktrace.fold substring="at groovy."/>
455     <stacktrace.fold substring="at org.codehaus.groovy.runtime.DefaultGroovyMethods." negate="true"/>
456     <stacktrace.fold substring="at org.codehaus.groovy.vmplugin.v5.PluginDefaultGroovyMethods." negate="true"/>
457     <stacktrace.fold substring="at org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport." negate="true"/>
458
459     <projectStructureDetector implementation="org.jetbrains.plugins.groovy.GroovySourceRootDetector"/>
460
461     <generation.topLevelFactory language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFactoryProvider"/>
462
463     <postStartupActivity implementation="org.jetbrains.plugins.groovy.mvc.MvcProjectWithoutLibraryNotificator"/>
464
465     <treeCopyHandler implementation="org.jetbrains.plugins.groovy.lang.GroovyChangeUtilSupport"/>
466
467     <copyPastePreProcessor implementation="org.jetbrains.plugins.groovy.editor.GroovyLiteralCopyPasteProcessor"/>
468     <copyPastePostProcessor implementation="org.jetbrains.plugins.groovy.editor.GroovyReferenceCopyPasteProcessor"/>
469
470     <specialTool shortName="GroovyUnusedDeclaration" displayName="Unused declaration"
471                  groupPath="Groovy"
472                  groupName="Declaration redundancy" enabledByDefault="true" level="WARNING"
473                  implementationClass="org.jetbrains.plugins.groovy.codeInspection.GroovyUnusedDeclarationInspection"/>
474
475     <localInspection language="Groovy" groupPath="Groovy" shortName="SecondUnsafeCall"
476                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
477                      key="second.unsafe.call" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
478                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.secondUnsafeCall.SecondUnsafeCallInspection"/>
479     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnusedAssignment"
480                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
481                      key="unused.assignment" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
482                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.unusedDef.UnusedDefInspection"/>
483     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnusedIncOrDec"
484                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
485                      key="unused.inc.dec" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
486                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GrUnusedIncDecInspection"/>
487     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyVariableNotAssigned"
488                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
489                      key="unassigned.access" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
490                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.unassignedVariable.UnassignedVariableAccessInspection"/>
491     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMissingReturnStatement"
492                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
493                      key="no.return.display.name" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
494                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.noReturnMethod.MissingReturnInspection"/>
495     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignabilityCheck" displayName="Incompatible type assignments"
496                      groupName="Assignment issues"
497                      enabledByDefault="true" level="WARNING"
498                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection"/>
499     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfAssignmentUsed" displayName="Result of assignment used"
500                      groupName="Assignment issues"
501                      enabledByDefault="false" level="WARNING"
502                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyResultOfAssignmentUsedInspection"/>
503     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentCanBeOperatorAssignment"
504                      displayName="Assignment replaceable with operator assignment"
505                      groupName="Assignment issues" enabledByDefault="false" level="WARNING"
506                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentCanBeOperatorAssignmentInspection"/>
507     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentToForLoopParameter"
508                      displayName="Assignment to for-loop parameter"
509                      groupName="Assignment issues" enabledByDefault="false" level="WARNING"
510                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentToForLoopParameterInspection"/>
511     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentToMethodParameter"
512                      displayName="Assignment to method parameter"
513                      groupName="Assignment issues" enabledByDefault="false" level="WARNING"
514                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentToMethodParameterInspection"/>
515     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedAssignment" displayName="Nested assignment"
516                      groupName="Assignment issues"
517                      enabledByDefault="false" level="WARNING"
518                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyNestedAssignmentInspection"/>
519     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySillyAssignment" displayName="Silly assignment"
520                      groupName="Assignment issues" enabledByDefault="true"
521                      level="WARNING"
522                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovySillyAssignmentInspection"/>
523     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUncheckedAssignmentOfMemberOfRawType"
524                      displayName="Unchecked assignment from members of raw type"
525                      groupName="Assignment issues" enabledByDefault="true" level="WARNING"
526                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyUncheckedAssignmentOfMemberOfRawTypeInspection"/>
527     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyContinueOrBreakFromFinallyBlock"
528                      displayName="'continue' or 'break' inside 'finally' block"
529                      groupName="Error handling" enabledByDefault="false" level="WARNING"
530                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyContinueOrBreakFromFinallyBlockInspection"/>
531     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyReturnFromFinallyBlock"
532                      displayName="'return' inside 'finally' block" groupName="Error handling"
533                      enabledByDefault="false" level="WARNING"
534                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyReturnFromFinallyBlockInspection"/>
535     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyThrowFromFinallyBlock"
536                      displayName="'throw' inside 'finally' block" groupName="Error handling"
537                      enabledByDefault="false" level="WARNING"
538                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyThrowFromFinallyBlockInspection"/>
539     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyCatchBlock" displayName="Empty 'catch' block"
540                      groupName="Error handling" enabledByDefault="false"
541                      level="WARNING"
542                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyCatchBlockInspection"/>
543     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyFinallyBlock" displayName="Empty 'finally' block"
544                      groupName="Error handling"
545                      enabledByDefault="false" level="WARNING"
546                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyFinallyBlockInspection"/>
547     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyTryBlock" displayName="Empty 'try' block"
548                      groupName="Error handling" enabledByDefault="false"
549                      level="WARNING"
550                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyTryBlockInspection"/>
551     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnusedCatchParameter" displayName="Unused catch parameter"
552                      groupName="Error handling"
553                      enabledByDefault="true" level="WARNING"
554                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyUnusedCatchParameterInspection"/>
555     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyBreak" displayName="Break statement" groupName="Control Flow"
556                      enabledByDefault="false" level="WARNING"
557                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyBreakInspection"/>
558     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyContinue" displayName="Continue statement"
559                      groupName="Control Flow" enabledByDefault="false"
560                      level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyContinueInspection"/>
561     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnreachableStatement" displayName="Unreachable Statement"
562                      groupName="Validity issues"
563                      enabledByDefault="true" level="WARNING"
564                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.validity.GroovyUnreachableStatementInspection"/>
565     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLoopStatementThatDoesntLoop"
566                      displayName="Loop statement that doesn't loop" groupName="Control Flow"
567                      enabledByDefault="false" level="WARNING"
568                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyLoopStatementThatDoesntLoopInspection"/>
569     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalWithIdenticalBranches"
570                      displayName="Conditional expression with identical branches"
571                      groupName="Control Flow" enabledByDefault="true" level="WARNING"
572                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalWithIdenticalBranchesInspection"/>
573     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalCanBeElvis"
574                      displayName="Conditional expression can be elvis" groupName="Control Flow"
575                      enabledByDefault="false" level="WARNING"
576                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalCanBeElvisInspection"/>
577     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalCanBeConditionalCall"
578                      displayName="Conditional expression can be conditional call"
579                      groupName="Control Flow" enabledByDefault="false" level="WARNING"
580                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalCanBeConditionalCallInspection"/>
581     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyIfStatementWithIdenticalBranches"
582                      displayName="If statement with identical branches"
583                      groupName="Control Flow" enabledByDefault="true" level="WARNING"
584                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyIfStatementWithIdenticalBranchesInspection"/>
585     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyIfStatementWithTooManyBranches"
586                      displayName="If statement with too many branches"
587                      groupName="Control Flow" enabledByDefault="false" level="WARNING"
588                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyIfStatementWithTooManyBranchesInspection"/>
589     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyFallthrough" displayName="Fallthrough in switch statement"
590                      groupName="Control Flow"
591                      enabledByDefault="true" level="WARNING"
592                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyFallthroughInspection"/>
593     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnnecessaryContinue"
594                      displayName="Unnecessary 'continue' statement" groupName="Control Flow"
595                      enabledByDefault="true" level="WARNING"
596                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyUnnecessaryContinueInspection"/>
597     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnnecessaryReturn" displayName="Unnecessary 'return' statement"
598                      groupName="Control Flow"
599                      enabledByDefault="true" level="WARNING"
600                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyUnnecessaryReturnInspection"/>
601     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySwitchStatementWithNoDefault"
602                      displayName="Switch statement with no default case"
603                      groupName="Control Flow" enabledByDefault="false" level="WARNING"
604                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovySwitchStatementWithNoDefaultInspection"/>
605     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyReturnFromClosureCanBeImplicit"
606                      displayName="'return' statement can be implicit"
607                      groupName="Control Flow" enabledByDefault="false" level="WARNING"
608                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyReturnFromClosureCanBeImplicitInspection"/>
609     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyTrivialConditional"
610                      displayName="Redundant conditional expression" groupName="Control Flow"
611                      enabledByDefault="true" level="WARNING"
612                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyTrivialConditionalInspection"/>
613     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantConditional"
614                      displayName="Constant conditional expression" groupName="Control Flow"
615                      enabledByDefault="true" level="WARNING"
616                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConstantConditionalInspection"/>
617     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantIfStatement" displayName="Constant if statement"
618                      groupName="Control Flow"
619                      enabledByDefault="true" level="WARNING"
620                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConstantIfStatementInspection"/>
621     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyTrivialIf" displayName="Redundant 'if' statement"
622                      groupName="Control Flow" enabledByDefault="true"
623                      level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyTrivialIfInspection"/>
624     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAccessToStaticFieldLockedOnInstance"
625                      displayName="Access to static field locked on instance data"
626                      groupName="Threading issues" enabledByDefault="true" level="WARNING"
627                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyAccessToStaticFieldLockedOnInstanceInspection"/>
628     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDoubleCheckedLocking" displayName="Double-checked locking"
629                      groupName="Threading issues"
630                      enabledByDefault="false" level="WARNING"
631                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyDoubleCheckedLockingInspection"/>
632     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnconditionalWait" displayName="Unconditional 'wait' call"
633                      groupName="Threading issues"
634                      enabledByDefault="false" level="WARNING"
635                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyUnconditionalWaitInspection"/>
636     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPublicFieldAccessedInSynchronizedContext"
637                      displayName="Non-private field accessed in synchronized context" groupName="Threading issues" enabledByDefault="false"
638                      level="WARNING"
639                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyPublicFieldAccessedInSynchronizedContextInspection"/>
640     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyBusyWait" displayName="Busy wait" groupName="Threading issues"
641                      enabledByDefault="false"
642                      level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyBusyWaitInspection"/>
643     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptySyncBlock" displayName="Empty 'synchronized' block"
644                      groupName="Threading issues"
645                      enabledByDefault="false" level="WARNING"
646                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyEmptySyncBlockInspection"/>
647     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnThis" displayName="Synchronization on 'this'"
648                      groupName="Threading issues"
649                      enabledByDefault="false" level="WARNING"
650                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnThisInspection"/>
651     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizedMethod" displayName="Synchronized method"
652                      groupName="Threading issues"
653                      enabledByDefault="false" level="WARNING"
654                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizedMethodInspection"/>
655     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedSynchronizedStatement"
656                      displayName="Nested 'synchronized' statement"
657                      groupName="Threading issues" enabledByDefault="false" level="WARNING"
658                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyNestedSynchronizedStatementInspection"/>
659     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyThreadStopSuspendResume"
660                      displayName="Call to Thread.stop(), Thread.suspend(), or Thread.resume()"
661                      groupName="Threading issues" enabledByDefault="false" level="WARNING"
662                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyThreadStopSuspendResumeInspection"/>
663     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySystemRunFinalizersOnExit"
664                      displayName="Call to System.runFinalizersOnExit()"
665                      groupName="Threading issues" enabledByDefault="false" level="WARNING"
666                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySystemRunFinalizersOnExitInspection"/>
667     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNotifyWhileNotSynchronized"
668                      displayName="'notify()' or 'notifyAll()' while not synced"
669                      groupName="Threading issues" enabledByDefault="false" level="WARNING"
670                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyNotifyWhileNotSynchronizedInspection"/>
671     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWaitCallNotInLoop" displayName="'wait()' not in loop"
672                      groupName="Threading issues"
673                      enabledByDefault="false" level="WARNING"
674                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWaitCallNotInLoopInspection"/>
675     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWaitWhileNotSynchronized" displayName="'wait()' while not synced"
676                      groupName="Threading issues"
677                      enabledByDefault="false" level="WARNING"
678                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWaitWhileNotSynchronizedInspection"/>
679     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnNonFinalField"
680                      displayName="Synchronization on non-final field"
681                      groupName="Threading issues" enabledByDefault="true" level="WARNING"
682                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnNonFinalFieldInspection"/>
683     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnVariableInitializedWithLiteral"
684                      displayName="Synchronization on variable initialized with literal" groupName="Threading issues"
685                      enabledByDefault="true" level="WARNING"
686                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnVariableInitializedWithLiteralInspection"/>
687     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnsynchronizedMethodOverridesSynchronizedMethod"
688                      displayName="Unsynchronized method overrides synchronized method" groupName="Threading issues" enabledByDefault="true"
689                      level="WARNING"
690                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyUnsynchronizedMethodOverridesSynchronizedMethodInspection"/>
691     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWhileLoopSpinsOnField" displayName="While loop spins on field"
692                      groupName="Threading issues"
693                      enabledByDefault="false" level="WARNING"
694                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWhileLoopSpinsOnFieldInspection"/>
695     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMethodParameterCount"
696                      displayName="Method with too many parameters" groupName="Method Metrics"
697                      enabledByDefault="false" level="WARNING"
698                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMethodParameterCountInspection"/>
699     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexMethod" displayName="Overly complex method"
700                      groupName="Method Metrics"
701                      enabledByDefault="false" level="WARNING"
702                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyComplexMethodInspection"/>
703     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyLongMethod" displayName="Overly long method"
704                      groupName="Method Metrics" enabledByDefault="false"
705                      level="WARNING"
706                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyLongMethodInspection"/>
707     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyNestedMethod" displayName="Overly nested method"
708                      groupName="Method Metrics"
709                      enabledByDefault="false" level="WARNING"
710                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyNestedMethodInspection"/>
711     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMethodWithMoreThanThreeNegations"
712                      displayName="Method with more than three negations"
713                      groupName="Method Metrics" enabledByDefault="false" level="WARNING"
714                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMethodWithMoreThanThreeNegationsInspection"/>
715     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMultipleReturnPointsPerMethod"
716                      displayName="Method with multiple return points"
717                      groupName="Method Metrics" enabledByDefault="false" level="WARNING"
718                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMultipleReturnPointsPerMethodInspection"/>
719     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedSwitch" displayName="Nested switch statement"
720                      groupName="Potentially confusing code constructs"
721                      enabledByDefault="false" level="WARNING"
722                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNestedSwitchInspection"/>
723     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditional" displayName="Conditional expression"
724                      groupName="Potentially confusing code constructs"
725                      enabledByDefault="false" level="WARNING"
726                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyConditionalInspection"/>
727     <localInspection language="Groovy" groupPath="Groovy" shortName="GrFieldAlreadyDefined"
728                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
729                      key="field.already.defined" groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
730                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GrFieldAlreadyDefinedInspection"/>
731     <localInspection language="Groovy" groupPath="Groovy" shortName="ClashingGetters"
732                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
733                      key="clashing.getters" groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
734                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.ClashingGettersInspection"/>
735     <localInspection language="Groovy" groupPath="Groovy" shortName="GrDeprecatedAPIUsage"
736                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
737                      key="gr.deprecated.api.usage" groupName="Potentially confusing code constructs" enabledByDefault="true" level="WARNING"
738                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GrDeprecatedAPIUsageInspection"/>
739     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedConditional" displayName="Nested conditional expression"
740                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
741                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNestedConditionalInspection"/>
742     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNegatedConditional" displayName="Negated conditional expression"
743                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
744                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNegatedConditionalInspection"/>
745     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInArgumentCheck" displayName="Incompatible 'in' argument types"
746                      enabledByDefault="true" groupName="Probable bugs" level="WARNING"
747                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInArgumentCheckInspection"/>
748     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNegatedIf" displayName="Negated if condition expression"
749                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
750                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNegatedIfInspection"/>
751     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfIncrementOrDecrementUsed"
752                      displayName="Result of increment or decrement used"
753                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
754                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyResultOfIncrementOrDecrementUsedInspection"/>
755     <localInspection language="Groovy" groupPath="Groovy" enabledByDefault="true" level="WARNING"
756                      shortName="GrReassignedInClosureLocalVar"
757                      displayName="Local variable is reassigned in closure or anonymous class"
758                      groupName="Potentially confusing code constructs"
759                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GrReassignedInClosureLocalVarInspection"/>
760     <localInspection language="Groovy" groupPath="Groovy" shortName="UnnecessaryQualifiedReference"
761                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
762                      key="unnecessary.qualified.reference" groupName="Potentially confusing code constructs" enabledByDefault="false"
763                      level="WARNING"
764                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.UnnecessaryQualifiedReferenceInspection"/>
765     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyStatementBody" displayName="Statement with empty body"
766                      groupName="Potentially confusing code constructs" enabledByDefault="true" level="WARNING"
767                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyEmptyStatementBodyInspection"/>
768     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPointlessBoolean"
769                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
770                      key="pointless.boolean.display.name" groupName="Potentially confusing code constructs" enabledByDefault="true"
771                      level="WARNING"
772                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyPointlessBooleanInspection"/>
773     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPointlessArithmetic"
774                      displayName="Pointless arithmetic expression"
775                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
776                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyPointlessArithmeticInspection"/>
777     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDoubleNegation" displayName="Double negation"
778                      groupName="Potentially confusing code constructs"
779                      enabledByDefault="true" level="WARNING"
780                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyDoubleNegationInspection"/>
781     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexArithmeticExpression"
782                      displayName="Overly complex arithmetic expression"
783                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
784                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOverlyComplexArithmeticExpressionInspection"/>
785     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexBooleanExpression"
786                      displayName="Overly complex boolean expression"
787                      groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
788                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOverlyComplexBooleanExpressionInspection"/>
789     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOctalInteger" displayName="Octal integer"
790                      groupName="Potentially confusing code constructs"
791                      enabledByDefault="false" level="WARNING"
792                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOctalIntegerInspection"/>
793     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDuplicateSwitchBranch" displayName="Duplicate switch case"
794                      groupName="Validity issues"
795                      enabledByDefault="true" level="WARNING"
796                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.validity.GroovyDuplicateSwitchBranchInspection"/>
797     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNonShortCircuitBoolean" displayName="Non short-circuit boolean"
798                      groupName="Probable bugs"
799                      enabledByDefault="false" level="WARNING"
800                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyNonShortCircuitBooleanInspection"/>
801     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInfiniteLoopStatement" displayName="Infinite loop statement"
802                      groupName="Probable bugs"
803                      enabledByDefault="true" level="WARNING"
804                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInfiniteLoopStatementInspection"/>
805     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInfiniteRecursion" displayName="Infinite recursion"
806                      groupName="Probable bugs" enabledByDefault="true"
807                      level="WARNING"
808                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInfiniteRecursionInspection"/>
809     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDivideByZero" displayName="Divide by zero"
810                      groupName="Probable bugs" enabledByDefault="true"
811                      level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyDivideByZeroInspection"/>
812     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfObjectAllocationIgnored"
813                      displayName="Result of object allocation ignored"
814                      groupName="Probable bugs" enabledByDefault="true" level="WARNING"
815                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyResultOfObjectAllocationIgnoredInspection"/>
816     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAccessibility"
817                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
818                      key="access.to.inaccessible.element" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
819                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyAccessibilityInspection"/>
820     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstructorNamedArguments"
821                      displayName="Named arguments of constructor call" groupName="Probable bugs"
822                      enabledByDefault="true" level="WARNING"
823                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyConstructorNamedArgumentsInspection"/>
824     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDocCheck" displayName="GroovyDoc issues"
825                      groupName="Probable bugs"
826                      enabledByDefault="true" level="ERROR"
827                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyDocCheckInspection"/>
828     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyRangeTypeCheck"
829                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
830                      key="incorrect.range.argument" groupName="Probable bugs" enabledByDefault="false" level="WARNING"
831                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyRangeTypeCheckInspection"/>
832     <localInspection language="Groovy" groupPath="Groovy" shortName="NewInstanceOfSingleton"
833                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
834                      key="new.instance.of.singleton" groupName="Potentially confusing code constructs" enabledByDefault="true"
835                      level="WARNING"
836                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.NewInstanceOfSingletonInspection"/>
837     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLabeledStatement"
838                      bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
839                      key="check.labeled.statement" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
840                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyLabeledStatementInspection"/>
841     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyClassNamingConvention" displayName="Class naming convention"
842                      groupName="Naming Conventions"
843                      enabledByDefault="false" level="WARNING"
844                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyClassNamingConventionInspection"/>
845     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInterfaceNamingConvention"
846                      displayName="Interface naming convention" groupName="Naming Conventions"
847                      enabledByDefault="false" level="WARNING"
848                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInterfaceNamingConventionInspection"/>
849     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAnnotationNamingConvention"
850                      displayName="Annotation naming convention" groupName="Naming Conventions"
851                      enabledByDefault="false" level="WARNING"
852                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyAnnotationNamingConventionInspection"/>
853     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEnumerationNamingConvention"
854                      displayName="Enumeration naming convention"
855                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
856                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyEnumerationNamingConventionInspection"/>
857     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLocalVariableNamingConvention"
858                      displayName="Local variable naming convention"
859                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
860                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyLocalVariableNamingConventionInspection"/>
861     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyStaticMethodNamingConvention"
862                      displayName="Static method naming convention"
863                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
864                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyStaticMethodNamingConventionInspection"/>
865     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyStaticVariableNamingConvention"
866                      displayName="Static variable naming convention"
867                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
868                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyStaticVariableNamingConventionInspection"/>
869     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInstanceMethodNamingConvention"
870                      displayName="Instance method naming convention"
871                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
872                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInstanceMethodNamingConventionInspection"/>
873     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInstanceVariableNamingConvention"
874                      displayName="Instance variable naming convention"
875                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
876                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInstanceVariableNamingConventionInspection"/>
877     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantNamingConvention"
878                      displayName="Constant naming convention" groupName="Naming Conventions"
879                      enabledByDefault="false" level="WARNING"
880                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyConstantNamingConventionInspection"/>
881     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyParameterNamingConvention"
882                      displayName="Method parameter naming convention"
883                      groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
884                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyParameterNamingConventionInspection"/>
885     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyGetterCallCanBePropertyAccess"
886                      displayName="Getter call can be property access"
887                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
888                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyGetterCallCanBePropertyAccessInspection"/>
889     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySetterCallCanBePropertyAccess"
890                      displayName="Setter call can be property access"
891                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
892                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovySetterCallCanBePropertyAccessInspection"/>
893     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMapGetCanBeKeyedAccess"
894                      displayName="Call to Map.get can be keyed access"
895                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
896                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyMapGetCanBeKeyedAccessInspection"/>
897     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMapPutCanBeKeyedAccess"
898                      displayName="Call to Map.put can be keyed access"
899                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
900                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyMapPutCanBeKeyedAccessInspection"/>
901     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyListGetCanBeKeyedAccess"
902                      displayName="Call to List.get can be keyed access"
903                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
904                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyListGetCanBeKeyedAccessInspection"/>
905     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyListSetCanBeKeyedAccess"
906                      displayName="Call to List.set can be keyed access"
907                      groupName="GPath inspections" enabledByDefault="false" level="WARNING"
908                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyListSetCanBeKeyedAccessInspection"/>
909     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUntypedAccess" displayName="Access to untyped expression"
910                      groupName="Probable bugs"
911                      enabledByDefault="false" level="WARNING"
912                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.GroovyUntypedAccessInspection"/>
913     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnresolvedAccess" displayName="Access to unresolved expression"
914                      groupName="Probable bugs"
915                      enabledByDefault="false" level="WARNING"
916                      implementationClass="org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.GroovyUnresolvedAccessInspection"/>
917     <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySingletonAnnotation"
918                      displayName="Check '@Singleton' annotation conventions"
919                      groupName="Annotations verifying" enabledByDefault="true" level="WARNING"
920                      implementationClass="org.jetbrains.plugins.groovy.annotator.inspections.GroovySingletonAnnotationInspection"/>
921
922     <implicitUsageProvider implementation="org.jetbrains.plugins.groovy.gpp.GppImplicitUsageProvider"/>
923
924     <!-- control flow -->
925     <intentionAction>
926       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
927       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
928       <className>org.jetbrains.plugins.groovy.intentions.control.DemorgansLawIntention</className>
929     </intentionAction>
930     <intentionAction>
931       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
932       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
933       <className>org.jetbrains.plugins.groovy.intentions.control.SplitIfIntention</className>
934     </intentionAction>
935     <intentionAction>
936       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
937       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
938       <className>org.jetbrains.plugins.groovy.intentions.control.InvertIfIntention</className>
939     </intentionAction>
940     <intentionAction>
941       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
942       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
943       <className>org.jetbrains.plugins.groovy.intentions.control.ReplaceTernaryWithIfElseIntention</className>
944     </intentionAction>
945     <intentionAction>
946       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
947       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
948       <className>org.jetbrains.plugins.groovy.intentions.control.SimplifyTernaryOperatorIntention</className>
949     </intentionAction>
950     <intentionAction>
951       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
952       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
953       <className>org.jetbrains.plugins.groovy.intentions.control.CreateParameterForFieldIntention</className>
954     </intentionAction>
955     <intentionAction>
956       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
957       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
958       <className>org.jetbrains.plugins.groovy.intentions.control.MergeIfAndIntention</className>
959     </intentionAction>
960     <intentionAction>
961       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
962       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
963       <className>org.jetbrains.plugins.groovy.intentions.control.ExpandBooleanIntention</className>
964     </intentionAction>
965     <intentionAction>
966       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
967       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
968       <className>org.jetbrains.plugins.groovy.intentions.control.FlipConjunctionIntention</className>
969     </intentionAction>
970     <intentionAction>
971       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
972       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
973       <className>org.jetbrains.plugins.groovy.intentions.control.FlipComparisonIntention</className>
974     </intentionAction>
975     <intentionAction>
976       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
977       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
978       <className>org.jetbrains.plugins.groovy.intentions.control.NegateComparisonIntention</className>
979     </intentionAction>
980     <intentionAction>
981       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
982       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
983       <className>org.jetbrains.plugins.groovy.intentions.control.MergeElseIfIntention</className>
984     </intentionAction>
985     <intentionAction>
986       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
987       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
988       <className>org.jetbrains.plugins.groovy.intentions.control.SplitElseIfIntention</className>
989     </intentionAction>
990     <intentionAction>
991       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
992       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
993       <className>org.jetbrains.plugins.groovy.intentions.control.FlipConditionalIntention</className>
994     </intentionAction>
995
996     <!-- closures -->
997     <intentionAction>
998       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
999       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
1000       <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallExplicitIntention</className>
1001     </intentionAction>
1002     <intentionAction>
1003       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1004       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
1005       <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallImplicitIntention</className>
1006     </intentionAction>
1007     <intentionAction>
1008       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1009       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
1010       <className>org.jetbrains.plugins.groovy.intentions.closure.ForToEachIntention</className>
1011     </intentionAction>
1012     <intentionAction>
1013       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1014       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
1015       <className>org.jetbrains.plugins.groovy.intentions.closure.EachToForIntention</className>
1016     </intentionAction>
1017     <!--
1018     todo make this work
1019     <intentionAction>
1020       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1021       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
1022       <className>org.jetbrains.plugins.groovy.intentions.closure.ConvertClosureArgToItIntention</className>
1023     </intentionAction>
1024     -->
1025
1026
1027     <!-- comments -->
1028     <intentionAction>
1029       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1030       <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
1031       <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToCStyleCommentIntention</className>
1032     </intentionAction>
1033     <!--
1034     todo make this work
1035     <intentionAction>
1036       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1037       <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
1038       <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToEndOfLineCommentIntention</className>
1039     </intentionAction>
1040     -->
1041
1042     <!-- conversions -->
1043     <intentionAction>
1044       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1045       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1046       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertJavaStyleArrayIntention</className>
1047     </intentionAction>
1048     <intentionAction>
1049       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1050       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1051       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToDecimalIntention</className>
1052     </intentionAction>
1053     <intentionAction>
1054       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1055       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1056       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToHexIntention</className>
1057     </intentionAction>
1058     <intentionAction>
1059       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1060       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1061       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToOctalIntention</className>
1062     </intentionAction>
1063     <intentionAction>
1064       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1065       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1066       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToBinaryIntention</className>
1067     </intentionAction>
1068     <intentionAction>
1069       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1070       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1071       <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexingMethodConversionIntention</className>
1072     </intentionAction>
1073     <intentionAction>
1074       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1075       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1076       <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexedExpressionConversionIntention</className>
1077     </intentionAction>
1078     <intentionAction>
1079       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1080       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1081       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.ConvertGStringToStringIntention</className>
1082     </intentionAction>
1083     <intentionAction>
1084       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1085       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1086       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.GrConvertStringToCharIntention</className>
1087     </intentionAction>
1088     <intentionAction>
1089       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1090       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1091       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.RemoveUnnecessaryEscapeCharactersIntention</className>
1092     </intentionAction>
1093     <intentionAction>
1094       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1095       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1096       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.GrBreakStringOnLineBreaksIntention</className>
1097     </intentionAction>
1098     <intentionAction>
1099       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1100       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1101       <className>org.jetbrains.plugins.groovy.intentions.conversions.GrSplitDeclarationIntention</className>
1102     </intentionAction>
1103     <intentionAction>
1104       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1105       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1106       <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveParenthesesFromMethodCallIntention</className>
1107     </intentionAction>
1108     <intentionAction>
1109       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1110       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1111       <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveUnnecessaryBracesInGStringIntention</className>
1112     </intentionAction>
1113     <intentionAction>
1114       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1115       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1116       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertMapToClassIntention</className>
1117     </intentionAction>
1118     <intentionAction>
1119       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1120       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1121       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.ConvertConcatenationToGstringIntention</className>
1122     </intentionAction>
1123     <intentionAction>
1124       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1125       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1126       <className>org.jetbrains.plugins.groovy.intentions.conversions.RenameFileWithClassIntention</className>
1127     </intentionAction>
1128     <intentionAction>
1129       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1130       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1131       <className>org.jetbrains.plugins.groovy.intentions.conversions.MoveClassToNewFileIntention</className>
1132     </intentionAction>
1133     <intentionAction>
1134       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1135       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1136       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertMethodToClosureIntention</className>
1137     </intentionAction>
1138     <intentionAction>
1139       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1140       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1141       <className>org.jetbrains.plugins.groovy.intentions.conversions.strings.ConvertStringToMultilineIntention</className>
1142     </intentionAction>
1143     <intentionAction>
1144       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1145       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1146       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertClosureToMethodIntention</className>
1147     </intentionAction>
1148     <intentionAction>
1149       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1150       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
1151       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertJunitAssertionToAssertStatementIntention</className>
1152     </intentionAction>
1153
1154     <!-- groovy style -->
1155     <intentionAction>
1156       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1157       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1158       <className>org.jetbrains.plugins.groovy.intentions.style.JavaStylePropertiesInvocationIntention</className>
1159     </intentionAction>
1160     <intentionAction>
1161       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1162       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1163       <className>org.jetbrains.plugins.groovy.intentions.style.RemoveUnnecessarySemicolonsIntention</className>
1164     </intentionAction>
1165     <intentionAction>
1166       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1167       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1168       <className>org.jetbrains.plugins.groovy.intentions.style.ImportStaticIntention</className>
1169     </intentionAction>
1170     <intentionAction>
1171       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1172       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1173       <className>org.jetbrains.plugins.groovy.intentions.style.ImportOnDemandIntention</className>
1174     </intentionAction>
1175     <intentionAction>
1176       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1177       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1178       <className>org.jetbrains.plugins.groovy.intentions.style.ConvertToGeeseBracesIntention</className>
1179     </intentionAction>
1180     <intentionAction>
1181       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1182       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1183       <className>org.jetbrains.plugins.groovy.intentions.style.ConvertFromGeeseBracesIntention</className>
1184     </intentionAction>
1185     <intentionAction>
1186       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1187       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1188       <className>org.jetbrains.plugins.groovy.intentions.style.AddReturnTypeFix</className>
1189     </intentionAction>
1190     <intentionAction>
1191       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1192       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1193       <className>org.jetbrains.plugins.groovy.intentions.style.parameterToEntry.ConvertParameterToMapEntryIntention</className>
1194     </intentionAction>
1195     <intentionAction>
1196       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1197       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
1198       <className>org.jetbrains.plugins.groovy.intentions.style.ReplaceAbstractClassInstanceByMapIntention</className>
1199     </intentionAction>
1200
1201     <intentionAction>
1202       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1203       <categoryKey>intention.category.groovy</categoryKey>
1204       <className>org.jetbrains.plugins.groovy.grape.GrabDependencies</className>
1205     </intentionAction>
1206
1207     <!--declaration-->
1208     <intentionAction>
1209       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1210       <categoryKey>intention.category.groovy/intention.category.groovy.declaration</categoryKey>
1211       <className>org.jetbrains.plugins.groovy.intentions.declaration.GrCreateSubclassAction</className>
1212     </intentionAction>
1213     <intentionAction>
1214       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1215       <categoryKey>intention.category.groovy/intention.category.groovy.declaration</categoryKey>
1216       <className>org.jetbrains.plugins.groovy.intentions.declaration.GrCreateFieldForParameterIntention</className>
1217     </intentionAction>
1218
1219     <!--other-->
1220     <intentionAction>
1221       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
1222       <categoryKey>intention.category.groovy/intention.category.groovy.other</categoryKey>
1223       <className>org.jetbrains.plugins.groovy.intentions.other.GrCreateMissingSwitchBranchesIntention</className>
1224     </intentionAction>
1225
1226     <projectService serviceInterface="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"
1227                     serviceImplementation="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"/>
1228
1229     <java.programPatcher implementation="org.jetbrains.plugins.groovy.debugger.GroovyHotSwapper"/>
1230     <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.gpp.GppReferenceContributor"/>
1231
1232     <library.presentationProvider implementation="org.jetbrains.plugins.groovy.griffon.GriffonLibraryPresentationProvider"/>
1233     <moduleBuilder builderClass="org.jetbrains.plugins.groovy.griffon.GriffonModuleBuilder" id="griffonModuleBuilder"/>
1234     <projectStructureDetector implementation="org.jetbrains.plugins.groovy.griffon.GriffonProjectStructureDetector"/>
1235     <programRunner implementation="org.jetbrains.plugins.groovy.griffon.GriffonDebuggerRunner"/>
1236     <configurationType implementation="org.jetbrains.plugins.groovy.griffon.GriffonRunConfigurationType"/>
1237     <toolWindow id="Griffon View" anchor="left" secondary="false" icon="JetgroovyIcons.Griffon.GriffonToolWindow"
1238                 factoryClass="org.jetbrains.plugins.groovy.griffon.GriffonToolWindowFactory"
1239                 conditionClass="org.jetbrains.plugins.groovy.griffon.GriffonToolWindowFactory"/>
1240
1241     <roots.watchedRootsProvider implementation="org.jetbrains.plugins.groovy.mvc.MvcWatchedRootProvider"/>
1242     <projectService serviceInterface="org.jetbrains.plugins.groovy.mvc.MvcConsole"
1243                     serviceImplementation="org.jetbrains.plugins.groovy.mvc.MvcConsole"/>
1244     <selectInTarget implementation="org.jetbrains.plugins.groovy.mvc.projectView.MvcProjectViewSelectInTarget"/>
1245     <applicationService serviceImplementation="org.jetbrains.plugins.groovy.mvc.MvcRunTargetHistoryService"
1246                         serviceInterface="org.jetbrains.plugins.groovy.mvc.MvcRunTargetHistoryService"/>
1247
1248     <debugger.positionManagerFactory id="groovyPositionManager"
1249                                      implementation="org.jetbrains.plugins.groovy.debugger.GroovyPositionManagerFactory"/>
1250     <debugger.positionManagerFactory order="after groovyPositionManager"
1251                                      implementation="org.jetbrains.plugins.groovy.springloaded.SpringLoadedPositionManagerFactory"/>
1252   </extensions>
1253
1254   <extensions defaultExtensionNs="com.intellij.debugger">
1255     <codeFragmentFactory implementation="org.jetbrains.plugins.groovy.debugger.GroovyCodeFragmentFactory"/>
1256   </extensions>
1257
1258   <actions>
1259     <action id="Groovy.Shell.Execute" class="com.intellij.openapi.actionSystem.EmptyAction" text="Execute Groovy Code"
1260             description="Execute Groovy code in console">
1261       <keyboard-shortcut first-keystroke="control ENTER" keymap="$default"/>
1262     </action>
1263
1264     <action id="Groovy.NewClass" class="org.jetbrains.plugins.groovy.actions.NewGroovyClassAction"
1265             text="Groovy Class" description="Create new Groovy class">
1266       <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewGroup1"/>
1267     </action>
1268     <action id="Groovy.NewScript" class="org.jetbrains.plugins.groovy.actions.NewScriptAction"
1269             text="Groovy Script" description="Create new Groovy script">
1270       <add-to-group group-id="NewGroup" anchor="last"/>
1271     </action>
1272
1273     <action id="Gant.NewScript" class="org.jetbrains.plugins.groovy.gant.NewGantScriptAction"
1274             text="Gant Script" description="Create new Gant script">
1275       <add-to-group group-id="NewGroup" anchor="last"/>
1276     </action>
1277
1278     <group id="Groovy.Dynamic.Toolbar">
1279       <action id="Groovy.Dynamic.Remove" class="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.RemoveDynamicAction"
1280               icon="AllIcons.General.Remove" text="Remove" description="Remove dynamic element"/>
1281       <separator/>
1282       <action id="Groovy.Dynamic.ExpandAll" class="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.ExpandAllAction"
1283               icon="AllIcons.Actions.Expandall" text="Expand all" description="Collapse all"/>
1284       <action id="Groovy.Dynamic.CollapseAll" class="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.CollapseAllAction"
1285               icon="AllIcons.Actions.Collapseall" text="Collapse all" description="Collapse all"/>
1286     </group>
1287
1288
1289     <group id="Internal.Groovy" text="Groovy" popup="true" internal="true">
1290       <action id="GetPsiTypeAction" class="org.jetbrains.plugins.groovy.actions.GrGetPsiTypeAction"
1291               text="get PsiType" description=""
1292               internal="true"/>
1293       <action id="ConvertGroovyToJava"
1294               class="org.jetbrains.plugins.groovy.actions.ConvertToJavaAction"
1295               text="Convert to Java"
1296               description="Convert Groovy files to Java"
1297               internal="true"/>
1298       <action id="DumpGroovyControlFlowAction"
1299               class="org.jetbrains.plugins.groovy.actions.DumpGroovyControlFlowAction"
1300               text="dump groovy control flow"
1301               description="" internal="true"/>
1302       <action id="DumpGroovyStubsAction"
1303               class="org.jetbrains.plugins.groovy.actions.DumpGroovyStubsAction"
1304               text="dump groovy stubs"
1305               description="" internal="true"/>
1306       <add-to-group group-id="Internal"/>
1307     </group>
1308
1309     <action id="ExcludeFromStubGeneration"
1310             class="org.jetbrains.plugins.groovy.compiler.ExcludeFromStubGenerationAction"
1311             text="Exclude from stub generation" description="Don't generate Java stubs for this Groovy file on compilation">
1312       <add-to-group group-id="EditorTabPopupMenu" anchor="after" relative-to-action="RenameJavaFileToGroovyFileAction"/>
1313     </action>
1314     <action id="org.jetbrains.plugins.groovy.actions.generate.equals.GroovyGenerateEqualsAction"
1315             class="org.jetbrains.plugins.groovy.actions.generate.equals.GroovyGenerateEqualsAction"
1316             text="equals() and hashCode()" description="Action generates equals and hashCode now">
1317       <add-to-group group-id="GenerateGroup" anchor="first"/>
1318     </action>
1319
1320     <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterSetterAction"
1321             class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterSetterAction"
1322             text="Getter and Setter" description="Generates getter">
1323       <add-to-group group-id="GenerateGroup" anchor="first"/>
1324     </action>
1325
1326     <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateSetterAction"
1327             class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateSetterAction"
1328             text="Setter" description="Generates setter">
1329       <add-to-group group-id="GenerateGroup" anchor="first"/>
1330     </action>
1331
1332     <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterAction"
1333             class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterAction"
1334             text="Getter" description="Generates getter">
1335       <add-to-group group-id="GenerateGroup" anchor="first"/>
1336     </action>
1337
1338     <action id="org.jetbrains.plugins.groovy.actions.generate.constructors.GroovyGenerateConstructorAction"
1339             class="org.jetbrains.plugins.groovy.actions.generate.constructors.GroovyGenerateConstructorAction"
1340             text="Constructor" description="Generates constructor">
1341       <add-to-group group-id="GenerateGroup" anchor="first"/>
1342     </action>
1343
1344     <action id="Groovy.Doc.Generating"
1345             class="org.jetbrains.plugins.groovy.doc.actions.GenerateGroovyDocAction"
1346             text="Generate GroovyDoc" description="Generating Groovy Documentation"
1347             icon="JetgroovyIcons.Groovy.GroovyDoc">
1348       <add-to-group group-id="ToolsMenu" anchor="last"/>
1349     </action>
1350     <action id="Groovy.Console"
1351             class="org.jetbrains.plugins.groovy.console.GroovyShellAction"
1352             text="Groovy Shell..." description="Launch Groovy Shell"
1353             icon="JetgroovyIcons.Groovy.Groovy_16x16">
1354       <add-to-group group-id="ToolsMenu" anchor="last"/>
1355     </action>
1356
1357     <group id="Mvc.Actions" popup="true" class="org.jetbrains.plugins.groovy.mvc.MvcActionGroup">
1358       <action id="Mvc.Upgrade"
1359               class="org.jetbrains.plugins.groovy.mvc.MvcUpgradeAction"
1360               text="Change SDK version" description="Change Grails/Griffon SDK version">
1361       </action>
1362
1363       <action id="Griffon.UpdateDependencies" class="org.jetbrains.plugins.groovy.griffon.UpdateGriffonSettingsAction"
1364               text="Synchronize Griffon settings"
1365               description="Refresh IntelliJ IDEA project structure so that it matches Griffon build settings">
1366       </action>
1367
1368       <action id="Mvc.RunTarget" class="org.jetbrains.plugins.groovy.mvc.MvcRunTarget"
1369               text="Run Target" description="Run arbitrary Grails/Griffon target">
1370         <keyboard-shortcut keymap="$default" first-keystroke="ctrl alt G"/>
1371       </action>
1372       <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="AddFrameworkSupport"/>
1373       <add-to-group group-id="NavbarPopupMenu" anchor="after" relative-to-action="AddFrameworkSupport"/>
1374       <add-to-group group-id="ToolsMenu" anchor="last"/>
1375     </group>
1376
1377   </actions>
1378
1379   <application-components>
1380     <component>
1381       <implementation-class>org.jetbrains.plugins.groovy.gant.GantLoader</implementation-class>
1382     </component>
1383     <component>
1384       <implementation-class>org.jetbrains.plugins.groovy.mvc.MvcPathMacros</implementation-class>
1385     </component>
1386   </application-components>
1387
1388   <project-components>
1389     <component>
1390       <implementation-class>org.jetbrains.plugins.groovy.compiler.GroovyCompilerLoader</implementation-class>
1391     </component>
1392     <component>
1393       <implementation-class>org.jetbrains.plugins.groovy.codeInspection.local.GroovyUnusedImportsPassFactory</implementation-class>
1394     </component>
1395     <component>
1396       <implementation-class>org.jetbrains.plugins.groovy.annotator.GrKeywordAndDeclarationHighlightFactory</implementation-class>
1397     </component>
1398     <component>
1399       <implementation-class>org.jetbrains.plugins.groovy.annotator.GrReferenceHighlighterFactory</implementation-class>
1400     </component>
1401     <component>
1402       <interface-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManager</interface-class>
1403       <implementation-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManagerImpl</implementation-class>
1404     </component>
1405     <component>
1406       <implementation-class>org.jetbrains.plugins.groovy.mvc.MvcModuleStructureSynchronizer</implementation-class>
1407     </component>
1408   </project-components>
1409
1410
1411 </idea-plugin>