Skip to content

Commit a24caaf

Browse files
authored
Update README.md
1 parent 3114a6c commit a24caaf

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,32 @@ This library for .NET provides functionality to parse IL source code. If you're
33
what the .NET application typically consists of. C#, Visual Basic, F#, and other well-known official .NET languages compile to IL bytecode. However,
44
IL actually has its syntax as well. ILSourceParser parses the IL syntax into syntax nodes, making it easier to analyze IL.
55

6+
ILSourceParser aims to be the comprehensive parser for Microsoft Intermediate Language for .NET. Supports:
7+
- Leading and trailing trivia
8+
- Detecting line/column where a syntax error occurs
9+
- Source file specification
10+
- Asynchronous parsing
11+
- Parsing the following types:
12+
- Method parameters:
13+
- \out], \opt] and \in] prefixes
14+
- Marshalling (IL `marshal()` function)
15+
- Optional parameter names
16+
- Method Locals:
17+
- Supports `.locals` and `.locals init` directives in methods
18+
- Type parsing:
19+
- Optional assembly reference, such as `[System.Runtime]`
20+
- Generic type references
21+
- Generic parameter references like `!T` or !!T`
22+
- Nested generic type references (e.g. generic type reference passed to parameter of generic type passed to parameter of generic type and so on)
23+
- Attributes:
24+
- Custom attributes
25+
- Anonymous custom attributes (e.g. with byte data omitted)
26+
- Comments:
27+
- Inline and multiline comments
28+
- Directives:
29+
- Most if not all IL directives are supported, such as `.assembly`, `.property`, `.file`, `.file alignment`, `.hash algorithm`, `.permissionset`, `.imagebase`, `.event`, `.custom`, `.pack`, `.size`, `.field`, `.module`, `.line`, and more
30+
- And more
31+
632
This library does not rely on any existing project and is not a port from another language, so chances are there could be some issues with this library. If
733
you encounter one, please create a new issue post about it!
834

0 commit comments

Comments
 (0)