Skip to content

Commit

Permalink
Update docs for v2.8
Browse files Browse the repository at this point in the history
  • Loading branch information
MSDN-WhiteKnight committed Jul 30, 2023
1 parent d5cd0ed commit b7ff911
Show file tree
Hide file tree
Showing 54 changed files with 5,109 additions and 33 deletions.
12 changes: 12 additions & 0 deletions CilTools.BytecodeAnalysis/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,15 @@ v2.0

2.7
- Add more public APIs to TokenReader (Position, Length, GetPreviousChar, GetSourceString)

2.8
- Add support for type forwards in disassembler
- Add support for .vtfixup directives in assembly manifest
- Add support for AggressiveInlining method attribute
- Add support for Import and WindowsRuntime type attributes
- Add support for field offsets in structs with explicit layout
- Add support for RVA fields in type disassembler
- Add LocalVariable.Method property
- Add TypeSpec.CreateSpecialType method
- Add IdentifierSyntax.Kind property
- Make SyntaxNode._parent field protected
5 changes: 5 additions & 0 deletions CilTools.Metadata/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@
- Implement Type.StructLayoutAttribute property on TypeDef
- Fix Type.IsValueType and Type.IsEnum returning incorrect values for .NET Core assemblies
- Fix token resolution to throw ArgumentOutOfRangeException instead of BadImageFormatException on out-of-range tokens

2.8

- Support additional assembly resolution directories in AssemblyReader
- Support inherit parameter in Type.GetCustomAttributes methods
2 changes: 1 addition & 1 deletion CilView/manual.html
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ <h2 id="source-code-viewer">Source code viewer</h2>
<p>This feature enables you to display source code corresponding to disassembled CIL code. Source code viewer can fetch source code using symbols line data (see <em>Disassembler options</em> section above for information about symbols support) or display the decompiled code (currently only supported for abstract methods or methods implemented in unmanaged code).</p>
<p>To view the source code for individual instructions, click <strong>Tools</strong> -&gt; <strong>Show source code</strong>. Alternatively, you could right-click the instruction of interest in formatted view. In the <strong>View source</strong> window you'll see the CIL code of the sequence point on the left and its corresponding source code fragment on the right. Use <strong>&lt;</strong> and <strong>&gt;</strong> buttons to navigate between sequence points, or the file hyperlink to open the whole source file in your default editor.</p>
<p>To view the source code for the whole method, click <strong>Tools</strong> -&gt; <strong>Show source code (method)</strong>. The <strong>Source code</strong> window will display the method's source code as well as the information about where it was fetched from.</p>
<p>If the source code is located on external server (this feature is called <a href="https://github.com/dotnet/designs/blob/main/accepted/2020/diagnostics/source-link.md">Source Link</a>), the source viewer will prompt you with a dialog box to allow navigating to server. If you choose <strong>Yes</strong>, the source code will be opened in your default browser. Any subsequent attempts for the same domain will open the browser automatically without propmting again. The Source Link is supported for Portable PDB only.</p>
<p>If the source code is located on external server (this feature is called <a href="https://github.com/dotnet/designs/blob/main/accepted/2020/diagnostics/source-link.md">Source Link</a>), the source viewer will prompt you with a dialog box to allow navigating to server. If you choose <strong>Yes</strong>, the source code will be opened in your default browser. Any subsequent attempts for the same domain will open the browser automatically without prompting again. The Source Link is supported for Portable PDB only.</p>
<h2 id="method-execution">Method execution</h2>
<blockquote>
<p><strong>WARNING:</strong> Executing a method from unknown origin could be dangerous. Don't use this feature unless you are sure a method does not contain a malicious code! There's no isolation or security control provided for the code being executed.</p>
Expand Down
10 changes: 10 additions & 0 deletions CilView/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,16 @@ Changelog
2.6.1
- Fix TypeLoadException when disassembling property on a type derived from external non-BCL assembly

