Package org.apache.flex.abc.semantics

Examples of org.apache.flex.abc.semantics.Label


     */
    public Label getLastLabel()
    {
        checkValidity();

        Label result = new Label();
        //  The InstructionList is never empty
        //  when this routine is called.
        labelCurrent(result);
        return result;
    }
View Full Code Here


            {
                newOperands[i] = operand;
                continue;
            }

            Label srcLabel = (Label)operand;
            Label clonedLabel = (Label)(srcLabel).clone();
            newOperands[i] = clonedLabel;

            // Remove the src Label from the active or pending set, and add
            // in the new cloned Label into the set from whence in came.
            if (srcActiveLabels != null && srcActiveLabels.remove(srcLabel))
View Full Code Here

    @Override
    Label getBreakLabel()
    {
        assert labelName != null;
        if ( null == this.breakLabel )
            this.breakLabel = new Label("#break#" + labelName);
        return this.breakLabel;
    }
View Full Code Here

     */
    @Override
    Label getContinueLabel()
    {
        if ( null == this.continueLabel )
            this.continueLabel = new Label("#continue#" + Integer.toHexString(this.hashCode()));
        return this.continueLabel;
    }
View Full Code Here

     */
    @Override
    public Label getBreakLabel()
    {
        if ( null == this.breakLabel )
            this.breakLabel = new Label("#break#" + Integer.toHexString(this.hashCode()));
        return this.breakLabel;
    }
View Full Code Here

    protected InlineFunctionLexicalScope(LexicalScope enclosingFrame, IASScope containingScope, boolean storeClassBinding, FunctionNode functionNode)
    {
        super(enclosingFrame, true);
        this.containingScope = containingScope;
        this.inlinedFunctionCallSiteLabel = new Label();
        // set the problems and methodBodySemanticChecker, so we don't create
        // any problems when trying to inline a function
        this.problems = new ArrayList<ICompilerProblem>();
        this.methodBodySemanticChecker = new MethodBodySemanticChecker(this);
View Full Code Here

            //  side effects, so we can't skip this.
            try_stmt = createInstructionList(iNode);
            try_stmt.addInstruction(OP_nop);
        }

        Label catch_tail = new Label();

        result.addAll(try_stmt);
        result.addInstruction(OP_jump, catch_tail);

        //  Get labels for the start and end of the try block.
        Label try_start = result.getLabel();
        Label try_end   = result.getLastLabel();

        for ( CatchPrototype catch_proto: catch_blocks )
        {
            boolean is_last_catch = catch_proto.equals(catch_blocks.lastElement());
View Full Code Here

        //  Create an emitter-time label, and attach
        //  it to an OP_label instruction for the
        //  backwards branch.
        result.addInstruction(OP_label);
        Label loop = result.getLastLabel();
        result.addAll(body);

        result.addAll(cond);
        result.addInstruction(OP_iftrue, loop);
View Full Code Here

        InstructionList result = createInstructionList(iNode);
        int failure_test = is_and? OP_iffalse : OP_iftrue;

        currentScope.getMethodBodySemanticChecker().checkCompoundAssignment(iNode, lvalue, failure_test);

        Label tail = new Label();

        if ( lvalue.isLocal() )
        {
            //  Fetch and test the current value.
            result.addInstruction(lvalue.getlocal());
View Full Code Here

     */
    InstructionList generateCompoundLogicalRuntimeNameAssignment(IASNode iNode, RuntimeMultiname name, InstructionList expr, boolean is_and, boolean need_value)
    {
        InstructionList result = createInstructionList(iNode);

        Label tail = new Label();
        int failure_test = is_and? OP_iffalse : OP_iftrue;

        Binding rhs_temp = null;
        InstructionList rhs_fetch = null;

View Full Code Here

TOP

Related Classes of org.apache.flex.abc.semantics.Label

Copyright © 2018 www.massapicom. 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.