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.

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(EXP op)

Test if expression is a binary array op.

isBinAssignArrayOp
bool isBinAssignArrayOp(EXP op)

Test if expression is a binary assignment array op.

isUnaArrayOp
bool isUnaArrayOp(EXP op)

Test if expression is a unary array op.

Meta