reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
42 class Terminal : public LExpr { 54 class BinOp : public LExpr { 82 class Not : public LExpr {
57 static inline bool doit(const From &Val) { 104 static inline bool doit(const From *Val) { 106 return isa_impl<To, From>::doit(*Val);tools/clang/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
33 inline bool implies(const LExpr *RHS) const; 42 class Terminal : public LExpr { 46 Terminal(til::SExpr *Expr) : LExpr(LExpr::Terminal), Expr(Expr) {} 51 static bool classof(const LExpr *E) { return E->kind() == LExpr::Terminal; } 51 static bool classof(const LExpr *E) { return E->kind() == LExpr::Terminal; } 54 class BinOp : public LExpr { 55 LExpr *LHS, *RHS; 58 BinOp(LExpr *LHS, LExpr *RHS, Opcode Code) : LExpr(Code), LHS(LHS), RHS(RHS) {} 58 BinOp(LExpr *LHS, LExpr *RHS, Opcode Code) : LExpr(Code), LHS(LHS), RHS(RHS) {} 61 const LExpr *left() const { return LHS; } 62 LExpr *left() { return LHS; } 64 const LExpr *right() const { return RHS; } 65 LExpr *right() { return RHS; } 70 And(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::And) {} 70 And(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::And) {} 70 And(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::And) {} 72 static bool classof(const LExpr *E) { return E->kind() == LExpr::And; } 72 static bool classof(const LExpr *E) { return E->kind() == LExpr::And; } 77 Or(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::Or) {} 77 Or(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::Or) {} 77 Or(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::Or) {} 79 static bool classof(const LExpr *E) { return E->kind() == LExpr::Or; } 79 static bool classof(const LExpr *E) { return E->kind() == LExpr::Or; } 82 class Not : public LExpr { 83 LExpr *Exp; 86 Not(LExpr *Exp) : LExpr(LExpr::Not), Exp(Exp) {} 86 Not(LExpr *Exp) : LExpr(LExpr::Not), Exp(Exp) {} 88 const LExpr *exp() const { return Exp; } 89 LExpr *exp() { return Exp; } 91 static bool classof(const LExpr *E) { return E->kind() == LExpr::Not; } 91 static bool classof(const LExpr *E) { return E->kind() == LExpr::Not; } 96 bool implies(const LExpr *LHS, const LExpr *RHS); 96 bool implies(const LExpr *LHS, const LExpr *RHS); 98 bool LExpr::implies(const LExpr *RHS) const {tools/clang/lib/Analysis/ThreadSafetyLogical.cpp
19 static bool implies(const LExpr *LHS, bool LNeg, const LExpr *RHS, bool RNeg) { 19 static bool implies(const LExpr *LHS, bool LNeg, const LExpr *RHS, bool RNeg) { 44 case LExpr::And: 51 case LExpr::Or: 58 case LExpr::Not: 62 case LExpr::Terminal: 69 case LExpr::And: 76 case LExpr::Or: 83 case LExpr::Not: 87 case LExpr::Terminal: 105 bool implies(const LExpr *LHS, const LExpr *RHS) { 105 bool implies(const LExpr *LHS, const LExpr *RHS) {