}
static inline bool classof(const RValue* V) {
- return isa<NonLValue>(V) && V->getSubKind() == SymbolValKind;
+ return V->getBaseKind() == NonLValueKind &&
+ V->getSubKind() == SymbolValKind;
}
};
}
static inline bool classof(const RValue* V) {
- return isa<NonLValue>(V) && V->getSubKind() == SymIntConstraintValKind;
+ return V->getBaseKind() == NonLValueKind &&
+ V->getSubKind() == SymIntConstraintValKind;
}
};
// Implement isa<T> support.
static inline bool classof(const RValue* V) {
- return isa<NonLValue>(V) && V->getSubKind() == ConcreteIntKind;
- }
-
- static inline bool classof(const NonLValue* V) {
- return V->getSubKind() == ConcreteIntKind;
+ return V->getBaseKind() == NonLValueKind &&
+ V->getSubKind() == ConcreteIntKind;
}
};
}
static inline bool classof(const RValue* V) {
- return isa<LValue>(V) && V->getSubKind() == SymbolValKind;
- }
-
- static inline bool classof(const LValue* V) {
- return V->getSubKind() == SymbolValKind;
+ return V->getBaseKind() == LValueKind &&
+ V->getSubKind() == SymbolValKind;
}
};
}
static inline bool classof(const RValue* V) {
- return isa<LValue>(V) && V->getSubKind() == GotoLabelKind;
- }
-
- static inline bool classof(const LValue* V) {
- return V->getSubKind() == GotoLabelKind;
- }
+ return V->getBaseKind() == LValueKind &&
+ V->getSubKind() == GotoLabelKind;
+ }
};
// Implement isa<T> support.
static inline bool classof(const RValue* V) {
- return isa<LValue>(V) && V->getSubKind() == DeclValKind;
- }
-
- static inline bool classof(const LValue* V) {
- return V->getSubKind() == DeclValKind;
- }
+ return V->getBaseKind() == LValueKind &&
+ V->getSubKind() == DeclValKind;
+ }
};
class FuncVal : public LValue {
// Implement isa<T> support.
static inline bool classof(const RValue* V) {
- return isa<LValue>(V) && V->getSubKind() == FuncValKind;
- }
-
- static inline bool classof(const LValue* V) {
- return V->getSubKind() == FuncValKind;
- }
+ return V->getBaseKind() == LValueKind &&
+ V->getSubKind() == FuncValKind;
+ }
};
class ConcreteInt : public LValue {
// Implement isa<T> support.
static inline bool classof(const RValue* V) {
- return isa<LValue>(V) && V->getSubKind() == ConcreteIntKind;
- }
-
- static inline bool classof(const LValue* V) {
- return V->getSubKind() == ConcreteIntKind;
+ return V->getBaseKind() == LValueKind &&
+ V->getSubKind() == ConcreteIntKind;
}
-
};
} // end clang::lval namespace