Examples of YieldVertex


Examples of org.cx4a.rsense.typing.vertex.YieldVertex

                                    argts.add(RuntimeHelper.createArray(Graph.this, args));
                                }
                                argVertex = createFreeVertex(argts);
                                argVertex.markUnchanged();
                            }
                            YieldVertex vertex = new YieldVertex(null,
                                                                 RuntimeHelper.getFrameTemplate(runtime.getContext().getCurrentFrame()),
                                                                 (Proc) receiver,
                                                                 argVertex,
                                                                 true);
                            RuntimeHelper.yield(Graph.this, vertex);
                            ts.addAll(vertex.getTypeSet());
                        }
                    }
                    if (ts.isEmpty()) {
                        result.setCallNextMethod(true);
                    } else {
View Full Code Here

Examples of org.cx4a.rsense.typing.vertex.YieldVertex

    public Object visitYieldNode(YieldNode node) {
        Vertex argsVertex = null;
        if (node.getArgsNode() != null) {
            argsVertex = createVertex(node.getArgsNode());
        }
        YieldVertex vertex = new YieldVertex(node, RuntimeHelper.getFrameTemplate(context.getCurrentFrame()), context.getFrameBlock(), argsVertex, node.getExpandArguments());
        return RuntimeHelper.yield(this, vertex);
    }
View Full Code Here

Examples of org.cx4a.rsense.typing.vertex.YieldVertex

    private void reproduceYield(Graph graph, IRubyObject receiver, IRubyObject[] args, Block block) {
        Proc templateProc = (Proc) attr.getBlock();
        if (templateProc != null && block != null) {
            // Yield records may change during loop
            for (YieldVertex vertex : new ArrayList<YieldVertex>(templateProc.getYields())) {
                RuntimeHelper.yield(graph, new YieldVertex(vertex.getNode(), this, block, vertex.getArgsVertex(), vertex.getExpandArguments()));
            }
        }
    }
View Full Code Here

Examples of org.cx4a.rsense.typing.vertex.YieldVertex

        // FIXME checkArity

        boolean succeed = false;
        Vertex returnVertex;
        if (args.length == 1) {
            YieldVertex vertex = new YieldVertex(null, template, block, graph.createFreeVertex(args[0]), true);
            returnVertex = RuntimeHelper.yield(graph, vertex);
        } else {
            Vertex[] elements = new Vertex[args.length];
            for (int i = 0; i < args.length; i++) {
                elements[i] = graph.createFreeVertex();
                elements[i].addTypes(args[i]);
            }
            YieldVertex vertex = new YieldVertex(null, template, block, graph.createFreeSingleTypeVertex(RuntimeHelper.createArray(graph, elements)), true);
            returnVertex = RuntimeHelper.yield(graph, vertex);
        }

        if (returnVertex != null) {
            succeed = true;
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.