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

Derived Classes

tools/clang/lib/AST/Interp/ByteCodeExprGen.h
  236 extern template class ByteCodeExprGen<ByteCodeEmitter>;

Declarations

tools/clang/lib/AST/Interp/Function.h
   26 class ByteCodeEmitter;

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) {}
  308 template <class Emitter> class BlockScope final : public LocalScope<Emitter> {
  310   BlockScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<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/ByteCodeStmtGen.cpp
  138   BlockScope<Emitter> Scope(this);
  167     ExprScope<Emitter> RetScope(this);
  192   BlockScope<Emitter> IfScope(this);
  243       ExprScope<Emitter> Scope(this);
tools/clang/lib/AST/Interp/ByteCodeStmtGen.h
   40 class ByteCodeStmtGen : public ByteCodeExprGen<Emitter> {
   41   using LabelTy = typename Emitter::LabelTy;
   42   using AddrTy = typename Emitter::AddrTy;