This is an automated email from the ASF dual-hosted git repository. jlahoda pushed a commit to branch release90 in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git
commit a1e1ff5608ea69d3fde5f3dd2e89eddef5907534 Author: Arunava Sinha <[email protected]> AuthorDate: Thu May 10 23:48:00 2018 +0530 [NETBEANS-481] JDK10-LVTI: Refactored CasualDiff to handle any tokensequence overshoot scenario --- .../modules/java/source/save/CasualDiff.java | 32 ++++++++++------------ 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java index 9a41714..b5cb6bf 100644 --- a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java +++ b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java @@ -1482,27 +1482,26 @@ public class CasualDiff { int modsUpperBound = getCommentCorrectedEndPos(oldT.mods); if (modsUpperBound > -1) { tokenSequence.move(modsUpperBound); - tokenSequence.moveNext(); // copying modifiers from oldTree - if (JavaTokenId.WHITESPACE == tokenSequence.token().id()) { - int offset = tokenSequence.offset(); - copyTo(localPointer, localPointer = offset); - } else { + if (tokenSequence.moveNext()) { copyTo(localPointer, localPointer = modsUpperBound); } - } + } + int offset = localPointer; + JavaTokenId tokenId = null; tokenSequence.move(localPointer); - tokenSequence.moveNext(); - int offset = tokenSequence.offset(); - JavaTokenId tokenId = tokenSequence.token().id(); //adding back all whitespaces/block-comment/javadoc-comments present in OldTree before variable type token. - while ((tokenId == JavaTokenId.WHITESPACE || tokenId == JavaTokenId.BLOCK_COMMENT || tokenId == JavaTokenId.JAVADOC_COMMENT) && offset < oldT.sym.pos) { - tokenSequence.moveNext(); + while (tokenSequence.moveNext()) { offset = tokenSequence.offset(); tokenId = tokenSequence.token().id(); + + if (!((tokenId == JavaTokenId.WHITESPACE || tokenId == JavaTokenId.BLOCK_COMMENT || tokenId == JavaTokenId.JAVADOC_COMMENT) && offset < oldT.sym.pos)) { + break; + } + } copyTo(localPointer, localPointer = offset); @@ -1526,17 +1525,16 @@ public class CasualDiff { * first token. */ if (oldT.type.getKind() == TypeKind.ERROR && localPointer == -1) { - // moving to variable type token tokenSequence.move(vartypeBounds[0]); tokenSequence.moveNext(); //moving to first token after variable type token. - tokenSequence.moveNext(); - - // copying tokens from vartype bounds after excluding variable type token. - int offset = tokenSequence.offset(); - copyTo(offset, localPointer = vartypeBounds[1]); + if (tokenSequence.moveNext()) { + // copying tokens from vartype bounds after excluding variable type token. + int offset = tokenSequence.offset(); + copyTo(offset, localPointer = vartypeBounds[1]); + } } } } -- To stop receiving notification emails like this one, please contact [email protected]. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
