Search in sources :

Example 1 with Event

use of com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event in project gwt-test-utils by gwt-test-utils.

the class OverlayTypesRewriter method rewrite.

/**
     * Performs rewriting transformations on a class.
     *
     * @param className  the name of the class
     * @param classBytes the bytes of the class
     */
public byte[] rewrite(String className, byte[] classBytes) {
    Event classBytesRewriteEvent = SpeedTracerLogger.start(DevModeEventType.CLASS_BYTES_REWRITE, "Class Name", className);
    String desc = toDescriptor(className);
    assert !jsoIntfDescs.contains(desc);
    // The ASM model is to chain a bunch of visitors together.
    ClassWriter writer = new ClassWriter(0);
    ClassVisitor v = writer;
    // v = new CheckClassAdapter(v);
    // v = new TraceClassVisitor(v, new PrintWriter(System.out));
    v = new UseMirroredClasses(v, className);
    v = new RewriteSingleJsoImplDispatches(v, typeOracle, jsoData);
    v = new RewriteRefsToJsoClasses(v, jsoIntfDescs, mapper);
    if (jsoImplDescs.contains(desc)) {
        v = WriteJsoImpl.create(v, desc, jsoIntfDescs, mapper, jsoData);
    }
    if (Double.parseDouble(System.getProperty("java.class.version")) < Opcodes.V1_6) {
        v = new ForceClassVersion15(v);
    }
    new ClassReader(classBytes).accept(v, 0);
    classBytesRewriteEvent.end();
    return writer.toByteArray();
}
Also used : Event(com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event) ClassReader(org.objectweb.asm.ClassReader) ClassVisitor(org.objectweb.asm.ClassVisitor) ClassWriter(org.objectweb.asm.ClassWriter)

Example 2 with Event

use of com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event in project gwt-test-utils by gwt-test-utils.

the class GwtTestModuleSpaceHost method onModuleReady.

public void onModuleReady(ModuleSpace readySpace) throws UnableToCompleteException {
    this.space = readySpace;
    Event moduleSpaceHostReadyEvent = SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_HOST_READY);
    try {
        // Establish an environment for JavaScript property providers to run.
        //
        ModuleSpacePropertyOracle propOracle = new ModuleSpacePropertyOracle(module.getProperties(), module.getActiveLinkerNames(), readySpace);
        // Set up the rebind oracle for the module.
        // It has to wait until now because we need to inject javascript.
        //
        Rules rules = module.getRules();
        PrecompileTaskOptionsImpl options = new PrecompileTaskOptionsImpl();
        options.setGenDir(genDir);
        CompilerContext compilerContext = new CompilerContext.Builder().module(module).options(options).build();
        StandardGeneratorContext genCtx = new StandardGeneratorContext(compilerContext, compilationState, new ArtifactSet(), false);
        // Only enable generator result caching if we have a valid rebindCache
        genCtx.setGeneratorResultCachingEnabled(rebindCache != null);
        rebindOracle = new StandardRebindOracle(propOracle, rules, genCtx);
        rebindOracle.setRebindCache(rebindCache);
    } finally {
        moduleSpaceHostReadyEvent.end();
    }
}
Also used : StandardGeneratorContext(com.google.gwt.dev.javac.StandardGeneratorContext) PrecompileTaskOptionsImpl(com.google.gwt.dev.PrecompileTaskOptionsImpl) CompilerContext(com.google.gwt.dev.CompilerContext) Event(com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event) Rules(com.google.gwt.dev.cfg.Rules) ArtifactSet(com.google.gwt.core.ext.linker.ArtifactSet)

Aggregations

Event (com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event)2 ArtifactSet (com.google.gwt.core.ext.linker.ArtifactSet)1 CompilerContext (com.google.gwt.dev.CompilerContext)1 PrecompileTaskOptionsImpl (com.google.gwt.dev.PrecompileTaskOptionsImpl)1 Rules (com.google.gwt.dev.cfg.Rules)1 StandardGeneratorContext (com.google.gwt.dev.javac.StandardGeneratorContext)1 ClassReader (org.objectweb.asm.ClassReader)1 ClassVisitor (org.objectweb.asm.ClassVisitor)1 ClassWriter (org.objectweb.asm.ClassWriter)1