class CompoundAssignOperator
Declaration
class CompoundAssignOperator : public BinaryOperator { /* full declaration omitted */ };
Description
CompoundAssignOperator - For compound assignments (e.g. +=), we keep track of the type the operation is performed in. Due to the semantics of these operators, the operands are promoted, the arithmetic performed, an implicit conversion back to the result type done, then the assignment takes place. This captures the intermediate type which the computation is done in.
Declared at: clang/include/clang/AST/Expr.h:4054
Inherits from: BinaryOperator
Member Variables
- private clang::QualType ComputationLHSType
- private clang::QualType ComputationResultType
Inherited from Stmt:
Method Overview
- private CompoundAssignOperator(const clang::ASTContext & C, clang::Stmt::EmptyShell Empty, bool hasFPFeatures)
- protected CompoundAssignOperator(const clang::ASTContext & C, clang::Expr * lhs, clang::Expr * rhs, clang::BinaryOperator::Opcode opc, clang::QualType ResType, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation OpLoc, clang::FPOptionsOverride FPFeatures, clang::QualType CompLHSType, clang::QualType CompResultType)
- public static clang::CompoundAssignOperator * Create(const clang::ASTContext & C, clang::Expr * lhs, clang::Expr * rhs, clang::BinaryOperator::Opcode opc, clang::QualType ResTy, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation opLoc, clang::FPOptionsOverride FPFeatures, clang::QualType CompLHSType = clang::QualType(), clang::QualType CompResultType = clang::QualType())
- public static clang::CompoundAssignOperator * CreateEmpty(const clang::ASTContext & C, bool hasFPFeatures)
- public static bool classof(const clang::Stmt * S)
- public clang::QualType getComputationLHSType() const
- public clang::QualType getComputationResultType() const
- public void setComputationLHSType(clang::QualType T)
- public void setComputationResultType(clang::QualType T)
Inherited from BinaryOperator:
- public Create
- public CreateEmpty
- public children
- public children
- public classof
- public getBeginLoc
- public getEndLoc
- public getExprLoc
- public getFPFeatures
- public getFPFeaturesInEffect
- public getLHS
- public getOpForCompoundAssignment
- public getOpcode
- public getOpcodeStr
- public getOpcodeStr
- public getOperatorLoc
- public getOverloadedOpcode
- public getOverloadedOperator
- public getRHS
- public getStoredFPFeatures
- protected getTrailingFPFeatures
- protected getTrailingFPFeatures
- public hasStoredFPFeatures
- public isAdditiveOp
- public isAdditiveOp
- public isAssignmentOp
- public isAssignmentOp
- public isBitwiseOp
- public isBitwiseOp
- public isCommaOp
- public isCommaOp
- public isComparisonOp
- public isComparisonOp
- public isCompoundAssignmentOp
- public isCompoundAssignmentOp
- public isEqualityOp
- public isEqualityOp
- public isFEnvAccessOn
- public isFPContractableWithinStatement
- public isLogicalOp
- public isLogicalOp
- public isMultiplicativeOp
- public isMultiplicativeOp
- public isNullPointerArithmeticExtension
- public isPtrMemOp
- public isPtrMemOp
- public isRelationalOp
- public isRelationalOp
- public isShiftAssignOp
- public isShiftAssignOp
- public isShiftOp
- public isShiftOp
- public negateComparisonOp
- protected offsetOfTrailingStorage
- public reverseComparisonOp
- public setHasStoredFPFeatures
- public setLHS
- public setOpcode
- public setOperatorLoc
- public setRHS
- public setStoredFPFeatures
- protected sizeOfTrailingObjects
Inherited from Expr:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶CompoundAssignOperator(
const clang::ASTContext& C,
clang::Stmt::EmptyShell Empty,
bool hasFPFeatures)
CompoundAssignOperator(
const clang::ASTContext& C,
clang::Stmt::EmptyShell Empty,
bool hasFPFeatures)
Description
Construct an empty CompoundAssignOperator.
Declared at: clang/include/clang/AST/Expr.h:4059
Parameters
- const clang::ASTContext& C
- clang::Stmt::EmptyShell Empty
- bool hasFPFeatures
¶CompoundAssignOperator(
const clang::ASTContext& C,
clang::Expr* lhs,
clang::Expr* rhs,
clang::BinaryOperator::Opcode opc,
clang::QualType ResType,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation OpLoc,
clang::FPOptionsOverride FPFeatures,
clang::QualType CompLHSType,
clang::QualType CompResultType)
CompoundAssignOperator(
const clang::ASTContext& C,
clang::Expr* lhs,
clang::Expr* rhs,
clang::BinaryOperator::Opcode opc,
clang::QualType ResType,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation OpLoc,
clang::FPOptionsOverride FPFeatures,
clang::QualType CompLHSType,
clang::QualType CompResultType)
Declared at: clang/include/clang/AST/Expr.h:4064
Parameters
- const clang::ASTContext& C
- clang::Expr* lhs
- clang::Expr* rhs
- clang::BinaryOperator::Opcode opc
- clang::QualType ResType
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation OpLoc
- clang::FPOptionsOverride FPFeatures
- clang::QualType CompLHSType
- clang::QualType CompResultType
¶static clang::CompoundAssignOperator* Create(
const clang::ASTContext& C,
clang::Expr* lhs,
clang::Expr* rhs,
clang::BinaryOperator::Opcode opc,
clang::QualType ResTy,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation opLoc,
clang::FPOptionsOverride FPFeatures,
clang::QualType CompLHSType =
clang::QualType(),
clang::QualType CompResultType =
clang::QualType())
static clang::CompoundAssignOperator* Create(
const clang::ASTContext& C,
clang::Expr* lhs,
clang::Expr* rhs,
clang::BinaryOperator::Opcode opc,
clang::QualType ResTy,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation opLoc,
clang::FPOptionsOverride FPFeatures,
clang::QualType CompLHSType =
clang::QualType(),
clang::QualType CompResultType =
clang::QualType())
Declared at: clang/include/clang/AST/Expr.h:4080
Parameters
- const clang::ASTContext& C
- clang::Expr* lhs
- clang::Expr* rhs
- clang::BinaryOperator::Opcode opc
- clang::QualType ResTy
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation opLoc
- clang::FPOptionsOverride FPFeatures
- clang::QualType CompLHSType = clang::QualType()
- clang::QualType CompResultType = clang::QualType()
¶static clang::CompoundAssignOperator* CreateEmpty(
const clang::ASTContext& C,
bool hasFPFeatures)
static clang::CompoundAssignOperator* CreateEmpty(
const clang::ASTContext& C,
bool hasFPFeatures)
Declared at: clang/include/clang/AST/Expr.h:4076
Parameters
- const clang::ASTContext& C
- bool hasFPFeatures
¶static bool classof(const clang::Stmt* S)
static bool classof(const clang::Stmt* S)
Declared at: clang/include/clang/AST/Expr.h:4094
Parameters
- const clang::Stmt* S
¶clang::QualType getComputationLHSType() const
clang::QualType getComputationLHSType() const
Declared at: clang/include/clang/AST/Expr.h:4088
¶clang::QualType getComputationResultType() const
clang::QualType getComputationResultType() const
Declared at: clang/include/clang/AST/Expr.h:4091
¶void setComputationLHSType(clang::QualType T)
void setComputationLHSType(clang::QualType T)
Declared at: clang/include/clang/AST/Expr.h:4089
Parameters
¶void setComputationResultType(clang::QualType T)
void setComputationResultType(clang::QualType T)
Declared at: clang/include/clang/AST/Expr.h:4092