Examples of IMethodBodyVisitor


Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

        cinfo.cInit = new MethodInfo();
        IMethodVisitor cInitVisitor = visitor.visitMethod(cinfo.cInit);
        cInitVisitor.visit();
        MethodBodyInfo cInitMethodBodyInfo = new MethodBodyInfo();
        cInitMethodBodyInfo.setMethodInfo(cinfo.cInit);
        IMethodBodyVisitor cInitMethodBodyVisitor = cInitVisitor.visitBody(cInitMethodBodyInfo);
        cInitMethodBodyVisitor.visit();
        cInitMethodBodyVisitor.visitInstructionList(cinitInstructions);
        cInitMethodBodyVisitor.visitEnd();
        cInitVisitor.visitEnd();

        iinfo = new InstanceInfo();
       
        if(hasProtectedMembers)
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

        MethodInfo scriptInitMethodInfo = new MethodInfo();
        IMethodVisitor scriptInitMethodVisitor = visitor.visitMethod(scriptInitMethodInfo);
        scriptInitMethodVisitor.visit();
        MethodBodyInfo scriptInitMethodBodyInfo = new MethodBodyInfo();
        scriptInitMethodBodyInfo.setMethodInfo(scriptInitMethodInfo);
        IMethodBodyVisitor scriptInitMethodBodyVisitor = scriptInitMethodVisitor.visitBody(scriptInitMethodBodyInfo);
        scriptInitMethodBodyVisitor.visit();
        InstructionList scriptInitInstructions = new InstructionList();
        scriptInitInstructions.addInstruction(OP_getlocal0);
        scriptInitInstructions.addInstruction(OP_pushscope);
        finishClass(scriptInitInstructions);
        if (scriptInitInstructions.canFallThrough())
            scriptInitInstructions.addInstruction(OP_returnvoid);
        scriptInitMethodBodyVisitor.visitInstructionList(scriptInitInstructions);
        scriptInitMethodBodyVisitor.visitEnd();
        scriptInitMethodVisitor.visitEnd();
        sv.visitInit(scriptInitMethodInfo);
        sv.visitEnd();
    }
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

     @return the active IMethodBodyVisitor.
     */
    IMethodBodyVisitor getMethodBodyVisitor()
    {
       
        IMethodBodyVisitor result = this.methodBodyVisitor;

        if ( result == null && this.enclosingFrame != null )
        {
            result = this.enclosingFrame.getMethodBodyVisitor();
        }
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

        @Override
        public IMethodBodyVisitor visitBody(MethodBodyInfo mbi)
        {
            //  Set up the optimizer pipeline.
            IMethodBodyVisitor delegate = super.visitBody(mbi);

            if ( removeDeadCode )
            {
                IDiagnosticsVisitor diagnostics = new AbstractDiagnosticVisitor()
                {
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

        methodVisitor.visit();

        // Generate method body.
        final MethodBodyInfo methodBodyInfo = new MethodBodyInfo();
        methodBodyInfo.setMethodInfo(methodInfo);
        final IMethodBodyVisitor methodBodyVisitor = methodVisitor.visitBody(methodBodyInfo);
        methodBodyVisitor.visit();
        methodBodyVisitor.visitInstructionList(propertyList.closureReduction);
        methodBodyVisitor.visitEnd();

        // Finish anonymous function.
        methodVisitor.visitEnd();

        // Populate the closure name-body map with method info objects.
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

            MethodBodyInfo iinit = new MethodBodyInfo();
            iinit.setMethodInfo(this.iinfo.iInit);
           
            IMethodVisitor mv = emitter.visitMethod(this.iinfo.iInit);
            mv.visit();
            IMethodBodyVisitor mbv = mv.visitBody(iinit);
            InstructionList ctor_insns = new InstructionList();
            ctor_insns.addInstruction(OP_getlocal0);
            ctor_insns.addInstruction(OP_pushscope);
           
            ctor_insns.addAll(this.iinitInsns);

            //  Call the superclass' constructor after the instance
            //  init instructions; this doesn't seem like an abstractly
            //  correct sequence, but it's what ASC does.
            ctor_insns.addInstruction(OP_getlocal0);
            ctor_insns.addInstruction(OP_constructsuper, 0);

            ctor_insns.addInstruction(OP_returnvoid);
            mbv.visit();
            mbv.visitInstructionList(ctor_insns);
            mbv.visitEnd();
            mv.visitEnd();
        }

        //  If the class has static initialization
        //  logic, emit a cinit routine.
View Full Code Here

Examples of org.apache.flex.abc.visitors.IMethodBodyVisitor

        mb.initial_scope = p.readU30();
        mb.max_scope = p.readU30();
        mb.code_len = p.readU30();
        mb.setMethodInfo(this.readPool(methodInfos, method_id, "methodInfo"));

        IMethodBodyVisitor mv = null;
        ITraitsVisitor tv = NilVisitors.NIL_TRAITS_VISITOR;

        if (this.readPool(methodVisitors, method_id, "methodVisitor") != null)
            mv = this.readPool(methodVisitors, method_id, "methodVisitor").visitBody(mb);

        if (mv != null)
        {
            mv.visit();
            readCode(mb, mv, p);
            tv = mv.visitTraits();
            mv.visitEnd();
            this.readPool(methodVisitors, method_id, "methodVisitor").visitEnd();
            this.methodVisitors[method_id] = null;
        }
        else
        {
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.