Sha256: a2bb769a0ef96555f2332faa4f83520399c44d5e64585f00f7bd6f82601c9760

Contents?: true

Size: 602 Bytes

Versions: 9

Compression:

Stored size: 602 Bytes

Contents

module Furnace
  module ANF
    class Node
      attr_reader :graph

      def initialize(graph)
        @graph = graph
      end

      def leaving_edges
        @graph.edges.select { |edge| edge.source == self }
      end

      def leaving_edge(param=nil)
        @graph.edges.find   { |edge| edge.source == self && edge.param == param }
      end

      def entering_edges
        @graph.edges.select { |edge| edge.target == self }
      end

      def humanize(node)
        if node.is_a? AST::Node
          node.to_sexp
        else
          node.inspect
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
furnace-0.1.1 lib/furnace/anf/node.rb
furnace-0.1.0 lib/furnace/anf/node.rb
furnace-0.0.8 lib/furnace/anf/node.rb
furnace-0.0.7 lib/furnace/anf/node.rb
furnace-0.0.6 lib/furnace/anf/node.rb
furnace-0.0.4 lib/furnace/anf/node.rb
furnace-0.0.3 lib/furnace/anf/node.rb
furnace-0.0.2 lib/furnace/anf/node.rb
furnace-0.0.1 lib/furnace/anf/node.rb