From 665b59ffd1dfeafc9bc8e20ab853f2ac5025455e Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sat, 18 Jun 2011 16:07:52 +0400 Subject: [PATCH] Utility method extracted --- .../jetbrains/jet/lang/parsing/AbstractJetParsing.java | 10 +++++++++- .../src/org/jetbrains/jet/lang/parsing/JetParsing.java | 6 +----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java b/idea/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java index f99e0218f70..ba35a61c879 100644 --- a/idea/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java +++ b/idea/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java @@ -1,6 +1,5 @@ package org.jetbrains.jet.lang.parsing; -import com.intellij.codeInspection.dataFlow.instructions.ReturnFromSubInstruction; import com.intellij.lang.PsiBuilder; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; @@ -40,6 +39,15 @@ import static org.jetbrains.jet.lexer.JetTokens.*; this.myBuilder = builder; } + protected IElementType getLastToken() { + int i = 1; + int currentOffset = myBuilder.getCurrentOffset(); + while (i <= currentOffset && WHITE_SPACE_OR_COMMENT_BIT_SET.contains(myBuilder.rawLookup(-i))) { + i++; + } + return myBuilder.rawLookup(-i); + } + protected boolean expect(JetToken expectation, String message) { return expect(expectation, message, null); } diff --git a/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java index ac23d35f30a..be52054d967 100644 --- a/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -836,11 +836,7 @@ public class JetParsing extends AbstractJetParsing { parsePropertyGetterOrSetter(); } if (!atSet(EOL_OR_SEMICOLON, RBRACE)) { - int i = -1; - while (-i < myBuilder.getCurrentOffset() && WHITE_SPACE_OR_COMMENT_BIT_SET.contains(myBuilder.rawLookup(i))) { - i--; - } - if (myBuilder.rawLookup(i) != SEMICOLON) { + if (getLastToken() != SEMICOLON) { errorUntil("Property getter or setter expected", TokenSet.create(EOL_OR_SEMICOLON)); } }