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
7 ~ http://www.apache.org/licenses/LICENSE-2.0
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.
17 <idea-plugin url="http://www.jetbrains.net/confluence/display/GRVY/Groovy+Home">
18 <id>org.intellij.groovy</id>
20 <description>Plugin for Groovy language support, including Groovy++, Grape, Gant and Griffon</description>
21 <version>9.0</version>
22 <vendor logo="/org/jetbrains/plugins/groovy/images/groovy_16x16.png" url="http://www.jetbrains.com">JetBrains Inc.
24 <depends>com.intellij.properties</depends>
26 <depends optional="true" config-file="groovy-copyright.xml">com.intellij.copyright</depends>
27 <depends optional="true" config-file="intellilang-groovy-support.xml">org.intellij.intelliLang</depends>
28 <depends optional="true">AntSupport</depends>
31 <extensionPoint name="membersContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersContributor"/>
32 <extensionPoint name="defaultImportContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.DefaultImportContributor"/>
33 <extensionPoint name="astTransformContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.AstTransformContributor"/>
34 <extensionPoint name="closureMissingMethodContributor" interface="org.jetbrains.plugins.groovy.lang.resolve.ClosureMissingMethodContributor"/>
35 <extensionPoint name="variableEnhancer" interface="org.jetbrains.plugins.groovy.lang.psi.GrVariableEnhancer"/>
36 <extensionPoint name="referenceTypeEnhancer" interface="org.jetbrains.plugins.groovy.lang.psi.GrReferenceTypeEnhancer"/>
37 <extensionPoint name="typeConverter" interface="org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter"/>
38 <extensionPoint name="expectedTypesContributor" interface="org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesContributor"/>
39 <extensionPoint name="classSubstitutor" interface="org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitutor"/>
41 <extensionPoint name="positionManagerDelegate" interface="org.jetbrains.plugins.groovy.extensions.debugger.ScriptPositionManagerHelper"/>
42 <extensionPoint name="compilerExtension" interface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerExtension"/>
43 <extensionPoint name="scriptTypeDetector" interface="org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector"/>
45 <extensionPoint name="namedArgumentProvider" interface="org.jetbrains.plugins.groovy.extensions.GroovyNamedArgumentProvider"/>
46 <extensionPoint name="mapContentProvider" interface="org.jetbrains.plugins.groovy.extensions.GroovyMapContentProvider"/>
48 <extensionPoint name="unresolvedHighlightFilter" interface="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedHighlightFilter"/>
49 <extensionPoint name="unresolvedHighlightFileFilter" interface="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedHighlightFileFilter"/>
50 <extensionPoint name="configSlurperSupport" interface="org.jetbrains.plugins.groovy.configSlurper.ConfigSlurperSupport"/>
52 <extensionPoint name="callExpressionTypeCalculator" interface="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrCallExpressionTypeCalculator"/>
53 <extensionPoint name="classDescriptor" beanClass="org.jetbrains.plugins.groovy.extensions.GroovyClassDescriptor"/>
54 <extensionPoint name="methodDescriptor" beanClass="org.jetbrains.plugins.groovy.extensions.GroovyMethodDescriptorExtension"/>
56 <!-- Groovy DSL extension points -->
57 <extensionPoint name="psiEnhancerCategory" interface="org.jetbrains.plugins.groovy.dsl.psi.PsiEnhancerCategory"/>
58 <extensionPoint name="gdslTopLevelProvider" interface="org.jetbrains.plugins.groovy.dsl.dsltop.GdslMembersProvider"/>
60 <extensionPoint name="groovyFrameworkConfigNotification" interface="org.jetbrains.plugins.groovy.annotator.GroovyFrameworkConfigNotification"/>
61 <extensionPoint name="groovySourceFolderDetector" interface="org.jetbrains.plugins.groovy.actions.GroovySourceFolderDetector"/>
63 <extensionPoint name="mvc.framework" interface="org.jetbrains.plugins.groovy.mvc.MvcFramework"/>
66 <extensions defaultExtensionNs="org.intellij.groovy">
67 <groovyFrameworkConfigNotification order="last"
68 implementation="org.jetbrains.plugins.groovy.annotator.DefaultGroovyFrameworkConfigNotification"/>
70 <membersContributor implementation="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicMembersContributor"/>
71 <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.GrCollectionTypeMembersProvider"/>
72 <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.LoggingContributor"/>
73 <membersContributor implementation="org.jetbrains.plugins.groovy.spock.SpockMemberContributor"/>
74 <membersContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.MixinMemberContributor"/>
76 <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.DelegatedMethodsContributor"/>
77 <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.AutoExternalizeContributor"/>
78 <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.ast.AutoCloneContributor"/>
79 <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.ConstructorAnnotationsProcessor"/>
80 <astTransformContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.GrInheritConstructorContributor"/>
82 <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gant.GantPositionManagerHelper"/>
84 <mapContentProvider implementation="org.jetbrains.plugins.groovy.configSlurper.ConfigSlurperMapContentProvider"/>
85 <referenceTypeEnhancer implementation="org.jetbrains.plugins.groovy.configSlurper.GroovyMapValueTypeEhancer"/>
87 <unresolvedHighlightFilter implementation="org.jetbrains.plugins.groovy.extensions.GroovyUnresolvedReferenceFilterByFile"/>
89 <callExpressionTypeCalculator implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.DefaultCallExpressionTypeCalculator" order="last" />
90 <callExpressionTypeCalculator implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrDescriptorReturnTypeCalculator"/>
91 <callExpressionTypeCalculator implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrDGMTypeCalculator"/>
93 <scriptTypeDetector implementation="org.jetbrains.plugins.groovy.gant.GantScriptTypeDetector" />
95 <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovySourceCodeNamedArgumentProvider" order="last"/>
96 <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovyConstructorNamedArgumentProvider"/>
97 <namedArgumentProvider implementation="org.jetbrains.plugins.groovy.lang.GroovyMethodReturnNamedArgumentProvider" order="last"/>
99 <!-- GroovyDSL extensions -->
100 <gdslTopLevelProvider implementation="org.jetbrains.plugins.groovy.dsl.dsltop.GroovyDslDefaultMembers"/>
101 <gdslTopLevelProvider implementation="org.jetbrains.plugins.groovy.lang.resolve.GdkMethodDslProvider"/>
102 <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiClassCategory"/>
103 <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiElementCategory"/>
104 <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiMethodCategory"/>
105 <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiExpressionCategory"/>
107 <variableEnhancer implementation="org.jetbrains.plugins.groovy.lang.psi.ClosureParameterEnhancer"/>
109 <membersContributor implementation="org.jetbrains.plugins.groovy.gant.GantMemberContributor"/>
111 <typeConverter implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GrContainerTypeConverter"/>
113 <typeConverter implementation="org.jetbrains.plugins.groovy.gpp.GppTypeConverter"/>
114 <expectedTypesContributor implementation="org.jetbrains.plugins.groovy.gpp.GppExpectedTypesContributor"/>
115 <variableEnhancer implementation="org.jetbrains.plugins.groovy.gpp.GppClosureParameterTypeProvider"/>
116 <classSubstitutor implementation="org.jetbrains.plugins.groovy.gpp.GppClassSubstitutor"/>
117 <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gpp.GppPositionManager"/>
119 <mvc.framework implementation="org.jetbrains.plugins.groovy.griffon.GriffonFramework"/>
120 <groovyFrameworkConfigNotification implementation="org.jetbrains.plugins.groovy.griffon.GriffonConfigureNotification"/>
121 <defaultImportContributor implementation="org.jetbrains.plugins.groovy.griffon.GriffonDefaultImportContributor"/>
125 <extensions defaultExtensionNs="com.intellij">
126 <testFramework implementation="org.jetbrains.plugins.groovy.testIntegration.GroovyTestFramework"/>
127 <testCreator language="Groovy" implementationClass="com.intellij.testIntegration.JavaTestCreator"/>
128 <testGenerator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.testIntegration.GroovyTestGenerator"/>
129 <editorNotificationProvider implementation="org.jetbrains.plugins.groovy.annotator.ConfigureGroovyLibraryNotificationProvider"/>
130 <refactoring.introduceParameterMethodUsagesProcessor implementation="org.jetbrains.plugins.groovy.refactoring.introduce.parameter.java2groovy.GroovyIntroduceParameterMethodUsagesProcessor"/>
131 <refactoring.changeSignatureUsageProcessor implementation="org.jetbrains.plugins.groovy.refactoring.changeSignature.GrChangeSignatureUsageProcessor" id="groovyProcessor" order="before javaProcessor"/>
133 <constantExpressionEvaluator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.util.GroovyConstantExpressionEvaluator"/>
134 <annotationSupport language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.auxiliary.annotation.GroovyAnnotationSupport"/>
136 <expressionConverter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.introduce.parameter.GroovyExpressionConverter"/>
138 <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
139 <fileTypeFactory implementation="org.jetbrains.plugins.groovy.GroovyFileTypeLoader"/>
141 <projectConfigurable instance="org.jetbrains.plugins.groovy.gant.GantConfigurable"/>
143 <library.presentationProvider implementation="org.jetbrains.plugins.groovy.config.GroovyLibraryPresentationProvider"/>
144 <library.presentationProvider implementation="org.jetbrains.plugins.groovy.gpp.GppLibraryPresentationProvider" order="first"/>
145 <library.presentationProvider implementation="org.jetbrains.plugins.groovy.gant.GantLibraryPresentationProvider" order="last"/>
147 <projectService serviceInterface="org.jetbrains.plugins.groovy.gant.GantSettings" serviceImplementation="org.jetbrains.plugins.groovy.gant.GantSettings"/>
149 <spellchecker.support language="Groovy" implementationClass="org.jetbrains.plugins.groovy.codeInspection.GroovySpellcheckingStrategy"/>
151 <colorSettingsPage implementation="org.jetbrains.plugins.groovy.highlighter.GroovyColorsAndFontsPage"/>
152 <framework.type implementation="org.jetbrains.plugins.groovy.config.GroovyFrameworkType"/>
153 <renameHandler implementation="org.jetbrains.plugins.groovy.refactoring.rename.PropertyRenameHandler"/>
154 <renamePsiElementProcessor id="groovyFieldRenameProcessor"
155 implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameGrFieldProcessor"
157 <renamePsiElementProcessor id="groovyPropertyRenameProcessor"
158 implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameGroovyPropertyProcessor"
160 <renamePsiElementProcessor id="groovyLightElementRenamer"
161 implementation="org.jetbrains.plugins.groovy.refactoring.rename.GrLightElementRenamer"
162 order="first, after groovyPropertyRenameProcessor"/>
163 <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedClassProcessor" order="first"/>
164 <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedMethodProcessor" order="first"/>
165 <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameAliasImportedFieldProcessor" order="first"/>
166 <rename.inplace.resolveSnapshotProvider language="Groovy"
167 implementationClass="org.jetbrains.plugins.groovy.refactoring.rename.inplace.GroovyResolveSnapshotProvider"/>
168 <nameSuggestionProvider implementation="org.jetbrains.plugins.groovy.refactoring.GroovyNameSuggestionProvider"/>
170 <statementUpDownMover implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GroovyStatementMover"/>
172 <applicationService serviceInterface="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"
173 serviceImplementation="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"/>
175 <!-- Groovy language -->
176 <syntaxHighlighter key="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovySyntaxHighlighter"/>
178 <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.annotator.GroovyAnnotator"/>
179 <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.dsl.GroovyDslAnnotator"/>
181 <lang.psiStructureViewFactory language="Groovy"
182 implementationClass="org.jetbrains.plugins.groovy.structure.GroovyStructureViewFactory"/>
183 <lang.parserDefinition language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.parser.GroovyParserDefinition"/>
184 <lang.commenter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyCommenter"/>
185 <lang.foldingBuilder language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.folding.GroovyFoldingBuilder"/>
186 <lang.formatter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.formatter.GroovyFormattingModelBuilder"/>
187 <lang.whiteSpaceFormattingStrategy language="Groovy" implementationClass="org.jetbrains.plugins.groovy.formatter.GroovyWhiteSpaceFormattingStrategy"/>
189 <enterHandlerDelegate implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GroovyEnterHandler"
190 order="before EnterBetweenBracesHandler"/>
191 <typedHandler implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GStringTypedActionHandler"/>
192 <backspaceHandlerDelegate implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GStringBackspaceHandlerDelegate"/>
194 <typedHandler implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GroovyTypedHandler"/>
195 <backspaceHandlerDelegate implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GroovyBackspaceHandler"/>
197 <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Generic"/>
198 <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Expression"/>
199 <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Statement"/>
200 <liveTemplateContext implementation="org.jetbrains.plugins.groovy.template.GroovyTemplateContextType$Declaration"/>
202 <defaultLiveTemplatesProvider implementation="org.jetbrains.plugins.groovy.template.GroovyTemplatesProvider"/>
204 <liveTemplateOptionalProcessor implementation="org.jetbrains.plugins.groovy.template.GroovyShortenFQNamesProcessor"/>
205 <variableTypeCalculator implementation="org.jetbrains.plugins.groovy.template.GroovyVariableTypeCalculator"/>
207 <gotoSymbolContributor implementation="org.jetbrains.plugins.groovy.gotoclass.GroovyGoToSymbolContributor"/>
208 <lang.refactoringSupport language="Groovy"
209 implementationClass="org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringSupportProvider"/>
210 <lang.surroundDescriptor language="Groovy"
211 implementationClass="org.jetbrains.plugins.groovy.lang.surroundWith.GroovySurroundDescriptor"/>
212 <lang.findUsagesProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.findUsages.GroovyFindUsagesProvider"/>
213 <readWriteAccessDetector implementation="org.jetbrains.plugins.groovy.findUsages.GroovyReadWriteAccessDetector" order="before java"/>
214 <findUsagesHandlerFactory implementation="org.jetbrains.plugins.groovy.findUsages.GroovyFindUsagesHandlerFactory"/>
215 <lang.braceMatcher language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyBraceMatcher"/>
216 <lang.importOptimizer language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.editor.GroovyImportOptimizer"/>
217 <lang.documentationProvider language="Groovy"
218 implementationClass="org.jetbrains.plugins.groovy.lang.documentation.GroovyDocumentationProvider"/>
219 <lang.smartEnterProcessor language="Groovy"
220 implementationClass="org.jetbrains.plugins.groovy.lang.completion.smartEnter.GroovySmartEnterProcessor"/>
221 <codeInsight.overrideMethod language="Groovy"
222 implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyOverrideMethodsHandler"/>
223 <codeInsight.implementMethod language="Groovy"
224 implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyImplementMethodsHandler"/>
226 <methodImplementor implementation="org.jetbrains.plugins.groovy.overrideImplement.GroovyMethodImplementor"/>
227 <codeInsight.parameterInfo language="Groovy"
228 implementationClass="org.jetbrains.plugins.groovy.lang.parameterInfo.GroovyParameterInfoHandler"/>
229 <refactoring.inlineHandler language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.inline.GroovyInlineHandler"/>
230 <inlineActionHandler implementation="org.jetbrains.plugins.groovy.refactoring.inline.GroovyInlineLocalHandler"/>
232 <refactoring.moveClassHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyClassHandler"/>
233 <moveFileHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyFileHandler"/>
234 <refactoring.moveMemberHandler language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyMemberHandler"/>
236 <refactoring.helper implementation="org.jetbrains.plugins.groovy.refactoring.GroovyImportOptimizerRefactoringHelper"/>
237 <codeInsight.lineMarkerProvider language="Groovy"
238 implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyLineMarkerProvider"/>
239 <codeInsight.gotoSuper language="Groovy" implementationClass="org.jetbrains.plugins.groovy.codeInsight.navigation.actions.GroovyGotoSuperHandler"/>
240 <lookup.charFilter implementation="org.jetbrains.plugins.groovy.lang.completion.GroovyReferenceCharFilter"/>
241 <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyNoVariantsDelegator" id="groovyBasic2ClassName" order="first, after liveTemplates"/>
242 <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionContributor" id="groovyBasic"/>
243 <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovySmartCompletionContributor"/>
244 <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GrMethodMergingContributor"
245 id="grMethodMerger" order="before methodMerger"/>
247 <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.UnfocusedNameIdentifier" id="groovyNameIdentifier"/>
248 <completion.confidence language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionConfidence" id="groovyAdvanced" order="after groovyNameIdentifier"/>
249 <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.UnfocusedComments" id="groovyComments"/>
250 <completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.AlwaysFocusLookup" id="groovyTrue" order="last"/>
252 <weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrWithWeigher" id="groovyWithWeigher" order="before stats" />
253 <weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrKindWeigher" id="groovyKindWeigher" order="before stats, after groovyWithWeigher" />
255 <weigher key="proximity" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrReferenceListWeigher"
256 id="groovyReferenceListWeigher" order="before openedInEditor" />
258 <topLevelClassProvider implementation="org.jetbrains.plugins.groovy.debugger.GroovyTopLevelParentClassProvider"/>
260 <debuggerClassFilterProvider implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerClassFilterProvider"/>
262 <useScopeEnlarger implementation="org.jetbrains.plugins.groovy.lang.psi.impl.search.GrPrivateFieldScopeEnlarger"/>
264 <debuggerEditorTextProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.debugger.GroovyEditorTextProvider"/>
266 <xdebugger.settings implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerSettings"/>
267 <langCodeStyleSettingsProvider implementation="org.jetbrains.plugins.groovy.formatter.GroovyLanguageCodeStyleSettingsProvider"/>
268 <codeStyleSettingsProvider implementation="org.jetbrains.plugins.groovy.formatter.GroovyCodeStyleSettingsProvider"/>
270 <typeHierarchyProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.GroovyTypeHierarchyProvider"/>
272 <lang.unwrapDescriptor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.unwrap.GroovyUnwrapDescriptor" />
274 <lang.elementManipulator forClass="org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral"
275 implementationClass="org.jetbrains.plugins.groovy.lang.resolve.GroovyStringLiteralManipulator"/>
276 <lang.elementManipulator forClass="org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel"
277 implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.statements.arguments.GrArgumentLabelManipulator"/>
279 <directClassInheritorsSearch implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyDirectInheritorsSearcher"/>
281 <pom.declarationSearcher implementation="org.jetbrains.plugins.groovy.lang.psi.GroovyDeclarationSearcher"/>
283 <pom.declarationSearcher implementation="org.jetbrains.plugins.groovy.spock.SpockPomDeclarationSearcher"/>
285 <typeDeclarationProvider implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyTypeDeclarationProvider" order="first"/>
288 <configurationType implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationType"/>
289 <configurationProducer implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationProducer"/>
291 <quoteHandler fileType="Groovy" className="org.jetbrains.plugins.groovy.lang.editor.GroovyQuoteHandler"/>
293 <indexPatternBuilder implementation="org.jetbrains.plugins.groovy.util.GroovyIndexPatternBuilder"/>
294 <todoIndexer filetype="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyTodoIndexer"/>
296 <basicWordSelectionFilter implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyWordSelectionFilter"/>
297 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyLiteralSelectioner"/>
298 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyBlockStatementsSelectioner"/>
299 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyTypeCastSelectioner"/>
300 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyDocParamsSelectioner"/>
301 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyArgListSelectioner"/>
302 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyGStringSelectioner" order="before wordSelectioner"/>
303 <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyParameterListSelectioner"/>
305 <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.AccessorMethodReferencesSearcher"/>
306 <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.MethodLateBoundReferencesSearcher"/>
307 <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyConstructorUsagesSearcher"/>
308 <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyReflectedMethodReferenceSearcher"/>
309 <annotatedElementsSearch implementation="org.jetbrains.plugins.groovy.findUsages.AnnotatedMembersSearcher"/>
310 <superMethodsSearch implementation="org.jetbrains.plugins.groovy.findUsages.GDKSuperMethodSearcher"/>
311 <definitionsSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyImplementationSearch"/>
313 <targetElementEvaluator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyTargetElementEvaluator"/>
315 <fileTemplateGroup implementation="org.jetbrains.plugins.groovy.actions.GroovyTemplatesFactory"/>
317 <attachSourcesProvider implementation="org.jetbrains.plugins.groovy.ivy.IvyAttachSourceProvider" />
319 <compilerSettingsFactory implementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerSettingsFactory"/>
321 <stubElementTypeHolder class="org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes"/>
323 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullClassNameIndex"/>
324 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullScriptNameIndex"/>
325 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFieldNameIndex"/>
326 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrMethodNameIndex"/>
327 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotationMethodNameIndex"/>
328 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotatedMemberIndex"/>
329 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrScriptClassNameIndex"/>
330 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrDirectInheritorsIndex"/>
331 <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnonymousClassIndex"/>
333 <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.ConstructorReferencesSearcher"/>
334 <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GrAliasedImportedElementSearcher"/>
335 <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.AccessorReferencesSearcher"/>
337 <antCustomCompiler implementation="org.jetbrains.plugins.groovy.ant.GroovyAntCustomCompilerProvider"/>
339 <project.converterProvider implementation="org.jetbrains.plugins.groovy.config.GroovyModuleConverterProvider"/>
341 <iconProvider implementation="org.jetbrains.plugins.groovy.GroovyIconProvider"/>
343 <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory"
344 serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementFactoryImpl"/>
345 <projectService serviceInterface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"
346 serviceImplementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"/>
348 <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.providers.GroovyReferenceContributor"/>
350 <resolveScopeProvider implementation="org.jetbrains.plugins.groovy.lang.resolve.GroovyResolveScopeProvider"/>
352 <java.elementFinder implementation="org.jetbrains.plugins.groovy.lang.psi.impl.javaView.GroovyClassFinder"/>
353 <java.elementFinder implementation="org.jetbrains.plugins.groovy.gant.GantClassFinder"/>
354 <java.shortNamesCache implementation="org.jetbrains.plugins.groovy.lang.stubs.GroovyShortNamesCache"/>
356 <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"
357 serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"/>
359 <problemFileHighlightFilter implementation="org.jetbrains.plugins.groovy.GroovyProblemFileHighlightFilter"/>
361 <renameInputValidator implementation="org.jetbrains.plugins.groovy.GroovyRenameInputValidator"/>
362 <lang.namesValidator implementationClass="org.jetbrains.plugins.groovy.lang.GroovyNamesValidator" language="Groovy"/>
364 <fileBasedIndex implementation="org.jetbrains.plugins.groovy.dsl.GroovyDslFileIndex"/>
366 <patterns.patternClass className="org.jetbrains.plugins.groovy.lang.psi.patterns.GroovyPatterns" alias="groovy"/>
368 <stacktrace.fold substring="at org.codehaus.groovy."/>
369 <stacktrace.fold substring="at groovy."/>
370 <stacktrace.fold substring="at org.codehaus.groovy.runtime.DefaultGroovyMethods." negate="true"/>
371 <stacktrace.fold substring="at org.codehaus.groovy.vmplugin.v5.PluginDefaultGroovyMethods." negate="true"/>
372 <stacktrace.fold substring="at org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport." negate="true"/>
374 <projectStructureDetector implementation="org.jetbrains.plugins.groovy.GroovySourceRootDetector"/>
376 <generation.topLevelFactory language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFactoryProvider" />
378 <postStartupActivity implementation="org.jetbrains.plugins.groovy.mvc.MvcProjectWithoutLibraryNotificator" />
380 <treeCopyHandler implementation="org.jetbrains.plugins.groovy.lang.GroovyChangeUtilSupport"/>
382 <copyPastePreProcessor implementation="org.jetbrains.plugins.groovy.lang.editor.GroovyLiteralCopyPasteProcessor"/>
383 <copyPastePostProcessor implementation="org.jetbrains.plugins.groovy.lang.editor.GroovyReferenceCopyPasteProcessor"/>
385 <specialTool shortName="GroovyUnusedDeclaration" displayName="Unused declaration"
386 groupName="Declaration Redundancy" enabledByDefault="true" level="WARNING"
387 implementationClass="org.jetbrains.plugins.groovy.codeInspection.GroovyUnusedDeclarationInspection"/>
389 <localInspection language="Groovy" groupPath="Groovy" shortName="SecondUnsafeCall" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
390 key="second.unsafe.call" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
391 implementationClass="org.jetbrains.plugins.groovy.codeInspection.secondUnsafeCall.SecondUnsafeCallInspection"/>
392 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnusedAssignment" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
393 key="unused.assignment" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
394 implementationClass="org.jetbrains.plugins.groovy.codeInspection.unusedDef.UnusedDefInspection"/>
395 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyVariableNotAssigned" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
396 key="unassigned.access" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
397 implementationClass="org.jetbrains.plugins.groovy.codeInspection.unassignedVariable.UnassignedVariableAccessInspection"/>
398 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMissingReturnStatement" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
399 key="no.return.display.name" groupKey="groovy.dfa.issues" enabledByDefault="true" level="WARNING"
400 implementationClass="org.jetbrains.plugins.groovy.codeInspection.noReturnMethod.MissingReturnInspection"/>
401 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignabilityCheck" displayName="Incompatible type assignments" groupName="Assignment issues"
402 enabledByDefault="true" level="WARNING"
403 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection"/>
404 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfAssignmentUsed" displayName="Result of assignment used" groupName="Assignment issues"
405 enabledByDefault="false" level="WARNING"
406 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyResultOfAssignmentUsedInspection"/>
407 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentCanBeOperatorAssignment" displayName="Assignment replaceable with operator assignment"
408 groupName="Assignment issues" enabledByDefault="false" level="WARNING"
409 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentCanBeOperatorAssignmentInspection"/>
410 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentToForLoopParameter" displayName="Assignment to for-loop parameter"
411 groupName="Assignment issues" enabledByDefault="false" level="WARNING"
412 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentToForLoopParameterInspection"/>
413 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAssignmentToMethodParameter" displayName="Assignment to method parameter"
414 groupName="Assignment issues" enabledByDefault="false" level="WARNING"
415 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignmentToMethodParameterInspection"/>
416 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedAssignment" displayName="Nested assignment" groupName="Assignment issues"
417 enabledByDefault="false" level="WARNING"
418 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyNestedAssignmentInspection"/>
419 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySillyAssignment" displayName="Silly assignment" groupName="Assignment issues" enabledByDefault="true"
421 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovySillyAssignmentInspection"/>
422 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUncheckedAssignmentOfMemberOfRawType" displayName="Unchecked assignment from members of raw type"
423 groupName="Assignment issues" enabledByDefault="true" level="WARNING"
424 implementationClass="org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyUncheckedAssignmentOfMemberOfRawTypeInspection"/>
425 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyContinueOrBreakFromFinallyBlock" displayName="'continue' or 'break' inside 'finally' block"
426 groupName="Error handling" enabledByDefault="false" level="WARNING"
427 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyContinueOrBreakFromFinallyBlockInspection"/>
428 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyReturnFromFinallyBlock" displayName="'return' inside 'finally' block" groupName="Error handling"
429 enabledByDefault="false" level="WARNING"
430 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyReturnFromFinallyBlockInspection"/>
431 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyThrowFromFinallyBlock" displayName="'throw' inside 'finally' block" groupName="Error handling"
432 enabledByDefault="false" level="WARNING"
433 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyThrowFromFinallyBlockInspection"/>
434 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyCatchBlock" displayName="Empty 'catch' block" groupName="Error handling" enabledByDefault="false"
436 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyCatchBlockInspection"/>
437 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyFinallyBlock" displayName="Empty 'finally' block" groupName="Error handling"
438 enabledByDefault="false" level="WARNING"
439 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyFinallyBlockInspection"/>
440 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyTryBlock" displayName="Empty 'try' block" groupName="Error handling" enabledByDefault="false"
442 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyEmptyTryBlockInspection"/>
443 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnusedCatchParameter" displayName="Unused catch parameter" groupName="Error handling"
444 enabledByDefault="true" level="WARNING"
445 implementationClass="org.jetbrains.plugins.groovy.codeInspection.exception.GroovyUnusedCatchParameterInspection"/>
446 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyBreak" displayName="Break statement" groupName="Control Flow" enabledByDefault="false" level="WARNING"
447 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyBreakInspection"/>
448 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyContinue" displayName="Continue statement" groupName="Control Flow" enabledByDefault="false"
449 level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyContinueInspection"/>
450 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnreachableStatement" displayName="Unreachable Statement" groupName="Validity issues"
451 enabledByDefault="true" level="WARNING"
452 implementationClass="org.jetbrains.plugins.groovy.codeInspection.validity.GroovyUnreachableStatementInspection"/>
453 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLoopStatementThatDoesntLoop" displayName="Loop statement that doesn't loop" groupName="Control Flow"
454 enabledByDefault="false" level="WARNING"
455 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyLoopStatementThatDoesntLoopInspection"/>
456 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalWithIdenticalBranches" displayName="Conditional expression with identical branches"
457 groupName="Control Flow" enabledByDefault="true" level="WARNING"
458 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalWithIdenticalBranchesInspection"/>
459 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalCanBeElvis" displayName="Conditional expression can be elvis" groupName="Control Flow"
460 enabledByDefault="false" level="WARNING"
461 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalCanBeElvisInspection"/>
462 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditionalCanBeConditionalCall" displayName="Conditional expression can be conditional call"
463 groupName="Control Flow" enabledByDefault="false" level="WARNING"
464 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConditionalCanBeConditionalCallInspection"/>
465 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyIfStatementWithIdenticalBranches" displayName="If statement with identical branches"
466 groupName="Control Flow" enabledByDefault="true" level="WARNING"
467 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyIfStatementWithIdenticalBranchesInspection"/>
468 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyIfStatementWithTooManyBranches" displayName="If statement with too many branches"
469 groupName="Control Flow" enabledByDefault="false" level="WARNING"
470 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyIfStatementWithTooManyBranchesInspection"/>
471 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyFallthrough" displayName="Fallthrough in switch statement" groupName="Control Flow"
472 enabledByDefault="true" level="WARNING"
473 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyFallthroughInspection"/>
474 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnnecessaryContinue" displayName="Unnecessary 'continue' statement" groupName="Control Flow"
475 enabledByDefault="true" level="WARNING"
476 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyUnnecessaryContinueInspection"/>
477 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnnecessaryReturn" displayName="Unnecessary 'return' statement" groupName="Control Flow"
478 enabledByDefault="true" level="WARNING"
479 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyUnnecessaryReturnInspection"/>
480 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySwitchStatementWithNoDefault" displayName="Switch statement with no default case"
481 groupName="Control Flow" enabledByDefault="false" level="WARNING"
482 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovySwitchStatementWithNoDefaultInspection"/>
483 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyReturnFromClosureCanBeImplicit" displayName="'return' statement can be implicit"
484 groupName="Control Flow" enabledByDefault="false" level="WARNING"
485 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyReturnFromClosureCanBeImplicitInspection"/>
486 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyTrivialConditional" displayName="Redundant conditional expression" groupName="Control Flow"
487 enabledByDefault="true" level="WARNING"
488 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyTrivialConditionalInspection"/>
489 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantConditional" displayName="Constant conditional expression" groupName="Control Flow"
490 enabledByDefault="true" level="WARNING"
491 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConstantConditionalInspection"/>
492 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantIfStatement" displayName="Constant if statement" groupName="Control Flow"
493 enabledByDefault="true" level="WARNING"
494 implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyConstantIfStatementInspection"/>
495 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyTrivialIf" displayName="Redundant 'if' statement" groupName="Control Flow" enabledByDefault="true"
496 level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.control.GroovyTrivialIfInspection"/>
497 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAccessToStaticFieldLockedOnInstance" displayName="Access to static field locked on instance data"
498 groupName="Threading issues" enabledByDefault="true" level="WARNING"
499 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyAccessToStaticFieldLockedOnInstanceInspection"/>
500 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDoubleCheckedLocking" displayName="Double-checked locking" groupName="Threading issues"
501 enabledByDefault="false" level="WARNING"
502 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyDoubleCheckedLockingInspection"/>
503 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnconditionalWait" displayName="Unconditional 'wait' call" groupName="Threading issues"
504 enabledByDefault="false" level="WARNING"
505 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyUnconditionalWaitInspection"/>
506 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPublicFieldAccessedInSynchronizedContext"
507 displayName="Non-private field accessed in synchronized context" groupName="Threading issues" enabledByDefault="false"
509 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyPublicFieldAccessedInSynchronizedContextInspection"/>
510 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyBusyWait" displayName="Busy wait" groupName="Threading issues" enabledByDefault="false"
511 level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyBusyWaitInspection"/>
512 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptySyncBlock" displayName="Empty 'synchronized' block" groupName="Threading issues"
513 enabledByDefault="false" level="WARNING"
514 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyEmptySyncBlockInspection"/>
515 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnThis" displayName="Synchronization on 'this'" groupName="Threading issues"
516 enabledByDefault="false" level="WARNING"
517 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnThisInspection"/>
518 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizedMethod" displayName="Synchronized method" groupName="Threading issues"
519 enabledByDefault="false" level="WARNING"
520 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizedMethodInspection"/>
521 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedSynchronizedStatement" displayName="Nested 'synchronized' statement"
522 groupName="Threading issues" enabledByDefault="false" level="WARNING"
523 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyNestedSynchronizedStatementInspection"/>
524 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyThreadStopSuspendResume" displayName="Call to Thread.stop(), Thread.suspend(), or Thread.resume()"
525 groupName="Threading issues" enabledByDefault="false" level="WARNING"
526 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyThreadStopSuspendResumeInspection"/>
527 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySystemRunFinalizersOnExit" displayName="Call to System.runFinalizersOnExit()"
528 groupName="Threading issues" enabledByDefault="false" level="WARNING"
529 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySystemRunFinalizersOnExitInspection"/>
530 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNotifyWhileNotSynchronized" displayName="'notify()' or 'notifyAll()' while not synced"
531 groupName="Threading issues" enabledByDefault="false" level="WARNING"
532 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyNotifyWhileNotSynchronizedInspection"/>
533 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWaitCallNotInLoop" displayName="'wait()' not in loop" groupName="Threading issues"
534 enabledByDefault="false" level="WARNING"
535 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWaitCallNotInLoopInspection"/>
536 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWaitWhileNotSynchronized" displayName="'wait()' while not synced" groupName="Threading issues"
537 enabledByDefault="false" level="WARNING"
538 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWaitWhileNotSynchronizedInspection"/>
539 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnNonFinalField" displayName="Synchronization on non-final field"
540 groupName="Threading issues" enabledByDefault="true" level="WARNING"
541 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnNonFinalFieldInspection"/>
542 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySynchronizationOnVariableInitializedWithLiteral"
543 displayName="Synchronization on variable initialized with literal" groupName="Threading issues"
544 enabledByDefault="true" level="WARNING"
545 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovySynchronizationOnVariableInitializedWithLiteralInspection"/>
546 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnsynchronizedMethodOverridesSynchronizedMethod"
547 displayName="Unsynchronized method overrides synchronized method" groupName="Threading issues" enabledByDefault="true"
549 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyUnsynchronizedMethodOverridesSynchronizedMethodInspection"/>
550 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyWhileLoopSpinsOnField" displayName="While loop spins on field" groupName="Threading issues"
551 enabledByDefault="false" level="WARNING"
552 implementationClass="org.jetbrains.plugins.groovy.codeInspection.threading.GroovyWhileLoopSpinsOnFieldInspection"/>
553 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMethodParameterCount" displayName="Method with too many parameters" groupName="Method Metrics"
554 enabledByDefault="false" level="WARNING"
555 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMethodParameterCountInspection"/>
556 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexMethod" displayName="Overly complex method" groupName="Method Metrics"
557 enabledByDefault="false" level="WARNING"
558 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyComplexMethodInspection"/>
559 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyLongMethod" displayName="Overly long method" groupName="Method Metrics" enabledByDefault="false"
561 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyLongMethodInspection"/>
562 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyNestedMethod" displayName="Overly nested method" groupName="Method Metrics"
563 enabledByDefault="false" level="WARNING"
564 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyOverlyNestedMethodInspection"/>
565 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMethodWithMoreThanThreeNegations" displayName="Method with more than three negations"
566 groupName="Method Metrics" enabledByDefault="false" level="WARNING"
567 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMethodWithMoreThanThreeNegationsInspection"/>
568 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMultipleReturnPointsPerMethod" displayName="Method with multiple return points"
569 groupName="Method Metrics" enabledByDefault="false" level="WARNING"
570 implementationClass="org.jetbrains.plugins.groovy.codeInspection.metrics.GroovyMultipleReturnPointsPerMethodInspection"/>
571 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedSwitch" displayName="Nested switch statement" groupName="Potentially confusing code constructs"
572 enabledByDefault="false" level="WARNING"
573 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNestedSwitchInspection"/>
574 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConditional" displayName="Conditional expression" groupName="Potentially confusing code constructs"
575 enabledByDefault="false" level="WARNING"
576 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyConditionalInspection"/>
577 <localInspection language="Groovy" groupPath="Groovy" shortName="GrFieldAlreadyDefined" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
578 key="field.already.defined" groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
579 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GrFieldAlreadyDefinedInspection"/>
580 <localInspection language="Groovy" groupPath="Groovy" shortName="ClashingGetters" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
581 key="clashing.getters" groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
582 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.ClashingGettersInspection"/>
583 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNestedConditional" displayName="Nested conditional expression"
584 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
585 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNestedConditionalInspection"/>
586 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNegatedConditional" displayName="Negated conditional expression"
587 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
588 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNegatedConditionalInspection"/>
589 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInArgumentCheck" displayName="Incompatible 'in' argument types"
590 enabledByDefault="false" groupName="Probable bugs" level="WARNING"
591 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInArgumentCheckInspection"/>
592 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNegatedIf" displayName="Negated if condition expression"
593 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
594 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyNegatedIfInspection"/>
595 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfIncrementOrDecrementUsed" displayName="Result of increment or decrement used"
596 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
597 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyResultOfIncrementOrDecrementUsedInspection"/>
598 <localInspection language="Groovy" groupPath="Groovy" shortName="UnnecessaryQualifiedReference" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
599 key="unnecessary.qualified.reference" groupName="Potentially confusing code constructs" enabledByDefault="false"
601 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.UnnecessaryQualifiedReferenceInspection"/>
602 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEmptyStatementBody" displayName="Statement with empty body"
603 groupName="Potentially confusing code constructs" enabledByDefault="true" level="WARNING"
604 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyEmptyStatementBodyInspection"/>
605 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPointlessBoolean" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
606 key="pointless.boolean.display.name" groupName="Potentially confusing code constructs" enabledByDefault="true"
608 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyPointlessBooleanInspection"/>
609 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyPointlessArithmetic" displayName="Pointless arithmetic expression"
610 groupName="Potentially confusing code constructs" enabledByDefault="true" level="WARNING"
611 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyPointlessArithmeticInspection"/>
612 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDoubleNegation" displayName="Double negation" groupName="Potentially confusing code constructs"
613 enabledByDefault="true" level="WARNING"
614 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyDoubleNegationInspection"/>
615 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexArithmeticExpression" displayName="Overly complex arithmetic expression"
616 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
617 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOverlyComplexArithmeticExpressionInspection"/>
618 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOverlyComplexBooleanExpression" displayName="Overly complex boolean expression"
619 groupName="Potentially confusing code constructs" enabledByDefault="false" level="WARNING"
620 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOverlyComplexBooleanExpressionInspection"/>
621 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyOctalInteger" displayName="Octal integer" groupName="Potentially confusing code constructs"
622 enabledByDefault="false" level="WARNING"
623 implementationClass="org.jetbrains.plugins.groovy.codeInspection.confusing.GroovyOctalIntegerInspection"/>
624 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDuplicateSwitchBranch" displayName="Duplicate switch case" groupName="Validity issues"
625 enabledByDefault="true" level="WARNING"
626 implementationClass="org.jetbrains.plugins.groovy.codeInspection.validity.GroovyDuplicateSwitchBranchInspection"/>
627 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyNonShortCircuitBoolean" displayName="Non short-circuit boolean" groupName="Probable bugs"
628 enabledByDefault="false" level="WARNING"
629 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyNonShortCircuitBooleanInspection"/>
630 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInfiniteLoopStatement" displayName="Infinite loop statement" groupName="Probable bugs"
631 enabledByDefault="true" level="WARNING"
632 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInfiniteLoopStatementInspection"/>
633 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInfiniteRecursion" displayName="Infinite recursion" groupName="Probable bugs" enabledByDefault="true"
635 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyInfiniteRecursionInspection"/>
636 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDivideByZero" displayName="Divide by zero" groupName="Probable bugs" enabledByDefault="true"
637 level="WARNING" implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyDivideByZeroInspection"/>
638 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyResultOfObjectAllocationIgnored" displayName="Result of object allocation ignored"
639 groupName="Probable bugs" enabledByDefault="true" level="WARNING"
640 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyResultOfObjectAllocationIgnoredInspection"/>
641 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAccessibility" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
642 key="access.to.inaccessible.element" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
643 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyAccessibilityInspection"/>
644 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstructorNamedArguments" displayName="Named arguments of constructor call" groupName="Probable bugs"
645 enabledByDefault="true" level="WARNING"
646 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyConstructorNamedArgumentsInspection"/>
647 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyDocCheck" displayName="GroovyDoc issues" groupName="Probable bugs"
648 enabledByDefault="true" level="ERROR"
649 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyDocCheckInspection"/>
650 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyRangeTypeCheck" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
651 key="incorrect.range.argument" groupName="Probable bugs" enabledByDefault="false" level="WARNING"
652 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyRangeTypeCheckInspection"/>
653 <localInspection language="Groovy" groupPath="Groovy" shortName="NewInstanceOfSingleton" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
654 key="new.instance.of.singleton" groupName="Potentially confusing code constructs" enabledByDefault="true" level="WARNING"
655 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.NewInstanceOfSingletonInspection"/>
656 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLabeledStatement" bundle="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionBundle"
657 key="check.labeled.statement" groupName="Probable bugs" enabledByDefault="true" level="WARNING"
658 implementationClass="org.jetbrains.plugins.groovy.codeInspection.bugs.GroovyLabeledStatementInspection"/>
659 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyClassNamingConvention" displayName="Class naming convention" groupName="Naming Conventions"
660 enabledByDefault="false" level="WARNING"
661 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyClassNamingConventionInspection"/>
662 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInterfaceNamingConvention" displayName="Interface naming convention" groupName="Naming Conventions"
663 enabledByDefault="false" level="WARNING"
664 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInterfaceNamingConventionInspection"/>
665 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyAnnotationNamingConvention" displayName="Annotation naming convention" groupName="Naming Conventions"
666 enabledByDefault="false" level="WARNING"
667 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyAnnotationNamingConventionInspection"/>
668 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyEnumerationNamingConvention" displayName="Enumeration naming convention"
669 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
670 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyEnumerationNamingConventionInspection"/>
671 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyLocalVariableNamingConvention" displayName="Local variable naming convention"
672 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
673 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyLocalVariableNamingConventionInspection"/>
674 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyStaticMethodNamingConvention" displayName="Static method naming convention"
675 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
676 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyStaticMethodNamingConventionInspection"/>
677 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyStaticVariableNamingConvention" displayName="Static variable naming convention"
678 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
679 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyStaticVariableNamingConventionInspection"/>
680 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInstanceMethodNamingConvention" displayName="Instance method naming convention"
681 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
682 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInstanceMethodNamingConventionInspection"/>
683 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyInstanceVariableNamingConvention" displayName="Instance variable naming convention"
684 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
685 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyInstanceVariableNamingConventionInspection"/>
686 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyConstantNamingConvention" displayName="Constant naming convention" groupName="Naming Conventions"
687 enabledByDefault="false" level="WARNING"
688 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyConstantNamingConventionInspection"/>
689 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyParameterNamingConvention" displayName="Method parameter naming convention"
690 groupName="Naming Conventions" enabledByDefault="false" level="WARNING"
691 implementationClass="org.jetbrains.plugins.groovy.codeInspection.naming.GroovyParameterNamingConventionInspection"/>
692 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyGetterCallCanBePropertyAccess" displayName="Getter call can be property access"
693 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
694 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyGetterCallCanBePropertyAccessInspection"/>
695 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySetterCallCanBePropertyAccess" displayName="Setter call can be property access"
696 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
697 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovySetterCallCanBePropertyAccessInspection"/>
698 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMapGetCanBeKeyedAccess" displayName="Call to Map.get can be keyed access"
699 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
700 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyMapGetCanBeKeyedAccessInspection"/>
701 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyMapPutCanBeKeyedAccess" displayName="Call to Map.put can be keyed access"
702 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
703 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyMapPutCanBeKeyedAccessInspection"/>
704 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyListGetCanBeKeyedAccess" displayName="Call to List.get can be keyed access"
705 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
706 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyListGetCanBeKeyedAccessInspection"/>
707 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyListSetCanBeKeyedAccess" displayName="Call to List.set can be keyed access"
708 groupName="GPath inspections" enabledByDefault="false" level="WARNING"
709 implementationClass="org.jetbrains.plugins.groovy.codeInspection.gpath.GroovyListSetCanBeKeyedAccessInspection"/>
710 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUntypedAccess" displayName="Access to untyped expression" groupName="Probable bugs"
711 enabledByDefault="false" level="WARNING"
712 implementationClass="org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.GroovyUntypedAccessInspection"/>
713 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovyUnresolvedAccess" displayName="Access to unresolved expression" groupName="Probable bugs"
714 enabledByDefault="false" level="WARNING"
715 implementationClass="org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.GroovyUnresolvedAccessInspection"/>
716 <localInspection language="Groovy" groupPath="Groovy" shortName="GroovySingletonAnnotation" displayName="Check '@Singleton' annotation conventions"
717 groupName="Annotations verifying" enabledByDefault="true" level="WARNING"
718 implementationClass="org.jetbrains.plugins.groovy.annotator.inspections.GroovySingletonAnnotationInspection"/>
720 <!-- control flow -->
722 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
723 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
724 <className>org.jetbrains.plugins.groovy.intentions.control.DemorgansLawIntention</className>
727 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
728 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
729 <className>org.jetbrains.plugins.groovy.intentions.control.SplitIfIntention</className>
732 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
733 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
734 <className>org.jetbrains.plugins.groovy.intentions.control.InvertIfIntention</className>
737 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
738 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
739 <className>org.jetbrains.plugins.groovy.intentions.control.CreateParameterForFieldIntention</className>
742 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
743 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
744 <className>org.jetbrains.plugins.groovy.intentions.control.MergeIfAndIntention</className>
747 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
748 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
749 <className>org.jetbrains.plugins.groovy.intentions.control.ExpandBooleanIntention</className>
752 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
753 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
754 <className>org.jetbrains.plugins.groovy.intentions.control.FlipConjunctionIntention</className>
757 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
758 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
759 <className>org.jetbrains.plugins.groovy.intentions.control.FlipComparisonIntention</className>
762 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
763 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
764 <className>org.jetbrains.plugins.groovy.intentions.control.NegateComparisonIntention</className>
767 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
768 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
769 <className>org.jetbrains.plugins.groovy.intentions.control.MergeElseIfIntention</className>
772 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
773 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
774 <className>org.jetbrains.plugins.groovy.intentions.control.SplitElseIfIntention</className>
777 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
778 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
779 <className>org.jetbrains.plugins.groovy.intentions.control.FlipConditionalIntention</className>
782 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
783 <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
784 <className>org.jetbrains.plugins.groovy.intentions.control.ConditionalToElvisIntention</className>
789 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
790 <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
791 <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallExplicitIntention</className>
794 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
795 <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
796 <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallImplicitIntention</className>
799 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
800 <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
801 <className>org.jetbrains.plugins.groovy.intentions.closure.ForToEachIntention</className>
804 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
805 <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
806 <className>org.jetbrains.plugins.groovy.intentions.closure.EachToForIntention</className>
811 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
812 <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
813 <className>org.jetbrains.plugins.groovy.intentions.closure.ConvertClosureArgToItIntention</className>
819 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
820 <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
821 <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToCStyleCommentIntention</className>
826 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
827 <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
828 <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToEndOfLineCommentIntention</className>
834 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
835 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
836 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertJavaStyleArrayIntention</className>
839 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
840 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
841 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToDecimalIntention</className>
844 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
845 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
846 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToHexIntention</className>
849 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
850 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
851 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToOctalIntention</className>
854 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
855 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
856 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToBinaryIntention</className>
859 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
860 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
861 <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexingMethodConversionIntention</className>
864 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
865 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
866 <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexedExpressionConversionIntention</className>
868 <!--<intentionAction>
869 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
870 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
871 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertStringToGStringIntention</className>
872 </intentionAction>-->
874 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
875 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
876 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertGStringToStringIntention</className>
879 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
880 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
881 <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveParenthesesFromMethodCallIntention</className>
884 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
885 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
886 <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveUnnecessaryBracesInGStringIntention</className>
889 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
890 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
891 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertMapToClassIntention</className>
894 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
895 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
896 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertConcatenationToGstringIntention</className>
899 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
900 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
901 <className>org.jetbrains.plugins.groovy.intentions.conversions.RenameFileWithClassIntention</className>
904 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
905 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
906 <className>org.jetbrains.plugins.groovy.intentions.conversions.MoveClassToNewFileIntention</className>
909 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
910 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
911 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertMethodToClosureIntention</className>
914 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
915 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
916 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertClosureToMethodIntention</className>
919 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
920 <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
921 <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertJunitAssertionToAssertStatementIntention</className>
924 <!-- groovy style -->
926 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
927 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
928 <className>org.jetbrains.plugins.groovy.intentions.style.JavaStylePropertiesInvocationIntention</className>
931 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
932 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
933 <className>org.jetbrains.plugins.groovy.intentions.style.RemoveUnnecessarySemicolonsIntention</className>
936 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
937 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
938 <className>org.jetbrains.plugins.groovy.intentions.style.ImportStaticIntention</className>
941 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
942 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
943 <className>org.jetbrains.plugins.groovy.intentions.style.ImportOnDemandIntention</className>
946 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
947 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
948 <className>org.jetbrains.plugins.groovy.intentions.style.ConvertToGeeseBracesIntention</className>
951 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
952 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
953 <className>org.jetbrains.plugins.groovy.intentions.style.ConvertFromGeeseBracesIntention</className>
956 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
957 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
958 <className>org.jetbrains.plugins.groovy.intentions.style.AddReturnTypeFix</className>
961 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
962 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
963 <className>org.jetbrains.plugins.groovy.intentions.style.ReplaceQualifiedReferenceWithImportIntention</className>
966 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
967 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
968 <className>org.jetbrains.plugins.groovy.intentions.style.parameterToEntry.ConvertParameterToMapEntryIntention</className>
971 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
972 <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
973 <className>org.jetbrains.plugins.groovy.intentions.style.ReplaceAbstractClassInstanceByMapIntention</className>
977 <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
978 <categoryKey>intention.category.groovy</categoryKey>
979 <className>org.jetbrains.plugins.groovy.grape.GrabDependencies</className>
983 <projectService serviceInterface="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"
984 serviceImplementation="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"/>
986 <java.programPatcher implementation="org.jetbrains.plugins.groovy.debugger.GroovyHotSwapper"/>
987 <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.gpp.GppReferenceContributor"/>
989 <library.presentationProvider implementation="org.jetbrains.plugins.groovy.griffon.GriffonLibraryPresentationProvider"/>
990 <moduleBuilder builderClass="org.jetbrains.plugins.groovy.griffon.GriffonModuleBuilder" id="griffonModuleBuilder"/>
991 <projectStructureDetector implementation="org.jetbrains.plugins.groovy.griffon.GriffonProjectStructureDetector"/>
992 <programRunner implementation="org.jetbrains.plugins.groovy.griffon.GriffonDebuggerRunner"/>
993 <configurationType implementation="org.jetbrains.plugins.groovy.griffon.GriffonRunConfigurationType"/>
994 <toolWindow id="Griffon View" anchor="left" secondary="false" icon="/icons/griffon/griffon.png"
995 factoryClass="org.jetbrains.plugins.groovy.griffon.GriffonToolWindowFactory"
996 conditionClass="org.jetbrains.plugins.groovy.griffon.GriffonToolWindowFactory"/>
998 <roots.watchedRootsProvider implementation="org.jetbrains.plugins.groovy.mvc.MvcWatchedRootProvider"/>
999 <projectService serviceInterface="org.jetbrains.plugins.groovy.mvc.MvcConsole"
1000 serviceImplementation="org.jetbrains.plugins.groovy.mvc.MvcConsole"/>
1001 <selectInTarget implementation="org.jetbrains.plugins.groovy.mvc.projectView.MvcProjectViewSelectInTarget"/>
1002 <applicationService serviceImplementation="org.jetbrains.plugins.groovy.mvc.MvcRunTargetHistoryService"
1003 serviceInterface="org.jetbrains.plugins.groovy.mvc.MvcRunTargetHistoryService"/>
1005 <debugger.positionManagerFactory id="groovyPositionManager" implementation="org.jetbrains.plugins.groovy.debugger.GroovyPositionManagerFactory"/>
1006 <debugger.positionManagerFactory order="after groovyPositionManager" implementation="org.jetbrains.plugins.groovy.springloaded.SpringLoadedPositionManagerFactory"/>
1009 <extensions defaultExtensionNs="com.intellij.debugger">
1010 <codeFragmentFactory implementation="org.jetbrains.plugins.groovy.debugger.GroovyCodeFragmentFactory"/>
1014 <action id="Groovy.NewClass" class="org.jetbrains.plugins.groovy.actions.NewGroovyClassAction"
1015 text="Groovy Class" description="Create new Groovy class">
1016 <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewGroup1"/>
1018 <action id="Groovy.NewScript" class="org.jetbrains.plugins.groovy.actions.NewScriptAction"
1019 text="Groovy Script" description="Create new Groovy script">
1020 <add-to-group group-id="NewGroup" anchor="last"/>
1023 <action id="Gant.NewScript" class="org.jetbrains.plugins.groovy.gant.NewGantScriptAction"
1024 text="Gant Script" description="Create new Gant script">
1025 <add-to-group group-id="NewGroup" anchor="last"/>
1029 <group id="Internal.Groovy" text="Groovy" popup="true" internal="true">
1030 <action id="GetPsiTypeAction" class="org.jetbrains.plugins.groovy.actions.GrGetPsiTypeAction"
1031 text="get PsiType" description=""
1033 <action id="ConvertGroovyToJava"
1034 class="org.jetbrains.plugins.groovy.actions.ConvertToJavaAction"
1035 text="Convert to Java"
1036 description="Convert Groovy files to Java"
1038 <action id="DumpGroovyControlFlowAction"
1039 class="org.jetbrains.plugins.groovy.actions.DumpGroovyControlFlowAction"
1040 text="dump groovy control flow"
1041 description="" internal="true"/>
1042 <action id="DumpGroovyStubsAction"
1043 class="org.jetbrains.plugins.groovy.actions.DumpGroovyStubsAction"
1044 text="dump groovy stubs"
1045 description="" internal="true"/>
1046 <action id="Groovy.Extract.Closure" class="org.jetbrains.plugins.groovy.refactoring.extract.closure.ExtractClosureAction"
1048 <keyboard-shortcut keymap="$default" first-keystroke="ctrl alt shift M"/>
1050 <add-to-group group-id="Internal"/>
1053 <action id="ExcludeFromStubGeneration"
1054 class="org.jetbrains.plugins.groovy.compiler.ExcludeFromStubGenerationAction"
1055 text="Exclude from stub generation" description="Don't generate Java stubs for this Groovy file on compilation">
1056 <add-to-group group-id="EditorTabPopupMenu" anchor="after" relative-to-action="RenameJavaFileToGroovyFileAction"/>
1058 <action id="org.jetbrains.plugins.groovy.actions.generate.equals.GroovyGenerateEqualsAction"
1059 class="org.jetbrains.plugins.groovy.actions.generate.equals.GroovyGenerateEqualsAction"
1060 text="equals() and hashCode()" description="Action generates equals and hashCode now">
1061 <add-to-group group-id="GenerateGroup" anchor="first"/>
1064 <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterSetterAction"
1065 class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterSetterAction"
1066 text="Getter and Setter" description="Generates getter">
1067 <add-to-group group-id="GenerateGroup" anchor="first"/>
1070 <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateSetterAction"
1071 class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateSetterAction"
1072 text="Setter" description="Generates setter">
1073 <add-to-group group-id="GenerateGroup" anchor="first"/>
1076 <action id="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterAction"
1077 class="org.jetbrains.plugins.groovy.actions.generate.accessors.GroovyGenerateGetterAction"
1078 text="Getter" description="Generates getter">
1079 <add-to-group group-id="GenerateGroup" anchor="first"/>
1082 <action id="org.jetbrains.plugins.groovy.actions.generate.constructors.GroovyGenerateConstructorAction"
1083 class="org.jetbrains.plugins.groovy.actions.generate.constructors.GroovyGenerateConstructorAction"
1084 text="Constructor" description="Generates constructor">
1085 <add-to-group group-id="GenerateGroup" anchor="first"/>
1088 <action id="Groovy.Doc.Generating"
1089 class="org.jetbrains.plugins.groovy.doc.actions.GenerateGroovyDocAction"
1090 text="Generate GroovyDoc" description="Generating Groovy Documentation"
1091 icon="/org/jetbrains/plugins/groovy/images/GroovyDoc.png">
1092 <add-to-group group-id="ToolsMenu" anchor="last"/>
1095 <!--<action id="Groovy.Extract.Closure" class="org.jetbrains.plugins.groovy.refactoring.extract.closure.ExtractClosureAction" text="Closure...">
1096 <add-to-group group-id="IntroduceActionsGroup" anchor="after" relative-to-action="ExtractMethod"/>
1097 <keyboard-shortcut keymap="$default" first-keystroke="ctrl alt shift M"/>
1100 <group id="Mvc.Actions" popup="true" class="org.jetbrains.plugins.groovy.mvc.MvcActionGroup">
1101 <action id="Mvc.Upgrade"
1102 class="org.jetbrains.plugins.groovy.mvc.MvcUpgradeAction"
1103 text="Change SDK version" description="Change Grails/Griffon SDK version">
1106 <action id="Griffon.UpdateDependencies" class="org.jetbrains.plugins.groovy.griffon.UpdateGriffonSettingsAction"
1107 text="Synchronize Griffon settings" description="Refresh IntelliJ IDEA project structure so that it matches Griffon build settings">
1110 <action id="Mvc.RunTarget" class="org.jetbrains.plugins.groovy.mvc.MvcRunTarget"
1111 text="Run Target" description="Run arbitrary Grails/Griffon target">
1112 <keyboard-shortcut keymap="$default" first-keystroke="ctrl alt G"/>
1114 <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="AddFrameworkSupport"/>
1115 <add-to-group group-id="NavbarPopupMenu" anchor="after" relative-to-action="AddFrameworkSupport"/>
1116 <add-to-group group-id="ToolsMenu" anchor="last"/>
1121 <application-components>
1123 <implementation-class>org.jetbrains.plugins.groovy.gant.GantLoader</implementation-class>
1126 <implementation-class>org.jetbrains.plugins.groovy.mvc.MvcPathMacros</implementation-class>
1128 </application-components>
1130 <project-components>
1132 <implementation-class>org.jetbrains.plugins.groovy.compiler.GroovyCompilerLoader</implementation-class>
1135 <implementation-class>org.jetbrains.plugins.groovy.codeInspection.local.GroovyUnusedImportsPassFactory</implementation-class>
1138 <interface-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManager</interface-class>
1139 <implementation-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManagerImpl</implementation-class>
1142 <implementation-class>org.jetbrains.plugins.groovy.mvc.MvcModuleStructureSynchronizer</implementation-class>
1144 </project-components>