EmitContext public abstract class EmitContext Documentation Code public CompiledFunction FunctionDecl { get; } public virtual LoopContext Loop { get; } public MachineInfo MachineInfo { get; } public EmitContext ParentContext { get; } public Report Report { get; } protected EmitContext(EmitContext parentContext) protected EmitContext(MachineInfo machineInfo, Report report, CompiledFunction fdecl, EmitContext parentContext) public virtual void BeginBlock(Block b) public virtual Label DefineLabel() public virtual void Emit(Instruction instruction) public void Emit(OpCode op, Value x) public void Emit(OpCode op, Label label) public void Emit(OpCode op) public void EmitCast(CType fromType, CType toType) public void EmitCastToBoolean(CType fromType) public virtual void EmitLabel(Label l) public virtual void EndBlock() public virtual Value GetConstantMemory(string stringConstant) public int GetInstructionOffset(CType cType) public CType MakeCType(DeclarationSpecifiers specs, Declarator decl, Initializer init, Block block) public CType MakeCType(DeclarationSpecifiers specs, Initializer init, Block block) public EmitContext PushLoop(Label breakLabel, Label continueLabel) public virtual ResolvedVariable ResolveMethodFunction(CStructType structType, CStructMethod method) public virtual CType ResolveTypeName(TypeName typeName) public virtual CType ResolveTypeName(string typeName) public ResolvedVariable ResolveVariable(VariableExpression variable, CType[] argTypes) public virtual ResolvedVariable TryResolveVariable(string name, CType[] argTypes)