当前位置: 首页>>代码示例>>C++>>正文


C++ AstNode::isReturnNode方法代码示例

本文整理汇总了C++中AstNode::isReturnNode方法的典型用法代码示例。如果您正苦于以下问题:C++ AstNode::isReturnNode方法的具体用法?C++ AstNode::isReturnNode怎么用?C++ AstNode::isReturnNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AstNode的用法示例。


在下文中一共展示了AstNode::isReturnNode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: visitBlockNode

        virtual void visitBlockNode(BlockNode * node) {
            if (currentTabNum >= 0) {
                out<< "{"<< endl;
            }
            ++currentTabNum;

            visitScope(node->scope());
            for (size_t i = 0; i < node->nodes(); ++i) {
                addIndent();
                AstNode * currentNode = node->nodeAt(i);
                currentNode->visit(this);
                if (currentNode->isCallNode() ||
                        currentNode->isLoadNode() ||
                        currentNode->isNativeCallNode() ||
                        currentNode->isPrintNode() ||
                        currentNode->isReturnNode() ||
                        currentNode->isStoreNode()) {

                    out<< ";"<< endl;
                }
            }

            --currentTabNum;
            if (currentTabNum >= 0) {
                addIndent();
                out<< "}"<< endl;
            }


        }
开发者ID:kamanov,项目名称:Shared,代码行数:30,代码来源:ast_printer.cpp

示例2: processBlockNode

void BytecodeTranslatorVisitor::processBlockNode(BlockNode* node) {
    for (uint32_t i = 0; i < node->nodes(); i++) {
        AstNode* ith = node->nodeAt(i);

        warningIf(isUnused(ith), "unused result of statement");

        VISIT(ith);
        VarType result = popType();

        if (result != VT_VOID && !ith->isReturnNode())
            EMIT(BC_POP);
    }
}
开发者ID:kamanov,项目名称:Shared,代码行数:13,代码来源:bytecode_translator.cpp

示例3: visitBlockNode

    virtual void visitBlockNode(BlockNode *node)
    {
        bool topLevel = node->scope()->parent()->parent() == NULL;
        if (!topLevel) {
            out << "{" << endl;
        }

        printVars(node->scope());
        for (uint32_t i = 0; i < node->nodes(); i++) {
            AstNode *currentNode = node->nodeAt(i);
            currentNode->visit(this);
            if (currentNode->isLoadNode() || currentNode->isStoreNode() ||
                currentNode->isReturnNode() || currentNode->isCallNode() ||
                currentNode->isNativeCallNode() || currentNode->isPrintNode()) {
                out << ";" << endl;
            }
        }
        if (!topLevel) {
            out << "}" << endl;
        }
    }
开发者ID:kamanov,项目名称:Shared,代码行数:21,代码来源:ast_printer.cpp


注:本文中的AstNode::isReturnNode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。