Package com.dragome.compiler.graph

Examples of com.dragome.compiler.graph.SwitchEdge


    for (Edge e : header.getOutEdges())
    {
      if (!(e instanceof SwitchEdge))
        continue;

      SwitchEdge edge= (SwitchEdge) e;
      Node caseGroup= edge.target;

      if (prevPotentialFallThroughEdge != null && prevPotentialFallThroughEdge.target == caseGroup)
      {
View Full Code Here


    for (Edge e : new ArrayList<Edge>(header.getOutEdges()))
    {
      if (!(e instanceof SwitchEdge))
        continue;

      SwitchEdge edge= (SwitchEdge) e;
      Node caseGroup= edge.target;
      caseGroups.add(caseGroup);
      caseGroupExpressions.add(edge.expressions);
      graph.rerootOutEdges(caseGroup, newNode, true);
      graph.removeOutEdges(caseGroup);
View Full Code Here

    return new VariableBinding[] { vb2, vb3 };
  }

  private SwitchEdge getOrCreateCaseGroup(Node header, Map<Integer, SwitchEdge> switchEdges, int startPc)
  {
    SwitchEdge switchEdge= switchEdges.get(startPc);
    if (switchEdge == null)
    {
      Node caseGroupNode= graph.createNode(startPc);
      switchEdge= (SwitchEdge) graph.addEdge(header, caseGroupNode, SwitchEdge.class);
      switchEdges.put(startPc, switchEdge);
View Full Code Here

          else
          {
            key= low + i;
          }

          SwitchEdge switchEdge= getOrCreateCaseGroup(switchNode, caseGroups, offset + bytes.readInt());
          switchEdge.expressions.add(NumberLiteral.create(new Integer(key)));
        }

        try
        {
View Full Code Here

TOP

Related Classes of com.dragome.compiler.graph.SwitchEdge

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.