in src/com/amazon/ion/impl/_Private_IonTextAppender.java [408:466]
public static boolean isIdentifierKeyword(CharSequence text)
{
int pos = 0;
int valuelen = text.length();
if(valuelen == 0)
{
return false;
}
boolean keyword = false;
// there has to be at least 1 character or we wouldn't be here
switch (text.charAt(pos++)) {
case '$':
if (valuelen == 1) return false;
while (pos < valuelen) {
char c = text.charAt(pos++);
if (! isDecimalDigit(c)) return false;
}
return true;
case 'f':
if (valuelen == 5 // 'f'
&& text.charAt(pos++) == 'a'
&& text.charAt(pos++) == 'l'
&& text.charAt(pos++) == 's'
&& text.charAt(pos++) == 'e'
) {
keyword = true;
}
break;
case 'n':
if (valuelen == 4 // 'n'
&& text.charAt(pos++) == 'u'
&& text.charAt(pos++) == 'l'
&& text.charAt(pos++) == 'l'
) {
keyword = true;
}
else if (valuelen == 3 // 'n'
&& text.charAt(pos++) == 'a'
&& text.charAt(pos++) == 'n'
) {
keyword = true;
}
break;
case 't':
if (valuelen == 4 // 't'
&& text.charAt(pos++) == 'r'
&& text.charAt(pos++) == 'u'
&& text.charAt(pos++) == 'e'
) {
keyword = true;
}
break;
}
return keyword;
}