java type character_Java JavaTokenType.CHARACTER_LITERAL属性代码示例

private void _locateToken() {

if (myTokenEndOffset == myBufferEndOffset) {

myTokenType = null;

myBufferIndex = myBufferEndOffset;

return;

}

myBufferIndex = myTokenEndOffset;

char c = myBufferArray != null ? myBufferArray[myBufferIndex] : myBuffer.charAt(myBufferIndex);

switch (c) {

case ' ':

case '\t':

case '\n':

case '\r':

case '\f':

myTokenType = TokenType.WHITE_SPACE;

myTokenEndOffset = getWhitespaces(myBufferIndex + 1);

break;

case '/':

if (myBufferIndex + 1 >= myBufferEndOffset) {

myTokenType = JavaTokenType.DIV;

myTokenEndOffset = myBufferEndOffset;

}

else {

char nextChar = myBufferArray != null ? myBufferArray[myBufferIndex + 1] : myBuffer.charAt(myBufferIndex + 1);

if (nextChar == '/') {

myTokenType = JavaTokenType.END_OF_LINE_COMMENT;

myTokenEndOffset = getLineTerminator(myBufferIndex + 2);

}

else if (nextChar == '*') {

if (myBufferIndex + 2 >= myBufferEndOffset ||

(myBufferArray != null ? myBufferArray[myBufferIndex + 2] : myBuffer.charAt(myBufferIndex + 2)) != '*' ||

(myBufferIndex + 3 < myBufferEndOffset &&

(myBufferArray != null ? myBufferArray[myBufferIndex + 3] : myBuffer.charAt(myBufferIndex + 3)) == '/')) {

myTokenType = JavaTokenType.C_STYLE_COMMENT;

myTokenEndOffset = getClosingComment(myBufferIndex + 2);

}

else {

myTokenType = JavaDocElementType.DOC_COMMENT;

myTokenEndOffset = getClosingComment(myBufferIndex + 3);

}

}

else {

flexLocateToken();

}

}

break;

case '"':

case '\'':

myTokenType = c == '"' ? JavaTokenType.STRING_LITERAL : JavaTokenType.CHARACTER_LITERAL;

myTokenEndOffset = getClosingParenthesis(myBufferIndex + 1, c);

break;

default:

flexLocateToken();

}

if (myTokenEndOffset > myBufferEndOffset) {

myTokenEndOffset = myBufferEndOffset;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值