';   Copyright (c) Rich Hickey. All rights reserved.' Comment.Single
'\n'          Text.Whitespace

';   The use and distribution terms for this software are covered by the' Comment.Single
'\n'          Text.Whitespace

';   Common Public License 1.0 (http://opensource.org/licenses/cpl.php)' Comment.Single
'\n'          Text.Whitespace

';   which can be found in the file CPL.TXT at the root of this distribution.' Comment.Single
'\n'          Text.Whitespace

';   By using this software in any fashion, you are agreeing to be bound by' Comment.Single
'\n'          Text.Whitespace

';   the terms of this license.' Comment.Single
'\n'          Text.Whitespace

';   You must not remove this notice, or any other, from this software.' Comment.Single
'\n\n'        Text.Whitespace

'('           Punctuation
'in-ns '      Name.Builtin
"'clojure"    Literal.String.Symbol
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'import '     Name.Builtin
"'"           Operator
'('           Punctuation
'java.lang.reflect' Name.Function
' '           Text.Whitespace
'Modifier'    Name.Variable
' '           Text.Whitespace
'Constructor' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
"'"           Operator
'('           Punctuation
'clojure.asm' Name.Function
' '           Text.Whitespace
'ClassWriter' Name.Variable
' '           Text.Whitespace
'ClassVisitor' Name.Variable
' '           Text.Whitespace
'Opcodes'     Name.Variable
' '           Text.Whitespace
'Type'        Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
"'"           Operator
'('           Punctuation
'clojure.asm.commons' Name.Function
' '           Text.Whitespace
'Method'      Name.Variable
' '           Text.Whitespace
'GeneratorAdapter' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
"'"           Operator
'('           Punctuation
'clojure.lang' Name.Function
' '           Text.Whitespace
'IPersistentMap' Name.Variable
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

';(defn method-sig [#^java.lang.reflect.Method meth]' Comment.Single
'\n'          Text.Whitespace

';  [(. meth (getName)) (seq (. meth (getParameterTypes)))])' Comment.Single
'\n\n'        Text.Whitespace

'('           Punctuation
'defn- '      Keyword.Declaration
'non-private-methods' Name.Variable
' '           Text.Whitespace
'['           Punctuation
'#'           Operator
'^'           Operator
'Class'       Name.Variable
' '           Text.Whitespace
'c'           Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'loop '       Keyword
'['           Punctuation
'mm'          Name.Variable
' '           Text.Whitespace
'{'           Punctuation
'}'           Punctuation
'\n         ' Text.Whitespace
'considered'  Name.Variable
' '           Text.Whitespace
'#'           Operator
'{'           Punctuation
'}'           Punctuation
'\n         ' Text.Whitespace
'c'           Name.Variable
' '           Text.Whitespace
'c'           Name.Variable
']'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'if '         Keyword
'c'           Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'['           Punctuation
'mm'          Name.Variable
' '           Text.Whitespace
'considered'  Name.Variable
']'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'loop '       Keyword
'['           Punctuation
'mm'          Name.Variable
' '           Text.Whitespace
'mm'          Name.Variable
'\n                   ' Text.Whitespace
'considered'  Name.Variable
' '           Text.Whitespace
'considered'  Name.Variable
'\n                   ' Text.Whitespace
'meths'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'concat'      Name.Function
'\n                          ' Text.Whitespace
'('           Punctuation
'seq '        Name.Builtin
'('           Punctuation
'. '          Keyword
'c'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getDeclaredMethods' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                          ' Text.Whitespace
'('           Punctuation
'seq '        Name.Builtin
'('           Punctuation
'. '          Keyword
'c'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethods'  Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'if '         Keyword
'meths'       Name.Variable
'\n                ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'#'           Operator
'^'           Operator
'Method'      Name.Variable
' '           Text.Whitespace
'meth'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'first '      Name.Builtin
'meths'       Name.Variable
')'           Punctuation
'\n                      ' Text.Whitespace
'mods'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'meth'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getModifiers' Name.Function
')'           Punctuation
')'           Punctuation
'\n                      ' Text.Whitespace
'mk'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'method-sig'  Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
']'           Punctuation
'\n                  ' Text.Whitespace
'('           Punctuation
'if '         Keyword
'('           Punctuation
'or '         Name.Builtin
'('           Punctuation
'considered'  Name.Function
' '           Text.Whitespace
'mk'          Name.Variable
')'           Punctuation
'\n                          ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'Modifier'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'isPrivate'   Name.Function
' '           Text.Whitespace
'mods'        Name.Variable
')'           Punctuation
')'           Punctuation
'\n                          ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'Modifier'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'isStatic'    Name.Function
' '           Text.Whitespace
'mods'        Name.Variable
')'           Punctuation
')'           Punctuation
'\n                          ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'Modifier'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'isFinal'     Name.Function
' '           Text.Whitespace
'mods'        Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                    ' Text.Whitespace
'('           Punctuation
'recur'       Name.Function
' '           Text.Whitespace
'mm'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'conj '       Name.Builtin
'considered'  Name.Variable
' '           Text.Whitespace
'mk'          Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'rest '       Name.Builtin
'meths'       Name.Variable
')'           Punctuation
')'           Punctuation
'\n                    ' Text.Whitespace
'('           Punctuation
'recur'       Name.Function
' '           Text.Whitespace
'('           Punctuation
'assoc '      Name.Builtin
'mm'          Name.Variable
' '           Text.Whitespace
'mk'          Name.Variable
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'conj '       Name.Builtin
'considered'  Name.Variable
' '           Text.Whitespace
'mk'          Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'rest '       Name.Builtin
'meths'       Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'['           Punctuation
'mm'          Name.Variable
' '           Text.Whitespace
'considered'  Name.Variable
']'           Punctuation
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'recur'       Name.Function
' '           Text.Whitespace
'mm'          Name.Variable
' '           Text.Whitespace
'considered'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'c'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getSuperclass' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n      '    Text.Whitespace
'mm'          Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'defn- '      Keyword.Declaration
'ctor-sigs'   Name.Variable
' '           Text.Whitespace
'['           Punctuation
'super'       Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'for '        Name.Builtin
'['           Punctuation
'#'           Operator
'^'           Operator
'Constructor' Name.Variable
' '           Text.Whitespace
'ctor'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'super'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getDeclaredConstructors' Name.Function
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
':when'       Literal.String.Symbol
' '           Text.Whitespace
'('           Punctuation
'not '        Name.Builtin
'('           Punctuation
'. '          Keyword
'Modifier'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'isPrivate'   Name.Function
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'ctor'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getModifiers' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'vector '     Name.Builtin
'('           Punctuation
'. '          Keyword
'ctor'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getParameterTypes' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'defn- '      Keyword.Declaration
'escape-class-name' Name.Variable
' '           Text.Whitespace
'['           Punctuation
'c'           Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'.. '         Name.Builtin
'('           Punctuation
'.getSimpleName' Name.Function
' '           Text.Whitespace
'c'           Name.Variable
')'           Punctuation
' \n      '   Text.Whitespace
'('           Punctuation
'replace '    Name.Builtin
'"[]"'        Literal.String
' '           Text.Whitespace
'"<>"'        Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'defn- '      Keyword.Declaration
'overload-name' Name.Variable
' '           Text.Whitespace
'['           Punctuation
'mname'       Name.Variable
' '           Text.Whitespace
'pclasses'    Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'if '         Keyword
'('           Punctuation
'seq '        Name.Builtin
'pclasses'    Name.Variable
')'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'str '        Name.Builtin
'mname'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'interleave ' Name.Builtin
'('           Punctuation
'repeat '     Name.Builtin
'\\-'         Literal.String.Char
')'           Punctuation
' \n                                 ' Text.Whitespace
'('           Punctuation
'map '        Name.Builtin
'escape-class-name' Name.Variable
' '           Text.Whitespace
'pclasses'    Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'mname'       Name.Variable
' '           Text.Whitespace
'"-void"'     Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

