public void EmitBranchFalse(BranchLabel elseLabel) { EmitBranch(new BranchFalseInstruction(), elseLabel); }
public void EmitEnterFinally(BranchLabel finallyStartLabel) { Emit(EnterFinallyInstruction.Create(EnsureLabelIndex(finallyStartLabel))); }
public void EmitBranch(BranchLabel label, bool hasResult, bool hasValue) { EmitBranch(new BranchInstruction(hasResult, hasValue), label); }
public void EmitCoalescingBranch(BranchLabel leftNotNull) { EmitBranch(new CoalescingBranchInstruction(), leftNotNull); }
public void EmitBranch(BranchLabel label) { EmitBranch(new BranchInstruction(), label); }
private void EmitBranch(OffsetInstruction instruction, BranchLabel label) { Emit(instruction); label.AddBranch(this, Count - 1); }
public void EmitGoto(BranchLabel label, bool hasResult, bool hasValue) { Emit(GotoInstruction.Create(EnsureLabelIndex(label), hasResult, hasValue)); }
public void MarkLabel(BranchLabel label) { label.Mark(this); }
public void EmitLeaveExceptionHandler(bool hasValue, BranchLabel tryExpressionEndLabel) { Emit(LeaveExceptionHandlerInstruction.Create(EnsureLabelIndex(tryExpressionEndLabel), hasValue)); }