Examples of TACInstruction


Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    if(astNode == null)
      throw new IllegalArgumentException("No node given.");

    if(instr.containsKey(astNode))
      return instr.get(astNode);
    TACInstruction result = createInstruction(astNode);
    instr.put(astNode, result);
    return result;
  }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

      throw new IllegalArgumentException("No node given.");
   
    // first look for a matching instruction
    // need this order because SimpleName nodes can have instruction
    // (see ConditionalExpression) and be a variable by themselves
    TACInstruction result = instruction(astNode);
    if(result != null) {
      if(result instanceof ResultfulInstruction)
        return ((ResultfulInstruction<?>) result).getResultVariable();
      throw new IllegalArgumentException("AST node has no result: " + astNode);
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final LE nodeResults = getResultsAfter(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final LE nodeResults = getResultsBefore(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final IResult<LE> nodeResults = getLabeledResultsAfter(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final IResult<LE> nodeResults = getLabeledResultsBefore(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

      super(tf, compUnitTacs);
    }
   
    public LE transfer(ASTNode astNode, LE incoming) {
      LE result;
      TACInstruction instr = tac.instruction(astNode);
      if(instr == null)
        result = incoming;
      else
        result = instr.transfer(tf, incoming);
      return result;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

        CompilationUnitTACs compUnitTacs) {
      super(tf, compUnitTacs);
    }

    public IResult<LE> transfer(ASTNode astNode, List<ILabel> labels, LE value) {
      TACInstruction instr = tac.instruction(astNode);
      if(instr == null)
        return new LabeledSingleResult<LE>(value, labels);
      else
        return instr.transfer(tf, labels, value);
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final LE nodeResults = getResultsAfter(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
View Full Code Here

Examples of edu.cmu.cs.crystal.tac.model.TACInstruction

    ASTNode node = instr.getNode();
    // get regular results before looking up root instruction
    // to switch to surrounding method, if necessary
    // (driver.tac could be null or outdated otherwise)
    final LE nodeResults = getResultsBefore(node);
    final TACInstruction rootInstr = this.driver.tac.instruction(node);
    if(rootInstr == instr) {
      // usual case: only one instruction for this node
      // return regular results
      return nodeResults;
    }
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.