From 3114a6c6a5376599d79c0acbbef595d05363ad3e Mon Sep 17 00:00:00 2001 From: winscripter <142818255+winscripter@users.noreply.github.com> Date: Wed, 24 Jul 2024 20:40:00 +0400 Subject: [PATCH] Add XML Documentation File --- ILSourceParser.xml | 2016 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2016 insertions(+) create mode 100644 ILSourceParser.xml diff --git a/ILSourceParser.xml b/ILSourceParser.xml new file mode 100644 index 0000000..5c76dbe --- /dev/null +++ b/ILSourceParser.xml @@ -0,0 +1,2016 @@ + + + + ILSourceParser + + + + + Represents the type of an access modifier in IL code. + + + + + No access modifier is specified. + + + + + Public - equivalent to in C#. + + + + + Family - equivalent to in C#. + + + + + Private - equivalent to in C#. + + + + + Assembly - equivalent to in C#. + + + + + FamOrAssem - equivalent to in C#. + + + + + FamAndAssem - equivalent to in C#. + + + + + Represents the type of calling convention in IL code. + + + + + Cdecl calling convention. + + + + + Stdcall calling convention. + + + + + Thiscall calling convention. + + + + + Fastcall calling convention. + + + + + Default calling convention - this is not a calling convention, rather, + the default calling convention is used based on the application. + + + + + Represents the hashing mode for the .hash directive. + + + + + The SHA1 algorithm is the default algorithm for .NET Framework apps but is deemed insecure since 2015. Value is 0x00008004. + + + + + The SHA256 algorithm is the default algorithm for .NET Core 1.0 and later apps. Value is 0x0000800C. + + + + + The MD5 algorithm is considered insecure and is not default for any .NET runtime type. Value is 0x00008003. + + + + + The SHA512 algorithm is not default for any .NET runtime type but is considered the most secure option. Value is 0x0000800D. + + + Remark: using this algorithm in a .NET application could severely drop down performance. + + + + + A hashing algorithm that is not recognized. Value is 0x00000000. + + + Remark: if the algorithm is unknown, + the application still compiles and runs fine. This is because .NET will + silently fall back to the default hashing algorithm if the current one + is unknown. So, on .NET Framework, an unknown hashing algorithm will + instead result in SHA1, while on .NET Core 1.0 and later, the hashing + algorithm will be SHA256. + + + + + Marks a syntax trivia as a type. Those include: + + + + + + + + + + Represents the well-known special method name in IL code, typically + reserved and/or illegal in C# code but not in IL. These include: + + + Finalize - the C# finalizer, like: ~MyMethod() { } + + + Operator - not a method, but methods prefixed with op_. Those + are methods that specify C# user-defined operators. + + + .ctor - equivalent to a constructor in C# + + + .cctor - equivalent to a static constructor in C# + + + + + + + The Finalize() method, typically a finalizer in C# code. + + + + + Methods starting with op_, typically user-defined operators in + C# code. + + + + + The .ctor method, typically a constructor in C# code. + + + + + The .cctor method, typically a static constructor in C# code. + + + + + Specifies the management type of a function pointer. + + + + + The function pointer is a pointer referring to the managed method. + + + + + The function pointer is a pointer referring to the unmanaged method. + + + + + Represents the type of parameter modifier. + + + + + Equivalent to . + + + + + Equivalent to . + + + + + Equivalent to . + + + + + Unknown parameter modifier was specified. + + + + + Represents the well-known primitive type in IL code. + + + + + int8 - equivalent to in C#. + + + + + int16 - equivalent to in C#. + + + + + int32 - equivalent to in C#. + + + + + int64 - equivalent to in C#. + + + + + uint8 - equivalent to in C#. + + + + + uint16 - equivalent to in C#. + + + + + uint32 - equivalent to in C#. + + + + + uint64 - equivalent to in C#. + + + + + float32 - equivalent to in C#. + + + + + float64 - equivalent to in C#. + + + + + string - equivalent to in C#. + + + + + char - equivalent to in C#. + + + + + bool - equivalent to in C#. + + + + + object - equivalent to in C#. + + + + + void - equivalent to in C#. + + + + + native int - equivalent to in C#. + + + + + native uint - equivalent to in C#. + + + + + native int32 - equivalent to in C#. + + + + + native uint32 - equivalent to in C#. + + + + + Provides lookups and dictionaries related to IL predefined types. + + + + + Represents a lookup that checks whether the given predefined + type can be a function or not. For example, passing + will return because int32(123) is a valid + function in IL, but passing will + return because string("Hi!") is not a valid + function in IL. + + + + + Represents a lookup that returns based on + the type name. For example, passing the string "int32" will + return . + + + + + Represents a security action- that is, what is used in the .permissionset assembler directive. + These are part of Code Access Security (CAS) feature. By default, this assembler directive is + only emitted by the compiler in .NET Framework apps - .NET Core and later do. + + + Remark: please note that the security actions are now deprecated in modern .NET versions and should not be used anymore. + However, they're still ordinarily seen even in modern .NET Framework code, even though + Code Access Security was deprecated way back in 2010. However, by compiling the IL + application with a more modern .NET, you will likely not see the .permissionset + assembler directive in the decompiled code at all. + + + + + request: Specifies that the assembly requests the specified permissions. + The CLR checks if the requested permissions are granted. + + + + + demand: Requires that the assembly has the specified permissions. + If not, a security exception is thrown. + + + + + assert: Allows the assembly to assert that it has the specified permissions, even if it doesn’t. + Use with caution before running the application with this security action. + + + + + deny: Explicitly denies the specified permissions to the assembly. + + + + + permitonly: Grants only the specified permissions to the assembly, denying all others. + + + + + linkcheck: Used during verification to ensure that the assembly doesn’t link against forbidden types or methods. + + + + + inheritcheck: Similar to linkcheck but also checks inherited members. + + + + + reqopt: Specifies optional permissions that the assembly requests. + + + + + reqrefuse: Specifies permissions that the assembly refuses. + + + + + prejitgrant: Specifies permissions granted during pre-JIT compilation. + + + + + prejitdeny: Specifies permissions denied during pre-JIT compilation. + + + + + noncasdemand: Used for non-CAS (Code Access Security) demands. + + + + + noncaslinkdemand: Used for non-CAS link demands. + + + + + noncasinheritance: Used for non-CAS inheritance demands + + + + + reqmin: Set specifies the minimum permissions required for the assembly to execute. + If one of the permissions is not met, a security exception is thrown. This is the default + for .NET Framework apps, but is no longer used in .NET. + + + + + Represents a few special method names. + + + + + .ctor - constructor method + + + + + .cctor - static constructor method + + + + + Represents the type prefix. For example, in this IL code: + + [MyAssembly]MyNamespace.MyGenericClass<valuetype [System.Runtime]System.Decimal> + + The first generic parameter of MyNamespace.MyGenericClass is a non-generic + type reference, prefixed with valuetype. Since [System.Runtime]System.Decimal + is prefixed with valuetype, this will use . + + + + + Type prefix class + + + + + Type prefix valuetype + + + + + Represents an exception thrown when the security action is undefined. + + + + + The security action as a string which is not known. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Exception message & the security action that wasn't defined. + + + + Initializes a new instance of the class. + + Exception message & the security action that wasn't defined. + Inner exception. + + + + Represents the Microsoft Intermediate Language (IL) root node. + + + + + Represents every top-level syntax node, excluding + descendant nodes. Examples include the following nodes: + + + + + + + ... etc + + But, not these: + + - only inside of a class + - only inside of an assembly + - only inside of a method, class, property, assembly, etc + - only inside of a method + + ... etc + + Example IL code to demonstrate: + + + // Root here + .assembly MyAssembly + { + // Descendant nodes not associated here, but are part + // of AssemblyDeclarationSyntax + .ver 1:2:3:4 + } + + // This node will be included + .imagebase 0x00400000 + + + + + + + Checks whether the syntax root does not contain any code (e.g. it is + either empty or consists of comment syntax nodes only). + + + + + Checks whether the syntax root does not contain any syntax nodes at all. + + + + + Calculates sum of leading and trailing trivias of every top-level syntax node. + + A number of leading and trailing trivias in root scoped syntax nodes. + + + + + + + + + + + + + Checks whether the left root node is equal to the right root node. + + The left root node to compare from. + The right root node to compare with. + A boolean, indicating whether the left root node is equal to another or not. + + + + Checks whether the left root node is different from the right root node. + + The left root node to compare from. + The right root node to compare with. + A boolean, indicating whether the left root node is different from another or not. + + + + Returns a sequence containing syntax nodes different from each other compared + to syntax root. + + The other syntax root to compare descendant nodes with. + Sequence containing top-level syntax nodes different with this and other syntax root. + Thrown when this and other syntax root do not have equal amounts of descendant nodes. + + + + Provides functionality for parsing Microsoft Intermediate Language (IL) syntax + into a syntax tree. + + + + + Parses IL source into a syntax tree. + + A string that represents the IL source code. + A new that represents IL syntax tree. + + + + Parses IL source into a syntax tree. + + A string that represents the IL source code. + The path to the source file containing IL code. + A new that represents IL syntax tree. + + + + Parses IL source into a syntax tree. + + A string that represents the IL source code. + A new that represents IL syntax tree. + + + + Parses IL source into a syntax tree. + + A string that represents the IL source code. + The path to the source file containing IL code. + A new that represents IL syntax tree. + + + + Empty class used to make 'ILSourceParser.Private' a valid namespace + in order to match the folder structure. Please do not use. + + + + + Core parser for the Intermediate Language (IL) source syntax. + + + + + Represents the Intermediate Language syntax tree. + + + + + Returns the root node for the IL syntax tree. + + A root syntax node that specifies the top-level syntax nodes. + + + + Returns the root node for the IL syntax tree asynchronously. + + A root syntax node that specifies the top-level syntax nodes. + + + + Returns the name of the source file where its contents were parsed into + IL syntax tree. This throws an + by default while getting the file path. + To ensure the source file is specified, use the + property. + + + + + Checks whether the file path is specified. Returns . To specify + the source file, change the property. + + + + + This node is associated with the following kinds: + + + + + + + + + + + + + + + + + + + + + + + + + Represents the IL .addon accessor, similar to C#'s event add accessor. + + + + + Accessors in IL code typically reference to another method that contains actual + implementation of the accessor. This property references a method that contains + the implementation of the accessor. + + + + + Represents an anonymous custom attribute in IL code. This is a type of + custom attribute that does not contain any byte data. Example: + + .custom instance void [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() + + // There is no "= ( 01 00 00 00 )" after "::.ctor()", so this is an anonymous + // custom attribute. + + There is a different syntax node to represent custom attributes that contain + byte data, which is . + + + + + Represents the invocation to the constructor. For example, in this + custom attribute: + + .custom instance void [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() + + .. this property will hold a reference to [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor(), + specifically the constructor method .ctor(), and the + return type instance void. + + + + + This node is associated with the following nodes: + + + + + + + + + + + + + + + A list of parameters passed to the argument collection. + + + + + Represents a syntax node for argument list references. This is used in + to specify parameters passed to the + method that's being invoked. + + + + + + + + + + + An enumerable of parameters passed to the method being invoked. + + + + + + + + + + + Represents a syntax node for assembly references. For example, in this type reference: + + + [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() + + + .. "[System.Runtime]" will be part of this syntax node. + + + + + + + + + + + Represents the name of the assembly in the assembly reference. For example, in this type reference: + + + [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() + + + .. this property will hold a value of "System.Runtime". Brackets at start + and end are removed automatically. + + + + + This node is associated with the following types: + + + + + + + + + + + + + + + + + + + This node is associated with the following kinds: + + + + + + + + + + + + + + + + + + + Base class for generic parameters. This node is associated with the following nodes: + + + + + + + + + + + + + + + + + + + + + + Represents the bool() IL function. + + + Not to be confused with a simple bool type, this node specifies the + bool() function, e.g. bool(true). + + + + + A boolean passed to the function. + + + + + Represents an IL boolean literal - e.g. true or false keyword. + + + + + Represents the value of the literal. This string can only hold a value + of true or false. + + + + + Represents a syntax node for the bytearray() IL type. + + + Not to be confused with the byte array, this node refers to the bytearray(...) + IL type. Byte arrays are simply represented as + of type . + + + + + A list of bytes passed to the bytearray type. + + + + + Represents a syntax node for a byte - e.g. 0x05 or 1c. This node is + typically returned by syntax nodes that heavily rely on bytes, f.e. + or . + + + + + + + + + + + Represents the raw value of the byte. For instance, if 1c was specified, + this string will hold the value of 1c. Value may be prefixed with the + hexadecimal integer prefix (0x). The length of this string is always 2 characters. + + + + + + + + + + + Represents the IL .corflags directive. + + + + + + + + + + + The value of the COR flags. For example, in this code: + + .corflags 0x12345678 + + .. this property will hold a string, with value "0x12345678". + + + + + Represents an anonymous custom attribute in IL code, similar to C#'s attributes. Example: + + .custom instance void [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() = ( + 01 00 00 00 + ) + + There is a different syntax node to represent custom attributes that omit the + byte data = ( 01 00 00 00 ), which is . + + + It is important to acknowledge that parsing attribute byte data in IL is + harder than in C# and generally requires a deeper understanding on how + attributes in IL bytecode work. + + + + + Represents the invocation to the constructor. For example, in this + custom attribute: + + .custom instance void [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() = ( + 01 00 00 00 + ) + + .. this property will hold a reference to [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor(), + specifically the constructor method .ctor(), and the + return type instance void. + + + + + Represents the attribute data of this custom attribute. For example, + in this custom attribute: + + .custom instance void [System.Runtime]System.Runtime.CompilerServices.NullableAttribute::.ctor() = ( + 01 00 00 00 + ) + + .. this property will hold byte data of the custom attribute, + being 01 00 00 00 combined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an IL finally block. + + + + + Descendant nodes of the block. + + + + + This node is associated with the following kinds: + + + + + + + + + + + + + + + + + + + Represents the IL .get accessor, similar to C#'s property get accessor. + + + + + Accessors in IL code typically reference to another method that contains actual + implementation of the accessor. This property references a method that contains + the implementation of the accessor. + + + + + + + + + + + + + + + + + The index of the argument. Example: + + + ldarg 42 + + + In the example above, the value of this property will be 42. + + + Remark: If the value of this property is , this + means that the opcode that loads argument by index does not require an + explicit index to be specified. For example, the instruction ldarg.0 + doesn't take any parameters and is just an equivalent to ldarg 0, although + that instruction is still categorized as . + + + + + The index of the argument. Example: + + + starg 42 + + + In the example above, the value of this property will be 42. + + + Remark: If the value of this property is , this + means that the opcode that loads argument by index does not require an + explicit index to be specified. For example, the instruction starg.0 + doesn't take any parameters and is just an equivalent to starg 0, although + that instruction is still categorized as . + + + + + + + + + + + Represents the Microsoft Intermediate Language (IL) box instruction syntax. + This instruction pops the last value from the evaluation stack, performs type boxing + on it, and pushes the result back onto the stack. The parameter specifies the type of + the object being boxed. + + + In simple terms, this type casts last item from stack to type. + + + + + Represents the Microsoft Intermediate Language (IL) calli instruction syntax. + This instruction is used to invoke the given function pointer and push its result onto the evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) call instruction syntax. + This instruction is used to invoke the given method and push its result onto the evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) callvirt instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) castclass instruction syntax. + This instruction is used to cast an instance of an object to another type. Casting is + guaranteed to complete at compile time, but may not complete at runtime type. + + + IL: + + // public class A { } + .class public A + { + } + + // public class B { } + .class public B + { + } + + .class public sealed Program + { + .method public static void Main() + { + .entrypoint + .locals init ( + [0] A 'My A Variable' + ) + + // A a = new A(); + newobj instance void A::.ctor() + stloc.0 + ldloc.0 + + // B b = (B)(object)a; + castclass B // Convert A to B + pop + ret + } + } + + + + + + Represents the Microsoft Intermediate Language (IL) cpobj instruction. + + + + + Represents the Microsoft Intermediate Language (IL) initobj instruction. + + + + + Represents the Microsoft Intermediate Language (IL) isinst instruction. This instruction + is used to test whether the last object on the evaluation stack is of given type or + not. It pushes a boolean on stack. Example: + + IL: + + newobj instance void [System.Private.CoreLib]System.Random::.ctor() + isinst [System.Private.CoreLib]System.Text.StringBuilder + // Pushes 'false' because last item on the stack is of type Random, not StringBuilder + + C# equivalent: + + using System; + using System.Text; + + var random = new Random(); + var flag = random is StringBuilder; // this is isinst instruction here + + + + + + + Represents the Microsoft Intermediate Language (IL) jmp instruction syntax. + This instruction is used to transfer control to a different method. Each method + can use this instruction just once because any code after the instruction is unreachable + since control is transferred to a different method. Example: + + + IL: + + .method public hidebysig static int32 M() cil managed + { + .entrypoint + jmp void C::X() + // Code down here is unreachable + } + + .method private static int32 X() + { + ldc.i4 42 + ret + } + + C#: + + public static int M() + { + return X(); + } + + private static int X() + { + return 42; + } + + + + + + + Represents the Microsoft Intermediate Language (IL) ldflda instruction. + This instruction is used to load the address of the given field onto the stack. Example: + + + IL: + + .class public C + { + .field initonly string MyString = "abc" + + .method public void X() + { + // create new instance of C 'C c = new C()' + newobj instance void C::.ctor() + + // 'ref string reference = ref c.MyString' + ldflda string C::MyString + + ret + } + } + + C#: + + public class C + { + public string MyString = "abc"; // It is not recommended to keep fields public like this but this is just a demo after all + + public void X() + { + C c = new C(); + ref string reference = ref c.MyString; + } + } + + + + + + + Represents the Microsoft Intermediate Language (IL) ldfld instruction. + This instruction is used to load the value of the given field onto the evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) ldftn instruction syntax. + This instruction is used to create and push a function pointer for the given method onto the + evaluation stack. The property specifies the method to create the + function pointer for. + + + + + Represents the Microsoft Intermediate Language (IL) ldsflda instruction. + This instruction is used to load the address of the given static field onto the stack. Example: + + + IL: + + .class public C + { + .field static initonly string MyString = "abc" + + .method public void X() + { + // 'ref string reference = ref c.MyString' + ldsflda string C::MyString + + ret + } + } + + C#: + + public class C + { + public static string MyString = "abc"; // It is not recommended to keep fields public like this but this is just a demo after all + + public void X() + { + ref string reference = MyString; + } + } + + + + + + + Represents the Microsoft Intermediate Language (IL) ldsfld instruction. + This instruction is used to load the value of the given static field onto the evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) ldstr instruction. + This instruction is used to push a string onto the evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) ldftn instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) leave instruction. + + + + + Represents the Microsoft Intermediate Language (IL) leave.s instruction. + + + + + Represents the Microsoft Intermediate Language (IL) mkrefany instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) newarr instruction syntax. + This instruction is used to create a new array of given type. It also pops one integer + from the stack, which specifies the amount of items in the array. Example: + + + IL: + + ldc.i4 24 + newarr [MyAssembly]MyClass + + C#: + + MyClass[] myClass = new MyClass[24]; + + + + + + + Represents the Microsoft Intermediate Language (IL) newobj instruction syntax. + This instruction creates a new instance of the given object and pushes it onto the + evaluation stack. + + + + + Represents the Microsoft Intermediate Language (IL) refanyval instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) sizeof instruction syntax. + This instruction is used to push 'uint32' onto the stack that represents the size of + the given type in bytes. For instance, sizeof(int) in C# will be translated to sizeof int32 or sizeof [System.Private.CoreLib]System.Int32 in IL. + + + + + Represents the Microsoft Intermediate Language (IL) stsfld instruction. + This instruction is used to store data to the given field. + + + + + Represents the Microsoft Intermediate Language (IL) stobj instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) stsfld instruction. + This instruction is used to store data to the given static field. + + + + + Represents the Microsoft Intermediate Language (IL) switch instruction syntax. + + + + + Represents the Microsoft Intermediate Language (IL) unbox instruction syntax. + This instruction is used to unbox the last item on the evaluation stack - that is, + converting type to the given . + + + + + Represents the Microsoft Intermediate Language (IL) unbox instruction syntax. + This instruction is used to unbox the last item on the evaluation stack - that is, + converting type to the given . After this, + it pushes a managed pointer to the result onto the evaluation stack. + + + + + + + + + + + + + + + + + + + + + + + Represents the IL .locals directive. + + + + + + + + + + + Specifies whether the init flag is passed or not (e.g. is this .locals init + or just .locals?). + + + + + Represents variables of this directive. + + + + + + + + + + + Represents a byval array marshalling type with the size constant. + + + + + The size constant of the array. + Equivalent to . + + + + + Represents a byval tstr marshalling type with the size constant. + + + + + The size constant of the array. + Equivalent to . + + + + + Represents a custom marshalling type. + + + + + Equivalent to + + + + + Equivalent to + + + + + Represents IL marshal() for fields. + + + + + Represents IL marshal() function. + + + + + + + + + + + + + + + + + Represents IL marshal() for method parameters. + + + + + Represents IL marshal() for return types. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This node is associated with the following types: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the IL .permissionset directive syntax. + + + + + + + + + + + Represents the security action for this permission set. For example, in the + following example: + + .permissionset reqmin = ( + // ... + ) + + .. this property will have a value of . + + + + + The byte array that contains the bytes of the permission set. + + + + + + + + + + + + + + + + + + + + + + + Represents the IL .removeon accessor, similar to C#'s event remove accessor. + + + + + Accessors in IL code typically reference to another method that contains actual + implementation of the accessor. This property references a method that contains + the implementation of the accessor. + + + + + Represents the IL .set accessor, similar to C#'s property set accessor. + + + + + Accessors in IL code typically reference to another method that contains actual + implementation of the accessor. This property references a method that contains + the implementation of the accessor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an IL .try block. + + + + + Descendant nodes of the block. + + + + + + + + + + + This node is associated with the following kinds: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a single extension method that provides the method + to . + + + + + Converts the string value of as . + + The input . + value converted to . + + + + Converts to . + + + + + Converts to . + + The input type of marshal to process. + An output marshal. + + + + A bunch of extension methods that retrieve names of assemblies from + given syntax nodes. + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Returns the explicit name of the assembly from this syntax node. For example, + if the type reference is prefixed with [System.Private.CoreLib], this + method will return System.Private.CoreLib as a string. If assembly reference + is omitted, this method returns . + + The syntax node to get assembly name from. + + If assembly name is explicitly emitted, returns the name of the assembly. Otherwise, returns + + + + + Represents a single extension method + for . + + + + + Returns the boolean for based on the value + of the literal, whether it is true or false. + + The input boolean literal. + A boolean from the boolean literal. + + + + A bunch of extension methods that return a byte array or enumerable + for the given byte node array or syntax node. + + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Returns raw byte array or enumerable for the given input. + + The input to convert to a byte sequence. + A sequence of bytes that represent the array, node, or enumerable. + + + + Extensions for . + + + + + Returns the flag of the as . + + Input syntax node to process. + + + + + Returns from the given . + + Input syntax node to process. + + + +