Пример #1
0
 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);
 }
Пример #2
0
 // 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();
     }
 }
Пример #3
0
        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();
            }
        }
Пример #4
0
 // 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);
 }