CommaExp

Constructors

this
this(Loc loc, Expression e1, Expression e2, bool generated)
Undocumented in source.

Members

Functions

accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
addDtorHook
Expression addDtorHook(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
checkModifiable
Modifiable checkModifiable(Scope* sc, int flag)
Undocumented in source. Be warned that the author may not have intended to support it.
isBool
bool isBool(bool result)
Undocumented in source. Be warned that the author may not have intended to support it.
isLvalue
bool isLvalue()
Undocumented in source. Be warned that the author may not have intended to support it.
modifiableLvalue
Expression modifiableLvalue(Scope* sc, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
toBoolean
Expression toBoolean(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
toLvalue
Expression toLvalue(Scope* sc, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

allow
void allow(Expression exp)

If the argument is a CommaExp, set a flag to prevent deprecation messages

Variables

allowCommaExp
bool allowCommaExp;

Temporary variable to enable / disable deprecation of comma expression depending on the context. Since most constructor calls are rewritting, the only place where false will be passed will be from the parser.

isGenerated
bool isGenerated;

This is needed because AssignExp rewrites CommaExp, hence it needs to trigger the deprecation.

Inherited Members

From BinExp

e1
Expression e1;
Undocumented in source.
e2
Expression e2;
Undocumented in source.
att1
Type att1;
Undocumented in source.
att2
Type att2;
Undocumented in source.
syntaxCopy
Expression syntaxCopy()
Undocumented in source. Be warned that the author may not have intended to support it.
incompatibleTypes
Expression incompatibleTypes()

The types for a binary expression are incompatible. Print error message.

checkOpAssignTypes
Expression checkOpAssignTypes(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
checkIntegralBin
bool checkIntegralBin()
Undocumented in source. Be warned that the author may not have intended to support it.
checkArithmeticBin
bool checkArithmeticBin()
Undocumented in source. Be warned that the author may not have intended to support it.
checkSharedAccessBin
bool checkSharedAccessBin(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
setNoderefOperands
void setNoderefOperands()

Mark the operands as will never be dereferenced, which is useful info for @safe checks. Do before semantic() on operands rewrites them.

reorderSettingAAElem
Expression reorderSettingAAElem(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta