code: def classes
        raise StreamNotParsed, 'you must parse first' if @tree.nil?
  
        classes = statements.select do |node|
          node.is_a?(ClassStatement)
        end
  
        classes.map(&:to_hash)
      end
docs: Returns an array of classes parsed from the IO stream. The array
   contains hashes with class information and variables.
  
   The hash is the hash form of ClassStatement
  
   @example Accessing the classes
     parser.classes # => [{ name: 'test', variables: [], ...]
  
   @return [Array<Hash>] an array of hashes representing the class
   @see ClassStatement