Sha256: 4b7ac4dc50d59195e8bb3ae5e1e99a79b3139ec052fa9e8e389a31a4168560e2

Contents?: true

Size: 1.46 KB

Versions: 13

Compression:

Stored size: 1.46 KB

Contents

module Expressir
  module Model
    module Statements
      # Specified in ISO 10303-11:2004
      # - section 13.9 Repeat statement
      class Repeat < Statement
        include Identifier

        model_attr_accessor :bound1, "Expression"
        model_attr_accessor :bound2, "Expression"
        model_attr_accessor :increment, "Expression"
        model_attr_accessor :while_expression, "Expression"
        model_attr_accessor :until_expression, "Expression"
        model_attr_accessor :statements, "Array<Statement>"

        # @param [Hash] options
        # @option (see Identifier#initialize_identifier)
        # @option options [Expression] :bound1
        # @option options [Expression] :bound2
        # @option options [Expression] :increment
        # @option options [Expression] :while_expression
        # @option options [Expression] :until_expression
        # @option options [Array<Statement>] :statements
        def initialize(options = {})
          initialize_identifier(options)

          @bound1 = options[:bound1]
          @bound2 = options[:bound2]
          @increment = options[:increment]
          @while_expression = options[:while_expression]
          @until_expression = options[:until_expression]
          @statements = options[:statements] || []

          super
        end

        # @return [Array<Declaration>]
        def children
          [
            self,
            *remark_items,
          ]
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
expressir-2.1.13 lib/expressir/model/statements/repeat.rb
expressir-2.1.12 lib/expressir/model/statements/repeat.rb
expressir-2.1.11 lib/expressir/model/statements/repeat.rb
expressir-2.1.10 lib/expressir/model/statements/repeat.rb
expressir-2.1.9 lib/expressir/model/statements/repeat.rb
expressir-2.1.8 lib/expressir/model/statements/repeat.rb
expressir-2.1.7 lib/expressir/model/statements/repeat.rb
expressir-2.1.6 lib/expressir/model/statements/repeat.rb
expressir-2.1.5 lib/expressir/model/statements/repeat.rb
expressir-2.1.4 lib/expressir/model/statements/repeat.rb
expressir-2.1.3 lib/expressir/model/statements/repeat.rb
expressir-2.1.2 lib/expressir/model/statements/repeat.rb
expressir-2.1.1 lib/expressir/model/statements/repeat.rb