diff --git a/platform/core-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java b/platform/core-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java index 2cfb72b190bf..46ce1e61946b 100644 --- a/platform/core-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java +++ b/platform/core-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java @@ -666,6 +666,14 @@ public class PsiBuilderImpl extends UserDataHolderBase implements PsiBuilder, AS @Override public IElementType getTokenType() { + final IElementType elementType = doGetTokenType(); + if (elementType instanceof TokenWrapper) { + return ((TokenWrapper)elementType).getDelegate(); + } + return elementType; + } + + private IElementType doGetTokenType() { if (eof()) return null; if (myRemapper != null) { @@ -761,7 +769,7 @@ public class PsiBuilderImpl extends UserDataHolderBase implements PsiBuilder, AS @Nullable public String getTokenText() { if (eof()) return null; - final IElementType type = getTokenType(); + final IElementType type = doGetTokenType(); if (type instanceof TokenWrapper) { return ((TokenWrapper)type).getValue(); }