Package org.apache.flex.compiler.definitions

Examples of org.apache.flex.compiler.definitions.IClassDefinition


        IFunctionDefinition definition = node.getDefinition();

        if (node.isConstructor())
        {
            initializingFieldsInConstructor = true;
            IClassDefinition type = (IClassDefinition) definition
                    .getAncestorOfType(IClassDefinition.class);
            // emit public fields init values
            List<IVariableDefinition> fields = TempTools.getFields(type, true);
            for (IVariableDefinition field : fields)
            {
View Full Code Here


    void initializeInheritenceLevel(IDefinition definition)
    {
        if (inheritenceLevel != -1)
            return;

        IClassDefinition cdefinition = null;
        if (definition instanceof IClassDefinition)
            cdefinition = (IClassDefinition) definition;
        else
            cdefinition = (IClassDefinition) definition
                    .getAncestorOfType(IClassDefinition.class);

        ICompilerProject project = getWalker().getProject();
        IClassDefinition[] ancestry = cdefinition.resolveAncestry(project);
        inheritenceLevel = ancestry.length - 1;
    }
View Full Code Here

    @Override
    public void emitDocumentHeader(IMXMLFileNode node)
    {
        IMXMLDocumentNode dnode = node.getDocumentNode();
       
        IClassDefinition cdef = dnode
                .getClassReference((ICompilerProject) walker.getProject());

        write("<" + cdef.getBaseName());

        emitPropertySpecifiers(dnode.getPropertySpecifierNodes(), true);

        writeNewline(">", true);
    }
View Full Code Here

    @Override
    public void emitDocumentFooter(IMXMLFileNode node)
    {
        IMXMLDocumentNode dnode = node.getDocumentNode();
       
        IClassDefinition cdef = dnode
                .getClassReference((ICompilerProject) walker.getProject());

        writeNewline("", false);
        write("</" + cdef.getBaseName() + ">");
    }
View Full Code Here

    }

    @Override
    public void emitInstance(IMXMLInstanceNode node)
    {
        IClassDefinition cdef = node
                .getClassReference((ICompilerProject) getMXMLWalker()
                        .getProject());

        String cname = cdef.getBaseName();

        write("<");
        write(cname);
        if (node.getID() != null && node.getID() != "")
        {
View Full Code Here

    //--------------------------------------------------------------------------

    @Override
    public void emitClass(IClassNode node)
    {
        IClassDefinition definition = node.getDefinition();

        IFunctionDefinition ctorDefinition = definition.getConstructor();

        // Static-only (Singleton) classes may not have a constructor
        if (ctorDefinition != null)
        {
            IFunctionNode ctorNode = (IFunctionNode) ctorDefinition.getNode();
            if (ctorNode != null)
            {
                // constructor
                emitMethod(ctorNode);
                write(ASEmitterTokens.SEMICOLON);
            }
            else
            {
                String qname = definition.getQualifiedName();
                if (qname != null && !qname.equals(""))
                {
                    write(qname);
                    write(ASEmitterTokens.SPACE);
                    writeToken(ASEmitterTokens.EQUAL);
View Full Code Here

    }

    @Override
    public void emitField(IVariableNode node)
    {
        IClassDefinition definition = getClassDefinition(node);

        IDefinition def = null;
        IExpressionNode enode = node.getVariableTypeNode();//getAssignedValueNode();
        if (enode != null)
            def = enode.resolveType(getWalker().getProject());

        getDoc().emitFieldDoc(node, def);

        /* x.prototype.y = z */

        ModifiersSet modifierSet = node.getDefinition().getModifiers();
        String root = "";
        if (modifierSet != null && !modifierSet.hasModifier(ASModifier.STATIC))
        {
            root = JSEmitterTokens.PROTOTYPE.getToken();
            root += ASEmitterTokens.MEMBER_ACCESS.getToken();
        }
        write(definition.getQualifiedName()
                + ASEmitterTokens.MEMBER_ACCESS.getToken() + root
                + node.getName());

        IExpressionNode vnode = node.getAssignedValueNode();
        if (vnode != null)
View Full Code Here

    }

    private static IClassDefinition getSuperClassDefinition(
            IDefinitionNode node, ICompilerProject project)
    {
        IClassDefinition parent = (IClassDefinition) node.getDefinition()
                .getParent();
        IClassDefinition superClass = parent.resolveBaseClass(project);
        return superClass;
    }
View Full Code Here

    }

    protected boolean hasSuperClass(IDefinitionNode node)
    {
        ICompilerProject project = getWalker().getProject();
        IClassDefinition superClassDefinition = getSuperClassDefinition(node,
                project);
        // XXX (mschmalle) this is nulling for MXML super class, figure out why
        if (superClassDefinition == null)
            return false;
        String qname = superClassDefinition.getQualifiedName();
        return superClassDefinition != null
                && !qname.equals(IASLanguageConstants.Object);
    }
View Full Code Here

    }

    @Override
    public void emitMethodDoc(IFunctionNode node, ICompilerProject project)
    {
        IClassDefinition classDefinition = resolveClassDefinition(node);

        if (node instanceof IFunctionNode)
        {
            boolean hasDoc = false;

            if (node.isConstructor())
            {
                begin();
                hasDoc = true;

                emitJSDocLine(JSEmitterTokens.CONSTRUCTOR);

                IClassDefinition parent = (IClassDefinition) node
                        .getDefinition().getParent();
                IClassDefinition superClass = parent.resolveBaseClass(project);
                String qname = superClass.getQualifiedName();

                if (superClass != null
                        && !qname.equals(IASLanguageConstants.Object))
                    emitExtends(superClass, superClass.getPackageName());

                IReference[] references = classDefinition
                        .getImplementedInterfaceReferences();
                for (IReference iReference : references)
                {
View Full Code Here

TOP

Related Classes of org.apache.flex.compiler.definitions.IClassDefinition

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.