Examples of SwitchEdge


Examples of ai.cfg.edges.SwitchEdge

    }
   
    @Override
    public void match(CFGSingleEdge cfgEdge, BiMap<String, Variable> variables) {
      ensureCorrectType(cfgEdge, SwitchEdge.class);
      SwitchEdge switchEdge = (SwitchEdge) cfgEdge.edge;
      String message = "Expected '" + this.toString() + "', have '" + cfgEdge.toString() + "' instead.";
      if (cfgEdge.edgeIdx == 0) // default
        org.junit.Assert.assertEquals(message, details, "default, "+switchEdge.expr);
      else
        org.junit.Assert.assertEquals(message, details, switchEdge.cases[cfgEdge.edgeIdx-1]+", "+switchEdge.expr);
View Full Code Here

Examples of ai.cfg.edges.SwitchEdge

      List<Pair<CFGVertice, Expression>> cases) {
    assertGraphVertice(previousVertice);
    assertGraphVertice(defaultVertice);
    for(Pair<CFGVertice, Expression> aCase: cases)
      assertGraphVertice(aCase.left);
    CFGMultiTargetEdge edge = new SwitchEdge(previousVertice, expression, defaultVertice, cases);
    previousVertice.addEdge(edge);
    edges.add(edge);
  }
View Full Code Here

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

Examples of com.dragome.compiler.graph.SwitchEdge

    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

Examples of com.dragome.compiler.graph.SwitchEdge

    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

Examples of com.dragome.compiler.graph.SwitchEdge

          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
Copyright © 2018 www.massapi.com. 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.