CLanguage by praeclarum

<PackageReference Include="CLanguage" Version="0.14.26" />

 EmitContext

public abstract class EmitContext

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 EmitContext PushLoop(Label breakLabel, Label continueLabel)

public virtual CType ResolveTypeName(TypeName typeName)

public virtual CType ResolveTypeName(string typeName)

public virtual ResolvedVariable TryResolveVariable(string name, CType[] argTypes)