예제 #1
0
        public override void visit_expression_statement(ExpressionStatement stmt)
        {
            stmt.accept_children(this);

            if (unreachable(stmt))
            {
                return;
            }

            current_block.add_node(stmt);

            handle_errors(stmt);

            if (stmt.expression is MethodCall)
            {
                var expr = (MethodCall)stmt.expression;
                var ma   = expr.call as MemberAccess;
                if (ma != null && ma.symbol_reference != null && ma.symbol_reference.get_attribute("NoReturn") != null)
                {
                    mark_unreachable();
                    return;
                }
            }
        }
예제 #2
0
 public override void visit_expression_statement(ExpressionStatement stmt)
 {
     stmt.accept_children(this);
 }