<commit_before>This document will attempt to describe the class hierarchy of the JLTools
package.

KEY
===
Packages are written, abbreviated, in [brackets.]

Interfaces are written in (parenthesis).

<<*>> = Not yet implemented.

<V>   = Has an entry in NodeVisitor

(A)   = Abstract
(I)   = Interface
(S)   = Contains static members only.

CLASSES
=======
Type							[jltools.types]
  PrimitiveType						[jltools.types]
  ClassType					 	[jltools.types]
  ArrayType						[jltools.types]
  NullType						[jltools.types]
MethodType					        [jltools.types]
FieldType                                               [jltools.types]
AccessFlags					        [jltools.types]

TypeSystem (I)					        [jltools.types]
StandardTypeSystem (TypeSystem)			 <<*>>  [jltools.types]

JavaClass (A)					        [jltools.types]
 JavaClassImpl (A), AnnotatedObj			[jltools.types]
  LoadedJavaClass					[jltools.types]
  ParsedSourceClass                              <<*>>  [jltools.types]

ClassResolver (I)					[jltools.types] 
  ImportTable					        [jltools.types] 

NodeVisitor (I)					 	[jltools.ast]
NullVisitor (NodeVisitor)				[jltools.ast]
ClassPath					 <<*>>	[jltools.util]

AnnotatedObject	(A)					[jltools.util]
  Node (A)						[jltools.ast]
    TypeNode						[jltools.ast]
    Expression (A)					[jltools.ast]      
      Literal (A)					[jltools.ast]
        NullLiteral				 <V>    [jltools.ast]
	StringLiteral 				 <V>    [jltools.ast]
	IntLiteral                               <V>    [jltools.ast]
	FloatLiteral 				 <V>    [jltools.ast]
      CastExpression				 <V>    [jltools.ast]
      BinaryExpression				 <V>    [jltools.ast]
      TernaryExpression				 <V>    [jltools.ast]
      UnaryExpression				 <V>    [jltools.ast]
      LocalVariableExpression			 <V>    [jltools.ast]
      NewArrayExpression			 <V>    [jltools.ast]
      NewObjectExpression			 <V>    [jltools.ast]      
      FieldExpression				 <V>    [jltools.ast]
      MethodExpression				 <V>    [jltools.ast]
      ArrayIndexExpression			 <V>    [jltools.ast]
      ArrayInitializerExpression		 <V>    [jltools.ast]
      SpecialExpression				 <<*>>  [jltools.ast]
      InstanceofExpression			 <V>    [jltools.ast]     
      AmbiguousExpression (A)                           [jltools.ast]
        AmbiguousNameExpression			 <V>    [jltools.ast]      
    Statement (A)					[jltools.ast]
      ExpressionStatement 			 <V>    [jltools.ast]
      BlockStatement 				 <V>    [jltools.ast]     
      VariableDeclarationStatement		 <V>    [jltools.ast]
      ClassDeclarationStatement			 <V>	[jltools.ast]
      ReturnStatement				 <V>    [jltools.ast]
      ThrowStatement				 <V>    [jltools.ast]
      BranchStatement				 <V>    [jltools.ast]
      ConstructorCallStatement                   <V>    [jltools.ast]
      IfStatement				 <V>    [jltools.ast]     
      WhileStatement				 <V>    [jltools.ast]
      DoStatement				 <V>    [jltools.ast]
      ForStatement				 <V>    [jltools.ast]
      SynchronizedStatement			 <V>    [jltools.ast]
      TryStatement				 <V>    [jltools.ast] 
      SwitchStatement				 <V>    [jltools.ast] 
      LabelledStatement				 <V>	[jltools.ast]
    ClassMember	(A)				        [jltools.ast]
      ClassNode					 <V>    [jltools.ast]
      FieldNode					 <<*>>  [jltools.ast]
      MethodNode				 <V>    [jltools.ast]
      InitializerBlock				 <V>    [jltools.ast]
    SourceFileNode				 <V>    [jltools.ast]
    ImportNode                                   <V>    [jltools.ast] 
<commit_msg>Updated to reflect some new nodes.<commit_after>This document will attempt to describe the class hierarchy of the JLTools
package.

KEY
===
Packages are written, abbreviated, in [brackets.]

