本文整理汇总了C++中AstNode::isBinaryOpNode方法的典型用法代码示例。如果您正苦于以下问题:C++ AstNode::isBinaryOpNode方法的具体用法?C++ AstNode::isBinaryOpNode怎么用?C++ AstNode::isBinaryOpNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AstNode
的用法示例。
在下文中一共展示了AstNode::isBinaryOpNode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: throwIfNotRangeOp
// visitForNode impl
void BytecodeGenerator::throwIfNotRangeOp(ForNode *node) {
AstNode* inExp = node->inExpr();
uint32_t nodePos = node->position();
if(!inExp->isBinaryOpNode()) {
throw ExceptionWithPos(wrongInExprMsg(), nodePos);
}
TokenKind inExprOpKind = inExp->asBinaryOpNode()->kind();
if(inExprOpKind != tRANGE) {
throw ExceptionWithPos(wrongInExprMsg(), nodePos);
}
}
示例2: insideBlock
void insideBlock(BlockNode* node) {
variableDeclaration(node->scope());
functionDeclaration(node->scope());
for (uint32_t i = 0; i < node->nodes(); i++) {
indent();
AstNode* current = node->nodeAt(i);
current->visit(this);
if (current->isCallNode() || current->isBinaryOpNode() ||
current->isUnaryOpNode() || current->isStringLiteralNode() ||
current->isDoubleLiteralNode() || current->isIntLiteralNode() ||
current->isLoadNode())
_output << ";";
_output << endl;
}
}