本文整理汇总了Java中com.intellij.lang.javascript.JSTokenTypes.STRING_LITERAL属性的典型用法代码示例。如果您正苦于以下问题:Java JSTokenTypes.STRING_LITERAL属性的具体用法?Java JSTokenTypes.STRING_LITERAL怎么用?Java JSTokenTypes.STRING_LITERAL使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类com.intellij.lang.javascript.JSTokenTypes
的用法示例。
在下文中一共展示了JSTokenTypes.STRING_LITERAL属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseStringLiteral
private boolean parseStringLiteral(IElementType firstToken) {
final PsiBuilder.Marker mark = builder.mark();
IElementType currentToken = firstToken;
StringBuilder literal = new StringBuilder();
while (currentToken == JSTokenTypes.STRING_LITERAL ||
currentToken == EmberJSTokenTypes.ESCAPE_SEQUENCE ||
currentToken == EmberJSTokenTypes.INVALID_ESCAPE_SEQUENCE) {
literal.append(builder.getTokenText());
builder.advanceLexer();
currentToken = builder.getTokenType();
}
mark.done(JSElementTypes.LITERAL_EXPRESSION);
final String errorMessage = validateLiteralText(literal.toString());
if (errorMessage != null) {
builder.error(errorMessage);
}
return true;
}
示例2: isAcceptable
@Override
public boolean isAcceptable(Object element, @Nullable PsiElement context) {
if (element instanceof JSLiteralExpression && context != null && context.getContainingFile() instanceof JSFile) {
final ASTNode value = ((JSLiteralExpression) element).getNode().getFirstChildNode();
return value != null && value.getElementType() == JSTokenTypes.STRING_LITERAL;
}
return false;
}
示例3: parsePrimaryExpression
@Override
public boolean parsePrimaryExpression() {
final IElementType firstToken = builder.getTokenType();
if (firstToken == JSTokenTypes.STRING_LITERAL) {
return parseStringLiteral(firstToken);
}
if (firstToken == JSTokenTypes.IDENTIFIER && builder.lookAhead(1) == JSTokenTypes.AS_KEYWORD) {
return parseAsExpression();
}
return super.parsePrimaryExpression();
}
示例4: getRangeInElement
@Override
@RequiredReadAction
public TextRange getRangeInElement()
{
int quotesDelta = myNameIdentifier.getNode().getElementType() == JSTokenTypes.STRING_LITERAL ? 1 : 0;
final int startOffsetInParent = myNameIdentifier.getStartOffsetInParent();
int startOffset = startOffsetInParent + quotesDelta;
int endOffset = startOffsetInParent + myNameIdentifier.getTextLength() - quotesDelta;
if(endOffset <= startOffset)
{
return new TextRange(0, myProperty.getTextLength());
}
return new TextRange(startOffset, endOffset);
}
示例5: isAppropriateElementTypeForLiteral
@Override
public boolean isAppropriateElementTypeForLiteral(@NotNull IElementType tokenType)
{
return JavaScriptTokenSets.COMMENTS.contains(tokenType) ||
tokenType == JSTokenTypes.WHITE_SPACE ||
tokenType == JSTokenTypes.SEMICOLON ||
tokenType == JSTokenTypes.COMMA ||
tokenType == JSTokenTypes.RPAR ||
tokenType == JSTokenTypes.RBRACKET ||
tokenType == JSTokenTypes.RBRACE ||
tokenType == JSTokenTypes.SINGLE_QUOTE_STRING_LITERAL ||
tokenType == JSTokenTypes.STRING_LITERAL;
}
示例6: parseValue
private boolean parseValue(PsiBuilder builder)
{
final IElementType firstToken = builder.getTokenType();
if(firstToken == JSTokenTypes.NUMERIC_LITERAL ||
firstToken == JSTokenTypes.STRING_LITERAL ||
firstToken == JSTokenTypes.SINGLE_QUOTE_STRING_LITERAL ||
firstToken == JSTokenTypes.NULL_KEYWORD ||
firstToken == JSTokenTypes.FALSE_KEYWORD ||
firstToken == JSTokenTypes.TRUE_KEYWORD)
{
String errorMessage = ExpressionParsing.validateLiteral(builder);
Parsing.buildTokenElement(JSElementTypes.LITERAL_EXPRESSION, builder);
if(errorMessage != null)
{
builder.error(errorMessage);
}
return true;
}
if(firstToken == JSTokenTypes.LBRACKET)
{
parseArrayLiteralExpression(builder);
return true;
}
else if(firstToken == JSTokenTypes.MINUS)
{
PsiBuilder.Marker marker = builder.mark();
builder.advanceLexer();
if(builder.getTokenType() == JSTokenTypes.NUMERIC_LITERAL)
{
builder.advanceLexer();
marker.done(JSElementTypes.PREFIX_EXPRESSION);
}
else
{
marker.error("Unexpected token");
}
return true;
}
else if(firstToken == JSTokenTypes.LBRACE)
{
parseObjectLiteralExpression(builder);
return true;
}
else
{
return false;
}
}