';(distinct (map first(keys (mapcat non-private-methods [Object IPersistentMap]))))' Comment.Single
'\n\n'        Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'gen-class'   Name.Variable
' \n  '       Text.Whitespace
'"Generates compiled bytecode for a class with the given\n  package-qualified cname (which, as all names in these parameters, can\n  be a string or symbol). The gen-class construct contains no\n  implementation, as the implementation will be dynamically sought by\n  the generated class in functions in a corresponding Clojure\n  namespace. Given a generated class org.mydomain.MyClass, methods\n  will be implemented that look for same-named functions in a Clojure\n  namespace called org.domain.MyClass. The init and main\n  functions (see below) will be found similarly. The static\n  initializer for the generated class will attempt to load the Clojure\n  support code for the class as a resource from the claspath, e.g. in\n  the example case, org/mydomain/MyClass.clj\n\n  Returns a map containing :name and :bytecode. Most uses will be\n  satisfied by the higher-level gen-and-load-class and\n  gen-and-store-class functions, which generate and immediately load,\n  or generate and store to disk, respectively.\n\n  Options should be a set of key/value pairs, all of which are optional:\n\n  :extends aclass\n\n  Specifies the superclass, the non-private methods of which will be\n  overridden by the class. If not provided, defaults to Object.\n\n  :implements [interface ...]\n\n  One or more interfaces, the methods of which will be implemented by the class.\n\n  :init name\n\n  If supplied, names a function that will be called with the arguments\n  to the constructor. Must return [[superclass-constructor-args] state] \n  If not supplied, the constructor args are passed directly to\n  the superclass constructor and the state will be nil\n\n  :constructors {[param-types] [super-param-types], ...}\n\n  By default, constructors are created for the generated class which\n  match the signature(s) of the constructors for the superclass. This\n  parameter may be used to explicitly specify constructors, each entry\n  providing a mapping from a constructor signature to a superclass\n  constructor signature. When you supply this, you must supply an :init\n  specifier.\n\n  :methods [[name [param-types] return-type], ...]\n\n  The generated class automatically defines all of the non-private\n  methods of its superclasses/interfaces. This parameter can be used\n  to specify the signatures of additional methods of the generated\n  class. Do not repeat superclass/interface signatures here.\n\n  :main boolean\n\n  If supplied and true, a static public main function will be\n  generated. It will pass each string of the String[] argument as a\n  separate argument to a function called \'main.\n\n  :factory name\n\n  If supplied, a (set of) public static factory function(s) will be\n  created with the given name, and the same signature(s) as the\n  constructor(s).\n  \n  :state name\n\n  If supplied, a public final instance field with the given name will be\n  created. You must supply an :init function in order to provide a\n  value for the state. Note that, though final, the state can be a ref\n  or agent, supporting the creation of Java objects with transactional\n  or asynchronous mutation semantics.\n\n  :exposes {protected-field-name {:get name :set name}, ...}\n\n  Since the implementations of the methods of the generated class\n  occur in Clojure functions, they have no access to the inherited\n  protected fields of the superclass. This parameter can be used to\n  generate public getter/setter methods exposing the protected field(s)\n  for use in the implementation."' Literal.String
'\n\n  '      Text.Whitespace
'['           Punctuation
'cname'       Name.Variable
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'options'     Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'name '       Name.Builtin
'('           Punctuation
'str '        Name.Builtin
'cname'       Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'{'           Punctuation
':keys'       Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'extends'     Name.Variable
' '           Text.Whitespace
'implements'  Name.Variable
' '           Text.Whitespace
'constructors' Name.Variable
' '           Text.Whitespace
'methods'     Name.Variable
' '           Text.Whitespace
'main'        Name.Variable
' '           Text.Whitespace
'factory'     Name.Variable
' '           Text.Whitespace
'state'       Name.Variable
' '           Text.Whitespace
'init'        Name.Variable
' '           Text.Whitespace
'exposes'     Name.Variable
']'           Punctuation
'}'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'hash-map '   Name.Builtin
'options'     Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'super'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'or '         Name.Builtin
'extends'     Name.Variable
' '           Text.Whitespace
'Object'      Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'interfaces'  Name.Variable
' '           Text.Whitespace
'implements'  Name.Variable
'\n        '  Text.Whitespace
'supers'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'cons '       Name.Builtin
'super'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'seq '        Name.Builtin
'interfaces'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'ctor-sig-map' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'or '         Name.Builtin
'constructors' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'zipmap '     Name.Builtin
'('           Punctuation
'ctor-sigs'   Name.Function
' '           Text.Whitespace
'super'       Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'ctor-sigs'   Name.Function
' '           Text.Whitespace
'super'       Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'ClassWriter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'ClassWriter' Name.Variable
' '           Text.Whitespace
'COMPUTE_MAXS' Name.Variable
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'cname'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'name '       Name.Builtin
'('           Punctuation
'replace '    Name.Builtin
'"."'         Literal.String
' '           Text.Whitespace
'"/"'         Literal.String
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getObjectType' Name.Function
' '           Text.Whitespace
'cname'       Name.Variable
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'iname'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'c'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'.. '         Name.Builtin
'Type'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getType'     Name.Function
' '           Text.Whitespace
'c'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'getInternalName' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'totype'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'c'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getType'     Name.Function
' '           Text.Whitespace
'c'           Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'to-types'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'cs'          Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'if '         Keyword
'('           Punctuation
'pos? '       Name.Builtin
'('           Punctuation
'count '      Name.Builtin
'cs'          Name.Variable
')'           Punctuation
')'           Punctuation
'\n                            ' Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'('           Punctuation
'map '        Name.Builtin
'totype'      Name.Variable
' '           Text.Whitespace
'cs'          Name.Variable
')'           Punctuation
')'           Punctuation
'\n                            ' Text.Whitespace
'('           Punctuation
'make-array ' Name.Builtin
'Type'        Name.Variable
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'obj-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'Object'      Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'arg-types'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'n'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'if '         Keyword
'('           Punctuation
'pos? '       Name.Builtin
'n'           Name.Variable
')'           Punctuation
'\n                            ' Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'('           Punctuation
'replicate '  Name.Builtin
'n'           Name.Variable
' '           Text.Whitespace
'obj-type'    Name.Variable
')'           Punctuation
')'           Punctuation
'\n                            ' Text.Whitespace
'('           Punctuation
'make-array ' Name.Builtin
'Type'        Name.Variable
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'super-type'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'super'       Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'init-name'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'init'        Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'factory-name' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'factory'     Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'state-name'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'state'       Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'main-name'   Name.Variable
' '           Text.Whitespace
'"main"'      Literal.String
'\n        '  Text.Whitespace
'var-name'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
's'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
's'           Name.Variable
' '           Text.Whitespace
'"__var"'     Literal.String
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'rt-type'     Name.Variable
'  '          Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'clojure.lang.RT' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'var-type'    Name.Variable
'  '          Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'clojure.lang.Var' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'ifn-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'clojure.lang.IFn' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'iseq-type'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'clojure.lang.ISeq' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'ex-type'     Name.Variable
'  '          Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'java.lang.UnsupportedOperationException' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'all-sigs'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'distinct '   Name.Builtin
'('           Punctuation
'concat '     Name.Builtin
'('           Punctuation
'map '        Name.Builtin
'#'           Operator
'('           Punctuation
'let'         Name.Function
'['           Punctuation
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'p'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'key '        Name.Builtin
'%'           Name.Variable
')'           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'['           Punctuation
'p'           Name.Variable
']'           Punctuation
'}'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'mapcat '     Name.Builtin
'non-private-methods' Name.Variable
' '           Text.Whitespace
'supers'      Name.Variable
')'           Punctuation
')'           Punctuation
'\n                                   ' Text.Whitespace
'('           Punctuation
'map '        Name.Builtin
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'p'           Name.Variable
']'           Punctuation
']'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'('           Punctuation
'str '        Name.Builtin
'm'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'p'           Name.Variable
']'           Punctuation
'}'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'methods'     Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'sigs-by-name' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'merge-with ' Name.Builtin
'concat '     Name.Builtin
'{'           Punctuation
'}'           Punctuation
' '           Text.Whitespace
'all-sigs'    Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'overloads'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'into '       Name.Builtin
'{'           Punctuation
'}'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'filter '     Name.Builtin
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
's'           Name.Variable
']'           Punctuation
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'rest '       Name.Builtin
's'           Name.Variable
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'sigs-by-name' Name.Variable
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'var-fields'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'concat '     Name.Builtin
'('           Punctuation
'and '        Name.Builtin
'init'        Name.Variable
' '           Text.Whitespace
'['           Punctuation
'init-name'   Name.Variable
']'           Punctuation
')'           Punctuation
' \n                           ' Text.Whitespace
'('           Punctuation
'and '        Name.Builtin
'main'        Name.Variable
' '           Text.Whitespace
'['           Punctuation
'main-name'   Name.Variable
']'           Punctuation
')'           Punctuation
'\n                           ' Text.Whitespace
'('           Punctuation
'distinct '   Name.Builtin
'('           Punctuation
'concat '     Name.Builtin
'('           Punctuation
'keys '       Name.Builtin
'sigs-by-name' Name.Variable
')'           Punctuation
'\n                                             ' Text.Whitespace
'('           Punctuation
'mapcat '     Name.Builtin
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
's'           Name.Variable
']'           Punctuation
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'map '        Name.Builtin
'#'           Operator
'('           Punctuation
'overload-name' Name.Function
' '           Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'%'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
's'           Name.Variable
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'overloads'   Name.Variable
')'           Punctuation
'\n                                             ' Text.Whitespace
'('           Punctuation
'mapcat '     Name.Builtin
'('           Punctuation
'comp '       Name.Builtin
'('           Punctuation
'partial '    Name.Builtin
'map '        Name.Builtin
'str'         Name.Variable
')'           Punctuation
' '           Text.Whitespace
'vals '       Name.Builtin
'val'         Name.Variable
')'           Punctuation
' '           Text.Whitespace
'exposes'     Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'emit-get-var' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'gen'         Name.Variable
' '           Text.Whitespace
'v'           Name.Variable
']'           Punctuation
'\n                       ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'false-label' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
'\n                             ' Text.Whitespace
'end-label'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
']'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'getStatic'   Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'var-name'    Name.Function
' '           Text.Whitespace
'v'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'var-type'    Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dup'         Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'invokeVirtual' Name.Variable
' '           Text.Whitespace
'var-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"boolean isBound()"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'ifZCmp'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'EQ'          Name.Variable
')'           Punctuation
' '           Text.Whitespace
'false-label' Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'invokeVirtual' Name.Variable
' '           Text.Whitespace
'var-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"Object get()"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'goTo'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'false-label' Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'pop'         Name.Variable
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'visitInsn'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACONST_NULL' Name.Variable
')'           Punctuation
')'           Punctuation
'\n                         ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'emit-forwarding-method' Name.Variable
'\n        '  Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'mname'       Name.Variable
' '           Text.Whitespace
'pclasses'    Name.Variable
' '           Text.Whitespace
'rclass'      Name.Variable
' '           Text.Whitespace
'else-gen'    Name.Variable
']'           Punctuation
'\n          ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'ptypes'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'to-types'    Name.Function
' '           Text.Whitespace
'pclasses'    Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'rtype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'rclass'      Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'mname'       Name.Variable
' '           Text.Whitespace
'rtype'       Name.Variable
' '           Text.Whitespace
'ptypes'      Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'is-overload' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'overloads'   Name.Function
' '           Text.Whitespace
'mname'       Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'found-label' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'newLabel'    Name.Function
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'else-label'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'newLabel'    Name.Function
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'end-label'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'newLabel'    Name.Function
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'is-overload' Name.Variable
'\n              ' Text.Whitespace
'('           Punctuation
'emit-get-var' Name.Function
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'overload-name' Name.Function
' '           Text.Whitespace
'mname'       Name.Variable
' '           Text.Whitespace
'pclasses'    Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'dup'         Name.Function
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'ifNonNull'   Name.Function
' '           Text.Whitespace
'found-label' Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'pop'         Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'emit-get-var' Name.Function
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'mname'       Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'dup'         Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'ifNull'      Name.Function
' '           Text.Whitespace
'else-label'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'is-overload' Name.Variable
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'mark'        Name.Function
' '           Text.Whitespace
'found-label' Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';if found'   Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadThis'    Name.Function
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';box args'   Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'dotimes '    Name.Builtin
'i'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'count '      Name.Builtin
'ptypes'      Name.Variable
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadArg'     Name.Function
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'clojure.lang.Compiler$HostExpr' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'emitBoxReturn' Name.Function
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'nth '        Name.Builtin
'pclasses'    Name.Variable
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';call fn'    Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeInterface' Name.Function
' '           Text.Whitespace
'ifn-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'"invoke"'    Literal.String
' '           Text.Whitespace
'obj-type'    Name.Variable
' \n                                                  ' Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'('           Punctuation
'cons '       Name.Builtin
'obj-type'    Name.Variable
' \n                                                                    ' Text.Whitespace
'('           Punctuation
'replicate '  Name.Builtin
'('           Punctuation
'count '      Name.Builtin
'ptypes'      Name.Variable
')'           Punctuation
' '           Text.Whitespace
'obj-type'    Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';unbox return' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'unbox'       Name.Function
' '           Text.Whitespace
'rtype'       Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'('           Punctuation
'= '          Name.Builtin
'('           Punctuation
'. '          Keyword
'rtype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getSort'     Name.Function
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'VOID'        Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'pop'         Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'goTo'        Name.Function
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
')'           Punctuation
'\n            \n                                        ' Text.Whitespace
';else call supplied alternative generator' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'mark'        Name.Function
' '           Text.Whitespace
'else-label'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'pop'         Name.Function
')'           Punctuation
')'           Punctuation
'\n            \n            ' Text.Whitespace
'('           Punctuation
'else-gen'    Name.Function
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'm'           Name.Variable
')'           Punctuation
'\n            \n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'mark'        Name.Function
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
']'           Punctuation
'\n                                        ' Text.Whitespace
';start class definition' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'. '          Keyword
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visit'       Name.Function
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'V1_5'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
'\n                 ' Text.Whitespace
'cname'       Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'iname'       Name.Function
' '           Text.Whitespace
'super'       Name.Variable
')'           Punctuation
'\n                 ' Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'interfaces'  Name.Variable
'\n                   ' Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'('           Punctuation
'map '        Name.Builtin
'iname'       Name.Variable
' '           Text.Whitespace
'interfaces'  Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    \n                                        ' Text.Whitespace
';static fields for vars' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'v'           Name.Variable
' '           Text.Whitespace
'var-fields'  Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitField'  Name.Function
' '           Text.Whitespace
'('           Punctuation
'+ '          Name.Builtin
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_FINAL'   Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_STATIC'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n                        ' Text.Whitespace
'('           Punctuation
'var-name'    Name.Function
' '           Text.Whitespace
'v'           Name.Variable
')'           Punctuation
' \n                        ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'var-type'    Name.Variable
' '           Text.Whitespace
'getDescriptor' Name.Variable
')'           Punctuation
'\n                        ' Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    \n                                        ' Text.Whitespace
';instance field for state' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'state'       Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitField'  Name.Function
' '           Text.Whitespace
'('           Punctuation
'+ '          Name.Builtin
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_FINAL'   Name.Variable
')'           Punctuation
')'           Punctuation
'\n                        ' Text.Whitespace
'state-name'  Name.Variable
' \n                        ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'obj-type'    Name.Variable
' '           Text.Whitespace
'getDescriptor' Name.Variable
')'           Punctuation
'\n                        ' Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    \n                                        ' Text.Whitespace
';static init to set up var fields and load clj' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'+ '          Name.Builtin
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_STATIC'  Name.Variable
')'           Punctuation
')'           Punctuation
' \n                   ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'getMethod'   Name.Variable
' '           Text.Whitespace
'"void <clinit> ()"' Literal.String
')'           Punctuation
'\n                   ' Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
']'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'v'           Name.Variable
' '           Text.Whitespace
'var-fields'  Name.Variable
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'name'        Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'v'           Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"clojure.lang.Var var(String,String)"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'putStatic'   Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'var-name'    Name.Function
' '           Text.Whitespace
'v'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'var-type'    Name.Variable
')'           Punctuation
')'           Punctuation
'\n      \n      ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
')'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'('           Punctuation
'. '          Keyword
'name '       Name.Builtin
'replace '    Name.Builtin
'\\.'         Literal.String.Char
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'java.io.File' Name.Variable
' '           Text.Whitespace
'separatorChar' Name.Variable
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'".clj"'      Literal.String
')'           Punctuation
')'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"void loadResourceScript(Class,String)"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n      \n      ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    \n                                        ' Text.Whitespace
';ctors'      Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'['           Punctuation
'pclasses'    Name.Variable
' '           Text.Whitespace
'super-pclasses' Name.Variable
']'           Punctuation
' '           Text.Whitespace
'ctor-sig-map' Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'ptypes'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'to-types'    Name.Function
' '           Text.Whitespace
'pclasses'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'super-ptypes' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'to-types'    Name.Function
' '           Text.Whitespace
'super-pclasses' Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'"<init>"'    Literal.String
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'VOID_TYPE'   Name.Variable
')'           Punctuation
' '           Text.Whitespace
'ptypes'      Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'super-m'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'"<init>"'    Literal.String
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'VOID_TYPE'   Name.Variable
')'           Punctuation
' '           Text.Whitespace
'super-ptypes' Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'no-init-label' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'end-label'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'nth-method'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"Object nth(Object,int)"' Literal.String
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'local'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLocal'    Name.Variable
' '           Text.Whitespace
'obj-type'    Name.Variable
')'           Punctuation
']'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n        \n        ' Text.Whitespace
'('           Punctuation
'if '         Keyword
'init'        Name.Variable
'\n          ' Text.Whitespace
'('           Punctuation
'do'          Name.Function
'\n            ' Text.Whitespace
'('           Punctuation
'emit-get-var' Name.Function
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'init-name'   Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dup'         Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'ifNull'      Name.Variable
' '           Text.Whitespace
'no-init-label' Name.Variable
')'           Punctuation
'\n                                        ' Text.Whitespace
';box init args' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'dotimes '    Name.Builtin
'i'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'count '      Name.Builtin
'pclasses'    Name.Variable
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadArg'     Name.Function
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'clojure.lang.Compiler$HostExpr' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'emitBoxReturn' Name.Function
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'nth '        Name.Builtin
'pclasses'    Name.Variable
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';call init fn' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeInterface' Name.Function
' '           Text.Whitespace
'ifn-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'"invoke"'    Literal.String
' '           Text.Whitespace
'obj-type'    Name.Variable
' \n                                                  ' Text.Whitespace
'('           Punctuation
'arg-types'   Name.Function
' '           Text.Whitespace
'('           Punctuation
'count '      Name.Builtin
'ptypes'      Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';expecting [[super-ctor-args] state] returned' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dup'         Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'nth-method'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'storeLocal'  Name.Variable
' '           Text.Whitespace
'local'       Name.Variable
')'           Punctuation
'\n            \n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadThis'    Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dupX1'       Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'dotimes '    Name.Builtin
'i'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'count '      Name.Builtin
'super-pclasses' Name.Variable
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'loadLocal'   Name.Variable
' '           Text.Whitespace
'local'       Name.Variable
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'nth-method'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'clojure.lang.Compiler$HostExpr' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'emitUnboxArg' Name.Function
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'nth '        Name.Builtin
'super-pclasses' Name.Variable
' '           Text.Whitespace
'i'           Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeConstructor' Name.Function
' '           Text.Whitespace
'super-type'  Name.Variable
' '           Text.Whitespace
'super-m'     Name.Variable
')'           Punctuation
')'           Punctuation
'\n            \n            ' Text.Whitespace
'('           Punctuation
'if '         Keyword
'state'       Name.Variable
'\n              ' Text.Whitespace
'('           Punctuation
'do'          Name.Function
'\n                ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'push'        Name.Variable
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
'\n                ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'nth-method'  Name.Variable
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'putField'    Name.Function
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'state-name'  Name.Variable
' '           Text.Whitespace
'obj-type'    Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'pop'         Name.Variable
')'           Punctuation
')'           Punctuation
'\n            \n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'goTo'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
'\n                                        ' Text.Whitespace
';no init found' Comment.Single
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'no-init-label' Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'throwException' Name.Function
' '           Text.Whitespace
'ex-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'init-name'   Name.Variable
' '           Text.Whitespace
'" not defined"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
')'           Punctuation
'\n          ' Text.Whitespace
'('           Punctuation
'if '         Keyword
'('           Punctuation
'= '          Name.Builtin
'pclasses'    Name.Variable
' '           Text.Whitespace
'super-pclasses' Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'do'          Name.Function
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadThis'    Name.Function
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadArgs'    Name.Function
')'           Punctuation
')'           Punctuation
'\n              ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeConstructor' Name.Function
' '           Text.Whitespace
'super-type'  Name.Variable
' '           Text.Whitespace
'super-m'     Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'throw'       Name.Function
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Exception'   Name.Variable
' '           Text.Whitespace
'":init not specified, but ctor and super ctor args differ"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n        ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';factory'    Comment.Single
'\n        '  Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'factory'     Name.Variable
'\n          ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'fm'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'factory-name' Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'ptypes'      Name.Variable
')'           Punctuation
'\n                ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'+ '          Name.Builtin
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_STATIC'  Name.Variable
')'           Punctuation
')'           Punctuation
' \n                         ' Text.Whitespace
'fm'          Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
']'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newInstance' Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dup'         Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadArgs'    Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeConstructor' Name.Function
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'm'           Name.Variable
')'           Punctuation
')'           Punctuation
'            \n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n    \n                                        ' Text.Whitespace
";add methods matching supers', if no fn -> call super" Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'mm'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'non-private-methods' Name.Function
' '           Text.Whitespace
'super'       Name.Variable
')'           Punctuation
']'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'#'           Operator
'^'           Operator
'java.lang.reflect.Method' Name.Variable
' '           Text.Whitespace
'meth'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'vals '       Name.Builtin
'mm'          Name.Variable
')'           Punctuation
'\n             ' Text.Whitespace
'('           Punctuation
'emit-forwarding-method' Name.Function
' '           Text.Whitespace
'('           Punctuation
'.getName'    Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'.getParameterTypes' Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'.getReturnType' Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' \n                                     ' Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'gen'         Name.Variable
' '           Text.Whitespace
'm'           Name.Variable
']'           Punctuation
'\n                                       ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadThis'    Name.Function
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';push args'  Comment.Single
'\n                                       ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'loadArgs'    Name.Function
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';call super' Comment.Single
'\n                                       ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitMethodInsn' Name.Function
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'INVOKESPECIAL' Name.Variable
')'           Punctuation
' \n                                                               ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'super-type'  Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getInternalName' Name.Function
')'           Punctuation
')'           Punctuation
'\n                                                               ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getName'     Name.Function
')'           Punctuation
')'           Punctuation
'\n                                                               ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getDescriptor' Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
";add methods matching interfaces', if no fn -> throw" Comment.Single
'\n       '   Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'#'           Operator
'^'           Operator
'Class'       Name.Variable
' '           Text.Whitespace
'iface'       Name.Variable
' '           Text.Whitespace
'interfaces'  Name.Variable
'\n              ' Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'#'           Operator
'^'           Operator
'java.lang.reflect.Method' Name.Variable
' '           Text.Whitespace
'meth'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'iface'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethods'  Name.Function
')'           Punctuation
')'           Punctuation
'\n                     ' Text.Whitespace
'('           Punctuation
'when-not '   Name.Builtin
'('           Punctuation
'contains? '  Name.Builtin
'mm'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'method-sig'  Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
')'           Punctuation
'\n                       ' Text.Whitespace
'('           Punctuation
'emit-forwarding-method' Name.Function
' '           Text.Whitespace
'('           Punctuation
'.getName'    Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'.getParameterTypes' Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'.getReturnType' Name.Function
' '           Text.Whitespace
'meth'        Name.Variable
')'           Punctuation
' \n                                               ' Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'gen'         Name.Variable
' '           Text.Whitespace
'm'           Name.Variable
']'           Punctuation
'\n                                                 ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'throwException' Name.Function
' '           Text.Whitespace
'ex-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getName'     Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';extra methods' Comment.Single
'\n       '   Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'['           Punctuation
'mname'       Name.Variable
' '           Text.Whitespace
'pclasses'    Name.Variable
' '           Text.Whitespace
'rclass'      Name.Variable
' '           Text.Whitespace
':as'         Literal.String.Symbol
' '           Text.Whitespace
'msig'        Name.Variable
']'           Punctuation
' '           Text.Whitespace
'methods'     Name.Variable
'\n         ' Text.Whitespace
'('           Punctuation
'emit-forwarding-method' Name.Function
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'mname'       Name.Variable
')'           Punctuation
' '           Text.Whitespace
'pclasses'    Name.Variable
' '           Text.Whitespace
'rclass'      Name.Variable
' \n                                 ' Text.Whitespace
'('           Punctuation
'fn '         Keyword
'['           Punctuation
'gen'         Name.Variable
' '           Text.Whitespace
'm'           Name.Variable
']'           Punctuation
'\n                                     ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'throwException' Name.Function
' '           Text.Whitespace
'ex-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getName'     Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n                                        ' Text.Whitespace
';main'       Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'main'        Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'getMethod'   Name.Variable
' '           Text.Whitespace
'"void main (String[])"' Literal.String
')'           Punctuation
'\n            ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'+ '          Name.Builtin
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_STATIC'  Name.Variable
')'           Punctuation
')'           Punctuation
' \n                     ' Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'no-main-label' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'end-label'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'newLabel'    Name.Variable
')'           Punctuation
']'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n\n        ' Text.Whitespace
'('           Punctuation
'emit-get-var' Name.Function
' '           Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'main-name'   Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'dup'         Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'ifNull'      Name.Variable
' '           Text.Whitespace
'no-main-label' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'loadArgs'    Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeStatic' Name.Function
' '           Text.Whitespace
'rt-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'getMethod'   Name.Function
' '           Text.Whitespace
'"clojure.lang.ISeq seq(Object)"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'invokeInterface' Name.Function
' '           Text.Whitespace
'ifn-type'    Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'"applyTo"'   Literal.String
' '           Text.Whitespace
'obj-type'    Name.Variable
' \n                                              ' Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'['           Punctuation
'iseq-type'   Name.Variable
']'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'pop'         Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'goTo'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
'\n                                        ' Text.Whitespace
';no main found' Comment.Single
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'no-main-label' Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'throwException' Name.Function
' '           Text.Whitespace
'ex-type'     Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'main-name'   Name.Variable
' '           Text.Whitespace
'" not defined"' Literal.String
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'mark'        Name.Variable
' '           Text.Whitespace
'end-label'   Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';field exposers' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'doseq '      Name.Builtin
'['           Punctuation
'f'           Name.Variable
' '           Text.Whitespace
'{'           Punctuation
'getter'      Name.Variable
' '           Text.Whitespace
':get'        Literal.String.Symbol
' '           Text.Whitespace
'setter'      Name.Variable
' '           Text.Whitespace
':set'        Literal.String.Symbol
'}'           Punctuation
']'           Punctuation
' '           Text.Whitespace
'exposes'     Name.Variable
'\n      '    Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'fld'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'.getField'   Name.Function
' '           Text.Whitespace
'super'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'f'           Name.Variable
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'ftype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'totype'      Name.Function
' '           Text.Whitespace
'('           Punctuation
'.getType'    Name.Function
' '           Text.Whitespace
'fld'         Name.Variable
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'getter'      Name.Variable
'\n          ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'getter'      Name.Variable
')'           Punctuation
' '           Text.Whitespace
'ftype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'to-types'    Name.Function
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
']'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'loadThis'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'getField'    Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'f'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'ftype'       Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'when '       Name.Builtin
'setter'      Name.Variable
'\n          ' Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'm'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'Method'      Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'setter'      Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Type'        Name.Variable
' '           Text.Whitespace
'VOID_TYPE'   Name.Variable
')'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'['           Punctuation
'ftype'       Name.Variable
']'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                ' Text.Whitespace
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'GeneratorAdapter' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'Opcodes'     Name.Variable
' '           Text.Whitespace
'ACC_PUBLIC'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'm'           Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'nil'         Name.Variable
' '           Text.Whitespace
'cv'          Name.Variable
')'           Punctuation
']'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitCode'   Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'loadThis'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'loadArgs'    Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'putField'    Name.Variable
' '           Text.Whitespace
'ctype'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'f'           Name.Variable
')'           Punctuation
' '           Text.Whitespace
'ftype'       Name.Variable
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'returnValue' Name.Function
')'           Punctuation
')'           Punctuation
'\n            ' Text.Whitespace
'('           Punctuation
'. '          Keyword
'gen'         Name.Variable
' '           Text.Whitespace
'('           Punctuation
'endMethod'   Name.Function
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n                                        ' Text.Whitespace
';finish class def' Comment.Single
'\n    '      Text.Whitespace
'('           Punctuation
'. '          Keyword
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'visitEnd'    Name.Function
')'           Punctuation
')'           Punctuation
'\n    '      Text.Whitespace
'{'           Punctuation
':name'       Literal.String.Symbol
' '           Text.Whitespace
'name '       Name.Builtin
':bytecode'   Literal.String.Symbol
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'cv'          Name.Variable
' '           Text.Whitespace
'('           Punctuation
'toByteArray' Name.Function
')'           Punctuation
')'           Punctuation
'}'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'gen-and-load-class' Name.Variable
' \n  '       Text.Whitespace
'"Generates and immediately loads the bytecode for the specified\n  class. Note that a class generated this way can be loaded only once\n  - the JVM supports only one class with a given name per\n  classloader. Subsequent to generation you can import it into any\n  desired namespaces just like any other class. See gen-class for a\n  description of the options."' Literal.String
'\n\n  '      Text.Whitespace
'['           Punctuation
'name '       Name.Builtin
'&'           Operator
' '           Text.Whitespace
'options'     Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'{'           Punctuation
':keys'       Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'name '       Name.Builtin
'bytecode'    Name.Variable
']'           Punctuation
'}'           Punctuation
'\n        '  Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'gen-class'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'name'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'options'     Name.Variable
')'           Punctuation
']'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'.. '         Name.Builtin
'clojure.lang.RT' Name.Variable
' '           Text.Whitespace
'ROOT_CLASSLOADER' Name.Variable
' '           Text.Whitespace
'('           Punctuation
'defineClass' Name.Function
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'name'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'bytecode'    Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'gen-and-save-class' Name.Variable
' \n  '       Text.Whitespace
'"Generates the bytecode for the named class and stores in a .class\n  file in a subpath of the supplied path, the directories for which\n  must already exist. See gen-class for a description of the options"' Literal.String
'\n\n  '      Text.Whitespace
'['           Punctuation
'path '       Name.Builtin
'name '       Name.Builtin
'&'           Operator
' '           Text.Whitespace
'options'     Name.Variable
']'           Punctuation
'\n  '        Text.Whitespace
'('           Punctuation
'let '        Keyword
'['           Punctuation
'{'           Punctuation
':keys'       Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'name '       Name.Builtin
'bytecode'    Name.Variable
']'           Punctuation
'}'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'apply '      Name.Builtin
'gen-class'   Name.Variable
' '           Text.Whitespace
'('           Punctuation
'str '        Name.Builtin
'name'        Name.Variable
')'           Punctuation
' '           Text.Whitespace
'options'     Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'file'        Name.Variable
' '           Text.Whitespace
'('           Punctuation
'java.io.File.' Name.Function
' '           Text.Whitespace
'path '       Name.Builtin
'('           Punctuation
'str '        Name.Builtin
'('           Punctuation
'. '          Keyword
'name '       Name.Builtin
'replace '    Name.Builtin
'\\.'         Literal.String.Char
' '           Text.Whitespace
'('           Punctuation
'. '          Keyword
'java.io.File' Name.Variable
' '           Text.Whitespace
'separatorChar' Name.Variable
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'".class"'    Literal.String
')'           Punctuation
')'           Punctuation
']'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'.createNewFile' Name.Function
' '           Text.Whitespace
'file'        Name.Variable
')'           Punctuation
'\n    '      Text.Whitespace
'('           Punctuation
'with-open '  Name.Builtin
'f'           Name.Variable
' '           Text.Whitespace
'('           Punctuation
'java.io.FileOutputStream.' Name.Function
' '           Text.Whitespace
'file'        Name.Variable
')'           Punctuation
'\n      '    Text.Whitespace
'('           Punctuation
'.write'      Name.Function
' '           Text.Whitespace
'f'           Name.Variable
' '           Text.Whitespace
'bytecode'    Name.Variable
')'           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'comment'     Name.Function
'\n'          Text.Whitespace

