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())); } }
public DeleteAction(ParseInfo parseInfo, Scope scope, DeltinScriptParser.DeleteContext deleteContext) { DeleteValue = DeltinScript.GetExpression(parseInfo, scope, deleteContext.expr()); }
public DeleteNode(DeltinScriptParser.DeleteContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, DocRange.GetRange(context))) { Delete = visitor.VisitExpr(context.expr()); }
public override Node VisitDelete(DeltinScriptParser.DeleteContext context) { return(new DeleteNode(context, this)); }