Sha256: 9f730a53f81a0bab3ea4c00a3d09a8ee918d92206660d63dc5651322fc222fa8

Contents?: true

Size: 943 Bytes

Versions: 25

Compression:

Stored size: 943 Bytes

Contents

# frozen_string_literal: true

require_relative 'assignments'

module DeepCover
  class Node
    class Arg < Node
      has_child name: Symbol
      def executable?
        false
      end
    end
    Kwarg = Arg

    class Restarg < Node
      has_child name: [Symbol, nil]
      def executable?
        false
      end
    end
    Kwrestarg = Restarg

    class Optarg < Node
      has_tracker :default
      has_child name: Symbol
      has_child default: Node, flow_entry_count: :default_tracker_hits, rewrite: '(%{default_tracker};%{node})'

      def executable?
        false
      end
    end
    Kwoptarg = Optarg

    # foo(&block)
    class Blockarg < Node
      has_child name: Symbol

      def executable?
        false
      end
    end

    class Args < Node
      has_extra_children arguments: [Arg, Optarg, Restarg, Kwarg, Kwoptarg, Kwrestarg, Blockarg, Mlhs]

      def executable?
        false
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
deep-cover-core-0.7.6 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.5 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.4 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.3 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.2 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.1 lib/deep_cover/node/arguments.rb
deep-cover-core-0.7.0 lib/deep_cover/node/arguments.rb
deep-cover-core-0.6.4 lib/deep_cover/node/arguments.rb
deep-cover-core-0.6.3 lib/deep_cover/node/arguments.rb
deep-cover-core-0.6.3.pre lib/deep_cover/node/arguments.rb
deep-cover-0.6.2 lib/deep_cover/node/arguments.rb
deep-cover-0.6.1 lib/deep_cover/node/arguments.rb
deep-cover-0.6.0 lib/deep_cover/node/arguments.rb
deep-cover-0.5.7 lib/deep_cover/node/arguments.rb
deep-cover-0.5.6 lib/deep_cover/node/arguments.rb
deep-cover-0.5.5 lib/deep_cover/node/arguments.rb
deep-cover-0.5.4 lib/deep_cover/node/arguments.rb
deep-cover-0.5.3 lib/deep_cover/node/arguments.rb
deep-cover-0.5.2 lib/deep_cover/node/arguments.rb
deep-cover-0.5.1 lib/deep_cover/node/arguments.rb