2.8
- Add support for type forwards
- Add support for .vtfixup directives in assembly manifest
- Add syntax highlighting support for some non-standard IlAsm keywords
- Add navigation to labels
- Add support for field offsets for structs with explicit layout
- Add support for RVA fields
- No longer automatically select <Module> type when it's the only one in assembly (so user can see assembly manifest)
- Fix members counting to pick only declared members when deciding whether the only method in type should be auto-selected

---------------------------------------------

Copyright (c) 2023, MSDN.WhiteKnight
39 changes: 39 additions & 0 deletions docfx_project/api/.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@
"CilTools.BytecodeAnalysis.TypeSpec.Assembly": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.AssemblyQualifiedName": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.BaseType": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.CreateSpecialType(CilTools.BytecodeAnalysis.ElementType)": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.DeclaringMethod": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.DeclaringType": "CilTools.BytecodeAnalysis.TypeSpec.yml",
"CilTools.BytecodeAnalysis.TypeSpec.ElementType": "CilTools.BytecodeAnalysis.TypeSpec.yml",
Expand Down Expand Up @@ -271,12 +272,16 @@
"CilTools.Metadata": "CilTools.Metadata.yml",
"CilTools.Metadata.AssemblyReader": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.#ctor": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.AddResolutionDirectory(System.String)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.AssemblyResolve": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.Dispose": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.Load(System.Reflection.AssemblyName)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.Load(System.String)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.LoadFrom(System.String)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.LoadImage(CilTools.Reflection.MemoryImage)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.RemoveAllResolutionDirectories": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.RemoveResolutionDirectory(System.String)": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.ResolutionDirectories": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.ResolveExternalRefs": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Metadata.AssemblyReader.RuntimeDirectory": "CilTools.Metadata.AssemblyReader.yml",
"CilTools.Reflection": "CilTools.Reflection.yml",
Expand Down Expand Up @@ -465,6 +470,8 @@
"CilTools.Reflection.LocalVariable.LocalIndex": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.LocalType": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.LocalTypeSpec": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.Method": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.ReadMethodSignature(System.Reflection.MethodBase,System.Byte[],CilTools.Reflection.SignatureContext)": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.ReadSignature(System.Byte[],CilTools.Reflection.ITokenResolver)": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.ReadSignature(System.Byte[],CilTools.Reflection.ITokenResolver,System.Reflection.MemberInfo)": "CilTools.Reflection.LocalVariable.yml",
"CilTools.Reflection.LocalVariable.ReadSignature(System.Byte[],System.Reflection.Module)": "CilTools.Reflection.LocalVariable.yml",
Expand All @@ -484,19 +491,34 @@
"CilTools.Reflection.PInvokeParams.FunctionName": "CilTools.Reflection.PInvokeParams.yml",
"CilTools.Reflection.PInvokeParams.ModuleName": "CilTools.Reflection.PInvokeParams.yml",
"CilTools.Reflection.PInvokeParams.SetLastError": "CilTools.Reflection.PInvokeParams.yml",
"CilTools.Reflection.PortableExecutable": "CilTools.Reflection.PortableExecutable.yml",
"CilTools.Reflection.PortableExecutable.VTable": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.#ctor(System.Int32,System.Int16,System.Int16,System.Byte[])": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.GetData": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.GetSlotValue(System.Int32)": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.GetSlotValueInt32(System.Int32)": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.Is64Bit": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.RVA": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.SlotsCount": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.PortableExecutable.VTable.Type": "CilTools.Reflection.PortableExecutable.VTable.yml",
"CilTools.Reflection.ReflectionProperties": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.CorFlags": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.ExplicitlyImplementedMethods": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.FieldOffset": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.FieldRva": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.FileAlignment": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.ForwardedTypes": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.Get(System.Object,System.Int32)": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.ImageBase": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.InfoText": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.IsStatic": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.ReferencedModules": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.RvaFieldValue": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.Signature": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.StackReserve": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.Subsystem": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.VTableEntry": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.ReflectionProperties.VTables": "CilTools.Reflection.ReflectionProperties.yml",
"CilTools.Reflection.RefResolutionMode": "CilTools.Reflection.RefResolutionMode.yml",
"CilTools.Reflection.RefResolutionMode.NoResolve": "CilTools.Reflection.RefResolutionMode.yml",
"CilTools.Reflection.RefResolutionMode.RequireResolve": "CilTools.Reflection.RefResolutionMode.yml",
Expand Down Expand Up @@ -655,6 +677,8 @@
"CilTools.SourceCode.Common.SourceToken.Content": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceToken.EnumerateChildNodes": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceToken.Kind": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceToken.Language": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceToken.OrdinalNumber": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceToken.ToText(System.IO.TextWriter)": "CilTools.SourceCode.Common.SourceToken.yml",
"CilTools.SourceCode.Common.SourceTokenFactory": "CilTools.SourceCode.Common.SourceTokenFactory.yml",
"CilTools.SourceCode.Common.SourceTokenFactory.CreateNode(System.String,System.String,System.String)": "CilTools.SourceCode.Common.SourceTokenFactory.yml",
Expand Down Expand Up @@ -723,10 +747,18 @@
"CilTools.Syntax.DisassemblerParams.CodeProvider": "CilTools.Syntax.DisassemblerParams.yml",
"CilTools.Syntax.DisassemblerParams.IncludeCodeSize": "CilTools.Syntax.DisassemblerParams.yml",
"CilTools.Syntax.DisassemblerParams.IncludeSourceCode": "CilTools.Syntax.DisassemblerParams.yml",
"CilTools.Syntax.IdentifierKind": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierKind.Label": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierKind.LocalVariable": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierKind.Member": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierKind.Other": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierKind.Parameter": "CilTools.Syntax.IdentifierKind.yml",
"CilTools.Syntax.IdentifierSyntax": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.Content": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.EnumerateChildNodes": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.IsDefinition": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.IsMemberName": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.Kind": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.TargetItem": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.TargetMember": "CilTools.Syntax.IdentifierSyntax.yml",
"CilTools.Syntax.IdentifierSyntax.ToText(System.IO.TextWriter)": "CilTools.Syntax.IdentifierSyntax.yml",
Expand Down Expand Up @@ -774,14 +806,17 @@
"CilTools.Syntax.SyntaxNode": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.#ctor": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode._lead": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode._parent": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode._trail": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.EmptyArray": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.EnumerateChildNodes": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.GetAdditionalInfo(System.String)": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.GetChildNodes": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.GetTypeDefSyntax(System.Type)": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.GetTypeDefSyntax(System.Type,System.Boolean,CilTools.Syntax.DisassemblerParams)": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.LeadingWhitespace": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.Parent": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.SetAdditionalInfo(System.String,System.Object)": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.ToString": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.ToText(System.IO.TextWriter)": "CilTools.Syntax.SyntaxNode.yml",
"CilTools.Syntax.SyntaxNode.TrailingWhitespace": "CilTools.Syntax.SyntaxNode.yml",
Expand Down Expand Up @@ -820,8 +855,12 @@
"CilTools.Syntax.Tokens.SyntaxTokenDefinition.IlasmTokens": "CilTools.Syntax.Tokens.SyntaxTokenDefinition.yml",
"CilTools.Syntax.Tokens.TokenReader": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.#ctor(System.String,System.Collections.Generic.IEnumerable{CilTools.Syntax.Tokens.SyntaxTokenDefinition})": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.GetPreviousChar(System.Int32)": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.GetSourceString": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.Length": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.PeekChar": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.PeekString(System.Int32)": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.Position": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.TokenReader.ReadAll": "CilTools.Syntax.Tokens.TokenReader.yml",
"CilTools.Syntax.Tokens.WhitespaceToken": "CilTools.Syntax.Tokens.WhitespaceToken.yml",
"CilTools.Syntax.Tokens.WhitespaceToken.#ctor": "CilTools.Syntax.Tokens.WhitespaceToken.yml",
Expand Down
Loading

0 comments on commit b7ff911

Please sign in to comment.