in src/com/amazon/ion/impl/IonTokenConstsX.java [858:949]
public static final IonType getNullType(CharSequence s)
{
IonType type = null;
int c, ii = 0;
boolean stop = false;
while (!stop && ii<s.length()) {
c = s.charAt(ii++);
switch (c) {
case ' ': case '\t': case '\r': case '\n':
break;
case 'n':
stop = true;
break;
default:
invalid_null_image(s);
}
}
if (ii>=s.length() || s.charAt(ii++) != 'u') invalid_null_image(s);
if (ii>=s.length() || s.charAt(ii++) != 'l') invalid_null_image(s);
if (ii>=s.length() || s.charAt(ii++) != 'l') invalid_null_image(s);
boolean dot = false;
while (!dot && ii<s.length()) {
c = s.charAt(ii++);
switch (c) {
case ' ': case '\t': case '\r': case '\n':
break;
case '.':
dot = true;
break;
default:
invalid_null_image(s);
}
}
if (dot) {
int kw = IonTokenConstsX.keyword(s, ii, s.length());
switch (kw) {
case IonTokenConstsX.KEYWORD_NULL:
type = IonType.NULL;
break;
case IonTokenConstsX.KEYWORD_BOOL:
type = IonType.BOOL;
break;
case IonTokenConstsX.KEYWORD_INT:
type = IonType.INT;
break;
case IonTokenConstsX.KEYWORD_FLOAT:
type = IonType.FLOAT;
break;
case IonTokenConstsX.KEYWORD_DECIMAL:
type = IonType.DECIMAL;
break;
case IonTokenConstsX.KEYWORD_TIMESTAMP:
type = IonType.TIMESTAMP;
break;
case IonTokenConstsX.KEYWORD_SYMBOL:
type = IonType.SYMBOL;
break;
case IonTokenConstsX.KEYWORD_STRING:
type = IonType.STRING;
break;
case IonTokenConstsX.KEYWORD_CLOB:
type = IonType.CLOB;
break;
case IonTokenConstsX.KEYWORD_BLOB:
type = IonType.BLOB;
break;
case IonTokenConstsX.KEYWORD_STRUCT:
type = IonType.STRUCT;
break;
case IonTokenConstsX.KEYWORD_LIST:
type = IonType.LIST;
break;
case IonTokenConstsX.KEYWORD_SEXP:
type = IonType.SEXP;
break;
default:
invalid_null_image(s);
}
}
while (ii<s.length()) {
c = s.charAt(ii++);
switch (c) {
case ' ': case '\t': case '\r': case '\n':
break;
default:
invalid_null_image(s);
}
}
return type;
}