diff --git a/plugins/groovy/resources/standardDsls/defaultMethods.gdsl b/plugins/groovy/resources/standardDsls/defaultMethods.gdsl index 60e521aac122..8464717f2a01 100644 --- a/plugins/groovy/resources/standardDsls/defaultMethods.gdsl +++ b/plugins/groovy/resources/standardDsls/defaultMethods.gdsl @@ -86,3 +86,7 @@ contributor(ctype: 'groovy.lang.MetaClass') { property name: 'static' } +contributor(ctype: 'java.lang.Enum') { + method(type: psiClass.qualName, name: 'valueOf', params: [name: 'java.lang.String'], isStatic: true) +} + diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolveMethodTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolveMethodTest.groovy index c81bf1663c46..677f72da379d 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolveMethodTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolveMethodTest.groovy @@ -1494,4 +1494,18 @@ def 'a\\'bc'(){} "a'bc"() ''', GrMethod) } + + void testValueOf() { + final valueof = resolveByText('''\ +enum MyEnum { + FOO, BAR +} + + +MyEnum myEnum +myEnum = MyEnum.valueOf('FOO') +''', PsiMethod) + + assertEquals(valueof.parameterList.parametersCount, 1) + } }