Package org.candle.decompiler.intermediate.code

Examples of org.candle.decompiler.intermediate.code.IntermediateComparator


   
    //first, determine if the condition has two incoming lines.
    if(predecessors.size() >= 2) {
      //check to see that 1 predecessor is a GOTO.
     
      TreeSet<GoToIntermediate> incomingGotoNonNested = new TreeSet<GoToIntermediate>(new IntermediateComparator());
      TreeSet<GoToIntermediate> incomingGotoNested = new TreeSet<GoToIntermediate>(new IntermediateComparator());
      GoToIntermediate nestedLine = null;
      AbstractIntermediate otherLine = null;
     
      //classify.
      for(AbstractIntermediate predecessor : predecessors) {
View Full Code Here


    List<AbstractIntermediate> predecessors = Graphs.predecessorListOf(igc.getGraph(), line);
    if(predecessors.size() == 0) {
      return;
    }
   
    TreeSet<GoToIntermediate> gotoIntermediates = new TreeSet<GoToIntermediate>(new IntermediateComparator());
   
    for(AbstractIntermediate predecessor : predecessors) {
      if(predecessor instanceof GoToIntermediate) {
        gotoIntermediates.add((GoToIntermediate)predecessor);
      }
View Full Code Here

  private final TreeSet<AbstractIntermediate> orderedIntermediate;
  private final Map<Integer, InstructionHandle> instructionHandles;
 
  public IntermediateGraphContext(ListenableDirectedGraph<AbstractIntermediate, IntermediateEdge> graph) {
    super(graph);
    this.orderedIntermediate = new TreeSet<AbstractIntermediate>(new IntermediateComparator());
    this.instructionHandles = new TreeMap<Integer, InstructionHandle>();
   
    for(AbstractIntermediate ai : graph.vertexSet()) {
      Integer position = ai.getInstruction().getPosition();
      this.instructionHandles.put(position, ai.getInstruction());
View Full Code Here

   
    //now, we are going to look for the block jump.
    InstructionHandle ih = tryBlock.getBlockRange().getEnd();
    //see about a goto.
    GoToIntermediate gotoHandle = (GoToIntermediate)igc.findNextNode(ih.getNext());
    TreeSet<AbstractIntermediate> ordered = new TreeSet<AbstractIntermediate>(new IntermediateComparator());
    //no finally clause...
    ordered.addAll(igc.getCatchClauses(tryBlock));
   
    AbstractIntermediate target = igc.getTarget(gotoHandle);
    //now, look backwards and find the non-GOTO statement.
View Full Code Here

          throw new IllegalStateException("Inner direction already set.");
        }
        inner = successor;
      }
    }
    Collections.sort(catchBlocks, new IntermediateComparator());
   
    if(inner == null) {
      throw new IllegalStateException("Inner is not set.");
    }
   
View Full Code Here

TOP

Related Classes of org.candle.decompiler.intermediate.code.IntermediateComparator

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.