reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/lib/AST/Interp/ByteCodeExprGen.h
  237 extern template class ByteCodeExprGen<EvalEmitter>;

References

tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
   29 template <class Emitter> class DeclScope final : public LocalScope<Emitter> {
   31   DeclScope(ByteCodeExprGen<Emitter> *Ctx, const VarDecl *VD)
   45   using InitFnRef = typename ByteCodeExprGen<Emitter>::InitFnRef;
   49   OptionScope(ByteCodeExprGen<Emitter> *Ctx, bool NewDiscardResult)
   57   OptionScope(ByteCodeExprGen<Emitter> *Ctx, InitFnRef NewInitFn)
   65   OptionScope(ByteCodeExprGen<Emitter> *Ctx, ChainedInitFnRef NewInitFn)
   79   ByteCodeExprGen<Emitter> *Ctx;
  210   OptionScope<Emitter> Scope(this, /*discardResult=*/true);
  216   OptionScope<Emitter> Scope(this, /*discardResult=*/false);
  466   OptionScope<Emitter> Scope(this, InitFn);
  520   ExprScope<Emitter> RootScope(this);
  538         DeclScope<Emitter> LocalScope(this, VD);
  552         DeclScope<Emitter> LocalScope(this, VD);
  569   for (VariableScope<Emitter> *C = VarScope; C; C = C->getParent())
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
   41 class ByteCodeExprGen : public ConstStmtVisitor<ByteCodeExprGen<Emitter>, bool>,
   42                         public Emitter {
   51   using LabelTy = typename Emitter::LabelTy;
   52   using AddrTy = typename Emitter::AddrTy;
  224   VariableScope<Emitter> *VarScope = nullptr;
  266   VariableScope(ByteCodeExprGen<Emitter> *Ctx)
  272   ByteCodeExprGen<Emitter> *Ctx;
  281 template <class Emitter> class LocalScope : public VariableScope<Emitter> {
  283   LocalScope(ByteCodeExprGen<Emitter> *Ctx) : VariableScope<Emitter>(Ctx) {}
  319 template <class Emitter> class ExprScope final : public LocalScope<Emitter> {
  321   ExprScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<Emitter>(Ctx) {}
tools/clang/lib/AST/Interp/Context.cpp
   56   ByteCodeExprGen<EvalEmitter> C(*this, *P, Parent, Stk, Result);
   62   ByteCodeExprGen<EvalEmitter> C(*this, *P, Parent, Stk, Result);
tools/clang/lib/AST/Interp/EvalEmitter.cpp
   49 EvalEmitter::LabelTy EvalEmitter::getLabel() { return NextLabel++; }