Top Description Inners Fields Constructors Methods
org.jruby.ir.representations

public Class IGVCFGVisitor

extends Object
Class Inheritance
Imports
java.io.PrintStream, java.util.ArrayList, .HashMap, .List, .Map, org.jruby.ir.Tuple, org.jruby.ir.instructions.BranchInstr, .Instr, .JumpInstr, .JumpTargetInstr, org.jruby.ir.util.IGVInstrListener

Not a double visitor but I did not want both instr and dirgra to have this visitor have an accept added to it. dirgra is external package and instr I can foresee wanting a different visitor altogether not accessed via CFG.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
pack-priv final List<IGVCFGVisitor.Edge>
pack-priv final Map<BasicBlock, Integer>
pack-priv final List<IGVCFGVisitor.Edge>
pack-priv Instr
pack-priv final IGVInstrListener
pack-priv final PrintStream

Constructor Summary

AccessConstructor and Description
public
IGVCFGVisitor(CFG cfg, PrintStream writer, String name)

Method Summary

Modifier and TypeMethod and Description
public void
BasicBlock(BasicBlock basicBlock)

public void
CFG(CFG cfg, String name)

public int
Instr(Instr instr)

protected void
protected void
protected void
visitInstrs(BasicBlock basicBlock)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

extraInstrEdgesback to summary
pack-priv final List<IGVCFGVisitor.Edge> extraInstrEdges
indexOffsetsback to summary
pack-priv final Map<BasicBlock, Integer> indexOffsets
instrEdgesback to summary
pack-priv final List<IGVCFGVisitor.Edge> instrEdges
lastInstrback to summary
pack-priv Instr lastInstr
listenerback to summary
pack-priv final IGVInstrListener listener
writerback to summary
pack-priv final PrintStream writer

Constructor Detail

IGVCFGVisitorback to summary
public IGVCFGVisitor(CFG cfg, PrintStream writer, String name)

Method Detail

BasicBlockback to summary
public void BasicBlock(BasicBlock basicBlock)
CFGback to summary
public void CFG(CFG cfg, String name)
Instrback to summary
public int Instr(Instr instr)
visitBasicBlocksback to summary
protected void visitBasicBlocks(CFG cfg)
visitEdgesback to summary
protected void visitEdges(CFG cfg)
visitInstrsback to summary
protected void visitInstrs(BasicBlock basicBlock)
org.jruby.ir.representations back to summary

private Class IGVCFGVisitor.Edge

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final int
pack-priv final String
pack-priv final Object

Constructor Summary

AccessConstructor and Description
public
Edge(int from, Object to, String name)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fromback to summary
pack-priv final int from
nameback to summary
pack-priv final String name
toback to summary
pack-priv final Object to

Constructor Detail

Edgeback to summary
public Edge(int from, Object to, String name)