diff options
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.java | 18 |
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; } - } |