Exemplo n.º 1
0
 public void output(
     SchemaCollection sc,
     final OutputDirectory od,
     String[] params,
     String inputFormat,
     ErrorHandler eh)
     throws SAXException, IOException, OutputFailedException, InvalidParamsException {
   new OutputDirectoryParamProcessor(od).process(params, eh);
   Simplifier.simplify(sc);
   try {
     ErrorReporter er = new ErrorReporter(eh, DtdOutputFormat.class);
     Analysis analysis = new Analysis(sc, er);
     if (!er.getHadError()) DtdOutput.output(!inputFormat.equals("xml"), analysis, od, er);
     if (er.getHadError()) throw new OutputFailedException();
   } catch (ErrorReporter.WrappedSAXException e) {
     throw e.getException();
   }
 }
  private OptimizerStats execImpl(JNode node, OptimizerContext optimizerCtx) {
    OptimizerStats stats = new OptimizerStats(NAME);
    AnalysisVisitor analysisVisitor = new AnalysisVisitor();
    analysisVisitor.accept(node);

    for (JParameter parameter : parameterValues.keySet()) {
      if (nonOptimizableMethods.contains(parameter.getEnclosingMethod())) {
        continue;
      }
      JValueLiteral valueLiteral = parameterValues.get(parameter);
      if (valueLiteral != null) {
        SubstituteParameterVisitor substituteParameterVisitor =
            new SubstituteParameterVisitor(
                parameter, Simplifier.cast(parameter.getType(), valueLiteral), optimizerCtx);
        substituteParameterVisitor.accept(parameter.getEnclosingMethod());
        stats.recordModified(substituteParameterVisitor.getNumMods());
      }
    }
    JavaAstVerifier.assertProgramIsConsistent(program);
    return stats;
  }
Exemplo n.º 3
0
 public AslanppOn(AslanppExpression guard) {
   this.guard =
       Simplifier.simplifyLogic(VirtualAslanppSpecialContains.eliminateVirtualInstruction(guard));
   this.guard.setParent(this);
 }