Examples of JCBlock


Examples of com.sun.tools.javac.tree.JCTree.JCBlock

         @param env    The environment current at the application.
         */
        boolean checkFirstConstructorStat(JCMethodInvocation tree, Env<AttrContext> env) {
            JCMethodDecl enclMethod = env.enclMethod;
            if (enclMethod != null && enclMethod.name == names.init) {
                JCBlock body = enclMethod.body;
                if (body.stats.head.getTag() == JCTree.EXEC &&
                    ((JCExpressionStatement) body.stats.head).expr == tree)
                    return true;
                // given tree allowed as last stmt in a Let
                if (body.stats.head.getTag() == JCTree.EXEC &&
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

                    make().AnonymousClassDef(make().Modifiers(0),
                            fields.toList().prepend(
                                    make().Block(0L,
                                            initIterator == null ? List.<JCStatement>nil() : List.<JCStatement>of(initIterator))
                                    )));
            JCBlock iteratorBlock = make().Block(0, List.<JCStatement>of(
                    make().Return(iterator)));
            return make().MethodDef(make().Modifiers(Flags.PUBLIC | Flags.FINAL), names().fromString("iterator"),
                    makeJavaType(iteratorType, JT_CLASS_NEW|JT_EXTENDS),
                List.<JCTree.JCTypeParameter>nil(), List.<JCTree.JCVariableDecl>nil(), List.<JCExpression>nil(),
                iteratorBlock, null);
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

                                                  make().Apply(null,
                                                               makeSelect(iterableExpr, "iterator"),
                                                               List.<JCExpression>nil()))),
                        make().Return(makeBoolean(true))
                ));
                JCBlock body = make().Block(0l, block);
                fields.add(make().MethodDef(make().Modifiers(Flags.PRIVATE | Flags.FINAL),
                        iterVar.asName(), makeJavaType(typeFact().getBooleanDeclaration().getType()),
                        List.<JCTree.JCTypeParameter>nil(),
                        List.<JCTree.JCVariableDecl>nil(), List.<JCExpression>nil(), body, null));
            }
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

       
        if (declarationModel instanceof Setter
                || (declarationModel instanceof MethodOrValue
                    && ((MethodOrValue)declarationModel).isParameter())) {
            // For local setters
            JCBlock setterBlock = makeSetterBlock(declarationModel, block, expression);
            builder.setterBlock(setterBlock);
            builder.skipGetter();
            if(Decl.isLocal(decl)){
                // we need to find back the Setter model for local setters, because
                // in transformAttribute(Tree.TypedDeclaration decl, Tree.AttributeSetterDefinition setterDecl)
                // we turn the declaration model from the Setter to its single parameter
                Setter setter = (Setter) declarationModel.getContainer();
                String getterClassName = Naming.getAttrClassName(setter.getGetter(), 0);
                JCExpression getterClassNameExpr = naming.makeUnquotedIdent(getterClassName);
                builder.isSetter(makeSelect(getterClassNameExpr, "class"));
            }
        } else {
            if (Decl.isValue(declarationModel)) {
                // For local and toplevel value attributes
                if (!declarationModel.isVariable() && !declarationModel.isLate()) {
                    builder.immutable();
                }
            } else {
                // For local and toplevel getters
                JCBlock getterBlock = makeGetterBlock(declarationModel, block, expression);
                builder.getterBlock(getterBlock);
               
                if (Decl.isLocal(declarationModel)) {
                    // For local getters
                    builder.immutable();
                } else {
                    // For toplevel getters
                    if (setterDecl != null) {
                        JCBlock setterBlock = makeSetterBlock(setterDecl.getDeclarationModel(),
                                setterDecl.getBlock(), setterDecl.getSpecifierExpression());
                        builder.setterBlock(setterBlock);
                        builder.userAnnotationsSetter(expressionGen().transform(setterDecl.getAnnotationList()));
                    } else {
                        builder.immutable();
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

            final JCExpression expression) {
       
        final String attrName = declarationModel.getName();
        final String attrClassName = Naming.getAttrClassName(declarationModel, 0);
       
        JCBlock getterBlock = makeGetterBlock(expression);
       
        // For everything else generate a getter/setter method
        AttributeDefinitionBuilder builder = AttributeDefinitionBuilder
            .indirect(this, attrClassName, attrName, declarationModel, declarationModel.isToplevel())
            .getterBlock(getterBlock)
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

            JCStatement nullValue = owner.make().Exec(owner.make().Assign(owner.makeUnquotedIdent(fieldName), owner.makeDefaultExprForType(this.attrType)));
            // the catch statements
            JCStatement initFlagFalse = owner.make().Exec(owner.make().Assign(
                    owner.naming.makeUnquotedIdent(Naming.getInitializationFieldName(fieldName)),
                    owner.make().Literal(false)));
            JCBlock handlerBlock = owner.make().Block(0, List.<JCTree.JCStatement>of(saveException, nullValue, initFlagFalse));
           
            // the catch block
            JCExpression throwableType = owner.makeJavaType(owner.syms().throwableType.tsym);
            JCVariableDecl exceptionParam = owner.make().VarDef(owner.make().Modifiers(0),
                    owner.naming.makeUnquotedName(exceptionName),
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

            } else {
                transStat = make().Return(expressionGen().transformExpression(expression.getExpression(), boxing, type));
            }
            stats = List.<JCStatement>of(transStat);
        }
        JCBlock getterBlock = make().Block(0, stats);
        return getterBlock;
    }
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

        return getterBlock;
    }

    JCBlock makeGetterBlock(final JCExpression expression) {
        List<JCStatement> stats = List.<JCStatement>of(make().Return(expression));
        JCBlock getterBlock = make().Block(0, stats);
        return getterBlock;
    }
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

            } else {
                transStmt = make().Exec(expressionGen().transformExpression(expression.getExpression(), BoxingStrategy.INDIFFERENT, type));
            }
            stats = List.<JCStatement>of(transStmt);
        }
        JCBlock setterBlock = make().Block(0, stats);
        return setterBlock;
    }
View Full Code Here

Examples of com.sun.tools.javac.tree.JCTree.JCBlock

        // companion class members are never actual no matter what the Declaration says
        if(forCompanion)
            builder.notActual();
       
        if (Decl.withinClass(decl) || forCompanion) {
            JCBlock setterBlock = makeSetterBlock(decl.getDeclarationModel(), decl.getBlock(), decl.getSpecifierExpression());
            builder.setterBlock(setterBlock);
        } else {
            builder.isFormal(true);
        }
        builder.userAnnotationsSetter(expressionGen().transform(decl.getAnnotationList()));
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.