public SLAddressOf(SLBaseExpr expr, bool addParens) { Expr = Exceptions.ThrowOnNull(expr, nameof(expr)); AddParens = addParens; }
public SLNamedClosureCall(SLBaseExpr closureExpr, CommaListElementCollection <SLBaseExpr> paramList) { Closure = Exceptions.ThrowOnNull(closureExpr, "closure"); Parameters = paramList ?? new CommaListElementCollection <SLBaseExpr> (); }
public SLBaseExpr Dot(SLBaseExpr other) { return(new SLBinaryExpr(BinaryOp.Dot, this, other)); }
public static void WriteElement(ICodeWriter writer, int i, SLBaseExpr arg) { arg.WriteAll(writer); }
public SLThrow(SLBaseExpr expr) { Expr = Exceptions.ThrowOnNull(expr, nameof(expr)); }
public SLArgument(SLIdentifier ident, SLBaseExpr expr, bool identifierIsRequired = false) { Identifier = identifierIsRequired ? Exceptions.ThrowOnNull(ident, nameof(ident)) : ident; Expr = Exceptions.ThrowOnNull(expr, nameof(expr)); IdentifierIsRequired = identifierIsRequired; }