Package com.asakusafw.utils.java.model.util

Examples of com.asakusafw.utils.java.model.util.TypeBuilder


        Type type = importer.resolve(factory.newNamedType(value.getCompiled().getQualifiedName()));
        List<Expression> arguments = resolveArguments(node, value);
        assert rendezvous.containsKey(element);
        return new ExpressionBuilder(factory, factory.newThis())
            .field(node.getName())
            .assignFrom(new TypeBuilder(factory, type)
                .newObject(arguments)
                .toExpression())
            .toStatement();
    }
View Full Code Here


            SimpleName partitions = factory.newSimpleName("numPartitions");

            List<Statement> statements = Lists.create();
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .method(HASH_CODE_METHOD_NAME, key)
                .apply(InfixOperator.AND, new TypeBuilder(factory, t(Integer.class))
                    .field("MAX_VALUE")
                    .toExpression())
                .apply(InfixOperator.REMAINDER, partitions)
                .toReturnStatement());
View Full Code Here

                        .toStatement());
                }
                cases.add(factory.newBreakStatement());
            }
            cases.add(factory.newSwitchDefaultLabel());
            cases.add(new TypeBuilder(factory, t(AssertionError.class))
                .newObject(portId)
                .toThrowStatement());

            statements.add(factory.newSwitchStatement(portId, cases));
            statements.add(new ExpressionBuilder(factory, result)
View Full Code Here

            }

            Type objectType = importer.resolvePackageMember(
                    Models.append(factory, getClassName(), objectClass.getName()));
            if (context.element.getTypeParameters().isEmpty() == false) {
                objectType = new TypeBuilder(factory, objectType)
                        .parameterize(util.toTypeVariables(context.element))
                        .toType();
            }
            MethodDeclaration factoryMethod = createFactoryMethod(context, descriptor, objectType);
            if (factoryMethod == null) {
View Full Code Here

        assert rawObjectType != null;
        Type objectType;
        if (context.element.getTypeParameters().isEmpty()) {
            objectType = rawObjectType;
        } else {
            objectType = new TypeBuilder(factory, rawObjectType)
                .parameterize(util.toTypeVariables(context.element))
                .toType();
        }
        SimpleName newName = context.names.create("newName");
        return factory.newMethodDeclaration(
View Full Code Here

        assert context != null;
        assert descriptor != null;
        assert parameters != null;
        List<Statement> statements = Lists.create();
        SimpleName builderName = context.names.create("builder");
        statements.add(new TypeBuilder(factory, util.t(OperatorDescription.Builder.class))
            .newObject(factory.newClassLiteral(util.t(descriptor.getAnnotationType())))
            .toLocalVariableDeclaration(
                    util.t(OperatorDescription.Builder.class),
                    builderName));
        statements.add(new ExpressionBuilder(factory, builderName)
            .method("declare",
                    factory.newClassLiteral(util.t(operatorClass.getElement())),
                    factory.newClassLiteral(factory.newNamedType(
                            util.getImplementorName(operatorClass.getElement()))),
                    util.v(descriptor.getName()))
            .toStatement());
        for (VariableElement parameter : context.element.getParameters()) {
            statements.add(new ExpressionBuilder(factory, builderName)
                .method("declareParameter",
                        new TypeBuilder(factory, util.t(environment.getErasure(parameter.asType())))
                            .dotClass()
                            .toExpression())
                .toStatement());
        }
View Full Code Here

        for (String property : key.getGroupProperties()) {
            group.add(Models.toLiteral(factory, property));
        }
        List<Expression> order = Lists.create();
        for (ShuffleKey.Order o : key.getOrderings()) {
            order.add(new TypeBuilder(factory, util.t(ShuffleKey.Order.class))
                .newObject(
                        Models.toLiteral(factory, o.getProperty()),
                        new TypeBuilder(factory, util.t(ShuffleKey.Direction.class))
                            .field(o.getDirection().name())
                            .toExpression())
                .toExpression());
        }

        return new TypeBuilder(factory, util.t(ShuffleKey.class))
            .newObject(
                    toList(util.t(String.class), group),
                    toList(util.t(ShuffleKey.Order.class), order))
            .toExpression();
    }
View Full Code Here

    }

    private Expression toList(Type type, List<Expression> expressions) {
        assert type != null;
        assert expressions != null;
        return new TypeBuilder(factory, util.t(Arrays.class))
            .method("asList", factory.newArrayCreationExpression(
                    factory.newArrayType(type),
                    Collections.<Expression>emptyList(),
                    factory.newArrayInitializer(expressions)))
            .toExpression();
View Full Code Here

                objectType,
                factory.newSimpleName(JavaName.of(descriptor.getName()).toMemberName()),
                parameters,
                0,
                Collections.<Type>emptyList(),
                factory.newBlock(new TypeBuilder(factory, objectType)
                    .newObject(arguments)
                    .toReturnStatement()));
    }
View Full Code Here

                            context.resolve(Integer.class)),
                    f.newSimpleName(NAME_PROPERTY_POSITIONS),
                    null));
            List<Statement> statements = Lists.create();
            SimpleName map = f.newSimpleName("map");
            statements.add(new TypeBuilder(f, context.resolve(TreeMap.class))
                .parameterize(context.resolve(String.class), context.resolve(Integer.class))
                .newObject()
                .toLocalVariableDeclaration(
                        f.newParameterizedType(
                                context.resolve(Map.class),
View Full Code Here

TOP

Related Classes of com.asakusafw.utils.java.model.util.TypeBuilder

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.