Interfaces are written in (parenthesis).

<<*>> = Not yet implemented.

<V>   = Has an entry in NodeVisitor

(A)   = Abstract
(I)   = Interface
(S)   = Contains static members only.

CLASSES
=======
Type							[jltools.types]
  PrimitiveType						[jltools.types]
  ClassType					 	[jltools.types]
  ArrayType						[jltools.types]
  NullType						[jltools.types]
MethodType					        [jltools.types]
FieldType                                               [jltools.types]
AccessFlags					        [jltools.types]

TypeSystem (I)					        [jltools.types]
StandardTypeSystem (TypeSystem)			 <<*>>  [jltools.types]

JavaClass (A)					        [jltools.types]
 JavaClassImpl (A), AnnotatedObj			[jltools.types]
  LoadedJavaClass					[jltools.types]
  ParsedSourceClass                              <<*>>  [jltools.types]

ClassResolver (I)					[jltools.types] 
  ImportTable					        [jltools.types] 

NodeVisitor (I)					 	[jltools.ast]
NullVisitor (NodeVisitor)				[jltools.ast]
ClassPath					 <<*>>	[jltools.util]

AnnotatedObject	(A)					[jltools.util]
  Node (A)						[jltools.ast]
    TypeNode						[jltools.ast]
    Expression (A)					[jltools.ast]      
      Literal (A)					[jltools.ast]
        NullLiteral				 <V>    [jltools.ast]
	StringLiteral 				 <V>    [jltools.ast]
	IntLiteral                               <V>    [jltools.ast]
	FloatLiteral 				 <V>    [jltools.ast]
      CastExpression				 <V>    [jltools.ast]
      BinaryExpression				 <V>    [jltools.ast]
      TernaryExpression				 <V>    [jltools.ast]
      UnaryExpression				 <V>    [jltools.ast]
      LocalVariableExpression			 <V>    [jltools.ast]
      NewArrayExpression			 <V>    [jltools.ast]
      NewObjectExpression			 <V>    [jltools.ast]      
      FieldExpression				 <V>    [jltools.ast]
      MethodExpression				 <V>    [jltools.ast]
      ArrayIndexExpression			 <V>    [jltools.ast]
      ArrayInitializerExpression		 <V>    [jltools.ast]
      SpecialExpression				 <V>    [jltools.ast]
      InstanceofExpression			 <V>    [jltools.ast]     
      AmbiguousExpression (A)                           [jltools.ast]
        AmbiguousNameExpression			 <V>    [jltools.ast]      
    Statement (A)					[jltools.ast]
      ExpressionStatement 			 <V>    [jltools.ast]
      BlockStatement 				 <V>    [jltools.ast]     
      VariableDeclarationStatement		 <V>    [jltools.ast]
      ClassDeclarationStatement			 <V>	[jltools.ast]
      ReturnStatement				 <V>    [jltools.ast]
      ThrowStatement				 <V>    [jltools.ast]
      BranchStatement				 <V>    [jltools.ast]
      ConstructorCallStatement                   <V>    [jltools.ast]
      IfStatement				 <V>    [jltools.ast]     
      WhileStatement				 <V>    [jltools.ast]
      DoStatement				 <V>    [jltools.ast]
      ForStatement				 <V>    [jltools.ast]
      SynchronizedStatement			 <V>    [jltools.ast]
      TryStatement				 <V>    [jltools.ast] 
      SwitchStatement				 <V>    [jltools.ast] 
      LabelledStatement				 <V>	[jltools.ast]
    ClassMember	(A)				        [jltools.ast]
      ClassNode					 <V>    [jltools.ast]
      FieldNode					 <V>    [jltools.ast]
      MethodNode				 <V>    [jltools.ast]
      InitializerBlock				 <V>    [jltools.ast]
    SourceFileNode				 <V>    [jltools.ast]
    ImportNode                                   <V>    [jltools.ast] 

{'fraction_non_alphanumeric': 0.10518097941802697, 'fraction_numerical': 0.0, 'mean_word_length': 1.8514771347632537, 'pattern_counts': {'":': 0, '<': 103, '<?xml version=': 0, '>': 103, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3911490', 'n_tokens_mistral': 2796, 'n_tokens_neox': 2258, 'n_words': 469}