Ejemplo n.º 1
0
        public DeleteAction(ParseInfo parseInfo, Scope scope, DeltinScriptParser.DeleteContext deleteContext)
        {
            DeleteValue = DeltinScript.GetExpression(parseInfo, scope, deleteContext.expr());

            if (DeleteValue.Type() == null)
            {
                parseInfo.Script.Diagnostics.Error("Expression has no type.", DocRange.GetRange(deleteContext.expr()));
            }
            else if (!DeleteValue.Type().CanBeDeleted)
            {
                parseInfo.Script.Diagnostics.Error($"Type '{DeleteValue.Type().Name}' cannot be deleted.", DocRange.GetRange(deleteContext.expr()));
            }
        }
Ejemplo n.º 2
0
 public DeleteAction(ParseInfo parseInfo, Scope scope, DeltinScriptParser.DeleteContext deleteContext)
 {
     DeleteValue = DeltinScript.GetExpression(parseInfo, scope, deleteContext.expr());
 }
Ejemplo n.º 3
0
 public DeleteNode(DeltinScriptParser.DeleteContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, DocRange.GetRange(context)))
 {
     Delete = visitor.VisitExpr(context.expr());
 }
Ejemplo n.º 4
0
 public override Node VisitDelete(DeltinScriptParser.DeleteContext context)
 {
     return(new DeleteNode(context, this));
 }