'/* -----------------------------------------------------------------------------\n * java.swg\n *\n * Java typemaps\n * ----------------------------------------------------------------------------- */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%include'    Name.Function
' '           Text.Whitespace
'<'           Operator
'javahead'    Name
'.'           Punctuation
'swg'         Name
'>'           Operator
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* The jni, jtype and jstype typemaps work together and so there should be one of each. \n * The jni typemap contains the JNI type used in the JNI (C/C++) code. \n * The jtype typemap contains the Java type used in the JNI intermediary class. \n * The jstype typemap contains the Java type used in the Java proxy classes, type wrapper classes and module class. */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Fragments */' Comment.Multiline
'\n'          Text.Whitespace

'%fragment'   Name.Function
'('           Punctuation
'"'           Literal.String
'SWIG_PackData' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'header'      Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'/* Pack binary data into a string */' Comment.Multiline
'\n'          Text.Whitespace

'SWIGINTERN'  Name
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'SWIG_PackData' Name
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'c'           Name
','           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'ptr'         Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'sz'          Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'hex'         Name
'['           Punctuation
'17'          Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'0123456789abcdef' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'u'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'ptr'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'eu'          Name
' '           Text.Whitespace
'='           Operator
'  '          Text.Whitespace
'u'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
' '           Text.Whitespace
'('           Punctuation
';'           Punctuation
' '           Text.Whitespace
'u'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'eu'          Name
';'           Punctuation
' '           Text.Whitespace
'+'           Operator
'+'           Operator
'u'           Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'uu'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'u'           Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'*'           Operator
'('           Punctuation
'c'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'hex'         Name
'['           Punctuation
'('           Punctuation
'uu'          Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'0xf0'        Literal.Number.Hex
')'           Punctuation
' '           Text.Whitespace
'>'           Operator
'>'           Operator
' '           Text.Whitespace
'4'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'*'           Operator
'('           Punctuation
'c'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'hex'         Name
'['           Punctuation
'uu'          Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'0xf'         Literal.Number.Hex
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'c'           Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%fragment'   Name.Function
'('           Punctuation
'"'           Literal.String
'SWIG_UnPackData' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'header'      Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'/* Unpack binary data from a string */' Comment.Multiline
'\n'          Text.Whitespace

'SWIGINTERN'  Name
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'SWIG_UnpackData' Name
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'c'           Name
','           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'ptr'         Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'sz'          Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'u'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'ptr'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'eu'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'u'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
' '           Text.Whitespace
'('           Punctuation
';'           Punctuation
' '           Text.Whitespace
'u'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'eu'          Name
';'           Punctuation
' '           Text.Whitespace
'+'           Operator
'+'           Operator
'u'           Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'c'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'register'    Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'uu'          Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'0'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'<'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'9'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'uu'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'0'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'4'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'a'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'<'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'f'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'uu'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'('           Punctuation
"'"           Literal.String.Char
'a'           Literal.String.Char
"'"           Literal.String.Char
'-10'         Literal.Number.Integer
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'4'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'\n'          Text.Whitespace

'      '      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'c'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'0'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'<'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'9'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'uu'          Name
' '           Text.Whitespace
'|'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'0'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'a'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'<'           Operator
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'f'           Literal.String.Char
"'"           Literal.String.Char
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'uu'          Name
' '           Text.Whitespace
'|'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'('           Punctuation
"'"           Literal.String.Char
'a'           Literal.String.Char
"'"           Literal.String.Char
'-10'         Literal.Number.Integer
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'\n'          Text.Whitespace

