<commit_before>* AST for maps, tuples, sequences, closures

* AST's to handle null for types & set the isDynamic flag

* finish expresssion support in classgen

* support metadata (like JDK 1.5) as well as tree based metadata...

  window = @layout {
    frame text="My Window" size=[300,300] {
      label text="Save changes?" bounds=[10,10,290,30]
      panel bounds=[10,40,290,290] {
        button text="OK" action={ save() ; window.close() }
        button text="Cancel" action={ window.close() }
      }
    }
  };

* refactor ast into expression, statement packages

* maybe split up ClassGenerator - do code gen & class gen separately

* create static groovyMetaClass field in all groovy classes (& bytecode weave?)

* create MetaClass for JMX - so we can treat JMX objects as if they're normal objects

* mixin support...<commit_msg>added code generation of the use of tuples, lists and maps<commit_after>* AST closures and range

* AST's to handle null for types & set the isDynamic flag

* finish expresssion support in classgen

* support metadata (like JDK 1.5) as well as tree based metadata...

  window = @layout {
    frame text="My Window" size=[300,300] {
      label text="Save changes?" bounds=[10,10,290,30]
      panel bounds=[10,40,290,290] {
        button text="OK" action={ save() ; window.close() }
        button text="Cancel" action={ window.close() }
      }
    }
  };

* refactor ast into expression, statement packages

* maybe split up ClassGenerator - do code gen & class gen separately

* create static groovyMetaClass field in all groovy classes (& bytecode weave?)

* create MetaClass for JMX - so we can treat JMX objects as if they're normal objects

* mixin support...
{'fraction_non_alphanumeric': 0.10175438596491228, 'fraction_numerical': 0.031578947368421054, 'mean_word_length': 3.5145118733509233, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6548806', 'n_tokens_mistral': 533, 'n_tokens_neox': 482, 'n_words': 201}