Sha256: 095a2e02e1d5ef1408484542cd5fa1dc6c517f94f5f116f604d6521bc219c6d3

Contents?: true

Size: 752 Bytes

Versions: 2

Compression:

Stored size: 752 Bytes

Contents

# frozen_string_literal: true

require_relative 'lox_compound_expr'

module Loxxy
  module Ast
    class LoxClassStmt < LoxCompoundExpr
      attr_reader :name

      # @param aPosition [Rley::Lexical::Position] Position of the entry in the input stream.
      # @param condExpr [Loxxy::Ast::LoxNode] iteration condition
      # @param theBody [Loxxy::Ast::LoxNode]
      def initialize(aPosition, aName, theMethods)
        super(aPosition, theMethods)
        @name = aName.dup
      end

      # Part of the 'visitee' role in Visitor design pattern.
      # @param visitor [Ast::ASTVisitor] the visitor
      def accept(visitor)
        visitor.visit_class_stmt(self)
      end

      alias body subnodes
    end # class
  end # module
end # module

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
loxxy-0.1.12 lib/loxxy/ast/lox_class_stmt.rb
loxxy-0.1.11 lib/loxxy/ast/lox_class_stmt.rb