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

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


     */
    @Test
    public void Ex1_Ex2() {
        List<StageModel> stages = compile(ProjectFlowSame.class);
        Fragment fragment = stages.get(0).getMapUnits().get(0).getFragments().get(0);
        Name name = fragment.getCompiled().getQualifiedName();

        ClassLoader loader = start();
        PortMapper mapper = new PortMapper(fragment);
        MockResult<Ex2> result = mapper.create("out");

View Full Code Here


                PackageDeclaration packageDecl) {
            this.factory = factory;
            this.strategy = strategy;
            this.knownPackageNames = new HashSet<Name>();
            if (packageDecl != null) {
                Name current = packageDecl.getName();
                while (current instanceof QualifiedName) {
                    this.knownPackageNames.add(current);
                    current = ((QualifiedName) current).getQualifier();
                }
                this.knownPackageNames.add(current);
View Full Code Here

            return elem;
        }

        @Override
        public Type visitNamedType(NamedType elem, Void context) {
            Name name = elem.getName();

            if (name.getModelKind() == ModelKind.SIMPLE_NAME) {
                reserved.put((SimpleName) name, elem.getName());
                return elem;
            }

            LinkedList<SimpleName> segments = new LinkedList<SimpleName>();
            name = normalize(name, segments);
            if (name.getModelKind() == ModelKind.SIMPLE_NAME) {
                reserved.put((SimpleName) name, elem.getName());
                return elem;
            }

            QualifiedName qname = (QualifiedName) name;
View Full Code Here

        }

        private Name normalize(
                Name name,
                LinkedList<SimpleName> segments) {
            Name current = name;
            if (strategy == Strategy.TOP_LEVEL) {
                while (isLikeEnclosingType(current)) {
                    QualifiedName qname = (QualifiedName) current;
                    segments.addFirst(qname.getSimpleName());
                    current = qname.getQualifier();
                }
            }
            if (current.getModelKind() == ModelKind.QUALIFIED_NAME) {
                segments.addFirst(((QualifiedName) current).getSimpleName());
            } else {
                segments.addFirst((SimpleName) current);
            }
            return current;
View Full Code Here

        private boolean isLikeEnclosingType(Name name) {
            assert name != null;
            if (name.getModelKind() != ModelKind.QUALIFIED_NAME) {
                return false;
            }
            Name qualifier = ((QualifiedName) name).getQualifier();

            // 限定子がパッケージなら、その名前は定義上トップレベル
            if (knownPackageNames.contains(qualifier)) {
                return false;
            }

            // 親の単純名がクラス名の形式であれば、この型は内部クラスとみなす
            SimpleName parent;
            if (qualifier.getModelKind() == ModelKind.QUALIFIED_NAME) {
                parent = ((QualifiedName) qualifier).getSimpleName();
            } else {
                parent = (SimpleName) qualifier;
            }
            return isClassName(parent);
View Full Code Here

                        desc.getDeletePatterns());
                slots.add(slot);
            } else {
                List<CompiledOrder> orderingInfo = OutputPattern.compileOrder(desc.getOrder(), dataType);
                String outputName = output.getDescription().getName();
                Name naming = namingEmitter.emit(outputName, slots.size() + 1, dataType, namingInfo);
                Name ordering = orderingEmitter.emit(outputName, slots.size() + 1, dataType, orderingInfo);
                Slot slot = new Slot(
                        outputName,
                        output.getSources(),
                        Models.toName(f, desc.getModelType().getName()),
                        desc.getBasePath(),
View Full Code Here

        List<StageModel> stages = compile(CoGroupFlowOp1.class);
        StageModel stage = stages.get(0);
        Assume.assumeThat(stage.getReduceUnits().size(), is(1));
        ReduceUnit reduce = stage.getReduceUnits().get(0);
        Fragment fragment = reduce.getFragments().get(0);
        Name name = fragment.getCompiled().getQualifiedName();

        ClassLoader loader = start();
        PortMapper mapper = new PortMapper(fragment);
        MockResult<Ex1> result = mapper.create("r1");
View Full Code Here

        List<StageModel> stages = compile(CoGroupFlowOp2.class);
        StageModel stage = stages.get(0);
        Assume.assumeThat(stage.getReduceUnits().size(), is(1));
        ReduceUnit reduce = stage.getReduceUnits().get(0);
        Fragment fragment = reduce.getFragments().get(0);
        Name name = fragment.getCompiled().getQualifiedName();

        ClassLoader loader = start();
        PortMapper mapper = new PortMapper(fragment);
        MockResult<Ex1> r1 = mapper.create("r1");
        MockResult<Ex2> r2 = mapper.create("r2");
View Full Code Here

        List<StageModel> stages = compile(CoGroupFlowOp3.class);
        StageModel stage = stages.get(0);
        Assume.assumeThat(stage.getReduceUnits().size(), is(1));
        ReduceUnit reduce = stage.getReduceUnits().get(0);
        Fragment fragment = reduce.getFragments().get(0);
        Name name = fragment.getCompiled().getQualifiedName();

        ClassLoader loader = start();
        PortMapper mapper = new PortMapper(fragment);
        MockResult<Ex1> r1 = mapper.create("r1");
        MockResult<Ex1> r2 = mapper.create("r2");
View Full Code Here

        List<StageModel> stages = compile(CoGroupFlowWithParameter.class);
        StageModel stage = stages.get(0);
        Assume.assumeThat(stage.getReduceUnits().size(), is(1));
        ReduceUnit reduce = stage.getReduceUnits().get(0);
        Fragment fragment = reduce.getFragments().get(0);
        Name name = fragment.getCompiled().getQualifiedName();

        ClassLoader loader = start();
        PortMapper mapper = new PortMapper(fragment);
        MockResult<Ex1> result = mapper.create("r1");
View Full Code Here

TOP

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

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.