Sha256: 597ced2819fa79596fabf2505de2dbc18c12a623f2d8f72a76e25c7858cc2b49

Contents?: true

Size: 1.45 KB

Versions: 171

Compression:

Stored size: 1.45 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

171 entries across 171 versions & 1 rubygems

Version Path
expressir-1.3.0.pre.5-x86_64-linux-gnu lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.5-x86_64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.5-x64-mingw32 lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.5-x64-mingw-ucrt lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.5-arm64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.5-aarch64-linux-gnu lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.4-x86_64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.4-x64-mingw32 lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.4-x64-mingw-ucrt lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.4-arm64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.4-aarch64-linux-gnu lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2 lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-x86_64-linux-gnu lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-x86_64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-x64-mingw32 lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-x64-mingw-ucrt lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-arm64-darwin lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.2-aarch64-linux-gnu lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.1 lib/expressir/model/statements/repeat.rb
expressir-1.3.0.pre.1-x86_64-linux-gnu lib/expressir/model/statements/repeat.rb