def enums
      raise StreamNotParsed, 'you must parse first' if @tree.nil?

      enums = statements.select do |node|
        node.is_a?(EnumStatement)
      end

      enums.map(&:to_hash)
    end
def enums
      raise StreamNotParsed, 'you must parse first' if @tree.nil?

      enums = statements.select do |node|
        node.is_a?(EnumStatement)
      end

      enums.map(&:to_hash)
    end
Returns an array of eneums parsed from the IO stream. The array
 contains hashes with enum information and variables.

 The hash is the hash form of EnumStatement

 @example Accessing the enums
   parser.enums # => [{ name: 'test', variables: [], ...]

 @return [Array<Hash>] an array of hashes representing the class
 @see EnumStatement