Sha256: 4d256691a8c5acb4c05cebd3f48cf6e36f9f36834de08d2b2b6af81ba7152f0d

Contents?: true

Size: 953 Bytes

Versions: 14

Compression:

Stored size: 953 Bytes

Contents

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})'
      executed_loc_keys :name, :operator

      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

14 entries across 14 versions & 1 rubygems

Version Path
deep-cover-0.1.14 lib/deep_cover/node/arguments.rb
deep-cover-0.1.13 lib/deep_cover/node/arguments.rb
deep-cover-0.1.12 lib/deep_cover/node/arguments.rb
deep-cover-0.1.11 lib/deep_cover/node/arguments.rb
deep-cover-0.1.10 lib/deep_cover/node/arguments.rb
deep-cover-0.1.9 lib/deep_cover/node/arguments.rb
deep-cover-0.1.8 lib/deep_cover/node/arguments.rb
deep-cover-0.1.7 lib/deep_cover/node/arguments.rb
deep-cover-0.1.6 lib/deep_cover/node/arguments.rb
deep-cover-0.1.5 lib/deep_cover/node/arguments.rb
deep-cover-0.1.4 lib/deep_cover/node/arguments.rb
deep-cover-0.1.3 lib/deep_cover/node/arguments.rb
deep-cover-0.1.2 lib/deep_cover/node/arguments.rb
deep-cover-0.1.1 lib/deep_cover/node/arguments.rb