public override bool Equals(object o) { if (this == o) { return(true); } if (o is HookChart.ChartIndex) { HookChart.ChartIndex ci = (HookChart.ChartIndex)o; return(state == ci.state && head == ci.head && tag == ci.tag && loc == ci.loc); } return(false); }
// log.info("#### HookChart list length is " + list.size()); public virtual void AddEdge(Edge edge) { tempIndex.state = edge.state; tempIndex.head = edge.head; tempIndex.tag = edge.tag; // left index tempIndex.loc = edge.start; HookChart.ChartIndex index = (HookChart.ChartIndex)interner.Intern(tempIndex); Insert(registeredEdgesByLeftIndex, index, edge); if (index == tempIndex) { tempIndex = new HookChart.ChartIndex(); tempIndex.state = edge.state; tempIndex.head = edge.head; tempIndex.tag = edge.tag; } tempIndex.loc = edge.end; index = (HookChart.ChartIndex)interner.Intern(tempIndex); Insert(registeredEdgesByRightIndex, index, edge); if (index == tempIndex) { tempIndex = new HookChart.ChartIndex(); } }
public virtual void AddHook(Hook hook) { IDictionary <HookChart.ChartIndex, IList <Hook> > map; tempIndex.state = hook.subState; tempIndex.head = hook.head; tempIndex.tag = hook.tag; if (hook.IsPreHook()) { tempIndex.loc = hook.start; map = registeredPreHooks; } else { tempIndex.loc = hook.end; map = registeredPostHooks; } HookChart.ChartIndex index = (HookChart.ChartIndex)interner.Intern(tempIndex); Insert(map, index, hook); if (index == tempIndex) { tempIndex = new HookChart.ChartIndex(); } }
// used in many methods to decrease new's // used to decrease new's public virtual void RegisterEdgeIndexes(Edge edge) { tempIndex.state = edge.state; tempIndex.head = edge.head; tempIndex.tag = edge.tag; tempIndex.loc = edge.start; HookChart.ChartIndex index = (HookChart.ChartIndex)interner.Intern(tempIndex); builtLIndexes.Add(index); if (index == tempIndex) { tempIndex = new HookChart.ChartIndex(); tempIndex.state = edge.state; tempIndex.head = edge.head; tempIndex.tag = edge.tag; } //System.out.println("Edge registered: "+edge); tempIndex.loc = edge.end; index = (HookChart.ChartIndex)interner.Intern(tempIndex); if (index == tempIndex) { tempIndex = new HookChart.ChartIndex(); } builtRIndexes.Add(index); }