1 16 package com.google.gwt.dev.jjs.impl; 17 18 import com.google.gwt.dev.jjs.ast.Context; 19 import com.google.gwt.dev.jjs.ast.JAssertStatement; 20 import com.google.gwt.dev.jjs.ast.JBlock; 21 import com.google.gwt.dev.jjs.ast.JModVisitor; 22 import com.google.gwt.dev.jjs.ast.JProgram; 23 import com.google.gwt.dev.jjs.ast.JStatement; 24 25 28 public class AssertionRemover { 29 30 33 public class AssertVisitor extends JModVisitor { 34 35 public void endVisit(JAssertStatement x, Context ctx) { 36 removeMe(x, ctx); 37 } 38 39 private void removeMe(JStatement stmt, Context ctx) { 40 if (ctx.canRemove()) { 41 ctx.removeMe(); 42 } else { 43 ctx.replaceMe(new JBlock(program, stmt.getSourceInfo())); 45 } 46 } 47 } 48 49 public static void exec(JProgram program) { 50 new AssertionRemover(program).execImpl(); 51 } 52 53 private final JProgram program; 54 55 public AssertionRemover(JProgram program) { 56 this.program = program; 57 } 58 59 private void execImpl() { 60 AssertVisitor assertVisitor = new AssertVisitor(); 61 assertVisitor.accept(program); 62 } 63 } 64 | Popular Tags |