Lines Matching refs:Emitter
32 template <class Emitter> class LocalScope;
33 template <class Emitter> class RecordScope;
34 template <class Emitter> class VariableScope;
35 template <class Emitter> class DeclScope;
36 template <class Emitter> class OptionScope;
39 template <class Emitter>
40 class ByteCodeExprGen : public ConstStmtVisitor<ByteCodeExprGen<Emitter>, bool>,
41 public Emitter {
50 using LabelTy = typename Emitter::LabelTy;
51 using AddrTy = typename Emitter::AddrTy;
65 : Emitter(Ctx, P, Args...), Ctx(Ctx), P(P) {} in ByteCodeExprGen()
159 friend class VariableScope<Emitter>;
160 friend class LocalScope<Emitter>;
161 friend class RecordScope<Emitter>;
162 friend class DeclScope<Emitter>;
163 friend class OptionScope<Emitter>;
223 VariableScope<Emitter> *VarScope = nullptr;
239 template <class Emitter> class VariableScope {
265 VariableScope(ByteCodeExprGen<Emitter> *Ctx) in VariableScope()
271 ByteCodeExprGen<Emitter> *Ctx;
280 template <class Emitter> class LocalScope : public VariableScope<Emitter> {
282 LocalScope(ByteCodeExprGen<Emitter> *Ctx) : VariableScope<Emitter>(Ctx) {} in LocalScope()
307 template <class Emitter> class BlockScope final : public LocalScope<Emitter> {
309 BlockScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<Emitter>(Ctx) {} in BlockScope()
318 template <class Emitter> class ExprScope final : public LocalScope<Emitter> {
320 ExprScope(ByteCodeExprGen<Emitter> *Ctx) : LocalScope<Emitter>(Ctx) {} in ExprScope()