Package com.asakusafw.utils.java.model.syntax

Examples of com.asakusafw.utils.java.model.syntax.SimpleName


                    Collections.singletonList(t(IOException.class)),
                    factory.newBlock(statements));
        }

        private MethodDeclaration createReadFieldsMethod() {
            SimpleName in = factory.newSimpleName("in");

            Expression segmentId = new ExpressionBuilder(factory, factory.newThis())
                .field(SEGMENT_ID_FIELD_NAME)
                .toExpression();
View Full Code Here


        Class<?> enumType = method.getReturnType();
        List<Tuple2<Enum<?>, FlowElementPortDescription>> constants =
            EnumUtil.extractConstants(enumType, desc.getOutputPorts());

        Expression impl = context.createImplementation();
        SimpleName branch = context.createName("branch");
        context.addProcess(tx, new ExpressionBuilder(f, impl)
            .method(desc.getDeclaration().getName(), arguments)
            .toLocalVariableDeclaration(
                    context.convert(enumType),
                    branch));
View Full Code Here

        LOG.debug("{}に対するグループ比較器を生成します", model.getStageBlock());
        Engine engine = new Engine(environment, model, keyTypeName);
        CompilationUnit source = engine.generate();
        environment.emit(source);
        Name packageName = source.getPackageDeclaration().getName();
        SimpleName simpleName = source.getTypeDeclarations().get(0).getName();
        Name name = environment.getModelFactory().newQualifiedName(packageName, simpleName);
        LOG.debug("{}のグループ比較には{}が利用されます",
                model.getStageBlock(),
                name);
        return name;
View Full Code Here

                    Collections.singletonList(type),
                    Collections.<Comment>emptyList());
        }

        private TypeDeclaration createType() {
            SimpleName name = factory.newSimpleName(Naming.getShuffleGroupingComparatorClass());
            importer.resolvePackageMember(name);
            List<TypeBodyDeclaration> members = Lists.create();
            members.add(createCompareBytes());
            members.add(createCompareObjects());
            members.add(ShuffleEmiterUtil.createCompareInts(factory));
View Full Code Here

                                    Collections.singletonList(keyType)))),
                    members);
        }

        private MethodDeclaration createCompareBytes() {
            SimpleName b1 = factory.newSimpleName("b1");
            SimpleName s1 = factory.newSimpleName("s1");
            SimpleName l1 = factory.newSimpleName("l1");
            SimpleName b2 = factory.newSimpleName("b2");
            SimpleName s2 = factory.newSimpleName("s2");
            SimpleName l2 = factory.newSimpleName("l2");

            List<Statement> statements = Lists.create();
            SimpleName segmentId1 = factory.newSimpleName("segmentId1");
            SimpleName segmentId2 = factory.newSimpleName("segmentId2");
            statements.add(new TypeBuilder(factory, t(WritableComparator.class))
                .method("readInt", b1, s1)
                .toLocalVariableDeclaration(t(int.class), segmentId1));
            statements.add(new TypeBuilder(factory, t(WritableComparator.class))
                .method("readInt", b2, s2)
                .toLocalVariableDeclaration(t(int.class), segmentId2));

            SimpleName diff = factory.newSimpleName("diff");
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .method(ShuffleEmiterUtil.COMPARE_INT,
                        new ExpressionBuilder(factory, factory.newThis())
                            .method(ShuffleEmiterUtil.PORT_TO_ELEMENT, segmentId1)
                            .toExpression(),
                        new ExpressionBuilder(factory, factory.newThis())
                            .method(ShuffleEmiterUtil.PORT_TO_ELEMENT, segmentId2)
                            .toExpression())
                .toLocalVariableDeclaration(t(int.class), diff));
            statements.add(createDiffBranch(diff));

            SimpleName o1 = factory.newSimpleName("o1");
            SimpleName o2 = factory.newSimpleName("o2");
            SimpleName size1 = factory.newSimpleName("size1");
            SimpleName size2 = factory.newSimpleName("size2");
            statements.add(new ExpressionBuilder(factory, v(4))
                .toLocalVariableDeclaration(t(int.class), o1));
            statements.add(new ExpressionBuilder(factory, v(4))
                .toLocalVariableDeclaration(t(int.class), o2));
            statements.add(new ExpressionBuilder(factory, v(-1))
View Full Code Here

                        .toReturnStatement(),
                    null);
        }

        private TypeBodyDeclaration createCompareObjects() {
            SimpleName o1 = factory.newSimpleName("o1");
            SimpleName o2 = factory.newSimpleName("o2");

            List<Statement> statements = Lists.create();
            SimpleName segmentId1 = factory.newSimpleName("segmentId1");
            SimpleName segmentId2 = factory.newSimpleName("segmentId2");
            statements.add(new ExpressionBuilder(factory, o1)
                .method(SegmentedWritable.ID_GETTER)
                .toLocalVariableDeclaration(t(int.class), segmentId1));
            statements.add(new ExpressionBuilder(factory, o2)
                .method(SegmentedWritable.ID_GETTER)
                .toLocalVariableDeclaration(t(int.class), segmentId2));

            SimpleName diff = factory.newSimpleName("diff");
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .method(ShuffleEmiterUtil.COMPARE_INT,
                        new ExpressionBuilder(factory, factory.newThis())
                            .method(ShuffleEmiterUtil.PORT_TO_ELEMENT, segmentId1)
                            .toExpression(),
View Full Code Here

        }

        private Expression addField(Type type, String name, Expression init) {
            assert type != null;
            assert name != null;
            SimpleName fieldName = createName(name);
            FieldDeclaration field = factory.newFieldDeclaration(
                    null,
                    new AttributeBuilder(factory)
                        .Private()
                        .toAttributes(),
View Full Code Here

     * このジェネレータの情報を利用して型宣言の情報を生成する。
     * @return 生成したモデル
     */
    public TypeDeclaration generate() {
        // 先に名前空間を退避する
        SimpleName name = getClassName();
        importer.resolvePackageMember(Models.append(
                factory,
                name,
                getObjectClassName()));
        return factory.newClassDeclaration(
View Full Code Here

        return results;
    }

    private TypeDeclaration createObjectClass() {
        SimpleName name = getObjectClassName();
        NamedType objectType = (NamedType) importer.resolvePackageMember(
                Models.append(factory, getClassName(), name));
        List<TypeBodyDeclaration> members = createObjectMembers(objectType);
        return factory.newClassDeclaration(
                new JavadocBuilder(factory)
View Full Code Here

    }

    private MethodDeclaration createRenamer(NamedType objectType, NameGenerator names) {
        assert objectType != null;
        assert names != null;
        SimpleName newName = names.create("newName");
        return factory.newMethodDeclaration(
                new JavadocBuilder(factory)
                    .text("この演算子の名前を設定する。")
                    .param(newName)
                        .text("設定する名前")
View Full Code Here

TOP

Related Classes of com.asakusafw.utils.java.model.syntax.SimpleName

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.