summaryrefslogtreecommitdiff
path: root/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java')
-rw-r--r--java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java
index 31fb4bca8833..1edd7cbaec76 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,14 +41,15 @@ public class MethodElement extends CompositeElement implements Constants {
@Override
public int getTextOffset() {
- return findChildByRole(ChildRole.NAME).getStartOffset();
+ ASTNode name = findChildByType(IDENTIFIER);
+ return name != null ? name.getStartOffset() : this.getStartOffset();
}
@Override
public TreeElement addInternal(TreeElement first, ASTNode last, ASTNode anchor, Boolean before) {
- if (first == last && first.getElementType() == JavaElementType.CODE_BLOCK){
- ASTNode semicolon = findChildByRole(ChildRole.CLOSING_SEMICOLON);
- if (semicolon != null){
+ if (first == last && first.getElementType() == JavaElementType.CODE_BLOCK) {
+ ASTNode semicolon = TreeUtil.findChildBackward(this, SEMICOLON);
+ if (semicolon != null) {
deleteChildInternal(semicolon);
}
}
@@ -64,7 +65,7 @@ public class MethodElement extends CompositeElement implements Constants {
@Override
public void deleteChildInternal(@NotNull ASTNode child) {
- if (child.getElementType() == CODE_BLOCK){
+ if (child.getElementType() == CODE_BLOCK) {
final ASTNode prevWS = TreeUtil.prevLeaf(child);
if (prevWS != null && prevWS.getElementType() == TokenType.WHITE_SPACE) {
removeChild(prevWS);
@@ -80,9 +81,9 @@ public class MethodElement extends CompositeElement implements Constants {
}
@Override
- public ASTNode findChildByRole(int role){
+ public ASTNode findChildByRole(int role) {
LOG.assertTrue(ChildRole.isUnique(role));
- switch(role){
+ switch (role) {
default:
return null;
@@ -161,5 +162,4 @@ public class MethodElement extends CompositeElement implements Constants {
protected boolean isVisibilitySupported() {
return true;
}
-
}