public override bool Visit(AstReturnStatement node)
 {
     ErrorIfIsNull(node.Expression);
     return true;
 }
Ejemplo n.º 2
0
 public override bool Visit(AstReturnStatement node)
 {
     return true;
 }
Ejemplo n.º 3
0
 // #STATEMENT RETURN #EXPRESSION LINE_END
 private void ConstructReturnStatement()
 {
     var expr = nodes.Pop() as AstExpression;
     var returnStmt = new AstReturnStatement(expr);
     PushNode(returnStmt);
 }
Ejemplo n.º 4
0
 public override bool Visit(AstReturnStatement node)
 {
     node.Expression.Accept(this);
     codeStream.WriteLine("ret " + currReturnType + " " + GetCurrUnnamedVariable());
     CreateUnnamedVariable();
     return false;
 }
Ejemplo n.º 5
0
        public override bool Visit(AstReturnStatement node)
        {
            if (currFunctionReturnType != null)
            {
                var type = resolver.Resolve(node.Expression);
                if (type != currFunctionReturnType)
                {
                    DispatchError(node.TextPosition, "Return value(" + type + ") does not match function return type(" + currFunctionReturnType + ")");
                    return false;
                }
            }

            return true;
        }
Ejemplo n.º 6
0
 public abstract bool Visit(AstReturnStatement node);