dmd.arrayop

Implement array operations, such as a[] = b[] + c[].

Specification: Array Operations

Members

Functions

arrayOp
Expression arrayOp(BinExp e, Scope* sc)
Expression arrayOp(BinAssignExp e, Scope* sc)

Construct the array operation expression, call object.arrayOp!(tiargs)(args).

arrayOpInvalidError
ErrorExp arrayOpInvalidError(Expression e)

Print error message about invalid array operation.

checkNonAssignmentArrayOp
bool checkNonAssignmentArrayOp(Expression e, bool suggestion)
Undocumented in source. Be warned that the author may not have intended to support it.
isArrayOpImplicitCast
bool isArrayOpImplicitCast(TypeDArray tfrom, TypeDArray tto)

Some implicit casting can be performed by the arrayOp template.

isArrayOpOperand
bool isArrayOpOperand(Expression e)

Test if operand is a valid array op operand.

isArrayOpValid
bool isArrayOpValid(Expression e)

Check that there are no uses of arrays without [].

isBinArrayOp
bool isBinArrayOp(TOK op)

Test if expression is a binary array op.

isBinAssignArrayOp
bool isBinAssignArrayOp(TOK op)

Test if expression is a binary assignment array op.

isNonAssignmentArrayOp
bool isNonAssignmentArrayOp(Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
isUnaArrayOp
bool isUnaArrayOp(TOK op)

Test if expression is a unary array op.

Meta