From b08a14678e034aed061f4caa071cccd78d781587 Mon Sep 17 00:00:00 2001 From: troubleNadiagirl Date: Mon, 7 Aug 2017 12:59:35 +0600 Subject: [PATCH] Update README.markdown --- README.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.markdown b/README.markdown index ef19cf9..e85c9ca 100644 --- a/README.markdown +++ b/README.markdown @@ -5,7 +5,7 @@ GrEmit is a library containing different helpers for generating code using Refle ## Usage -GroboIL is a replacement for ILGenerator. Instead of calling ILGenerator.Emit(OpCode, ..), one calls GroboIL.OpCode(..). +GroboIL is a replacement for ILGenerator. Instead of calling ILGenerator.Emit(OpCode, ..), one may call GroboIL.OpCode(..). ### Example @@ -31,9 +31,9 @@ using(var il = new GroboIL(method)) ``` ## Advantages -Besides more beautiful interface GroboIL has some more assets over ILGenerator: - - GroboIL has one method for all instructions from the same family, for instance, instead of 11 instructions OpCodes.Ldelem_* there is one method GroboIL.Ldelem(Type type). - - During code generation GroboIL builds the content of the evaluation stack and validates instructions arguments, and if something went wrong, immediately throws an Exception. +Besides more beautiful interface GroboIL has some more advantages over ILGenerator: + - GroboIL has a single method for all instructions from the same family, for instance, instead of 11 instructions OpCodes.Ldelem_* there is one method GroboIL.Ldelem(Type type). + - During code generation GroboIL builds the content of the evaluation stack and validates instructions arguments, and if something is not OK, immediately throws an Exception. - There is a debug ouput of the code being generated. - Full generics support. - It is possible to debug MethodBuilders (use constructor of GroboIL with parameter [ISymbolDocumentWriter](http://msdn.microsoft.com/en-us/library/system.diagnostics.symbolstore.isymboldocumentwriter.aspx)).