'      '      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'*'           Operator
'u'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'uu'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'c'           Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Primitive types */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'jboolean'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'jchar'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'        '    Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'        '    Text.Whitespace
'"'           Literal.String
'jbyte'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'jshort'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'jshort'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'     '       Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'     '       Text.Whitespace
'"'           Literal.String
'jint'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'                ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'                ' Text.Whitespace
'"'           Literal.String
'jint'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'       '     Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'       '     Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'jint'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'          '  Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'jobject'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'jfloat'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'             ' Text.Whitespace
'"'           Literal.String
'jdouble'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
'                                           ' Text.Whitespace
'"'           Literal.String
'void'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'boolean'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'char'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'        '    Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'        '    Text.Whitespace
'"'           Literal.String
'byte'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'     '       Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'     '       Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'                ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'                ' Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'       '     Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'       '     Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'          '  Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'java.math.BigInteger' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'float'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'             ' Text.Whitespace
'"'           Literal.String
'double'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
'                                           ' Text.Whitespace
'"'           Literal.String
'void'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'boolean'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'char'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'        '    Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'        '    Text.Whitespace
'"'           Literal.String
'byte'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'     '       Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'     '       Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'                ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'                ' Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'       '     Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'       '     Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'               ' Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'          '  Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'java.math.BigInteger' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'              ' Text.Whitespace
'"'           Literal.String
'float'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'             ' Text.Whitespace
'"'           Literal.String
'double'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
'                                           ' Text.Whitespace
'"'           Literal.String
'void'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
'               ' Text.Whitespace
'"'           Literal.String
'jstring'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
'               ' Text.Whitespace
'"'           Literal.String
'String'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
'               ' Text.Whitespace
'"'           Literal.String
'String'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* JNI types */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
'      '      Text.Whitespace
'"'           Literal.String
'jboolean'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jchar'       Name
'         '   Text.Whitespace
'"'           Literal.String
'jchar'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jbyte'       Name
'         '   Text.Whitespace
'"'           Literal.String
'jbyte'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jshort'      Name
'        '    Text.Whitespace
'"'           Literal.String
'jshort'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jint'        Name
'          '  Text.Whitespace
'"'           Literal.String
'jint'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jlong'       Name
'         '   Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jfloat'      Name
'        '    Text.Whitespace
'"'           Literal.String
'jfloat'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jdouble'     Name
'       '     Text.Whitespace
'"'           Literal.String
'jdouble'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jstring'     Name
'       '     Text.Whitespace
'"'           Literal.String
'jstring'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jobject'     Name
'       '     Text.Whitespace
'"'           Literal.String
'jobject'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jbooleanArray' Name
' '           Text.Whitespace
'"'           Literal.String
'jbooleanArray' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jcharArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'jcharArray'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jbyteArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'jbyteArray'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jshortArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'jshortArray' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jintArray'   Name
'     '       Text.Whitespace
'"'           Literal.String
'jintArray'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jlongArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'jlongArray'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jfloatArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'jfloatArray' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jdoubleArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'jdoubleArray' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'jobjectArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'jobjectArray' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
'      '      Text.Whitespace
'"'           Literal.String
'boolean'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jchar'       Name
'         '   Text.Whitespace
'"'           Literal.String
'char'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jbyte'       Name
'         '   Text.Whitespace
'"'           Literal.String
'byte'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jshort'      Name
'        '    Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jint'        Name
'          '  Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jlong'       Name
'         '   Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jfloat'      Name
'        '    Text.Whitespace
'"'           Literal.String
'float'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jdouble'     Name
'       '     Text.Whitespace
'"'           Literal.String
'double'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jstring'     Name
'       '     Text.Whitespace
'"'           Literal.String
'String'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jobject'     Name
'       '     Text.Whitespace
'"'           Literal.String
'Object'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jbooleanArray' Name
' '           Text.Whitespace
'"'           Literal.String
'boolean[]'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jcharArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'char[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jbyteArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'byte[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jshortArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'short[]'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jintArray'   Name
'     '       Text.Whitespace
'"'           Literal.String
'int[]'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jlongArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'long[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jfloatArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'float[]'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jdoubleArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'double[]'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'jobjectArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'Object[]'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
'      '      Text.Whitespace
'"'           Literal.String
'boolean'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jchar'       Name
'         '   Text.Whitespace
'"'           Literal.String
'char'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jbyte'       Name
'         '   Text.Whitespace
'"'           Literal.String
'byte'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jshort'      Name
'        '    Text.Whitespace
'"'           Literal.String
'short'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jint'        Name
'          '  Text.Whitespace
'"'           Literal.String
'int'         Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jlong'       Name
'         '   Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jfloat'      Name
'        '    Text.Whitespace
'"'           Literal.String
'float'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jdouble'     Name
'       '     Text.Whitespace
'"'           Literal.String
'double'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jstring'     Name
'       '     Text.Whitespace
'"'           Literal.String
'String'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jobject'     Name
'       '     Text.Whitespace
'"'           Literal.String
'Object'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jbooleanArray' Name
' '           Text.Whitespace
'"'           Literal.String
'boolean[]'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jcharArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'char[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jbyteArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'byte[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jshortArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'short[]'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jintArray'   Name
'     '       Text.Whitespace
'"'           Literal.String
'int[]'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jlongArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'long[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jfloatArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'float[]'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jdoubleArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'double[]'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'jobjectArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'Object[]'    Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Non primitive types */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'$&javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* pointer to a class member */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'jstring'     Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'String'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* The following are the in, out, freearg, argout typemaps. These are the JNI code generating typemaps for converting from Java to C and visa versa. */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* primitive types */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'true'        Name.Builtin
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'true'        Name.Builtin
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'double'      Keyword.Type
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'double'      Keyword.Type
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Z'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
'             ' Text.Whitespace
'"'           Literal.String
'$input = (jboolean) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'C'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'             ' Text.Whitespace
'"'           Literal.String
'$input = (jint) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'B'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
'      '      Text.Whitespace
'"'           Literal.String
'$input = (jbyte) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'S'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
'    '        Text.Whitespace
'"'           Literal.String
'$input = (jshort) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'S'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'short'       Keyword.Type
'            ' Text.Whitespace
'"'           Literal.String
'$input = (jshort) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
'   '         Text.Whitespace
'"'           Literal.String
'$input = (jint) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
'              ' Text.Whitespace
'"'           Literal.String
'$input = (jint) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
'     '       Text.Whitespace
'"'           Literal.String
'$input = (jlong) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
'             ' Text.Whitespace
'"'           Literal.String
'$input = (jint) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
'    '        Text.Whitespace
'"'           Literal.String
'$input = (jlong) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
'        '    Text.Whitespace
'"'           Literal.String
'$input = (jlong) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'F'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'float'       Keyword.Type
'            ' Text.Whitespace
'"'           Literal.String
'$input = (jfloat) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'D'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'double'      Keyword.Type
'           ' Text.Whitespace
'"'           Literal.String
'$input = (jdouble) $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'double'      Keyword.Type
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'double'      Keyword.Type
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jboolean'    Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jchar'       Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
'    '        Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
'  '          Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jshort'      Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'short'       Keyword.Type
'          '  Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jshort'      Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
'            ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
'   '         Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
'  '          Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
'      '      Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'float'       Keyword.Type
'          '  Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jfloat'      Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'double'      Keyword.Type
'         '   Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jdouble'     Name
')'           Punctuation
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* unsigned long long */' Comment.Multiline
'\n'          Text.Whitespace

'/* Convert from BigInteger using the toByteArray member function */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jsize'       Name
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'BigInteger null' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetObjectClass' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'toByteArray' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'()[B'        Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyteArray'  Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'CallObjectMethod' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'sz'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetArrayLength' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'sz'          Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_type'     Name
')'           Punctuation
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
')'           Punctuation
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jsize'       Name
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'BigInteger null' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetObjectClass' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'toByteArray' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'()[B'        Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyteArray'  Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'CallObjectMethod' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'sz'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetArrayLength' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'sz'          Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$result'     Name
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_type'     Name
')'           Punctuation
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
')'           Punctuation
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\n'          Text.Whitespace

"/* Convert to BigInteger - byte array holds number in 2's complement big endian format */" Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewByteArray' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'9'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'FindClass'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'java/math/BigInteger' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'<init>'      Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'([B)V'       Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jobject'     Name
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'1'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'9'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
' '           Text.Whitespace
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
')'           Punctuation
'('           Punctuation
'$1'          Name
'>'           Operator
'>'           Operator
'8'           Literal.Number.Integer
'*'           Operator
'('           Punctuation
'8'           Literal.Number.Integer
'-'           Operator
'i'           Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bigint'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'NewObject'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Convert to BigInteger (see out typemap) */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Ljava/math/BigInteger;' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewByteArray' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'9'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'FindClass'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'java/math/BigInteger' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'<init>'      Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'([B)V'       Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jobject'     Name
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'swig_i'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'swig_i'      Name
'='           Operator
'1'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'swig_i'      Name
'<'           Operator
'9'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'swig_i'      Name
'+'           Operator
'+'           Operator
' '           Text.Whitespace
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'bae'         Name
'['           Punctuation
'swig_i'      Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
')'           Punctuation
'('           Punctuation
'$1'          Name
'>'           Operator
'>'           Operator
'8'           Literal.Number.Integer
'*'           Operator
'('           Punctuation
'8'           Literal.Number.Integer
'-'           Operator
'swig_i'      Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bigint'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'NewObject'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* char * - treat as String */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$result'     Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Ljava/lang/String;' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'freearg'     Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'ReleaseStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* char *& - treat as String */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'temp'        Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'freearg'     Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'*'           Operator
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'ReleaseStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'*'           Operator
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'*'           Operator
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'*'           Operator
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'V'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* primitive types by reference */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'true'        Name.Builtin
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'true'        Name.Builtin
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
')'           Punctuation
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
')'           Punctuation
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Z'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'"'           Literal.String
'$input = (jboolean)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'C'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'"'           Literal.String
'$input = (jchar)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'B'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'    '        Text.Whitespace
'"'           Literal.String
'$input = (jbyte)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'S'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'  '          Text.Whitespace
'"'           Literal.String
'$input = (jshort)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'S'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'"'           Literal.String
'$input = (jshort)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$input = (jint)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'            ' Text.Whitespace
'"'           Literal.String
'$input = (jint)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'   '         Text.Whitespace
'"'           Literal.String
'$input = (jlong)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'"'           Literal.String
'$input = (jint)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'  '          Text.Whitespace
'"'           Literal.String
'$input = (jlong)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'"'           Literal.String
'$input = (jlong)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'F'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'"'           Literal.String
'$input = (jfloat)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'D'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'         '   Text.Whitespace
'"'           Literal.String
'$input = (jdouble)$1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jboolean'    Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jchar'       Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'    '        Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'  '          Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jshort'      Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jshort'      Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'            ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
'   '         Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'           ' Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jint'        Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'  '          Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'      '      Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jlong'       Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'          '  Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jfloat'      Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'         '   Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jdouble'     Name
')'           Punctuation
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* const unsigned long long & */' Comment.Multiline
'\n'          Text.Whitespace

'/* Similar to unsigned long long */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jsize'       Name
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'BigInteger null' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetObjectClass' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'toByteArray' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'()[B'        Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyteArray'  Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'CallObjectMethod' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'sz'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetArrayLength' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'sz'          Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'temp'        Name
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
')'           Punctuation
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
')'           Punctuation
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jsize'       Name
' '           Text.Whitespace
'sz'          Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'BigInteger null' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetObjectClass' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'toByteArray' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'()[B'        Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyteArray'  Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'CallObjectMethod' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'sz'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetArrayLength' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'sz'          Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'temp'        Name
' '           Text.Whitespace
'<'           Operator
'<'           Operator
' '           Text.Whitespace
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
')'           Punctuation
'('           Punctuation
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
')'           Punctuation
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'ba'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewByteArray' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'9'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyte'       Name
'*'           Operator
' '           Text.Whitespace
'bae'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jclass'      Name
' '           Text.Whitespace
'clazz'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'FindClass'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'java/math/BigInteger' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jmethodID'   Name
' '           Text.Whitespace
'mid'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'GetMethodID' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'<init>'      Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'([B)V'       Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jobject'     Name
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'i'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'bae'         Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
'='           Operator
'1'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'<'           Operator
'9'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
' '           Text.Whitespace
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'bae'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
')'           Punctuation
'('           Punctuation
'*'           Operator
'$1'          Name
'>'           Operator
'>'           Operator
'8'           Literal.Number.Integer
'*'           Operator
'('           Punctuation
'8'           Literal.Number.Integer
'-'           Operator
'i'           Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
','           Punctuation
' '           Text.Whitespace
'bae'         Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bigint'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'NewObject'   Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'clazz'       Name
','           Punctuation
' '           Text.Whitespace
'mid'         Name
','           Punctuation
' '           Text.Whitespace
'ba'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'bigint'      Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Default handling. Object passed by value. Convert to a pointer */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'$&1_type'    Name
' '           Text.Whitespace
'argp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'argp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
'*'           Operator
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'argp'        Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'Attempt to dereference null $1_type' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'argp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'$&1_type'    Name
' '           Text.Whitespace
'argp'        Name
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'argp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
'*'           Operator
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'   '         Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'argp'        Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'Unexpected null return for type $1_type' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'argp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'\n'          Text.Whitespace

'#'           Comment.Preproc
'ifdef __cplusplus' Comment.Preproc
'\n'          Comment.Preproc

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
'*'           Operator
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$1_ltype'    Name
'('           Punctuation
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'$1_ltype'    Name
' '           Text.Whitespace
'&'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'#'           Comment.Preproc
'else'        Comment.Preproc
'\n'          Comment.Preproc

'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$&1_ltype'   Name
' '           Text.Whitespace
'$1ptr'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
' '           Text.Whitespace
'malloc'      Name
'('           Punctuation
'sizeof'      Keyword
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'memmove'     Name
'('           Punctuation
'$1ptr'       Name
','           Punctuation
' '           Text.Whitespace
'&'           Operator
'$1'          Name
','           Punctuation
' '           Text.Whitespace
'sizeof'      Keyword
'('           Punctuation
'$1_type'     Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
'*'           Operator
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$1ptr'       Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'#'           Comment.Preproc
'endif'       Comment.Preproc
'\n'          Comment.Preproc

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'L$packagepath/$&javaclassname;' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'*'           Operator
'('           Punctuation
'('           Punctuation
'$&1_ltype'   Name
'*'           Operator
')'           Punctuation
'&'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'&'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'new $&javaclassname($jniinput, false)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'$&javaclassname.getCPtr($javacall)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Generic pointers and references */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
','           Punctuation
' '           Text.Whitespace
'fragment'    Name
'='           Operator
'"'           Literal.String
'SWIG_UnPackData' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'temp'        Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'SWIG_UnpackData' Name
'('           Punctuation
'temp'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'void'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'&'           Operator
'$1'          Name
','           Punctuation
' '           Text.Whitespace
'sizeof'      Keyword
'('           Punctuation
'$1'          Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$1_type reference is null' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
','           Punctuation
' '           Text.Whitespace
'fragment'    Name
'='           Operator
'"'           Literal.String
'SWIG_PackData' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'buf'         Name
'['           Punctuation
'128'         Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'data'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SWIG_PackData' Name
'('           Punctuation
'buf'         Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'void'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'&'           Operator
'$1'          Name
','           Punctuation
' '           Text.Whitespace
'sizeof'      Keyword
'('           Punctuation
'$1'          Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'*'           Operator
'data'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"'"           Literal.String.Char
'\\0'         Literal.String.Char
"'"           Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'buf'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
' '           Text.Whitespace
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
' '           Text.Whitespace
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'L$packagepath/$javaclassname;' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'L$packagepath/$javaclassname;' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
' '           Text.Whitespace
'warning'     Name
'='           Operator
'SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaNullPointerException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'Unexpected null return for type $1_type' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'     '       Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'L$packagepath/$javaclassname;' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
' '           Text.Whitespace
'&'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'($jniinput == 0) ? null : new $javaclassname($jniinput, false)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'new $javaclassname($jniinput, false)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname.getCPtr($javacall)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Default array handling */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$&1_ltype'   Name
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'freearg'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* char arrays - treat as String */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'JCALL2'      Name
'('           Punctuation
'GetStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$result'     Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Ljava/lang/String;' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'!'           Operator
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'argout'      Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'freearg'     Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'ReleaseStringUTFChars' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
','           Punctuation
' '           Text.Whitespace
'noblock'     Name
'='           Operator
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$1'          Name
')'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'NewStringUTF' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* JNI types */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorout' Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'             ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$input'      Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'              ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Z'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jboolean'    Name
'       '     Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'C'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jchar'       Name
'          '  Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'B'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jbyte'       Name
'          '  Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'S'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jshort'      Name
'         '   Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'I'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jint'        Name
'           ' Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'J'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jlong'       Name
'          '  Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'F'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jfloat'      Name
'         '   Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'D'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jdouble'     Name
'        '    Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Ljava/lang/String;' Literal.String
'"'           Literal.String
')'           Punctuation
'            ' Text.Whitespace
'jstring'     Name
'        '    Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'Ljava/lang/Object;' Literal.String
'"'           Literal.String
','           Punctuation
'nouse'       Name
'='           Operator
'"'           Literal.String
'1'           Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jobject'     Name
'        '    Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[Z'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jbooleanArray' Name
' '           Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[C'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jcharArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[B'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jbyteArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[S'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jshortArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[I'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jintArray'   Name
'     '       Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[J'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jlongArray'  Name
'    '        Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[F'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jfloatArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[D'          Literal.String
'"'           Literal.String
')'           Punctuation
'  '          Text.Whitespace
'jdoubleArray' Name
'  '          Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[Ljava/lang/Object;' Literal.String
'"'           Literal.String
','           Punctuation
'nouse'       Name
'='           Operator
'"'           Literal.String
'1'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'jobjectArray' Name
'   '         Text.Whitespace
'"'           Literal.String
'$input = $1;' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorin' Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                         ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$jniinput'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadirectorout' Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                          ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'  '          Text.Whitespace
'"'           Literal.String
'$javacall'   Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Typecheck typemaps - The purpose of these is merely to issue a warning for overloaded C++ functions \n * that cannot be overloaded in Java as more than one C++ type maps to a single Java type */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_BOOL' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java boolean */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_CHAR' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java char */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT8' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java byte */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT16' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java short */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT32' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java int */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT64' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java long */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT128' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java BigInteger */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_FLOAT' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java float */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_DOUBLE' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java double */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_STRING' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java String */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_BOOL_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java boolean[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jbooleanArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_CHAR_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java char[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jcharArray'  Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT8_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java byte[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jbyteArray'  Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT16_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java short[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jshortArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT32_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java int[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jintArray'   Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_INT64_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java long[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jlongArray'  Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_FLOAT_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java float[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jfloatArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_DOUBLE_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java double[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jdoubleArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_OBJECT_ARRAY' Name
')'           Punctuation
' '           Text.Whitespace
'/* Java jobject[] */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typecheck'  Name.Function
'('           Punctuation
'SWIG_TYPECHECK_POINTER' Name
')'           Punctuation
' '           Text.Whitespace
'/* Default */' Comment.Multiline
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Exception handling */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'throws'      Keyword
')'           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'error_msg'   Name
'['           Punctuation
'256'         Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'sprintf'     Name
'('           Punctuation
'error_msg'   Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'C++ $1_type exception thrown, value: %d' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'$1'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaRuntimeException' Name
','           Punctuation
' '           Text.Whitespace
'error_msg'   Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'throws'      Keyword
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
'ANY'         Name
']'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'$1'          Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaRuntimeException' Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'C++ $1_type exception thrown' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'throws'      Keyword
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'SWIG_JavaThrowException' Name
'('           Punctuation
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'SWIG_JavaRuntimeException' Name
','           Punctuation
' '           Text.Whitespace
'$1'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$null'       Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Typemaps for code generation in proxy classes and Java type wrapper classes */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* The javain typemap is used for converting function parameter types from the type \n * used in the proxy, module or type wrapper class to the type used in the JNI class. */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'        '    Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'     '       Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'                ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'       '     Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'          '  Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'$javainput'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javainput'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                 ' Text.Whitespace
'jobjectArray' Name
'\n'          Text.Whitespace

'    '        Text.Whitespace
'"'           Literal.String
'$javainput'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'"'           Literal.String
'$&javaclassname.getCPtr($javainput)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname.getCPtr($javainput)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javaclassname.getCMemberPtr($javainput)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* The javaout typemap is used for converting function return types from the return type\n * used in the JNI class to the type returned by the proxy, module or type wrapper class. */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'        '    Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'signed'      Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
','           Punctuation
'     '       Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'short'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'                ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
'       '     Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'               ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'      '      Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
'          '  Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'float'       Keyword.Type
','           Punctuation
'              ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'float'       Keyword.Type
' '           Text.Whitespace
'&'           Operator
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'double'      Keyword.Type
','           Punctuation
'             ' Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'double'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
'ANY'         Name
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'char'        Keyword.Type
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'jboolean'    Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jchar'       Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jbyte'       Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jshort'      Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jint'        Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jlong'       Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jfloat'      Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jdouble'     Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jstring'     Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jobject'     Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jbooleanArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jcharArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jbyteArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jshortArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jintArray'   Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jlongArray'  Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jfloatArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jdoubleArray' Name
','           Punctuation
'\n'          Text.Whitespace

'                  ' Text.Whitespace
'jobjectArray' Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$&javaclassname' Name
'('           Punctuation
'$jnicall'    Name
','           Punctuation
' '           Text.Whitespace
'true'        Name.Builtin
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$javaclassname' Name
'('           Punctuation
'$jnicall'    Name
','           Punctuation
' '           Text.Whitespace
'$owner'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'cPtr'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'cPtr'        Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'null'        Name.Label
' '           Text
':'           Punctuation
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$javaclassname' Name
'('           Punctuation
'cPtr'        Name
','           Punctuation
' '           Text.Whitespace
'$owner'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'String'      Name
' '           Text.Whitespace
'cMemberPtr'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'cMemberPtr'  Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'null'        Name
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'null'        Name.Label
' '           Text
':'           Punctuation
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$javaclassname' Name
'('           Punctuation
'cMemberPtr'  Name
','           Punctuation
' '           Text.Whitespace
'$owner'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Pointer reference typemaps */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'jlong'       Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'long'        Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$*javaclassname' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'"'           Literal.String
'$*javaclassname.getCPtr($javainput)' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaout'     Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'cPtr'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'cPtr'        Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'null'        Name.Label
' '           Text
':'           Punctuation
' '           Text.Whitespace
'new'         Keyword
' '           Text.Whitespace
'$*javaclassname' Name
'('           Punctuation
'cPtr'        Name
','           Punctuation
' '           Text.Whitespace
'$owner'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
' '           Text.Whitespace
'('           Punctuation
'$*1_ltype'   Name
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'&'           Operator
'$input'      Name
';'           Punctuation
'\n'          Text.Whitespace

'   '         Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'&'           Operator
'temp'        Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'out'         Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
'&'           Operator
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'$1_ltype'    Name
')'           Punctuation
'&'           Operator
'$result'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'*'           Operator
'$1'          Name
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
' '           Text.Whitespace
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Typemaps used for the generation of proxy and type wrapper class code */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javabase'    Name
')'           Punctuation
'             ' Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaclassmodifiers' Name
')'           Punctuation
'   '         Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'public class' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javacode'    Name
')'           Punctuation
'             ' Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaimports' Name
')'           Punctuation
'          '  Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javainterfaces' Name
')'           Punctuation
'       '     Text.Whitespace
'SWIGTYPE'    Name
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* javabody typemaps */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%define'     Name.Function
' '           Text.Whitespace
'SWIG_JAVABODY_METHODS' Name
'('           Punctuation
'PTRCTOR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'CPTR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
'.'           Punctuation
'.'           Punctuation
'.'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'SWIG_JAVABODY_PROXY' Name
'('           Punctuation
'PTRCTOR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'CPTR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
')'           Punctuation
' '           Text.Whitespace
'%enddef'     Name.Function
' '           Text.Whitespace
'// legacy name\n' Comment.Single

'\n'          Text.Whitespace

'%define'     Name.Function
' '           Text.Whitespace
'SWIG_JAVABODY_PROXY' Name
'('           Punctuation
'PTRCTOR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'CPTR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
'.'           Punctuation
'.'           Punctuation
'.'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'// Base proxy classes\n' Comment.Single

'%typemap'    Name.Function
'('           Punctuation
'javabody'    Name
')'           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'private'     Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'protected'   Keyword
' '           Text.Whitespace
'boolean'     Name
' '           Text.Whitespace
'swigCMemOwn' Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'PTRCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
'long'        Keyword.Type
' '           Text.Whitespace
'cPtr'        Name
','           Punctuation
' '           Text.Whitespace
'boolean'     Name
' '           Text.Whitespace
'cMemoryOwn'  Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'cMemoryOwn'  Name
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'cPtr'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'CPTR_VISIBILITY' Name
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'getCPtr'     Name
'('           Punctuation
'$javaclassname' Name
' '           Text.Whitespace
'obj'         Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'obj'         Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'null'        Name
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'obj'         Name
'.'           Punctuation
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Derived proxy classes\n' Comment.Single

'%typemap'    Name.Function
'('           Punctuation
'javabody_derived' Name
')'           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'private'     Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'PTRCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
'long'        Keyword.Type
' '           Text.Whitespace
'cPtr'        Name
','           Punctuation
' '           Text.Whitespace
'boolean'     Name
' '           Text.Whitespace
'cMemoryOwn'  Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'super'       Name
'('           Punctuation
'$imclassname' Name
'.'           Punctuation
'$javaclazznameSWIGUpcast' Name
'('           Punctuation
'cPtr'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'cMemoryOwn'  Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'cPtr'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'CPTR_VISIBILITY' Name
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'getCPtr'     Name
'('           Punctuation
'$javaclassname' Name
' '           Text.Whitespace
'obj'         Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'obj'         Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'null'        Name
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'obj'         Name
'.'           Punctuation
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%enddef'     Name.Function
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%define'     Name.Function
' '           Text.Whitespace
'SWIG_JAVABODY_TYPEWRAPPER' Name
'('           Punctuation
'PTRCTOR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'DEFAULTCTOR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'CPTR_VISIBILITY' Name
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
'.'           Punctuation
'.'           Punctuation
'.'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'// Typewrapper classes\n' Comment.Single

'%typemap'    Name.Function
'('           Punctuation
'javabody'    Name
')'           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'*'           Operator
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'&'           Operator
','           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'private'     Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'PTRCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
'long'        Keyword.Type
' '           Text.Whitespace
'cPtr'        Name
','           Punctuation
' '           Text.Whitespace
'boolean'     Name
' '           Text.Whitespace
'futureUse'   Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'cPtr'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'DEFAULTCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'CPTR_VISIBILITY' Name
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'getCPtr'     Name
'('           Punctuation
'$javaclassname' Name
' '           Text.Whitespace
'obj'         Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'obj'         Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'null'        Name
')'           Punctuation
' '           Text.Whitespace
'?'           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'obj'         Name
'.'           Punctuation
'swigCPtr'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javabody'    Name
')'           Punctuation
' '           Text.Whitespace
'TYPE'        Name
' '           Text.Whitespace
'('           Punctuation
'CLASS'       Name
':'           Operator
':'           Operator
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'private'     Keyword
' '           Text.Whitespace
'String'      Name
' '           Text.Whitespace
'swigCMemberPtr' Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'PTRCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
'String'      Name
' '           Text.Whitespace
'cMemberPtr'  Name
','           Punctuation
' '           Text.Whitespace
'boolean'     Name
' '           Text.Whitespace
'futureUse'   Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemberPtr' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'cMemberPtr'  Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'DEFAULTCTOR_VISIBILITY' Name
' '           Text.Whitespace
'$javaclassname' Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemberPtr' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'null'        Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'CPTR_VISIBILITY' Name
' '           Text.Whitespace
'static'      Keyword
' '           Text.Whitespace
'String'      Name
' '           Text.Whitespace
'getCMemberPtr' Name
'('           Punctuation
'$javaclassname' Name
' '           Text.Whitespace
'obj'         Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'obj'         Name
'.'           Punctuation
'swigCMemberPtr' Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%enddef'     Name.Function
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Set the default javabody typemaps to use protected visibility.\n   Use the macros to change to public if using multiple modules. */' Comment.Multiline
'\n'          Text.Whitespace

'SWIG_JAVABODY_PROXY' Name
'('           Punctuation
'protected'   Keyword
','           Punctuation
' '           Text.Whitespace
'protected'   Keyword
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
')'           Punctuation
'\n'          Text.Whitespace

'SWIG_JAVABODY_TYPEWRAPPER' Name
'('           Punctuation
'protected'   Keyword
','           Punctuation
' '           Text.Whitespace
'protected'   Keyword
','           Punctuation
' '           Text.Whitespace
'protected'   Keyword
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
')'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javafinalize' Name
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'protected'   Keyword
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'finalize'    Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'delete'      Keyword
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

"/*\n * Java constructor typemaps:\n *\n * The javaconstruct typemap is inserted when a proxy class's constructor is generated.\n * This typemap allows control over what code is executed in the constructor as\n * well as specifying who owns the underlying C/C++ object. Normally, Java has\n * ownership and the underlying C/C++ object is deallocated when the Java object\n * is finalized (swigCMemOwn is true.) If swigCMemOwn is false, C/C++ is\n * ultimately responsible for deallocating the underlying object's memory.\n *\n * The SWIG_PROXY_CONSTRUCTOR macro defines the javaconstruct typemap for a proxy\n * class for a particular TYPENAME. OWNERSHIP is passed as the value of\n * swigCMemOwn to the pointer constructor method.  WEAKREF determines which kind\n * of Java object reference will be used by the C++ director class (WeakGlobalRef\n * vs. GlobalRef.)\n *\n * The SWIG_DIRECTOR_OWNED macro sets the ownership of director-based proxy\n * classes and the weak reference flag to false, meaning that the underlying C++\n * object will be reclaimed by C++.\n */" Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%define'     Name.Function
' '           Text.Whitespace
'SWIG_PROXY_CONSTRUCTOR' Name
'('           Punctuation
'OWNERSHIP'   Name
','           Punctuation
' '           Text.Whitespace
'WEAKREF'     Name
','           Punctuation
' '           Text.Whitespace
'TYPENAME'    Name
'.'           Punctuation
'.'           Punctuation
'.'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javaconstruct' Name
','           Punctuation
'directorconnect' Name
'='           Operator
'"'           Literal.String
'\\n'         Literal.String.Escape
'    $imclassname.$javaclazznamedirector_connect(this, swigCPtr, swigCMemOwn, WEAKREF);' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'TYPENAME'    Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'this'        Keyword
'('           Punctuation
'$imcall'     Name
','           Punctuation
' '           Text.Whitespace
'OWNERSHIP'   Name
')'           Punctuation
';'           Punctuation
'$directorconnect' Name
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%enddef'     Name.Function
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%define'     Name.Function
' '           Text.Whitespace
'SWIG_DIRECTOR_OWNED' Name
'('           Punctuation
'TYPENAME'    Name
'.'           Punctuation
'.'           Punctuation
'.'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'SWIG_PROXY_CONSTRUCTOR' Name
'('           Punctuation
'true'        Name.Builtin
','           Punctuation
' '           Text.Whitespace
'false'       Name.Builtin
','           Punctuation
' '           Text.Whitespace
'TYPENAME'    Name
')'           Punctuation
'\n'          Text.Whitespace

'%enddef'     Name.Function
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Set the default for SWIGTYPE: Java owns the C/C++ object.\n' Comment.Single

'SWIG_PROXY_CONSTRUCTOR' Name
'('           Punctuation
'true'        Name.Builtin
','           Punctuation
' '           Text.Whitespace
'true'        Name.Builtin
','           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
')'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadestruct' Name
','           Punctuation
' '           Text.Whitespace
'methodname'  Name
'='           Operator
'"'           Literal.String
'delete'      Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'methodmodifiers' Name
'='           Operator
'"'           Literal.String
'public synchronized' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'swigCPtr'    Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'swigCMemOwn' Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'        '    Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'        '    Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javadestruct_derived' Name
','           Punctuation
' '           Text.Whitespace
'methodname'  Name
'='           Operator
'"'           Literal.String
'delete'      Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'methodmodifiers' Name
'='           Operator
'"'           Literal.String
'public synchronized' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'swigCPtr'    Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'swigCMemOwn' Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'        '    Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'        '    Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'swigCPtr'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'super'       Name
'.'           Punctuation
'delete'      Keyword
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directordisconnect' Name
','           Punctuation
' '           Text.Whitespace
'methodname'  Name
'='           Operator
'"'           Literal.String
'swigDirectorDisconnect' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'protected'   Keyword
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'$methodname' Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorowner_release' Name
','           Punctuation
' '           Text.Whitespace
'methodname'  Name
'='           Operator
'"'           Literal.String
'swigReleaseOwnership' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'public'      Keyword
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'$methodname' Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'false'       Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorowner_take' Name
','           Punctuation
' '           Text.Whitespace
'methodname'  Name
'='           Operator
'"'           Literal.String
'swigTakeOwnership' Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'%'           Operator
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'public'      Keyword
' '           Text.Whitespace
'void'        Keyword.Type
' '           Text.Whitespace
'$methodname' Name.Function
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'swigCMemOwn' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'true'        Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$jnicall'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Java specific directives */' Comment.Multiline
'\n'          Text.Whitespace

'#'           Comment.Preproc
'define %javaconst(flag)            %feature("java:const","flag")' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %javaconstvalue(value)      %feature("java:constvalue",value)' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %javaenum(wrapapproach)     %feature("java:enum","wrapapproach")' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %javamethodmodifiers        %feature("java:methodmodifiers")' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %javaexception(exceptionclasses) %feature("except",throws=exceptionclasses)' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %nojavaexception            %feature("except","0",throws="")' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define %clearjavaexception         %feature("except","",throws="")' Comment.Preproc
'\n'          Comment.Preproc

'\n'          Text.Whitespace

'%pragma'     Name.Function
'('           Punctuation
'java'        Name
')'           Punctuation
' '           Text.Whitespace
'jniclassclassmodifiers' Name
'='           Operator
'"'           Literal.String
'public class' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%pragma'     Name.Function
'('           Punctuation
'java'        Name
')'           Punctuation
' '           Text.Whitespace
'moduleclassmodifiers' Name
'='           Operator
'"'           Literal.String
'public class' Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Some ANSI C typemaps */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'%apply'      Name.Function
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'%apply'      Name.Function
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'unsigned'    Keyword.Type
' '           Text.Whitespace
'long'        Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'const'       Keyword
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* Array reference typemaps */' Comment.Multiline
'\n'          Text.Whitespace

'%apply'      Name.Function
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'&'           Operator
')'           Punctuation
'['           Punctuation
'ANY'         Name
']'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* const pointers */' Comment.Multiline
'\n'          Text.Whitespace

'%apply'      Name.Function
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'SWIGTYPE'    Name
' '           Text.Whitespace
'*'           Operator
'const'       Keyword
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* String & length */' Comment.Multiline
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jni'         Name
')'           Punctuation
'     '       Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'jbyteArray'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jtype'       Name
')'           Punctuation
'   '         Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'byte[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'jstype'      Name
')'           Punctuation
'  '          Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'byte[]'      Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'javain'      Name
')'           Punctuation
'  '          Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'$javainput'  Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'freearg'     Name
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'in'          Name
')'           Punctuation
'      '      Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'JCALL2'      Name
'('           Punctuation
'GetByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$2'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'size_t'      Keyword.Type
')'           Punctuation
' '           Text.Whitespace
'JCALL1'      Name
'('           Punctuation
'GetArrayLength' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'$2'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'argout'      Name
')'           Punctuation
'  '          Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'$input'      Name
')'           Punctuation
' '           Text.Whitespace
'JCALL3'      Name
'('           Punctuation
'ReleaseByteArrayElements' Name
','           Punctuation
' '           Text.Whitespace
'jenv'        Name
','           Punctuation
' '           Text.Whitespace
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorin'  Name
','           Punctuation
' '           Text.Whitespace
'descriptor'  Name
'='           Operator
'"'           Literal.String
'[B'          Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'jbyteArray'  Name
' '           Text.Whitespace
'jb'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'jenv'        Name
')'           Punctuation
'-'           Operator
'>'           Operator
'NewByteArray' Name
'('           Punctuation
'$2'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'('           Punctuation
'jenv'        Name
')'           Punctuation
'-'           Operator
'>'           Operator
'SetByteArrayRegion' Name
'('           Punctuation
'jb'          Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'$2'          Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'$input'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'jb'          Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'%typemap'    Name.Function
'('           Punctuation
'directorargout' Name
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
'\n'          Text.Whitespace

'%'           Operator
'{'           Punctuation
'('           Punctuation
'jenv'        Name
')'           Punctuation
'-'           Operator
'>'           Operator
'GetByteArrayRegion' Name
'('           Punctuation
'$input'      Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'$2'          Name
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'jbyte'       Name
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'$1'          Name
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'%'           Operator
'}'           Punctuation
'\n'          Text.Whitespace

'%apply'      Name.Function
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'size_t'      Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'char'        Keyword.Type
' '           Text.Whitespace
'*'           Operator
'STRING'      Name
','           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'LENGTH'      Name
')'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'/* java keywords */' Comment.Multiline
'\n'          Text.Whitespace

'%include'    Name.Function
' '           Text.Whitespace
'<'           Operator
'javakw'      Name
'.'           Punctuation
'swg'         Name
'>'           Operator
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Default enum handling\n' Comment.Single

'%include'    Name.Function
' '           Text.Whitespace
'<'           Operator
'enumtypesafe' Name
'.'           Punctuation
'swg'         Name
'>'           Operator
'\n'          Text.Whitespace
