clang 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
clang::UnaryOperator Class Referencefinal

UnaryOperator - This represents the unary-expression's (except sizeof and alignof), the postinc/postdec operators from postfix-expression, and various extensions. More...

#include "clang/AST/Expr.h"

Inheritance diagram for clang::UnaryOperator:
Inheritance graph
[legend]

Public Types

typedef UnaryOperatorKind Opcode
 
- Public Types inherited from clang::Expr
enum  LValueClassification {
  LV_Valid , LV_NotObjectType , LV_IncompleteVoidType , LV_DuplicateVectorComponents ,
  LV_InvalidExpression , LV_InvalidMessageExpression , LV_MemberFunction , LV_SubObjCPropertySetting ,
  LV_ClassTemporary , LV_ArrayTemporary
}
 
enum  isModifiableLvalueResult {
  MLV_Valid , MLV_NotObjectType , MLV_IncompleteVoidType , MLV_DuplicateVectorComponents ,
  MLV_InvalidExpression , MLV_LValueCast , MLV_IncompleteType , MLV_ConstQualified ,
  MLV_ConstQualifiedField , MLV_ConstAddrSpace , MLV_ArrayType , MLV_NoSetterProperty ,
  MLV_MemberFunction , MLV_SubObjCPropertySetting , MLV_InvalidMessageExpression , MLV_ClassTemporary ,
  MLV_ArrayTemporary
}
 
enum  SideEffectsKind { SE_NoSideEffects , SE_AllowUndefinedBehavior , SE_AllowSideEffects }
 
enum class  ConstantExprKind { Normal , NonClassTemplateArgument , ClassTemplateArgument , ImmediateInvocation }
 
enum  NullPointerConstantKind {
  NPCK_NotNull = 0 , NPCK_ZeroExpression , NPCK_ZeroLiteral , NPCK_CXX11_nullptr ,
  NPCK_GNUNull
}
 Enumeration used to describe the kind of Null pointer constant returned from isNullPointerConstant(). More...
 
enum  NullPointerConstantValueDependence { NPC_NeverValueDependent = 0 , NPC_ValueDependentIsNull , NPC_ValueDependentIsNotNull }
 Enumeration used to describe how isNullPointerConstant() should cope with value-dependent expressions. More...
 
- Public Types inherited from clang::Stmt
enum  StmtClass { NoStmtClass = 0 }
 
enum  Likelihood { LH_Unlikely = -1 , LH_None , LH_Likely }
 The likelihood of a branch being taken. More...
 
using child_iterator = StmtIterator
 Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node.
 
using const_child_iterator = ConstStmtIterator
 
using child_range = llvm::iterator_range< child_iterator >
 
using const_child_range = llvm::iterator_range< const_child_iterator >
 

Public Member Functions

Opcode getOpcode () const
 
void setOpcode (Opcode Opc)
 
ExprgetSubExpr () const
 
void setSubExpr (Expr *E)
 
SourceLocation getOperatorLoc () const
 getOperatorLoc - Return the location of the operator.
 
void setOperatorLoc (SourceLocation L)
 
bool canOverflow () const
 Returns true if the unary operator can cause an overflow.
 
void