';usage'      Comment.Single
'\n'          Text.Whitespace

'('           Punctuation
'gen-class'   Name.Function
' \n '        Text.Whitespace
'package-qualified-name' Name.Variable
'\n  '        Text.Whitespace
';all below are optional' Comment.Single
'\n '         Text.Whitespace
':extends'    Literal.String.Symbol
' '           Text.Whitespace
'aclass'      Name.Variable
'\n '         Text.Whitespace
':implements' Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'interface'   Name.Variable
' '           Text.Whitespace
'...'         Name.Variable
']'           Punctuation
'\n '         Text.Whitespace
':constructors' Literal.String.Symbol
' '           Text.Whitespace
'{'           Punctuation
'['           Punctuation
'param-types' Name.Variable
']'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'super-param-types' Name.Variable
']'           Punctuation
','           Text
' '           Text.Whitespace
'}'           Punctuation
'\n '         Text.Whitespace
':methods'    Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'['           Punctuation
'name '       Name.Builtin
'['           Punctuation
'param-types' Name.Variable
']'           Punctuation
' '           Text.Whitespace
'return-type' Name.Variable
']'           Punctuation
','           Text
' '           Text.Whitespace
']'           Punctuation
'\n '         Text.Whitespace
':main'       Literal.String.Symbol
' '           Text.Whitespace
'boolean'     Name.Variable
'\n '         Text.Whitespace
':factory'    Literal.String.Symbol
' '           Text.Whitespace
'name'        Name.Variable
'\n '         Text.Whitespace
':state'      Literal.String.Symbol
' '           Text.Whitespace
'name'        Name.Variable
'\n '         Text.Whitespace
':init'       Literal.String.Symbol
' '           Text.Whitespace
'name'        Name.Variable
'\n '         Text.Whitespace
':exposes'    Literal.String.Symbol
' '           Text.Whitespace
'{'           Punctuation
'protected-field' Name.Variable
' '           Text.Whitespace
'{'           Punctuation
':get'        Literal.String.Symbol
' '           Text.Whitespace
'name '       Name.Builtin
':set'        Literal.String.Symbol
' '           Text.Whitespace
'name'        Name.Variable
'}'           Punctuation
','           Text
' '           Text.Whitespace
'}'           Punctuation
')'           Punctuation
'\n \n'       Text.Whitespace

