Lines Matching refs:Emitter
34 template <class Emitter> class LocalScope;
35 template <class Emitter> class RecordScope;
36 template <class Emitter> class VariableScope;
37 template <class Emitter> class DeclScope;
38 template <class Emitter> class OptionScope;
41 template <class Emitter>
42 class ByteCodeExprGen : public ConstStmtVisitor<ByteCodeExprGen<Emitter>, bool>,
43 public Emitter {
52 using LabelTy = typename Emitter::LabelTy;
53 using AddrTy = typename Emitter::AddrTy;
67 : Emitter(Ctx, P, Args...), Ctx(Ctx), P(P) {} in ByteCodeExprGen()
161 friend class VariableScope<Emitter>;
162 friend class LocalScope<Emitter>;
163 friend class RecordScope<Emitter>;
164 friend class DeclScope<Emitter>;
165 friend class OptionScope<Emitter>;
225 VariableScope<Emitter> *VarScope = nullptr;
241 template <class Emitter> class VariableScope {
267 VariableScope(ByteCodeExprGen<Emitter> *Ctx) in VariableScope()
273 ByteCodeExprGen<Emitter> *Ctx;
282 template <class Emitter> class LocalScope : public VariableScope<Emitter> {
284 LocalScope(ByteCodeExprGen<Emitter> *Ctx) : VariableScope<Emitter>(Ctx) {} in LocalScope()
309 template <class Emitter> class BlockScope final : public LocalScope<Emitter> {
311 BlockScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<Emitter>(Ctx) {} in BlockScope()
320 template <class Emitter> class ExprScope final : public LocalScope<Emitter> {
322 ExprScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<Emitter>(Ctx) {} in ExprScope()