예제 #1
0
파일: Resolver.cpp 프로젝트: relrod/magpie
 void Resolver::visit(ReturnExpr& expr, int dummy)
 {
   // Resolve the return value.
   if (!expr.value().isNull())
   {
     resolve(expr.value());
   }
 }
예제 #2
0
  void ExprCompiler::visit(ReturnExpr& expr, int dest)
  {
    // Compile the return value.
    if (expr.value().isNull())
    {
      // No value, so implicitly "nothing".
      write(expr, OP_BUILT_IN, BUILT_IN_NOTHING, dest);
    }
    else
    {
      compile(expr.value(), dest);
    }

    write(expr, OP_RETURN, dest);
  }