Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.compiler.bytecode.partial;
 
 import static me.qmx.jitescript.util.CodegenUtils.*;
 
 import java.util.List;
 
 
    private List<PartialCompilerplans;
    public MultipleClassCompiler(Config configDynamicClassLoader classLoaderCodeGeneratingVisitorFactory factoryList<BlockStatementchunksint chunkSize) {
        super(configclassLoaderfactory);
        List<PartialCompilerplans = new ArrayList<PartialCompiler>();
        int classStart = 0;
        while (classStart < chunks.size()) {
            int classEnd = classStart + chunkSize;
            if (classEnd > chunks.size()) {
                classEnd = chunks.size();
            }
            List<BlockStatementclassChunks = chunks.subList(classStartclassEnd);
            SingleClassCompiler classPlan = new SingleClassCompiler(thisclassChunks);
            plans.add(classPlan);
            classStart = classEnd;
        }
        this. = treeify(planschunkSize);
    }
    private MultipleClassCompiler(MultipleClassCompiler parentList<PartialCompilerplans) {
        super(parent);
        this. = plans;
    }
    private List<PartialCompilertreeify(List<PartialCompilerplansint chunkSize) {
        while (plans.size() > chunkSize) {
            List<PartialCompilernewPlans = new ArrayList<PartialCompiler>();
            int treeStart = 0;
            while (treeStart < plans.size()) {
                int treeEnd = treeStart + chunkSize;
                if (treeEnd > plans.size()) {
                    treeEnd = plans.size();
                }
                List<PartialCompilertreePlans = plans.subList(treeStarttreeEnd);
                PartialCompiler treePlan = new MultipleClassCompiler(thistreePlans);
                newPlans.add(treePlan);
                treeStart = treeEnd;
            }
            plans = newPlans;
        }
        return plans;
    }
    @Override
    public void define(JiteClass clsExecutionContext contextboolean strict) {
        int numChunks = this..size();
        for (int i = 0; i < numChunks; ++i) {
            JiteClass chunkClass = new JiteClass(cls.getClassName() + "$" + inew String[] { p(BasicBlock.class) });
            chunkClass.defineDefaultConstructor();
            this..get(i).define(chunkClasscontextstrict);
            defineClass(chunkClass);
            cls.defineField("chunk" + i.ci(BasicBlock.class), null);
        }
        cls.defineMethod("call".sig(Completion.classExecutionContext.class), new MultipleClassCaller(cls.getClassName(), numChunks));
        cls.defineMethod("initializeCode".sig(void.class), new MultipleClassInitializer(cls.getClassName(), numChunks));
    }
New to GrepCode? Check out our FAQ X