Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
47bedfb4
Commit
47bedfb4
authored
7 years ago
by
Daniil Ovchinnikov
Browse files
Options
Download
Email Patches
Plain Diff
[jvm-lang] java: return if no method is found after reformat IDEA-188113
parent
3fcd22a5
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
java/java-impl/src/com/intellij/lang/java/actions/CreateGetterWithFieldAction.kt
+2
-2
...intellij/lang/java/actions/CreateGetterWithFieldAction.kt
java/java-impl/src/com/intellij/lang/java/actions/CreatePropertyAction.kt
+7
-7
...rc/com/intellij/lang/java/actions/CreatePropertyAction.kt
java/java-impl/src/com/intellij/lang/java/actions/CreateSetterWithFieldAction.kt
+2
-2
...intellij/lang/java/actions/CreateSetterWithFieldAction.kt
java/java-impl/src/com/intellij/lang/java/actions/PropertyRenderer.kt
+6
-5
...pl/src/com/intellij/lang/java/actions/PropertyRenderer.kt
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterPropertyInInvalidClass.java
+12
-0
...ix/createMethodFromUsage/afterPropertyInInvalidClass.java
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforePropertyInInvalidClass.java
+9
-0
...x/createMethodFromUsage/beforePropertyInInvalidClass.java
with
38 additions
and
16 deletions
+38
-16
java/java-impl/src/com/intellij/lang/java/actions/CreateGetterWithFieldAction.kt
+
2
-
2
View file @
47bedfb4
...
@@ -31,10 +31,10 @@ internal class CreateGetterWithFieldAction(target: PsiClass, request: CreateMeth
...
@@ -31,10 +31,10 @@ internal class CreateGetterWithFieldAction(target: PsiClass, request: CreateMeth
override
fun
createRenderer
(
project
:
Project
)
=
object
:
PropertyRenderer
(
project
,
target
,
request
,
propertyInfo
)
{
override
fun
createRenderer
(
project
:
Project
)
=
object
:
PropertyRenderer
(
project
,
target
,
request
,
propertyInfo
)
{
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
{
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
?
{
val
prototypeField
=
generatePrototypeField
()
val
prototypeField
=
generatePrototypeField
()
val
prototype
=
generateSimpleGetterPrototype
(
prototypeField
)
val
prototype
=
generateSimpleGetterPrototype
(
prototypeField
)
val
accessor
=
insertAccessor
(
prototype
)
val
accessor
=
insertAccessor
(
prototype
)
?:
return
null
val
data
=
accessor
.
extractGetterTemplateData
()
val
data
=
accessor
.
extractGetterTemplateData
()
return
builder
.
setupInput
(
data
)
return
builder
.
setupInput
(
data
)
}
}
...
...
This diff is collapsed.
Click to expand it.
java/java-impl/src/com/intellij/lang/java/actions/CreatePropertyAction.kt
+
7
-
7
View file @
47bedfb4
...
@@ -52,19 +52,19 @@ internal class CreatePropertyAction(target: PsiClass, request: CreateMethodReque
...
@@ -52,19 +52,19 @@ internal class CreatePropertyAction(target: PsiClass, request: CreateMethodReque
return
getter
to
setter
return
getter
to
setter
}
}
private
fun
insertPrototypes
():
Pair
<
PsiMethod
,
PsiMethod
>
{
private
fun
insertPrototypes
():
Pair
<
PsiMethod
,
PsiMethod
>
?
{
val
(
getterPrototype
,
setterPrototype
)
=
generatePrototypes
()
val
(
getterPrototype
,
setterPrototype
)
=
generatePrototypes
()
return
if
(
propertyKind
==
SETTER
)
{
return
if
(
propertyKind
==
SETTER
)
{
// Technology isn't there yet. See related: WEB-26575.
// Technology isn't there yet. See related: WEB-26575.
// We can't recalculate template segments which start before the current segment,
// We can't recalculate template segments which start before the current segment,
// so we add the setter before the getter.
// so we add the setter before the getter.
val
setter
=
insertAccessor
(
setterPrototype
)
val
setter
=
insertAccessor
(
setterPrototype
)
?:
return
null
val
getter
=
insertAccessor
(
getterPrototype
)
val
getter
=
insertAccessor
(
getterPrototype
)
?:
return
null
getter
to
setter
getter
to
setter
}
}
else
{
else
{
val
getter
=
insertAccessor
(
getterPrototype
)
val
getter
=
insertAccessor
(
getterPrototype
)
?:
return
null
val
setter
=
insertAccessor
(
setterPrototype
)
val
setter
=
insertAccessor
(
setterPrototype
)
?:
return
null
getter
to
setter
getter
to
setter
}
}
}
}
...
@@ -83,8 +83,8 @@ internal class CreatePropertyAction(target: PsiClass, request: CreateMethodReque
...
@@ -83,8 +83,8 @@ internal class CreatePropertyAction(target: PsiClass, request: CreateMethodReque
*
*
* 3. Setter parameter name template is added in any case.
* 3. Setter parameter name template is added in any case.
*/
*/
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
{
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
?
{
val
(
getter
,
setter
)
=
insertPrototypes
()
val
(
getter
,
setter
)
=
insertPrototypes
()
?:
return
null
val
getterData
=
getter
.
extractGetterTemplateData
()
val
getterData
=
getter
.
extractGetterTemplateData
()
val
setterData
=
setter
.
extractSetterTemplateData
()
val
setterData
=
setter
.
extractSetterTemplateData
()
...
...
This diff is collapsed.
Click to expand it.
java/java-impl/src/com/intellij/lang/java/actions/CreateSetterWithFieldAction.kt
+
2
-
2
View file @
47bedfb4
...
@@ -31,10 +31,10 @@ internal class CreateSetterWithFieldAction(target: PsiClass, request: CreateMeth
...
@@ -31,10 +31,10 @@ internal class CreateSetterWithFieldAction(target: PsiClass, request: CreateMeth
override
fun
createRenderer
(
project
:
Project
)
=
object
:
PropertyRenderer
(
project
,
target
,
request
,
propertyInfo
)
{
override
fun
createRenderer
(
project
:
Project
)
=
object
:
PropertyRenderer
(
project
,
target
,
request
,
propertyInfo
)
{
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
{
override
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
?
{
val
prototypeField
=
generatePrototypeField
()
val
prototypeField
=
generatePrototypeField
()
val
prototype
=
generateSimpleSetterPrototype
(
prototypeField
,
target
)
val
prototype
=
generateSimpleSetterPrototype
(
prototypeField
,
target
)
val
accessor
=
insertAccessor
(
prototype
)
val
accessor
=
insertAccessor
(
prototype
)
?:
return
null
val
data
=
accessor
.
extractSetterTemplateData
()
val
data
=
accessor
.
extractSetterTemplateData
()
val
typeExpression
=
builder
.
setupInput
(
data
)
val
typeExpression
=
builder
.
setupInput
(
data
)
builder
.
setupSetterParameter
(
data
)
builder
.
setupSetterParameter
(
data
)
...
...
This diff is collapsed.
Click to expand it.
java/java-impl/src/com/intellij/lang/java/actions/PropertyRenderer.kt
+
6
-
5
View file @
47bedfb4
...
@@ -27,7 +27,7 @@ internal abstract class PropertyRenderer(
...
@@ -27,7 +27,7 @@ internal abstract class PropertyRenderer(
nameKind
:
Pair
<
String
,
PropertyKind
>
nameKind
:
Pair
<
String
,
PropertyKind
>
)
{
)
{
pr
otec
te
d
val
factory
=
JavaPsiFacade
.
getInstance
(
project
).
elementFactory
pr
iva
te
val
factory
=
JavaPsiFacade
.
getInstance
(
project
).
elementFactory
private
val
codeStyleManager
=
JavaCodeStyleManager
.
getInstance
(
project
)
!!
private
val
codeStyleManager
=
JavaCodeStyleManager
.
getInstance
(
project
)
!!
private
val
javaUsage
=
request
as
?
CreateMethodFromJavaUsageRequest
private
val
javaUsage
=
request
as
?
CreateMethodFromJavaUsageRequest
private
val
isStatic
=
JvmModifier
.
STATIC
in
request
.
modifiers
private
val
isStatic
=
JvmModifier
.
STATIC
in
request
.
modifiers
...
@@ -64,7 +64,7 @@ internal abstract class PropertyRenderer(
...
@@ -64,7 +64,7 @@ internal abstract class PropertyRenderer(
if
(!
navigate
())
return
if
(!
navigate
())
return
val
builder
=
TemplateBuilderImpl
(
target
)
val
builder
=
TemplateBuilderImpl
(
target
)
builder
.
setGreedyToRight
(
true
)
builder
.
setGreedyToRight
(
true
)
val
typeExpression
=
fillTemplate
(
builder
)
val
typeExpression
=
fillTemplate
(
builder
)
?:
return
val
template
=
builder
.
buildInlineTemplate
().
apply
{
val
template
=
builder
.
buildInlineTemplate
().
apply
{
isToShortenLongNames
=
true
isToShortenLongNames
=
true
}
}
...
@@ -72,10 +72,11 @@ internal abstract class PropertyRenderer(
...
@@ -72,10 +72,11 @@ internal abstract class PropertyRenderer(
TemplateManager
.
getInstance
(
project
).
startTemplate
(
targetEditor
,
template
,
listener
)
TemplateManager
.
getInstance
(
project
).
startTemplate
(
targetEditor
,
template
,
listener
)
}
}
protected
abstract
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
protected
abstract
fun
fillTemplate
(
builder
:
TemplateBuilderImpl
):
RangeExpression
?
protected
fun
insertAccessor
(
prototype
:
PsiMethod
):
PsiMethod
{
protected
fun
insertAccessor
(
prototype
:
PsiMethod
):
PsiMethod
?
{
return
forcePsiPostprocessAndRestoreElement
(
target
.
add
(
prototype
))
as
PsiMethod
val
method
=
target
.
add
(
prototype
)
as
PsiMethod
return
forcePsiPostprocessAndRestoreElement
(
method
)
}
}
private
fun
TemplateBuilderImpl
.
createTemplateContext
():
TemplateContext
{
private
fun
TemplateBuilderImpl
.
createTemplateContext
():
TemplateContext
{
...
...
This diff is collapsed.
Click to expand it.
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterPropertyInInvalidClass.java
0 → 100644
+
12
-
0
View file @
47bedfb4
// "Create property 'appOutputPath' in 'X'" "true"
class
X
{
void
initOutputChecker
()
{
getAppOutputPath
();
}
protected
RunContentDescriptor
executeConfiguration
()
{
ApplicationManager
.
getApplication
().
invokeLater
(()
->
{
public
void
getAppOutputPath
()
{
return
appOutputPath
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforePropertyInInvalidClass.java
0 → 100644
+
9
-
0
View file @
47bedfb4
// "Create property 'appOutputPath' in 'X'" "true"
class
X
{
void
initOutputChecker
()
{
getAppOutpu
<
caret
>
tPath
();
}
protected
RunContentDescriptor
executeConfiguration
()
{
ApplicationManager
.
getApplication
().
invokeLater
(()
->
{
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help