';(gen-and-load-class ' Comment.Single
'\n'          Text.Whitespace

'('           Punctuation
'clojure/gen-and-save-class' Name.Function
' \n '        Text.Whitespace
'"/Users/rich/Downloads"' Literal.String
'\n '         Text.Whitespace
"'fred.lucy.Ethel" Literal.String.Symbol
' \n '        Text.Whitespace
':extends'    Literal.String.Symbol
' '           Text.Whitespace
'clojure.lang.Box' Name.Variable
' '           Text.Whitespace
';APersistentMap' Comment.Single
'\n '         Text.Whitespace
':implements' Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'clojure.lang.IPersistentMap' Name.Variable
']'           Punctuation
'\n '         Text.Whitespace
':state'      Literal.String.Symbol
' '           Text.Whitespace
"'state"      Literal.String.Symbol
'\n                                        ' Text.Whitespace
';:constructors {[Object] [Object]}' Comment.Single
'\n                                        ' Text.Whitespace
";:init 'init" Comment.Single
'\n '         Text.Whitespace
':main'       Literal.String.Symbol
' '           Text.Whitespace
'true'        Name.Variable
'\n '         Text.Whitespace
':factory'    Literal.String.Symbol
' '           Text.Whitespace
"'create"     Literal.String.Symbol
'\n '         Text.Whitespace
':methods'    Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'['           Punctuation
"'foo"        Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'Object'      Name.Variable
']'           Punctuation
' '           Text.Whitespace
'Object'      Name.Variable
']'           Punctuation
'\n           ' Text.Whitespace
'['           Punctuation
"'foo"        Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'Object'      Name.Variable
']'           Punctuation
']'           Punctuation
'\n '         Text.Whitespace
':exposes'    Literal.String.Symbol
' '           Text.Whitespace
'{'           Punctuation
"'val"        Literal.String.Symbol
' '           Text.Whitespace
'{'           Punctuation
':get'        Literal.String.Symbol
' '           Text.Whitespace
"'getVal"     Literal.String.Symbol
' '           Text.Whitespace
':set'        Literal.String.Symbol
' '           Text.Whitespace
"'setVal"     Literal.String.Symbol
'}'           Punctuation
'}'           Punctuation
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'in-ns '      Name.Builtin
"'fred.lucy.Ethel__2276" Literal.String.Symbol
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'clojure/refer' Name.Function
' '           Text.Whitespace
"'clojure"    Literal.String.Symbol
' '           Text.Whitespace
':exclude'    Literal.String.Symbol
' '           Text.Whitespace
"'"           Operator
'('           Punctuation
'assoc '      Name.Builtin
'seq '        Name.Builtin
'count '      Name.Builtin
'cons'        Name.Variable
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'init'        Name.Variable
' '           Text.Whitespace
'['           Punctuation
'n'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'['           Punctuation
']'           Punctuation
' '           Text.Whitespace
'n'           Name.Variable
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'foo'         Name.Variable
' \n  '       Text.Whitespace
'('           Punctuation
'['           Punctuation
'this'        Name.Variable
']'           Punctuation
' '           Text.Whitespace
':foo'        Literal.String.Symbol
')'           Punctuation
' \n  '       Text.Whitespace
'('           Punctuation
'['           Punctuation
'this'        Name.Variable
' '           Text.Whitespace
'x'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'x'           Name.Variable
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'main'        Name.Variable
' '           Text.Whitespace
'['           Punctuation
'x'           Name.Variable
' '           Text.Whitespace
'y'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'('           Punctuation
'println '    Name.Builtin
'x'           Name.Variable
' '           Text.Whitespace
'y'           Name.Variable
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'in-ns '      Name.Builtin
"'user"       Literal.String.Symbol
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'def '        Keyword
'ethel'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'new '        Keyword
'fred.lucy.Ethel__2276' Name.Variable
' '           Text.Whitespace
'42'          Literal.Number.Integer
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'def '        Keyword
'ethel'       Name.Variable
' '           Text.Whitespace
'('           Punctuation
'fred.lucy.Ethel__2276.create' Name.Function
' '           Text.Whitespace
'21'          Literal.Number.Integer
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'fred.lucy.Ethel__2276.main' Name.Function
' '           Text.Whitespace
'('           Punctuation
'into-array ' Name.Builtin
'['           Punctuation
'"lucy"'      Literal.String
' '           Text.Whitespace
'"ricky"'     Literal.String
']'           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'.state'      Name.Function
' '           Text.Whitespace
'ethel'       Name.Variable
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'.foo'        Name.Function
' '           Text.Whitespace
'ethel'       Name.Variable
' '           Text.Whitespace
'7'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'.foo'        Name.Function
' '           Text.Whitespace
'ethel'       Name.Variable
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'.getVal'     Name.Function
' '           Text.Whitespace
'ethel'       Name.Variable
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'.setVal'     Name.Function
' '           Text.Whitespace
'ethel'       Name.Variable
' '           Text.Whitespace
'12'          Literal.Number.Integer
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'gen-class'   Name.Function
' '           Text.Whitespace
'org.clojure.MyComparator' Name.Variable
' '           Text.Whitespace
':implements' Literal.String.Symbol
' '           Text.Whitespace
'['           Punctuation
'Comparator'  Name.Variable
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'in-ns '      Name.Builtin
"'org.clojure.MyComparator" Literal.String.Symbol
')'           Punctuation
'\n'          Text.Whitespace

'('           Punctuation
'defn '       Keyword.Declaration
'compare'     Name.Variable
' '           Text.Whitespace
'['           Punctuation
'this'        Name.Variable
' '           Text.Whitespace
'x'           Name.Variable
' '           Text.Whitespace
'y'           Name.Variable
']'           Punctuation
' '           Text.Whitespace
'...'         Name.Variable
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'load-file '  Name.Builtin
'"/Users/rich/dev/clojure/src/genclass.clj"' Literal.String
')'           Punctuation
'\n\n'        Text.Whitespace

'('           Punctuation
'clojure/gen-and-save-class' Name.Function
' '           Text.Whitespace
'"/Users/rich/dev/clojure/gen/"' Literal.String
' \n '        Text.Whitespace
"'org.clojure.ClojureServlet" Literal.String.Symbol
' \n '        Text.Whitespace
':extends'    Literal.String.Symbol
' '           Text.Whitespace
'javax.servlet.http.HttpServlet' Name.Variable
')'           Punctuation
'\n\n'        Text.Whitespace

')'           Punctuation
'\n'          Text.Whitespace
