Package org.adjective.syntactic.parser.node

Examples of org.adjective.syntactic.parser.node.ExpressionNode


    private ASTMethodDeclaration makeMethodDeclaration(final MethodInfo method, final ExpressionNode target, final ASTMemberReference reference)
    {
        final ASTFormalParameters parameters = makeFormalParameters(method);
        final ASTNameList exceptions = getExceptions(method);

        ExpressionNode expression = null;
        if (target instanceof ASTQualifiedIdentifier)
        {
            // Might be a class reference [static member ref, receiver member ref, or constructor ref]
            final TypeInfo refType = findType(target.as(ASTQualifiedIdentifier.class).getName());
            if (refType != null)
View Full Code Here


        }
    }

    private ExpressionNode makeStaticMethodCall(final JavaType javaType, final MethodInfo refMethod, final ASTArguments arguments)
    {
        final ExpressionNode prefix = new ASTQualifiedIdentifier(javaType.getTypeName());
        return makeMethodCall(prefix, refMethod, arguments);
    }
View Full Code Here

            if (!var.hasInitializer())
            {
                continue;
            }

            final ExpressionNode init = var.getInitializer();
            if (!init.is(ASTExpression.class))
            {
                continue;
            }

            ExpressionNode expr = init.as(ASTExpression.class).getBaseExpression();
            if (!expr.is(ASTPrimaryExpression.class))
            {
                continue;
            }

            final ASTPrimaryExpression primary = expr.as(ASTPrimaryExpression.class);
            ExpressionNode prefix = primary.getPrefix();
            if (prefix.is(ASTLambdaExpression.class))
            {
                final ASTLambdaExpression lambda = prefix.as(ASTLambdaExpression.class);
                final ExpressionNode convert = _lambdaConverter.convertLambda(lambda, getType(node, var));
                fixBody(lambda.getBody());
                var.replaceInitializer(new ASTExpression(convert));
                continue;
            }

            final Nodes<ExpressionSuffix> suffixes = primary.getSuffixes();
            if (suffixes.has(ASTMemberReference.class))
            {
                final List<ExpressionSuffix> leading = new ArrayList<ExpressionSuffix>();
                for (ExpressionSuffix suffix : suffixes)
                {
                    if (suffix.is(ASTMemberReference.class))
                    {
                        final ASTMemberReference reference = suffix.as(ASTMemberReference.class);
                        final ExpressionNode target = makePrimaryExpression(prefix, leading);
                        final ExpressionNode convert = _referenceConverter.convertReference(target,
                                                                                            reference,
                                                                                            getType(node, var));
                        prefix = new ASTBracketExpression(convert);
                        leading.clear();
                    }
View Full Code Here

        body.jjtAccept(new DefaultVisitor<Object, Object>()
        {
            @Override
            public Object visit(final ASTPrimaryExpression node, final Object data)
            {
                final ExpressionNode prefix = node.getPrefix();
                if (node.jjtGetNumChildren() == 1)
                {
                    if (prefix.is(ASTQualifiedIdentifier.class))
                    {
                        String id = prefix.as(ASTQualifiedIdentifier.class).getName();
                        markFinal(id);
                    }
                }
                if (prefix.is(ASTThis.class))
                {
                    final ASTQualifiedIdentifier newPrefix = new ASTQualifiedIdentifier(_className.peek());
                    final ASTMemberSuffix newSuffix = new ASTMemberSuffix(prefix.as(ASTThis.class));
                    node.setTo(newPrefix, merge(newSuffix, node.getSuffixes()));
                }
                return super.visit(node, data);
            }
View Full Code Here

TOP

Related Classes of org.adjective.syntactic.parser.node.ExpressionNode

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.