diff --git a/.gitignore b/.gitignore index ffafff8275..186fbf43d9 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ /Bin/Composite.dll /Bin/Composite.Workflows.dll + +/Packages/ \ No newline at end of file diff --git a/Bin/ICSharpCode.SharpZipLib.dll b/Bin/ICSharpCode.SharpZipLib.dll deleted file mode 100644 index e829ebf4ba..0000000000 Binary files a/Bin/ICSharpCode.SharpZipLib.dll and /dev/null differ diff --git a/Bin/Microsoft.CodeAnalysis.CSharp.dll b/Bin/Microsoft.CodeAnalysis.CSharp.dll deleted file mode 100644 index 20c987eac0..0000000000 Binary files a/Bin/Microsoft.CodeAnalysis.CSharp.dll and /dev/null differ diff --git a/Bin/Microsoft.CodeAnalysis.dll b/Bin/Microsoft.CodeAnalysis.dll deleted file mode 100644 index c733b7c62f..0000000000 Binary files a/Bin/Microsoft.CodeAnalysis.dll and /dev/null differ diff --git a/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll b/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll deleted file mode 100644 index 0da3ce7c0e..0000000000 Binary files a/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll and /dev/null differ diff --git a/Bin/Microsoft.Framework.DependencyInjection.Abstractions.dll b/Bin/Microsoft.Framework.DependencyInjection.Abstractions.dll deleted file mode 100644 index 2e842a83c8..0000000000 Binary files a/Bin/Microsoft.Framework.DependencyInjection.Abstractions.dll and /dev/null differ diff --git a/Bin/Microsoft.Framework.DependencyInjection.dll b/Bin/Microsoft.Framework.DependencyInjection.dll deleted file mode 100644 index dfe2fcb415..0000000000 Binary files a/Bin/Microsoft.Framework.DependencyInjection.dll and /dev/null differ diff --git a/Bin/Microsoft.Web.Infrastructure.dll b/Bin/Microsoft.Web.Infrastructure.dll deleted file mode 100644 index 85f1138c57..0000000000 Binary files a/Bin/Microsoft.Web.Infrastructure.dll and /dev/null differ diff --git a/Bin/System.Collections.Immutable.dll b/Bin/System.Collections.Immutable.dll deleted file mode 100644 index 34c37a2b40..0000000000 Binary files a/Bin/System.Collections.Immutable.dll and /dev/null differ diff --git a/Bin/System.Reflection.Metadata.dll b/Bin/System.Reflection.Metadata.dll deleted file mode 100644 index 7853283879..0000000000 Binary files a/Bin/System.Reflection.Metadata.dll and /dev/null differ diff --git a/Bin/System.Web.Helpers.dll b/Bin/System.Web.Helpers.dll deleted file mode 100644 index b13e613601..0000000000 Binary files a/Bin/System.Web.Helpers.dll and /dev/null differ diff --git a/Bin/System.Web.Razor.dll b/Bin/System.Web.Razor.dll deleted file mode 100644 index 6089cb3344..0000000000 Binary files a/Bin/System.Web.Razor.dll and /dev/null differ diff --git a/Bin/System.Web.WebPages.Deployment.dll b/Bin/System.Web.WebPages.Deployment.dll deleted file mode 100644 index d904d0f133..0000000000 Binary files a/Bin/System.Web.WebPages.Deployment.dll and /dev/null differ diff --git a/Bin/System.Web.WebPages.Razor.dll b/Bin/System.Web.WebPages.Razor.dll deleted file mode 100644 index 711c6ff617..0000000000 Binary files a/Bin/System.Web.WebPages.Razor.dll and /dev/null differ diff --git a/Bin/System.Web.WebPages.dll b/Bin/System.Web.WebPages.dll deleted file mode 100644 index cdb61e362e..0000000000 Binary files a/Bin/System.Web.WebPages.dll and /dev/null differ diff --git a/Composite.Workflows/Composite.Workflows.csproj b/Composite.Workflows/Composite.Workflows.csproj index 1286cc2e7f..b94983c95a 100644 --- a/Composite.Workflows/Composite.Workflows.csproj +++ b/Composite.Workflows/Composite.Workflows.csproj @@ -61,9 +61,9 @@ false - - False - ..\bin\ICSharpCode.SharpZipLib.dll + + ..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll + True False @@ -113,9 +113,9 @@ 3.5 - - False - ..\Bin\System.Web.WebPages.dll + + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll + True 3.0 @@ -1358,7 +1358,9 @@ Composite - + + + - - copy "$(TargetPath)" "$(ProjectDir)..\bin\" -copy "$(TargetPath)" "$(ProjectDir)..\Website\bin\" - + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TextTemplatingFileGenerator + LocalizationFiles.cs + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Microsoft Visual Basic PowerPacks 10.0 + true + + + False + Windows Installer 3.1 + true + + + + + + copy "$(TargetPath)" "$(ProjectDir)..\bin\" +copy "$(TargetPath)" "$(ProjectDir)..\Website\bin\" + \ No newline at end of file diff --git a/Composite/packages.config b/Composite/packages.config new file mode 100644 index 0000000000..62d00bb135 --- /dev/null +++ b/Composite/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf b/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf deleted file mode 100644 index 893ebd9225..0000000000 --- a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf +++ /dev/null @@ -1,79 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\fnil\fcharset2 Symbol;}} -{\colortbl ;\red0\green0\blue255;} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 6.2.9200}{\*\mmathPr\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\nowidctlpar\sb120\sa120\b\f0\fs20 TODO: Replace with updated license.\par -MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS\par -.NET FRAMEWORK .DLL PROTOTYPE(S)\fs21\par - -\pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120\fs20\par - -\pard\nowidctlpar\sb120\sa120\b0 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the pre-release software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120 updates,\par -{\pntext\f1\'B7\tab}supplements,\par -{\pntext\f1\'B7\tab}Internet-based services, and\par -{\pntext\f1\'B7\tab}support services\par - -\pard\nowidctlpar\sb120\sa120 for this software, unless other terms accompany those items. If so, those terms apply.\par -\b BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par - -\pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 If you comply with these license terms, you have the rights below.\par - -\pard -{\pntext\f0 1.\tab}{\*\pn\pnlvlbody\pnf0\pnindent360\pnstart1\pndec{\pntxta.}} -\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent357{\pntxtb\'B7}}\nowidctlpar\fi-357\li720\sb120\sa120\b0 You may install and use any number of copies of the software on your premises to design, develop and test your programs for use with the software. \par -{\pntext\f1\'B7\tab}Evaluation Only. You may not test or deploy the software in a live operating environment unless Microsoft permits you to do so under another agreement.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 2.\tab PRE-RELEASE SOFTWARE. \b0 This software is a pre-release version. It may not work the way a final version of the software will. We may change it for the final, commercial version. We also may not release a commercial version.\par -\b 3.\tab FEEDBACK. \b0 If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software or service that includes the feedback. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement.\par -\b 4.\tab SCOPE OF LICENSE.\b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par -{\pntext\f1\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par -{\pntext\f1\'B7\tab}make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;\par -{\pntext\f1\'B7\tab}publish the software for others to copy;\par -{\pntext\f1\'B7\tab}rent, lease or lend the software;\par -{\pntext\f1\'B7\tab}transfer the software or this agreement to any third party; or\par -{\pntext\f1\'B7\tab}use the software for commercial software hosting services.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 5.\tab EXPORT RESTRICTIONS.\b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf1\ul{\field{\*\fldinst{HYPERLINK "http://www.microsoft.com/exporting"}}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs20 .\ul\par -\ulnone\b 6.\tab SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par -\b 7.\tab ENTIRE AGREEMENT.\b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par - -\pard\nowidctlpar\s1\fi-360\li360\sb120\sa120\b 8.\tab APPLICABLE LAW.\par - -\pard\nowidctlpar\s2\fi-363\li720\sb120\sa120 a.\tab United States.\b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par -\b b.\tab Outside the United States.\b0 If you acquired the software in any other country, the laws of that country apply.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 9.\tab LEGAL EFFECT.\b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par -\b 10.\tab DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par -\tab FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\b0\par - -\pard\nowidctlpar\fs24\par - -\pard\widctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 11.\tab LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par - -\pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par -{\pntext\f1\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par - -\pard\nowidctlpar\li360\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par - -\pard\nowidctlpar\sb120\sa120\b Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par -\lang1036 Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par -EXON\'c9RATION DE GARANTIE.\b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par -\b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES.\b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par -\lang1033 Cette limitation concerne :\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120\lang1036 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par -{\pntext\f1\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par - -\pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par - -\pard\widctlpar\sb120\sa120\b EFFET JURIDIQUE.\b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\fs19\lang1033\par -} - \ No newline at end of file diff --git a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg b/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg deleted file mode 100644 index fe59180e71..0000000000 Binary files a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg and /dev/null differ diff --git a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll b/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll deleted file mode 100644 index 34c37a2b40..0000000000 Binary files a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll and /dev/null differ diff --git a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml b/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml deleted file mode 100644 index 8c0217be74..0000000000 --- a/Packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml +++ /dev/null @@ -1,4439 +0,0 @@ - - - - System.Collections.Immutable - - - - Represents an immutable collection of key/value pairs. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Adds an element with the specified key and value to the dictionary. - A new immutable dictionary that contains the additional key/value pair. - The key of the element to add. - The value of the element to add. - The given key already exists in the dictionary but has a different value. - - - Adds the specified key/value pairs to the dictionary. - A new immutable dictionary that contains the additional key/value pairs. - The key/value pairs to add. - One of the given keys already exists in the dictionary but has a different value. - - - Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether the immutable dictionary contains the specified key/value pair. - true if the specified key/value pair is found in the dictionary; otherwise, false. - The key/value pair to locate. - - - Removes the element with the specified key from the immutable dictionary. - A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. - The key of the element to remove. - - - Removes the elements with the specified keys from the immutable dictionary. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - The keys of the elements to remove. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - A new immutable dictionary that contains the specified key/value pair. - The key of the entry to add. - The key value to set. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - A new immutable dictionary that contains the specified key/value pairs. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - - - Determines whether this dictionary contains a specified key. - true if a match for is found; otherwise, false. - The key to search for. - The matching key located in the dictionary if found, or if no match is found. - - - Represents a list of elements that cannot be modified. - The type of elements in the list. - - - Makes a copy of the list, and adds the specified object to the end of the copied list. - A new list with the object added, or this list if the object is already in the list. - The object to add to the list. - - - Makes a copy of the list and adds the specified objects to the end of the copied list. - A new list with the elements added, or this list if the elements already exist in the list. - The objects to add to the list. - - - Creates a list with all the items removed, but with the same sorting and ordering semantics as this list. - An empty list that has the same sorting and ordering semantics as this instance. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements if found; otherwise -1. - The object to locate in the . This value can be null for reference types. - The zero-based starting indes of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to use to locate . - - - Inserts the specified element at the specified index in the immutable list. - A new immutable list that includes the specified element. - The zero-based index at which to insert the value. - The object to insert. - - - Inserts the specified elements at the specified index in the immutable list. - A new immutable list that includes the specified elements. - The zero-based index at which the new elements should be inserted. - The elements to insert. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - Returns . - The object to locate in the list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to match . - - - Removes the first occurrence of a specified object from this immutable list. - Returns a new list with the specified object removed. - The object to remove from the list. - The equality comparer to use to locate . - - - Removes all the elements that match the conditions defined by the specified predicate. - A new immutable list with the elements removed. - The delegate that defines the conditions of the elements to remove. - - - Removes the element at the specified index of the immutable list. - A new list with the element removed. - The index of the element to remove. - - - Removes the specified object from the list. - A new immutable list with the specified objects removed, if matched objects in the list. - The objects to remove from the list. - The equality comparer to use to determine if match any objects in the list. - - - Removes a range of elements from the . - A new immutable list with the elements removed. - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - - Returns a new list with the first matching element in the list replaced with the specified element. - A new list that contains , even if is the same as . - The element to be replaced. - The element to replace the the first occurrence of with - The equality comparer to use for matching . - - does not exist in the list. - - - Replaces an element in the list at a given position with the specified element. - A new list that contains the new element, even if the element at the specified location is the same as the new element. - The position in the list of the element to replace. - The element to replace the old element with. - - - Represents an immutable first-in, first-out collection of objects. - The type of elements in the queue. - - - Returns a new queue with all the elements removed. - An empty immutable queue. - - - Removes the first element in the immutable queue, and returns the new queue. - The new immutable queue with the first element removed. This value is never null. - - - Adds an element to the end of the immutable queue, and returns the new queue. - The new immutable queue with the specified element added. - The element to add. - - - Gets a value that indicates whether this immutable queue is empty. - true if this queue is empty; otherwise, false. - - - Returns the element at the beginning of the immutable queue without removing it. - The element at the beginning of the queue. - - - Represents a set of elements that can only be modified by creating a new instance of the set. - The type of element stored in the set. - - - Adds the specified element to this immutable set. - A new set with the element added, or this set if the element is already in the set. - The element to add. - - - Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting and ordering semantics as this instance. - - - Determines whether this immutable set contains a specified element. - true if the set contains the specified value; otherwise, false. - The element to locate in the set. - - - Removes the elements in the specified collection from the current immutable set. - A new set with the items removed; or the original set if none of the items were in the set. - The collection of items to remove from this set. - - - Creates an immutable set that contains only elements that exist in this set and the specified set. - A new immutable set that contains elements that exist in both sets. - The collection to compare to the current . - - - Determines whether the current immutable set is a proper (strict) subset of the specified collection. - true if the current set is a proper subset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable set is a proper (strict) superset of the specified collection. - true if the current set is a proper superset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable set is a subset of a specified collection. - true if the current set is a subset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable set is a superset of a specified collection. - true if the current set is a superset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable set overlaps with the specified collection. - true if the current set and the specified collection share at least one common element; otherwise, false. - The collection to compare to the current set. - - - Removes the specified element from this immutable set. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - The element to remove. - - - Determines whether the current immutable set and the specified collection contain the same elements. - true if the sets are equal; otherwise, false. - The collection to compare to the current set. - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Determines whether the set contains a specified value. - true if a matching value was found; otherwise, false. - The value to search for. - The matching value from the set, if found, or if there are no matches. - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - A new immutable set with the items added; or the original set if all the items were already in the set. - The collection to add elements from. - - - Represents an immutable last-in-first-out (LIFO) collection. - The type of elements in the stack. - - - Removes all objects from the immutable stack. - An empty immutable stack. - - - Gets a value that indicates whether this immutable stack is empty. - true if this stack is empty; otherwise,false. - - - Returns the element at the top of the immutable stack without removing it. - The element at the top of the stack. - - - Removes the element at the top of the immutable stack and returns the new stack. - The new stack; never null - - - Inserts an element at the top of the immutable stack and returns the new stack. - The new stack. - The element to push onto the stack. - - - Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.The APIs for immutable collections aren't part of the core class library distributed with the .NET Framework; they're available via NuGet. To install these APIs, open your project in Visual Studio, and then choose Manage NuGet Packages from the Project menu. (Optionally, in the drop-down list box in the middle pane, choose Include Prerelease; this option will give you access to new prerelease versions of the immutable classes, as they become available.) In the right pane, search online for the Microsoft.Immutable.Collections (Microsoft.Bcl.Immutable) package. See the introduction to immutable collections for general information, and read about other .NET Framework NuGet packages. - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element. - The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. - The sorted array to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The type of element stored in the array. - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element. - The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. - The sorted array to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The comparer to use when comparing elements for equality or null to use the implementation of each element. - The type of element stored in the array. - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element. - The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. - The sorted array to search. - The object to search for. - The type of element stored in the array. - - - Searches a sorted immutable array for a specified element and returns the zero-based index of the element. - The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. - The sorted array to search. - The object to search for. - The type of element stored in the array. - - - Creates an empty immutable array. - An empty immutable array. - The type of elements stored in the array. - - - Creates an immutable array with specified objects from another immutable array. - Returns An immutable array that contains the specified objects from the source array. - The source array of objects. - The index of the first element to copy from . - The number of elements from to include in this immutable array. - The type of elements stored in the array. - - - Returns . - - - - - - - - Creates an immutable array that contains the specified object. - Returns An immutable array that contains the specified object. - The object to store in the array. - The type of elements stored in the array. - - - Creates an immutable array that contains the specified objects. - Returns an immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The type of elements stored in the array. - - - Creates an immutable array that contains the specified objects. - An immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The third object to store in the array. - The type of elements stored in the array. - - - Creates an immutable array that contains the specified objects. - An immutable array that contains the specified objects. - The first object to store in the array. - The second object to store in the array. - The third object to store in the array. - The fourth object to store in the array. - The type of elements stored in the array. - - - Creates an immutable array from the specified array of objects. - An immutable array that contains the array of items. - The array of objects to populate the array with. - The type of elements stored in the array. - - - Creates an immutable array with specified objects from another array. - An immutable array that contains the specified objects from the source array. - The source array of objects. - The index of the first element to copy from . - The number of elements from to include in this immutable array. - The type of elements stored in the array. - - - Creates a mutable array accessor that can be converted to an without allocating new memory. - A mutable array accessor of the specified type that can be efficiently converted to an immutable array. - The type of elements stored in the builder. - - - Creates a mutable array accessor that can be converted to an without allocating new memory. - A mutable array accessor of the specified type that can be efficiently converted to an immutable array. - The initial capacity of the builder. - The type of elements stored in the builder. - - - - - - Enumerates the specified collection once and creates an immutable array from the collection. - An immutable array that contains the specified collection of objects. - The collection of objects to copy to the immutable array. - The type of objects contained in the collection. - - - A readonly array with O(1) indexable lookup time. - The type of element stored by the array. - - - Returns a copy of the original array with the specified item added to the end. - A new array with the specified item added to the end. - The item to be added to the end of the array. - - - Adds the elements in the specified collection to the end of the array. - A new array with the elements added. - The elements to add to the array. - - - Adds the elements in the specified array to the end of this array. - A new array with the elements added. - The elements to add to the array. - - - Returns a new immutable array that contains the elements of this array cast to a different type. - An immutable array that contains the elements of this array, cast to a different type. If the cast fails, returns an array whose property returns true. - The type of array element to return. - - - Returns an array with all the elements removed. - - - - - - Returns . - - - - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Gets a value indicating whether this array was declared but not initialized. - true to indicate the is null; otherwise, false. - - - Gets a value indicating whether this is empty or is not initialized. - true to indicate the is null or empty; otherwise, false. - - - Gets a value indicating whether this is empty. - true to indicate the is null or empty; otherwise, false. - - - Gets the element at the specified index in the immutable array. - The element at the specified index in the immutable array. - The zero-based index of the element to get. - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Gets the number of elements in the array. - The number of elements in the array - - - Returns . - - - - Returns . - - - Returns . - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - - - Gets the number elements in the array. - The number of elements in the array. - - - Gets a value indicating whether this array is read only. - Always returns true.. - - - Returns . - - - Returns . - - - - Gets or sets the element at the specified index in the read-only list. - The element at the specified index in the read-only list. - The zero-based index of the element to get. - Always thrown from the setter. - - - - Gets the number of array in the collection. - Returns . - - - - Gets the size of the array. - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - - Returns . - - - Returns . - - - - Returns . - - - Returns . - - - Returns . - - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - A writable array accessor that can be converted into an instance without allocating memory. - - - - - - - - - - - - - - - - - - - Removes all items from the . - - - Returns . - - - - Returns . - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - - Reverses the order of elements in the collection. - - - Sorts the array. - - - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - Returns . - - - An array enumerator. - - - Gets the currently enumerated value. - Returns . - - - Advances to the next value to be enumerated. - true if another item exists in the array; false otherwise. - - - Provides a set of initialization methods for instances of the class. - - - Determines whether the specified immutable dictionary contains the specified key/value pair. - true if this map contains the specified key/value pair; otherwise, false. - The immutable dictionary to search. - The key to locate in the immutable dictionary. - The value to locate on the specified key, if the key is found. - The type of the keys in the immutable dictionary. - The type of the values in the immutable dictionary. - - - Creates an empty immutable dictionary. - An empty immutable dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates an empty immutable dictionary that uses the specified key comparer. - An empty immutable dictionary. - The implementation to use to determine the equality of keys in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates an empty immutable dictionary that uses the specified key and value comparers. - An empty immutable dictionary. - The implementation to use to determine the equality of keys in the dictionary. - The implementation to use to determine the equality of values in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable dictionary builder. - The new builder. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable dictionary builder. - The new builder. - The key comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable dictionary builder. - The new builder. - The key comparer. - The value comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable dictionary that contains the specified items. - A new immutable dictionary that contains the specified items. - The items used to populate the dictionary before it’s immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. - A new immutable dictionary that contains the specified items and uses the specified comparer. - The comparer implementation to use to compare keys for equality. - The items to add to the dictionary before it’s immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. - A new immutable dictionary that contains the specified items and uses the specified comparer. - The comparer implementation to use to compare keys for equality. - The comparer implementation to use to compare values for equality. - The items to add to the dictionary before it’s immutable. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Gets the value for a given key if a matching key exists in the dictionary. - The value for the key, or default(TValue) if no matching key was found. - The dictionary to retrieve the value from. - The key to search for. - The type of the key. - The type of the value. - - - Gets the value for a given key if a matching key exists in the dictionary. - The value for the key, or if no matching key was found. - The dictionary to retrieve the value from. - The key to search for. - The default value to return if no matching key is found in the dictionary. - The type of the key. - The type of the value. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents. - An immutable dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. - An immutable dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key and value comparers. - An immutable dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The value comparer to use for the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Constructs an immutable dictionary from an existing collection of elements, applying a transformation function to the source keys. - The immutable dictionary that contains elements from , with keys transformed by applying . - The source collection used to generate the immutable dictionary. - The function used to transform keys for the immutable dictionary. - The type of element in the source collection. - The type of key in the resulting immutable dictionary. - - - Constructs an immutable dictionary based on some transformation of a sequence. - The immutable dictionary that contains elements from , with keys transformed by applying . - The source collection used to generate the immutable dictionary. - The function used to transform keys for the immutable dictionary. - The key comparer to use for the dictionary. - The type of element in the source collection. - The type of key in the resulting immutable dictionary. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents. - An immutable dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key comparer. - An immutable dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key and value comparers. - An immutable dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The value comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Represents an immutable, unordered collection of keys and values. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Adds an element with the specified key and value to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pair. - The key of the element to add. - The value of the element to add. - The given key already exists in the dictionary but has a different value. - - - Adds the specified key/value pairs to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pairs. - The key/value pairs to add. - One of the given keys already exists in the dictionary but has a different value. - - - Retrieves an empty immutable dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether this immutable dictionary contains the specified key/value pair. - true if the specified key/value pair is found in the dictionary; otherwise, false. - The key/value pair to locate. - - - Determines whether the immutable dictionary contains an element with the specified key. - true if the immutable dictionary contains an element with the specified key; otherwise, false. - The key to locate. - - - Determines whether the immutable dictionary contains an element with the specified value. - true if the dictionary contains an element with the specified value; otherwise, false. - The value to locate. The value can be null for reference types. - - - Gets the number of key/value pairs in the immutable dictionary. - The number of key/value pairs in the dictionary. - - - Gets an empty immutable dictionary - An empty immutable dictionary. - - - Returns an enumerator that iterates through the immutable dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets a value that indicates whether this instance of the immutable dictionary is empty. - true if this instance is empty; otherwise, false. - - - Gets the associated with the specified key. - The value associated with the specified key. If no results are found, the operation throws an exception. - The type of the key. - - - Gets the key comparer for the immutable dictionary. - The key comparer. - - - Gets the keys in the immutable dictionary. - The keys in the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary. - A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. - The key of the element to remove. - - - Removes the elements with the specified keys from the immutable dictionary. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - The keys of the elements to remove. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - A new immutable dictionary that contains the specified key/value pair. - The key of the entry to add. - The key value to set. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - A new immutable dictionary that contains the specified key/value pairs. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - - - Adds the specified value to the collection. - The value to add. - - - Removes all the items from the collection. - - - Copies the elements of the collection to an , starting at a particular index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the immutable dictionary is read-only. - true if the immutable dictionary is read-only; otherwise, false. - - - Removes the first occurrence of a specific object from the immutable dictionary. - true if item was successfully removed; otherwise false. - The item to remove from the dictionary. - The dictionary is read-only. - - - Adds an element with the provided key and value to the immutable dictionary. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - is null. - An element with the same key already exists in the dictionary. - The dictionary is read-only. - - - Gets or sets the element with the specified key. - The element with the specified key. If no element is returned, throws a . - The key of the element to get or set. - - - Gets a collection containing the keys of the immutable dictionary. - A collection of keys of the object that implements the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary. - true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. - The key of the element to remove. - - is null. - The dictionary is read-only. - - - Gets a collection containing the values of the immutable dictionary. - A collection of values of the object that implements the immutable dictionary. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the immutable dictionary is synchronized (thread safe). - true if access to the dictionary is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the immutable dictionary. - An object that can be used to synchronize access to the immutable dictionary. - - - Adds an element with the provided key and value to the immutable dictionary object. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - Clears this instance. - The dictionary object is read-only. - - - Determines whether the immutable dictionary object contains an element with the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate in the dictionary object. - - - Returns an object for the immutable dictionary object. - An enumerator object for the dictionary object. - - - Gets a value indicating whether the immutable dictionary object has a fixed size. - true if the dictionary object has a fixed size; otherwise, false. - - - Gets a value indicating whether the immutable dictionary is read-only. - true if the immutable dictionary is read-only; otherwise, false. - - - Gets or sets the element with the specified key. - The element with the specified key, or null if the key does not exist. - The key of the element to get or set. - - - Gets an object containing the keys of the immutable dictionary. - An containing the keys of the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary object. - The key of the element to remove. - - - Gets an object containing the values in the immutable dictionary. - An containing the values in the immutable dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Adds an element with the specified key and value to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pair. - The key of the element to add. - The value of the element to add. - - - Adds the specified key/value pairs to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pairs. - The key/value pairs to add. - - - Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent order and key/value comparison rules. - - - Removes the element with the specified key from the immutable dictionary. - A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. - The key of the element to remove. - - - Removes the elements with the specified keys from the immutable dictionary. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - The keys of the elements to remove. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - A new immutable dictionary that contains the specified key/value pair. - The key of the entry to add. - The key value to set. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - A new immutable dictionary that contains the specified key/value pairs. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - - - Creates an immutable dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - A collection with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - - - Determines whether this dictionary contains a specified key. - true if a match for is found; otherwise, false. - The key to search for. - The matching key located in the dictionary if found, or if no match is found. - - - Gets the value associated with the specified key. - true if the object that implements the dictionary contains an element with the specified key; otherwise, false. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. - - is null. - - - Gets the value comparer used to determine whether values are equal. - The value comparer used to determine whether values are equal. - - - Gets the values in the immutable dictionary. - The values in the immutable dictionary. - - - Gets an instance of the immutable dictionary that uses the specified key comparer. - An instance of the immutable dictionary that uses the given comparer. - The key comparer to use. - - - Gets an instance of the immutable dictionary that uses the specified key and value comparers. - An instance of the immutable dictionary that uses the given comparers. - The key comparer to use. - The value comparer to use. - - - Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently. - - - Adds the specified item to the immutable dictionary. - The object to add to the dictionary. - The dictionary is read-only. - - - Adds an element that has the specified key and value to the immutable dictionary. - The key of the element to add. - The value of the element to add. - - is null. - An element with the same key already exists in the dictionary. - The dictionary is read-only. - - - Adds a sequence of values to this collection. - The items to add to this collection. - - - Removes all items from the immutable dictionary. - The dictionary is read-only. - - - Determines whether the immutable dictionary contains a specific value. - true if is found in the dictionary; otherwise, false. - The object to locate in the dictionary. - - - Determines whether the immutable dictionary contains an element that has the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate in the dictionary. - - is null. - - - Determines whether the immutable dictionary contains an element that has the specified value. - true if the dictionary contains an element with the specified value; otherwise, false. - The value to locate in the immutable dictionary. The value can be null for reference types. - - - Gets the number of elements contained in the immutable dictionary. - The number of elements contained in the immutable dictionary. - - - Returns an enumerator that iterates through the immutable dictionary. - An enumerator that can be used to iterate through the collection. - - - Gets the value for a given key if a matching key exists in the dictionary. - The value for the key, or default(TValue) if no matching key was found. - The key to search for. - - - Gets the value for a given key if a matching key exists in the dictionary. - The value for the key, or if no matching key was found. - The key to search for. - The default value to return if no matching key is found in the dictionary. - - - Gets or sets the element with the specified key. - The element that has the specified key. - The element to get or set. - - - Gets or sets the key comparer. - The key comparer. - - - Gets a collection that contains the keys of the immutable dictionary. - A collection that contains the keys of the object that implements the immutable dictionary. - - - Removes the first occurrence of a specific object from the immutable dictionary. - true if was successfully removed from the dictionary; otherwise, false. This method also returns false if is not found in the dictionary. - The object to remove from the dictionary. - The dictionary is read-only. - - - Removes the element with the specified key from the immutable dictionary. - true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the dictionary. - The key of the element to remove. - - is null. - The dictionary is read-only. - - - Removes any entries with keys that match those found in the specified sequence from the immutable dictionary. - The keys for entries to remove from the dictionary. - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the dictionary is read-only. - true if the dictionary is read-only; otherwise, false. - - - Gets an containing the keys of the dictionary. - An containing the keys of the object that implements the dictionary. - - - Gets an containing the values in the dictionary. - An containing the values in the object that implements the dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Copies the elements of the dictionary to an array of type , starting at the specified array index. - The one-dimensional array of type that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in  at which copying begins. - - - Gets a value indicating whether access to the dictionary is synchronized (thread safe). - true if access to the dictionary is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the dictionary. - An object that can be used to synchronize access to the dictionary. - - - Adds an element with the provided key and value to the dictionary object. - The key of the element to add. - The value of the element to add. - - - Determines whether the dictionary object contains an element with the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate. - - - Returns an object for the dictionary. - An object for the dictionary. - - - - Gets a value indicating whether the dictionary object has a fixed size. - true if the dictionary object has a fixed size; otherwise, false. - - - Gets a value indicating whether the dictionary is read-only. - true if the dictionary is read-only; otherwise, false. - - - Gets or sets the element with the specified key. - The element that has the specified . - The element to get or set. - - - Gets an containing the keys of the dictionary. - An containing the keys of the object that implements dictionary. - - - Removes the element with the specified key from the dictionary. - The key of the element to remove. - - - Gets an containing the values in the dictionary. - An containing the values in the object that implements dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Creates an immutable dictionary based on the contents of this instance. - An immutable dictionary. - - - Determines whether this dictionary contains a specified key. - true if a match for is found; otherwise, false. - The key to search for. - The matching key located in the dictionary if found, or if no match is found. - - - Returns the value associated with the specified key. - true if the object that implements the immutable dictionary contains an element with the specified key; otherwise, false. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, returns the default value for the type of the parameter. This parameter is passed uninitialized. - - is null. - - - Gets or sets the value comparer. - The value comparer. - - - Gets a collection that contains the values of the immutable dictionary. - A collection that contains the values of the object that implements the dictionary. - - - Enumerates the contents of the immutable dictionary without allocating any memory. - - - Gets the element at the current position of the enumerator. - The element in the dictionary at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable dictionary. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the dictionary. - The dictionary was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the dictionary. - The dictionary was modified after the enumerator was created. - - - Gets the current element in the dictionary. - The current element in the dictionary. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable hash set. - An empty immutable hash set. - The type of items to be stored in the immutable hash set. - - - Creates an empty immutable hash set that uses the specified equality comparer. - An empty immutable hash set. - The object to use for comparing objects in the set for equality. - The type of items in the immutable hash set. - - - Creates a new immutable hash set that contains the specified item and uses the specified equality comparer for the set type. - A new immutable hash set that contains the specified item. - The object to use for comparing objects in the set for equality. - The item to prepopulate the hash set with. - The type of items in the immutable hash set. - - - Creates a new immutable hash set that contains the items in the specified collection and uses the specified equality comparer for the set type. - A new immutable hash set that contains the specified items. - The object to use for comparing objects in the set for equality. - An array that contains the items to prepopulate the hash set with. - The type of items stored in the immutable hash set. - - - Creates a new immutable hash set that contains the specified item. - A new immutable hash set that contains the specified item. - The item to prepopulate the hash set with. - The type of items in the immutable hash set. - - - Creates a new immutable hash set that contains the specified array of items. - A new immutable hash set that contains the specified items. - An array that contains the items to prepopulate the hash set with. - The type of items in the immutable hash set. - - - Creates a new immutable hash set builder. - The immutable hash set builder. - The type of items stored by the collection. - - - Creates a new immutable hash set builder. - The new immutable hash set builder. - The object to use for comparing objects in the set for equality. - The type of items stored by the collection. - - - Creates a new immutable hash set prefilled with the specified items. - The new immutable hash set that contains the specified items. - The items to add to the hash set. - The type of items stored by the collection. - - - Creates a new immutable hash set that contains the specified items and uses the specified equality comparer for the set type. - The new immutable hash set. - The object to use for comparing objects in the set for equality. - The items add to the collection before immutability is applied. - The type of items stored in the collection. - - - Enumerates a sequence and produces an immutable hash set of its contents. - An immutable hash set that contains the items in the specified sequence. - The sequence to enumerate. - The type of the elements in the sequence. - - - Enumerates a sequence, produces an immutable hash set of its contents, and uses the specified equality comparer for the set type. - An immutable hash set that contains the items in the specified sequence and uses the specified equality comparer. - The sequence to enumerate. - The object to use for comparing objects in the set for equality. - The type of the elements in the sequence. - - - Represents an immutable, unordered hash set. - The type of elements in the hash set. - - - Adds the specified element to the hash set. - true if the element is added to the hash set; false if the element already existed in the hash set. - The element to add to the set. - - - Retrieves an empty immutable hash set that has the same sorting and ordering semantics as this instance. - An empty hash set that has the same sorting and ordering semantics as this instance. - - - Determines whether this immutable hash set contains the specified element. - true if is found in the ; otherwise, false. - The object to locate in the immutable hash set. - - - Gets the number of elements in the immutable hash set. - The number of elements in the hash set. - - - Gets an immutable hash set for this type that uses the default . - An empty immutable hash set. - - - Removes the elements in the specified collection from the current immutable hash set. - A new set with the items removed; or the original set if none of the items were in the set. - The collection of items to remove from this set. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Creates an immutable hash set that contains elements that exist in both this set and the specified set. - A new immutable set that contains any elements that exist in both sets. - The collection to compare to the current set. - - - Gets a value that indicates whether the current immutable hash set is empty. - true if this instance is empty; otherwise, false. - - - Determines whether the current immutable hash set is a proper (strict) subset of a specified collection. - true if the current set is a proper subset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable hash set is a proper (strict) superset of a specified collection. - true if the current set is a proper superset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable hash set is a subset of a specified collection. - true if the current set is a subset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable hash set is a superset of a specified collection. - true if the current set is a superset of the specified collection; otherwise, false. - The collection to compare to the current set. - - - Gets the object that is used to obtain hash codes for the keys and to check the equality of values in the immutable hash set. - The comparer used to obtain hash codes for the keys and check equality. - - - Determines whether the current immutable hash set overlaps with the specified collection. - true if the current set and the specified collection share at least one common element; otherwise, false. - The collection to compare to the current set. - - - Removes the specified element from this immutable hash set. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - The element to remove. - - - Determines whether the current immutable hash set and the specified collection contain the same elements. - true if the sets are equal; otherwise, false. - The collection to compare to the current set. - - - Creates an immutable hash set that contains only elements that are present either in the current set or in the specified collection, but not both. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Adds an item to the set. - The object to add to the set. - The set is read-only. - - - Removes all items from this set. - The set is read-only. - - - Copies the elements of the set to an array, starting at a particular index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether the set is read-only. - true if the set is read-only; otherwise, false. - - - Removes the first occurrence of a specific object from the set. - true if the element is successfully removed; otherwise, false. - The object to remove from the set. - - - Returns an enumerator that iterates through the collection. - An enumerator that iterates through the collection. - - - Adds an element to the current set and returns a value that indicates whether the element was successfully added. - true if the element is added to the set; false if the element is already in the set. - The element to add to the collection. - - - Removes all elements in the specified collection from the current set. - The collection of items to remove. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current collection. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection. - The collection to compare to the current set. - - - Copies the elements of the set to an array, starting at a particular index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether access to the set is synchronized (thread safe). - true if access to the set is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the set. - An object that can be used to synchronize access to the set. - - - Returns an enumerator that iterates through a set. - An enumerator that can be used to iterate through the set. - - - Adds the specified element to this immutable set. - A new set with the element added, or this set if the element is already in the set. - The element to add. - - - Retrieves an empty set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting or ordering semantics as this instance. - - - Removes the elements in the specified collection from the current set. - A new set with the items removed; or the original set if none of the items were in the set. - The collection of items to remove from this set. - - - Creates an immutable set that contains elements that exist in both this set and the specified set. - A new immutable set that contains any elements that exist in both sets. - The collection to compare to the current set. - - - Removes the specified element from this immutable set. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - The element to remove. - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - A new immutable set with the items added; or the original set if all the items were already in the set. - The collection to add elements from. - - - Creates an immutable hash set that has the same contents as this set and can be efficiently mutated across multiple operations by using standard mutable interfaces. - A set with the same contents as this set that can be efficiently mutated across multiple operations by using standard mutable interfaces. - - - Searches the set for a given value and returns the equal value it finds, if any. - A value indicating whether the search was successful. - The value to search for. - The value from the set that the search found, or the original value if the search yielded no match. - - - Creates a new immutable hash set that contains all elements that are present in either the current set or in the specified collection. - A new immutable hash set with the items added; or the original set if all the items were already in the set. - The collection to add elements from. - - - Gets an instance of the immutable hash set that uses the specified equality comparer for its search methods. - An instance of this immutable hash set that uses the given comparer. - The equality comparer to use. - - - Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently. - - - Adds the specified item to the immutable hash set. - true if the item did not already belong to the collection; otherwise, false. - The item to add. - - - Removes all items from the immutable hash set. - The hash set is read-only. - - - Determines whether the immutable hash set contains a specific value. - true if is found in the hash set ; otherwise, false. - The object to locate in the hash set. - - - Gets the number of elements contained in the immutable hash set. - The number of elements contained in the immutable hash set. - - - Removes all elements in the specified collection from the current hash set. - The collection of items to remove from the set. - - - Returns an enumerator that iterates through the immutable hash set. - An enumerator that can be used to iterate through the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) subset of a specified collection. - true if the current set is a proper subset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) superset of a specified collection. - true if the current set is a proper superset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current set is a subset of a specified collection. - true if the current set is a subset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current set is a superset of a specified collection. - true if the current set is a superset of ; otherwise, false. - The collection to compare to the current set. - - - Gets or sets the key comparer. - The key comparer. - - - Determines whether the current set overlaps with the specified collection. - true if the current set and share at least one common element; otherwise, false. - The collection to compare to the current set. - - - Removes the first occurrence of a specific object from the immutable hash set. - true if was successfully removed from the set ; otherwise, false. This method also returns false if is not found in the original set. - The object to remove from the set. - The set is read-only. - - - Determines whether the current set and the specified collection contain the same elements. - true if the current set is equal to ; otherwise, false. - The collection to compare to the current set. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Adds an item to the hash set. - The object to add to the set. - The set is read-only. - - - Copies the elements of the hash set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the hash set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the hash set is read-only. - true if the set is read-only; otherwise, false. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An enumerator that can be used to iterate through the collection. - - - Creates an immutable hash set based on the contents of this instance. - An immutable set. - - - Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. - The collection to compare to the current set. - - - Enumerates the contents of the immutable hash set without allocating any memory. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable hash set. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the hash set. - The hash set was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the hash set. - The hash set was modified after the enumerator was created. - - - Gets the current element in the hash set. - The current element in the hash set. - - - Contains interlocked exchange mechanisms for immutable collections. - - - Obtains the value from a dictionary after having added it or updated an existing entry. - The added or updated value. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to add or update. - The function that receives the key and returns a new value to add to the dictionary when no value previously exists. - The function that receives the key and prior value and returns the new value with which to update the dictionary. - - - - - Obtains the value from a dictionary after having added it or updated an existing entry. - The added or updated value. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to add or update. - The value to use if no previous value exists. - The function that receives the key and prior value and returns the new value with which to update the dictionary. - - - - - Atomically enqueues an element to the end of a queue. - The variable or field to atomically update. - The value to enqueue. - The type of items contained in the collection - - - Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. - The value obtained from the dictionary or if it was not present. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to retrieve or add. - The function to execute to obtain the value to insert into the dictionary if the key is not found. This delegate will not be invoked more than once. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. - The value obtained from the dictionary or if it was not present. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to retrieve or add. - The function to execute to obtain the value to insert into the dictionary if the key is not found. - The argument to pass to the value factory. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - - Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. - The value obtained from the dictionary or if it was not present. - The variable or field to atomically update if the specified is not in the dictionary. - The key for the value to retrieve or add. - The value to add to the dictionary if it is not already present. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - - - - - - - - - - Pushes a new element onto a stack. - The variable or field to atomically update. - The value to push. - The type of items in the stack. - - - Adds the specified key and value to the dictionary if no colliding key already exists in the dictionary. - true if the key was not previously set in the dictionary and the value was set; false otherwise. - The variable or field to atomically update if the specified is not in the dictionary. - The key to add, if is not already defined in the dictionary. - The value to add. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - Atomically removes the element at the head of a queue and returns it to the caller, if the queue is not empty. - true if the queue was not empty and the head element was removed; false otherwise. - The variable or field to atomically update. - Receives the value from the head of the queue, if the queue is non-empty. - The type of items in the queue. - - - Pushes a new element onto a stack. - true if an element was removed from the stack; false otherwise. - The variable or field to atomically update. - The value popped from the stack, if it was non-empty. - The type of items in the stack. - - - Removes an entry from the dictionary with the specified key if it is defined and returns its value. - true if the key was found and removed; false otherwise. - The variable or field to atomically update if the specified is not in the dictionary. - The key to remove. - Receives the value from the pre-existing entry, if one exists. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - Sets the specified key to the given value if the key already is set to a specific value. - true if the key and comparison value were present in the dictionary and the update was made; false otherwise. - The variable or field to atomically update if the specified is not in the dictionary. - The key to update. - The new value to set. - The value that must already be set in the dictionary in order for the update to succeed. - The type of the keys contained in the collection. - The type of the values contained in the collection. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable list. - An empty . - The type of items to be stored in the . - - - Creates a new immutable list that contains the specified item. - A new that contains the specified item. - The item to prepopulate the list with. - The type of items in the . - - - Creates a new immutable list that contains the specified array of items. - A new immutable list that contains the specified items. - An array that contains the items to prepopulate the list with. - The type of items in the . - - - Creates a new immutable list builder. - The immutable collection builder. - The type of items stored by the collection. - - - Creates a new immutable list that contains the specified items. - Returns an immutable list that contains the specified items. - The items to add to the list. - The type of items in the . - - - Searches for the specified object and returns the zero-based index of the first occurrence within the list. - The zero-based index of the first occurrence of item within the range of elements in the list that extends from index to the last element, if found; otherwise, –1. - The list to search. - The object to locate in the list. The value can be null for reference types. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the list. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from index to the last element, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The equality comparer to use in the search. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The equality comparer to use in the search. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - The type of items in the list. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, –1. - The list to search. - The object to locate in the Immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The type of items in the list. - - - Removes the specified value from this list. - A new immutable list with the element removed, or this list if the element is not in this list. - The list to search. - The value to remove. - The type of items in the list. - - - Removes the specified values from this list. - A new immutable list with the elements removed. - The list to search. - The items to remove if matches are found in this list. - The type of items in the list. - - - Replaces the first equal element in the list with the specified element. - The new list -- even if the value being replaced is equal to the new value for that position. - The list to search. - The element to replace. - The element to replace the old element with. - The type of items in the list. - Thrown when the old value does not exist in the list. - - - Enumerates a sequence and produces an immutable list of its contents. - An immutable list that contains the items in the specified sequence. - The sequence to enumerate. - The type of the elements in the sequence. - - - Represents an immutable list, which is a strongly typed list of objects that can be accessed by index. - The type of elements in the list. - - - Adds the specified object to the end of the immutable list. - A new immutable list with the object added, or the current list if it already contains the specified object. - The object to add. - - - Adds the elements of the specified collection to the end of the immutable list. - A new immutable list with the elements added, or the current list if it already contains the specified elements. - The collection whose elements will be added to the end of the list. - - - Searches a range of elements in the sorted list for an element using the specified comparer and returns the zero-based index of the element. - The zero-based index of item in the sorted list;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - The zero-based starting index of the range to search. - The length of the range to search. - The object to locate. The value can be null for reference types. - The comparer implementation to use when comparing elements, or null to use the default comparer. - index is less than 0 or is less than 0. - index and do not denote a valid range in the list. - - is null, and the default comparer cannot find an comparer implementation for type T. - - - Searches the entire sorted list for an element using the default comparer and returns the zero-based index of the element. - The zero-based index of item in the sorted List;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - The object to locate. The value can be null for reference types. - The default comparer cannot find a comparer implementation of the for type T. - - - Searches the entire sorted list for an element using the specified comparer and returns the zero-based index of the element. - The zero-based index of item in the sorted List;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . - The object to locate. The value can be null for reference types. - The comparer implementation to use when comparing elements or null to use the default comparer. - comparer is null, and the default comparer cannot find an comparer implementation for type T. - - - Removes all elements from the immutable list. - An empty list that retains the same sort or unordered semantics that this instance has. - - - Determines whether this immutable list contains the specified value. - true if the list contains the specified value; otherwise, false. - The value to locate. - - - Converts the elements in the current immutable list to another type, and returns a list containing the converted elements. - A delegate that converts each element from one type to another type. - The type of the elements of the target array. - - - Copies a range of elements from the immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The zero-based index in the source immutable list at which copying begins. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in array at which copying begins. - The number of elements to copy. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets the number of elements contained in the list. - The number of elements in the list. - - - Gets an empty set with the default sort comparer. - An empty immutable list that uses the default sort comparer. - - - Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. - true if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. - The delegate that defines the conditions of the elements to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - The delegate that defines the conditions of the element to search for. - - - Retrieves all the elements that match the conditions defined by the specified predicate. - An immutable list that contains all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. - The delegate that defines the conditions of the elements to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - The zero-based starting index of the search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - The zero-based starting index of the search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. - The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. - The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - The zero-based starting index of the backward search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. - The delegate that defines the conditions of the element to search for. - - - Performs the specified action on each element of the immutable list. - The delegate to perform on each element of the immutable list. - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the immutable list. - - - Creates a shallow copy of a range of elements in the source immutable list. - A shallow copy of a range of elements in the source immutable list. - The zero-based index at which the range starts. - The number of elements in the range. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire immutable list. - The zero-based index of the first occurrence of within the entire immutable list, if found; otherwise, ?1. - The object to locate in the immutable list. The value can be for reference types. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the list that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of item within the range of elements in the list that starts at index and contains count number of elements, if found; otherwise, –1. - The object to locate in the list The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The equality comparer to use in the search. - - - Inserts the specified object into the immutable list at the specified index. - The new immutable list after the object is inserted. - The zero-based index at which to insert the object. - The object to insert. - - - Inserts the elements of a collection into the immutable list at the specified index. - The new immutable list after the elements are inserted. - The zero-based index at which to insert the elements. - The collection whose elements should be inserted. - - - Gets a value that indicates whether this list is empty. - true if the list is empty; otherwise, false. - - - Gets the element at the specified index of the list. - The element at the specified index. - The index of the element to retrieve. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the list that contains the specified number of elements and ends at the specified index. - The zero-based index of the last occurrence of item within the range of elements in the list that contains count number of elements and ends at index, if found; otherwise, –1. - The object to locate in the list. The value can be null for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The equality comparer to use in the search. - - - Removes the first occurrence of the specified object from this immutable list. - A new list with the object removed, or this list if the specified object is not in this list. - The object to remove. - - - Removes the first occurrence of the object that matches the specified value from this immutable list. - A new list with the object removed, or this list if the specified object is not in this list. - The value of the element to remove from the list. - The equality comparer to use in the search. - - - Removes all the elements that match the conditions defined by the specified predicate. - The new list with the elements removed. - The delegate that defines the conditions of the elements to remove. - - - Removes the element at the specified index. - A new list with the element removed. - The zero-based index of the element to remove. - - - Removes a range of elements from this immutable list. - A new list with the elements removed. - The collection whose elements should be removed if matches are found in this list. - - - Removes the specified values from this list. - A new list with the elements removed. - The items to remove if matches are found in this list. - The equality comparer to use in the search. - - - Removes a range of elements, starting from the specified index and containing the specified number of elements, from this immutable list. - A new list with the elements removed. - The starting index to begin removal. - The number of elements to remove. - - - Replaces the specified element in the immutable list with a new element. - The new list with the replaced element, even if it is equal to the old element. - The element to replace. - The element to replace with. - - does not exist in the immutable list. - - - Replaces the specified element in the immutable list with a new element. - A new list with the object replaced, or this list if the specified object is not in this list. - The element to replace in the list. - The element to replace with. - The comparer to use to check for equality. - - - Reverses the order of the elements in the entire immutable list. - The reversed list. - - - Reverses the order of the elements in the specified range of the immutable list. - The reversed list. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - - - Replaces an element at a given position in the immutable list with the specified element. - The new list with the replaced element, even if it is equal to the old element at that position. - The position in the list of the element to replace. - The element to replace the old element with. - - - Sorts the elements in the entire immutable list using the default comparer. - The sorted list. - - - Sorts the elements in the entire immutable list using the specified comparer. - The sorted list. - The implementation to use when comparing elements, or null to use the default comparer (). - - - Sorts the elements in the entire immutable list using the specified . - The sorted list. - The delegate to use when comparing elements. - - - Sorts a range of elements in the immutable list using the specified comparer. - The sorted list. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements, or null to use the default comparer (). - - - Adds the specified item to the immutable list. - The item to add. - - - - Removes all items from the immutable list. - - - - Gets a value that indicates whether the list is read-only. - true if the list is read-only; otherwise, false. - - - Removes the first occurrence of a specific object from the immutable list. - true if was successfully removed from the list; otherwise, false. This method also returns false if is not found in the original list. - The object to remove. - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the list. - - - Inserts an object in the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert. - - - - Gets or sets the element at the specified index. - The element at the specified index. If no item was returned, the property throws a . - The index of the item to get or set. - - - Removes the value at the specified index. - The zero-based index of the item to remove. - - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from immutable list. - The zero-based index in at which copying begins. - - - Gets a value that indicates whether access to the list is synchronized. - true if the access to the list is synchronized; otherwise, false. - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the list. - - - Returns an enumerator that iterates through the immutable list. - An enumerator that can be used to iterate through the list. - - - Adds an item to the immutable list. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the list. - The object to add to the list. - - - - Removes all items from the immutable list. - - - - Determines whether the immutable list contains a specific value. - true if the object is found in the list; otherwise, false. - The object to locate in the list. - - - - Determines the index of a specific item in the immutable list. - The index of if found in the list; otherwise, -1. - The object to locate in the list. - - - - Inserts an item into the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the list. - - - - Gets a value that indicates whether the list has a fixed size. - true if the list has a fixed size; otherwise, false. - - - Gets a value that indicates whether the immutable list is read-only. - true if the list is read-only; otherwise, false. - - - Gets or sets the element at the specified index. - The element at the specified index. - The index of the item to get or set. - - - Removes the first occurrence of a specific object from the immutable list. - The object to remove from the list. - - - - Removes the item at the specified index of the immutable list. - The zero-based index of the item to remove. - - - - Adds the specified value to this immutable list. - A new list with the element added, or this list if the element is already in the list. - The value to add. - - - Adds the specified values to this immutable list. - A new list with the elements added, or this list if the elements are already in the list. - The values to add. - - - Retrieves an empty list that has the same sorting and ordering semantics as this instance. - An empty list that has the same sorting and ordering semantics as this instance. - - - Inserts the specified element at the specified index in the immutable list. - A new immutable list that includes the specified element. - The index at which to insert the value. - The element to insert. - - - Inserts the specified elements at the specified index in the immutable list. - A new immutable list that includes the specified elements. - The index at which to insert the elements. - The elements to insert. - - - Removes the element with the specified value from the list. - Returns a new with the specified element removed. - The value of the element to remove from the list. - The comparer to use to compare elements for equality. - - - Removes all the elements that match the conditions defined by the specified predicate. - A new immutable list with the elements removed. - The delegate that defines the conditions of the elements to remove. - - - Removes the element at the specified index of the immutable list. - A new list with the element removed. - The index of the element to remove. - - - Removes a range of elements from this immutable list that match the items specified. - An immutable list with the items removed. - The range of items to remove from the list, if found. - The equality comparer to use to compare elements. - - or is null. - - - Removes the specified number of elements at the specified location from this list. - A new list with the elements removed. - The starting index of the range of elements to remove. - The number of elements to remove. - - - Replaces an element in the list with the specified element. - The new list. - The element to replace. - The element to replace the old element with. - The equality comparer to use in the search. - Thrown when the old value does not exist in the list. - - - Replaces an element in the list at a given position with the specified element. - The new list. - The position in the list of the element to replace. - The element to replace the old element with. - - - Creates a list that has the same contents as this list and can be efficiently mutated across multiple operations using standard mutable interfaces. - The created list with the same contents as this list. - - - Determines whether every element in the immutable list matches the conditions defined by the specified predicate. - true if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. - The delegate that defines the conditions to check against the elements. - - - Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently. - - - Adds an item to the immutable list. - The item to add to the list. - - - - Searches the specified range of the for an element using the specified comparer and returns the zero-based index of the element. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - The zero-based starting index of the range to search. - The length of the range to search. - The object to locate. This value can be null for reference types. - The implementation to use when comparing elements, or null for the default comparer. - - - Searches the entire for an element using the default comparer and returns the zero-based index of the element. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - The object to locate. The value can be null for reference types. - - - Searches the entire for an element using the specified comparer and returns the zero-based index of the element. - The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . - The object to locate. This value can be null for reference types. - The implementation to use when comparing elements, or null for the default comparer. - - - Removes all items from the immutable list. - - - Determines whether the immutable list contains a specific value. - true if item is found in the list; otherwise, false. - The object to locate in the list. - - - Creates a new immutable list from the list represented by this builder by using the converter function. - A new immutable list from the list represented by this builder. - The converter function. - The type of the output of the delegate converter function. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The zero-based index in the source immutable list at which copying begins. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - The number of elements to copy. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - - - Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - Gets the number of elements in this immutable list. - The number of elements in this list. - - - Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. - true if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. - The delegate that defines the conditions of the elements to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - The delegate that defines the conditions of the element to search for. - - - Retrieves all the elements that match the conditions defined by the specified predicate. - An immutable list containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. - The delegate that defines the conditions of the elements to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The zero-based starting index of the search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The zero-based starting index of the search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. - The last element that matches the conditions defined by the specified predicate, found; otherwise, the default value for type . - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The zero-based starting index of the backward search. - The delegate that defines the conditions of the element to search for. - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - The delegate that defines the conditions of the element to search for. - - - Performs the specified action on each element of the list. - The delegate to perform on each element of the list. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the list. - - - Creates a shallow copy of a range of elements in the source immutable list. - A shallow copy of a range of elements in the source immutable list. - The zero-based index at which the range starts. - The number of elements in the range. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list. - The zero-based index of the first occurrence of within the range of elements in the immutable list, if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from to the last element, if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1 - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements to search. - The value comparer to use for comparing elements for equality. - - - Inserts an item to the immutable list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the immutable list. - - - Inserts the elements of a collection into the immutable list at the specified index. - The zero-based index at which the new elements should be inserted. - The collection whose elements should be inserted into the immutable list. The collection itself cannot be null, but it can contain elements that are null, if type is a reference type. - - - Gets or sets the value for a given index in the list. - The value at the specified index. - The index of the item to get or set. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. - The zero-based index of the last occurrence of within the entire immutable list, if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. - The zero-based index of the last occurrence of within the range of elements in the immutable list that extends from the first element to , if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based index of the last occurrence of within the range of elements in the immutable list that contains number of elements and ends at , if found; otherwise, –1. - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. - The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1 - The object to locate in the immutable list. The value can be null for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements to search. - The value comparer to use for comparing elements for equality. - - - Removes the first occurrence of a specific object from the immutable list. - true if item was successfully removed from the list; otherwise, false. This method also returns false if item is not found in the list. - The object to remove from the list. - - - Removes all the elements that match the conditions defined by the specified predicate. - The number of elements removed from the immutable list. - The delegate that defines the conditions of the elements to remove. - - - Removes the item at the specified index of the immutable list. - The zero-based index of the item to remove from the list. - - - Reverses the order of the elements in the entire immutable list. - - - Reverses the order of the elements in the specified range of the immutable list. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - - - Sorts the elements in the entire immutable list by using the default comparer. - - - Sorts the elements in the entire immutable list by using the specified comparer. - The implementation to use when comparing elements, or null to use the default comparer (). - - - Sorts the elements in the entire immutable list by using the specified comparison object. - The object to use when comparing elements. - - - Sorts the elements in a range of elements in the immutable list by using the specified comparer. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements, or null to use the default comparer (). - - - Gets a value indicating whether this instance is read-only. - true if the list is read-only; otherwise, false. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Copies the elements of the list to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the list. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - - Gets a value indicating whether access to the list is synchronized (thread safe). - true if access to the list is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the list. - An object that can be used to synchronize access to the list. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Adds an item to the list. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - The object to add to the list. - - - - Removes all items from the list. - - - - Determines whether the list contains a specific value. - true if the is found in the list; otherwise, false. - The object to locate in the list. - - - - Determines the index of a specific item in the list. - The index of if found in the list; otherwise, -1. - The object to locate in the list. - - - - Inserts an item to the list at the specified index. - The zero-based index at which should be inserted. - The object to insert into the list. - - - - Gets a value indicating whether the list has a fixed size. - true if the list has a fixed size; otherwise, false. - - - Gets a value indicating whether the list is read-only. - Always false. - - - Gets or sets the at the specified index. - The object at the specified index. - The index of the item to get or set. - - - Removes the first occurrence of a specific object from the list. - The object to remove from the list. - - - - Creates an immutable list based on the contents of this instance. - An immutable list. - - - Determines whether every element in the immutable list matches the conditions defined by the specified predicate. - true if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. - The delegate that defines the conditions to check against the elements. - - - Enumerates the contents of a binary tree. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances enumeration to the next element of the immutable list. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the list. - - - Sets the enumerator to its initial position, which is before the first element in the immutable list. - - - Gets the current element in the immutable list. - The current element in the immutable list. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable queue. - An empty immutable queue. - The type of items to be stored in the immutable queue. - - - Creates a new immutable queue that contains the specified item. - A new immutable queue that contains the specified item. - The item to prepopulate the queue with. - The type of items in the immutable queue. - - - Creates a new immutable queue that contains the specified array of items. - A new immutable queue that contains the specified items. - An array that contains the items to prepopulate the queue with. - The type of items in the immutable queue. - - - Creates a new immutable queue that contains the specified items. - An immutable queue that contains the specified items. - The items to add to the queue before immutability is applied. - The type of elements in the queue. - - - Removes the item at the beginning of the immutable queue, and returns the new queue. - The new queue with the item removed. - The queue to remove the item from. - When this method returns, contains the item from the beginning of the queue. - The type of elements in the immutable queue. - - - Represents an immutable queue. - The type of elements in the queue. - - - Removes all objects from the immutable queue. - The empty immutable queue. - - - Removes the element at the beginning of the immutable queue, and returns the new queue. - The new immutable queue; never null. - - - Removes the item at the beginning of the immutable queue, and returns the new queue. - The new immutable queue with the beginning element removed. - When this method returns, contains the element from the beginning of the queue. - - - Gets an empty immutable queue. - An empty immutable queue. - - - Adds an element to the end of the immutable queue, and returns the new queue. - The new immutable queue. - The element to add. - - - Returns an enumerator that iterates through the immutable queue. - An enumerator that can be used to iterate through the queue. - - - Gets a value that indicates whether this immutable queue is empty. - true if this queue is empty; otherwise, false. - - - Returns the element at the beginning of the immutable queue without removing it. - The element at the beginning of the queue. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An object that can be used to iterate through the collection. - - - Removes all elements from the immutable queue. - The empty immutable queue. - - - Removes the element at the beginning of the immutable queue, and returns the new queue. - The new immutable queue; never null. - - - Adds an element to the end of the immutable queue, and returns the new queue. - The new immutable queue. - The element to add. - - - Enumerates the contents of an immutable queue without allocating any memory. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Advances the enumerator to the next element of the immutable queue. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the queue. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable sorted dictionary. - An empty immutable sorted dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates an empty immutable sorted dictionary that uses the specified key comparer. - An empty immutable sorted dictionary. - The implementation to use to determine the equality of keys in the dictionary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates an empty immutable sorted dictionary that uses the specified key and value comparers. - An empty immutable sorted dictionary. - The implementation to use to determine the equality of keys in the dictionary. - The implementation to use to determine the equality of values in the dictonary. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable sorted dictionary builder. - The immutable collection builder. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable sorted dictionary builder. - The immutable collection builder. - The key comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable sorted dictionary builder. - The immutable collection builder. - The key comparer. - The value comparer. - The type of keys stored by the dictionary. - The type of values stored by the dictionary. - - - Creates a new immutable sorted dictionary from the specified range of items with the specified key comparer. - The new immutable sorted dictionary that contains the specified items and uses the specified key comparer. - The comparer implementation to use to evaluate keys for equality and sorting. - The items to add to the sorted dictionary. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - - - Creates a new immutable sorted dictionary from the specified range of items with the specified key and value comparers. - An immutable sorted dictionary that contains the specified items and uses the specified comparers. - The comparer implementation to use to compare keys for equality and sorting. - The comparer implementation to use to compare values for equality and sorting. - The items to add to the sorted dictionary before it’s immutable. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - - - Creates an immutable sorted dictionary that contains the specified items and uses the default comparer. - An immutable sorted dictionary that contains the specified items. - The items to add to the sorted dictionary before it’s immutable. - The type of keys stored in the dictionary. - The type of values stored in the dictionary. - - - Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. - An immutable sorted dictionary that contains the key/value pairs in the specified sequence. - The sequence of key/value pairs to enumerate. - The key comparer to use when building the immutable dictionary. - The value comparer to use for the immutable dictionary. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents. - An immutable sorted dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key comparer. - An immutable dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. - An immutable sorted dictionary that contains the items in the specified sequence. - The sequence to enumerate to generate the dictionary. - The function that will produce the key for the dictionary from each sequence element. - The function that will produce the value for the dictionary from each sequence element. - The key comparer to use for the dictionary. - The value comparer to use for the dictionary. - The type of the elements in the sequence. - The type of the keys in the resulting dictionary. - The type of the values in the resulting dictionary. - - - Represents an immutable sorted dictionary. - The type of the key contained in the dictionary. - The type of the value contained in the dictionary. - - - Adds an element with the specified key and value to the immutable sorted dictionary. - A new immutable sorted dictionary that contains the additional key/value pair. - The key of the entry to add. - The value of entry to add. - The given key already exists in the dictionary but has a different value. - - - Adds the specific key/value pairs to the immutable sorted dictionary. - A new immutable dictionary that contains the additional key/value pairs. - The key/value pairs to add. - One of the given keys already exists in the dictionary but has a different value. - - - Retrieves an empty immutable sorted dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Determines whether this immutable sorted dictionary contains the specified key/value pair. - true if the specified key/value pair is found in the dictionary; otherwise, false. - The key/value pair to locate. - - - Determines whether this immutable sorted map contains the specified key. - true if the immutable dictionary contains the specified key; otherwise, false. - The key to locate. - - - Determines whether the immutable sorted dictionary contains an element with the specified value. - true if the dictionary contains an element with the specified value; otherwise, false. - The value to locate. The value can be null for reference types. - - - Gets the number of key/value pairs in the immutable sorted dictionary. - The number of key/value pairs in the dictionary. - - - Gets an empty immutable sorted dictionary. - An empty immutable sorted dictionary. - - - Returns an enumerator that iterates through the immutable sorted dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets a value that indicates whether this instance of the immutable sorted dictionary is empty. - true if this instance is empty; otherwise, false. - - - Gets the associated with the specified key. - The value associated with the specified key. If no results are found, the operation throws an exception. - The key to retrieve the value for. - - - Gets the key comparer for the immutable sorted dictionary. - The key comparer for the dictionary. - - - Gets the keys in the immutable sorted dictionary. - The keys in the immutable dictionary. - - - Removes the element with the specified value from the immutable sorted dictionary. - A new immutable dictionary with the specified element removed; or this instance if the specified value cannot be found in the dictionary. - The value of the element to remove. - - - Removes the elements with the specified keys from the immutable sorted dictionary. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - The keys of the elements to remove. - - - Sets the specified key and value in the immutable sorted dictionary, possibly overwriting an existing value for the given key. - A new immutable sorted dictionary that contains the specified key/value pair. - The key of the entry to add. - The key value to set. - - - Sets the specified key/value pairs in the immutable sorted dictionary, possibly overwriting existing values for the keys. - An immutable dictionary that contains the specified key/value pairs. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - - - Adds the specified item to the collection. - The item to add. - - - Removes all the items from the collection. - - - Copies the elements of the collection to an array, starting at the specified index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the immutable dictionary is read-only. - true if the immutable dictionary is read only; otherwise, false. - - - Removes the first occurrence of the specified object from the immutable dictionary. - true if the item was successfully removed; otherwise, false. - The item to remove from the dictionary. - - - Adds an element with the provided key and value to the immutable dictionary. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - is null. - An element with the same key already exists in the dictionary. - The dictionary is read-only. - - - Gets or sets the element with the specified key. - The element with the specified key. If no element is returned, throws a . - The key of the element to get or set. - - - Gets a collection containing the keys of the immutable dictionary. - A collection of keys. - - - Removes the element with the specified key from the immutable dictionary. - true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. - The key of the element to remove. - - is null. - The dictionary is read-only. - - - Gets a collection containing the values of the immutable dictionary. - A collection of values of the object that implements the immutable dictionary. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the immutable dictionary is synchronized (thread safe). - true if access to the dictionary is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the immutable dictionary. - An object that can be used to synchronize access to the dictionary. - - - Adds an element with the provided key and value to the dictionary object. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - Clears this instance. - The dictionary object is read-only. - - - Determines whether the immutable dictionary object contains an element with the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate in the dictionary object. - - - Returns an object for the immutable dictionary object. - An enumerator object for the dictionary object. - - - Gets a value indicating whether the immutable dictionary object has a fixed size. - true if the dictionary object has a fixed size; otherwise, false. - - - Gets a value indicating whether the immutable dictionary is read-only. - true if the dictionary is read-only; otherwise, false. - - - Gets or sets the element with the specified key. - The element with the specified key, or null if the key does not exist. - The key of the element to get or set. - - - Gets an object containing the keys of the immutable dictionary. - An object containing the keys of the immutable dictionary. - - - Removes the element with the specified key from the immutable dictionary object. - The key of the element to remove. - - - Gets an object containing the values in the immutable dictionary. - An containing the values in the immutable dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Adds an element with the specified key and value to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pair. - The key of the element to add. - The value of the element to add. - - - Adds the specified key/value pairs to the immutable dictionary. - A new immutable dictionary that contains the additional key/value pairs. - The key/value pairs to add. - - - Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. - An empty dictionary with equivalent ordering and key/value comparison rules. - - - Removes the element with the specified key from the immutable dictionary. - A new immutable dictionary with the matching entry removed; or this instance if the specified key cannot be found in the dictionary. - The key of the element to remove. - - - Removes the elements with the specified keys from the immutable dictionary. - A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. - The keys of the elements to remove. - - - Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. - A new immutable dictionary that contains the specified key/value pair. - The key of the entry to add. - The key value to set. - - - Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. - A new immutable dictionary that contains the specified key/value pairs. - The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. - - - Creates an immutable sorted dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. - A collection with the same contents as this dictionary. - - - Determines whether this dictionary contains a specified key. - true if a match for is found; otherwise, false. - The key to search for. - The matching key located in the dictionary if found, or if no match is found. - - - Gets the value associated with the specified key. - true if the dictionary contains an element with the specified key; otherwise, false. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. - - - Gets the value comparer used to determine whether values are equal. - The value comparer used to determine whether values are equal. - - - Gets the values in the immutable sorted dictionary. - The values in the dictionary. - - - Gets an instance of the immutable sorted dictionary that uses the specified key comparer. - An instance of the immutable dictionary that uses the given comparer. - The key comparer to use. - - - Gets an instance of the immutable sorted dictionary that uses the specified key and value comparers. - An instance of the immutable dictionary that uses the given comparers. - The key comparer to use. - The value comparer to use. - - - Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently. - - - Adds the specified item to the immutable sorted dictionary. - The object to add to the dictionary. - - - Adds an element that has the specified key and value to the immutable sorted dictionary. - The key of the element to add. - The value of the element to add. - - - Adds a sequence of values to the immutable sorted dictionary. - The items to add to the dictionary. - - - Removes all items from the immutable sorted dictionary. - - - Determines whether the immutable sorted dictionary contains a specific value. - true if is found in the dictionary; otherwise, false. - The object to locate in the dictionary. - - - Determines whether the immutable sorted dictionary contains an element with the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate in the dictionary. - - - Determines whether the immutable sorted dictionary contains an element with the specified value. - true if the immutable sorted dictionary contains an element with the specified value; otherwise, false. - The value to locate in the dictionary. The value can be null for reference types. - - - Gets the number of elements in this immutable sorted dictionary. - The number of elements in this dictionary. - - - Returns an enumerator that iterates through the immutable sorted dictionary. - An enumerator that can be used to iterate through the dictionary. - - - Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. - The value for the key, or default(TValue) if no matching key was found. - The key to search for. - - - Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. - The value for the key, or if no matching key was found. - The key to search for. - The default value to return if no matching key is found in the dictionary. - - - Gets or sets the value for a specified key in the immutable sorted dictionary. - The value associated with the given key. - The key to retrieve the value for. - - - Gets or sets the key comparer. - The key comparer. - - - Gets a strongly typed, read-only collection of elements. - A strongly typed, read-only collection of elements. - - - Removes the first occurrence of a specific object from the immutable sorted dictionary. - true if was successfully removed from the dictionary; otherwise, false. This method also returns false if is not found in the dictionary. - The object to remove from the dictionary. - - - Removes the element with the specified key from the immutable sorted dictionary. - true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. - The key of the element to remove. - - - Removes any entries with keys that match those found in the specified sequence from the immutable sorted dictionary. - The keys for entries to remove from the dictionary. - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the dictionary is read-only. - Always false. - - - Gets an containing the keys of the dictionary. - An containing the keys of the object that implements the dictionary. - - - Gets an containing the values in the dictionary. - An containing the values in the object that implements the dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Copies the elements of the dictionary to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the dictionary is synchronized (thread safe). - true if access to the dictionary is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the dictionary. - An object that can be used to synchronize access to the dictionary. - - - Adds an element with the provided key and value to the dictionary object. - The key of the element to add. - The value of the element to add. - - - Determines whether the dictionary object contains an element with the specified key. - true if the dictionary contains an element with the key; otherwise, false. - The key to locate. - - - Returns an object for the dictionary. - An object for the dictionary. - - - Gets a value indicating whether the dictionary object has a fixed size. - true if the dictionary object has a fixed size; otherwise, false. - - - Gets a value indicating whether the dictionary is read-only. - true if the dictionary is read-only; otherwise, false. - - - Gets or sets the element with the specified key. - The element that has the specified key. - The key that specifies the item to get or set. - - - Gets an containing the keys of the dictionary. - An containing the keys of the object that implements the dictionary. - - - Removes the element with the specified key from the dictionary. - The key of the element to remove. - - - Gets an containing the values in the dictionary. - An containing the values in the object that implements the dictionary. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Creates an immutable sorted dictionary based on the contents of this instance. - An immutable sorted dictionary. - - - Determines whether this dictionary contains a specified key. - true if a match for is found; otherwise, false. - The key to search for. - The matching key located in the dictionary if found, or if no match is found. - - - Gets the value associated with the specified key. - true if the object that implements the dictionary contains an element with the specified key; otherwise, false. - The key whose value will be retrieved. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. - - - Gets or sets the value comparer. - The value comparer. - - - Gets a collection that contains the values of the immutable sorted dictionary. - A collection that contains the values of the object that implements the dictionary. - - - Enumerates the contents of a binary tree. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable sorted dictionary. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sorted dictionary. - - - Sets the enumerator to its initial position, which is before the first element in the immutable sorted dictionary. - - - Gets the current element in the immutable sorted dictionary. - The current element in the immutable sorted dictionary. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable sorted set. - An empty immutable sorted set. - The type of items to be stored in the immutable set. - - - Creates an empty immutable sorted set that uses the specified comparer. - An empty immutable set. - The implementation to use when comparing items in the set. - The type of items in the immutable set. - - - Creates a new immutable sorted set that contains the specified item and uses the specified comparer. - A new immutable set that contains the specified item. - The implementation to use when comparing items in the set. - The item to prepopulate the set with. - The type of items stored in the immutable set. - - - Creates a new immutable sorted set that contains the specified array of items and uses the specified comparer. - A new immutable set that contains the specified items. - The implementation to use when comparing items in the set. - An array that contains the items to prepopulate the set with. - The type of items in the immutable set. - - - Creates a new immutable sorted set that contains the specified item. - A new immutable set that contains the specified item. - The item to prepopulate the set with. - The type of items in the immutable set. - - - Creates a new immutable sorted set that contains the specified array of items. - A new immutable set that contains the specified items. - An array that contains the items to prepopulate the set with. - The type of items in the immutable set. - - - Returns a collection that can be used to build an immutable sorted set. - The immutable collection builder. - The type of items stored by the collection. - - - Returns a collection that can be used to build an immutable sorted set. - The immutable collection. - The comparer used to compare items in the set for equality. - The type of items stored by the collection. - - - Creates a new immutable collection that contains the specified items. - The new immutable set that contains the specified items. - The comparer to use to compare elements in this set. - The items to add to the set before it’s immutable. - The type of items stored by the collection. - - - Creates a new immutable collection that contains the specified items. - The new immutable set that contains the specified items. - The items to add to the set with before it’s immutable. - The type of items stored by the collection. - - - Enumerates a sequence and produces an immutable sorted set of its contents. - An immutable sorted set that contains the items in the specified sequence. - The sequence to enumerate. - The type of the elements in the sequence. - - - Enumerates a sequence, produces an immutable sorted set of its contents, and uses the specified comparer. - An immutable sorted set that contains the items in the specified sequence. - The sequence to enumerate. - The comparer to use for initializing and adding members to the sorted set. - The type of the elements in the sequence. - - - Represents an immutable sorted set implementation. - The type of elements in the set. - - - Adds the specified value to this immutable sorted set. - A new set with the element added, or this set if the element is already in this set. - The value to add. - - - Removes all elements from the immutable sorted set. - An empty set with the elements removed. - - - Determines whether this immutable sorted set contains the specified value. - true if the set contains the specified value; otherwise, false. - The value to check for. - - - Gets the number of elements in the immutable sorted set. - The number of elements in the immutable sorted set. - - - Gets an empty immutable sorted set. - An empty immutable sorted set. - - - Removes a specified set of items from this immutable sorted set. - A new set with the items removed; or the original set if none of the items were in the set. - The items to remove from this set. - - - Returns an enumerator that iterates through the immutable sorted set. - An enumerator that can be used to iterate through the set. - - - Gets the position within this immutable sorted set that the specified value appears in. - The index of the specified in the sorted set, if is found. If is not found and is less than one or more elements in this set, this method returns a negative number that is the bitwise complement of the index of the first element that is larger than value. If is not found and is greater than any of the elements in the set, this method returns a negative number that is the bitwise complement of the index of the last element plus 1. - The value whose position is being sought. - - - Creates an immutable sorted set that contains elements that exist both in this set and in the specified set. - A new immutable sorted set that contains any elements that exist in both sets. - The set to intersect with this one. - - - Gets a value that indicates whether this immutable sorted set is empty. - true if this set is empty; otherwise, false. - - - Determines whether the current immutable sorted set is a proper (strict) subset of the specified collection. - true if the current set is a proper subset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable sorted set is a proper superset of a specified collection. - true if the current set is a proper superset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable sorted set is a subset of a specified collection. - true if the current set is a subset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current immutable sorted set is a superset of a specified collection. - true if the current set is a superset of ; otherwise, false. - The collection to compare to the current set. - - - Gets the element of the immutable sorted set at the given index. - The element at the given index. - The index of the element to retrieve from the sorted set. - - - Gets the comparer used to sort keys in the immutable sorted set. - The comparer used to sort keys. - - - Gets the maximum value in the immutable sorted set, as defined by the comparer. - The maximum value in the set. - - - Gets the minimum value in the immutable sorted set, as defined by the comparer. - The minimum value in the set. - - - Determines whether the current immutable sorted set and a specified collection share common elements. - true if the current set and share at least one common element; otherwise, false. - The collection to compare to the current set. - - - Removes the specified value from this immutable sorted set. - A new immutable sorted set with the element removed, or this set if the element was not found in the set. - The element to remove. - - - Returns an that iterates over this immutable sorted set in reverse order. - An enumerator that iterates over the immutable sorted set in reverse order. - - - Determines whether the current immutable sorted set and the specified collection contain the same elements. - true if the sets are equal; otherwise, false. - The collection to compare to the current set. - - - Creates an immutable sorted set that contains elements that exist either in this set or in a given sequence, but not both. - The new immutable sorted set. - The other sequence of items. - - - Adds the specified value to the collection. - The value to add. - - - Removes all the items from the collection. - - - Copies the elements of the collection to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether the immutable sorted set is read-only. - true if the set is read-only; otherwise, false. - - - Removes the first occurrence of a specific object from the collection. - true if was successfully removed from the collection; otherwise, false. - The object to remove from the collection. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Inserts an item in the set at the specified index.. - The zero-based index at which should be inserted. - The object to insert into the set. - - - Gets or sets the element at the specified index. - The element at the specified index. - The index of the element to get or set. - - - Removes the item at the specified index. - The zero-based index of the item to remove. - - - Adds an element to the current set and returns a value to indicate if the element was successfully added. - true if the element is added to the set; false if the element is already in the set. - The element to add to the set. - - - Removes all elements in the specified collection from the current set. - The collection of items to remove from the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection - The collection to compare to the current set. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Modifies the current set so that it contains all elements that are present in either the current set or the specified collection. - The collection to compare to the current set. - - - Copies the elements of the set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the immutable sorted set is synchronized. - true if access to the set is synchronized; otherwise, false. - - - Gets an object that can be used to synchronize access to the immutable sorted set. - An object that can be used to synchronize access to the set. - - - Returns an enumerator that iterates through a collection. - An enumerator object that can be used to iterate through the collection. - - - Adds an item to the set. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - The object to add to the set. - The set is read-only or has a fixed size. - - - Removes all items from the set. - - - Determines whether the set contains a specific value. - true if the object is found in the set; otherwise, false. - The object to locate in the set. - - - Determines the index of a specific item in the set. - The index of if found in the list; otherwise, -1. - The object to locate in the set. - - - Inserts an item into the set at the specified index. - The zero-based index at which should be inserted. - The object to insert into the set. - The set is read-only or has a fixed size. - - - Gets a value indicating whether the immutable sorted set has a fixed size. - true if the set has a fixed size; otherwise, false. - - - Gets a value indicating whether the immutable sorted set is read-only. - true if the set is read-only; otherwise, false. - - - Gets or sets the element at the specified index. - The element at the specified index. - The index of the item to retrieve. - - - Removes the first occurrence of a specific object from the set. - The object to remove from the set. - The set is read-only or has a fixed size. - - - Removes the item at the specified index of the set. - The zero-based index of the item to remove. - The set is read-only or has a fixed size. - - - Adds the specified element to this immutable set. - A new set with the element added, or this set if the element is already in the set. - The element to add. - - - Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. - An empty set that has the same sorting and ordering semantics as this instance. - - - Removes the elements in the specified collection from the current immutable set. - The new set with the items removed; or the original set if none of the items were in the set. - The items to remove from this set. - - - Creates an immutable set that contains elements that exist in both this set and the specified set. - A new immutable set that contains any elements that exist in both sets. - The collection to compare to the current set. - - - Removes the specified element from this immutable set. - A new set with the specified element removed, or the current set if the element cannot be found in the set. - The element to remove. - - - Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. - A new set that contains the elements that are present only in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. - A new immutable set with the items added; or the original set if all the items were already in the set. - The collection to add elements from. - - - Creates a collection that has the same contents as this immutable sorted set that can be efficiently manipulated by using standard mutable interfaces. - The sorted set builder. - - - Searches the set for a given value and returns the equal value it finds, if any. - A value indicating whether the search was successful. - The value to search for. - The value from the set that the search found, or the original value if the search yielded no match. - - - Adds a given set of items to this immutable sorted set. - The new set with the items added; or the original set if all the items were already in the set. - The items to add. - - - Returns the immutable sorted set that has the specified key comparer. - The immutable sorted set that has the specified key comparer. - The comparer to check for. - - - Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets. - - - Adds an element to the current set and returns a value to indicate whether the element was successfully added. - true if the element is added to the set; false if the element is already in the set - The element to add to the set. - - - Removes all elements from this set. - - - Determines whether the set contains the specified object. - true if is found in the set; otherwise, false. - The object to locate in the set. - - - Gets the number of elements in the immutable sorted set. - The number of elements in this set. - - - Removes the specified set of items from the current set. - The collection of items to remove from the set. - - - Returns an enumerator that iterates through the set. - A enumerator that can be used to iterate through the set. - - - Modifies the current set so that it contains only elements that are also in a specified collection. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) subset of a specified collection. - true if the current set is a proper subset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current set is a proper (strict) superset of a specified collection. - true if the current set is a proper superset of ; otherwise, false. - The collection to compare to the current set. - - - Determines whether the current set is a subset of a specified collection. - true if the current set is a subset of ; otherwise, false. - The collection is compare to the current set. - - - Determines whether the current set is a superset of a specified collection. - true if the current set is a superset of ; otherwise, false. - The collection to compare to the current set. - - - Gets or sets the object that is used to determine equality for the values in the immutable sorted set. - The comparer that is used to determine equality for the values in the set. - - - Gets the maximum value in the immutable sorted set, as defined by the comparer. - The maximum value in the set. - - - Gets the minimum value in the immutable sorted set, as defined by the comparer. - The minimum value in the set. - - - Determines whether the current set overlaps with the specified collection. - true if the current set and share at least one common element; otherwise, false. - The collection to compare to the current set. - - - Removes the first occurrence of the specified object from the set. - true if was removed from the set; false if was not found in the set. - The object to remove from the set. - - - Returns an enumerator that iterates over the immutable sorted set in reverse order. - An enumerator that iterates over the set in reverse order. - - - Determines whether the current set and the specified collection contain the same elements. - true if the current set is equal to ; otherwise, false. - The collection to compare to the current set. - - - Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. - The collection to compare to the current set. - - - Adds an element to the current set and returns a value to indicate whether the element was successfully added. - The element to add to the set. - - - Copies the elements of the collection to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether this instance is read-only. - Always false. - - - Returns an enumerator that iterates through the collection. - A enumerator that can be used to iterate through the collection. - - - Copies the elements of the set to an array, starting at a particular array index. - The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Gets a value indicating whether access to the immutable sorted set is synchronized (thread safe). - true if access to the set is synchronized (thread safe); otherwise, false. - - - Gets an object that can be used to synchronize access to the immutable sorted set. - An object that can be used to synchronize access to the set. - - - Returns an enumerator that iterates through the collection. - A enumerator that can be used to iterate through the collection. - - - Creates an immutable sorted set based on the contents of this instance. - An immutable set. - - - Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. - The collection to compare to the current state. - - - Enumerates the contents of a binary tree. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Releases the resources used by the current instance of the class. - - - Advances the enumerator to the next element of the immutable sorted set. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sorted set. - - - Sets the enumerator to its initial position, which is before the first element in the immutable sorted set. - - - Gets the current element in the immutable sorted set. - The current element in the immutable sorted set. - - - Provides a set of initialization methods for instances of the class. - - - Creates an empty immutable stack. - An empty immutable stack. - The type of items to be stored in the immutable stack. - - - Creates a new immutable stack that contains the specified item. - A new immutable collection that contains the specified item. - The item to prepopulate the stack with. - The type of items in the immutable stack. - - - Creates a new immutable stack that contains the specified array of items. - A new immutable stack that contains the specified items. - An array that contains the items to prepopulate the stack with. - The type of items in the immutable stack. - - - Creates a new immutable stack that contains the specified items. - An immutable stack that contains the specified items. - The items to add to the stack before it’s immutable. - The type of items in the stack. - - - Removes the specified item from an immutable stack. - A stack; never null. - The stack to modify. - The item to remove from the stack. - The type of items contained in the stack. - - - Represents an immutable stack. - The type of element on the stack. - - - Removes all objects from the immutable stack. - An empty immutable stack. - - - Gets an empty immutable stack. - An empty immutable stack. - - - Returns an enumerator that iterates through the immutable stack. - An enumerator that can be used to iterate through the stack. - - - Gets a value that indicates whether this instance of the immutable stack is empty. - true if this instance is empty; otherwise, false. - - - Returns the object at the top of the stack without removing it. - The object at the top of the stack. - - - Removes the element at the top of the immutable stack and returns the stack after the removal. - A stack; never null. - - - Removes the specified element from the immutable stack and returns the stack after the removal. - A stack; never null. - The value to remove from the stack. - - - Inserts an object at the top of the immutable stack and returns the new stack. - The new stack. - The object to push onto the stack. - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Returns an enumerator that iterates through a collection. - An object that can be used to iterate through the collection. - - - Removes all elements from the immutable stack. - The empty immutable stack. - - - Removes the element at the top of the immutable stack and returns the new stack. - The new stack; never null. - - - Inserts an element at the top of the immutable stack and returns the new stack. - The new stack. - The element to push onto the stack. - - - Enumerates the contents of an immutable stack without allocating any memory. - - - Gets the element at the current position of the enumerator. - The element at the current position of the enumerator. - - - Advances the enumerator to the next element of the immutable stack. - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the stack. - - - LINQ extension method overrides that offer greater efficiency for than the standard LINQ methods - - - Applies a function to a sequence of elements in a cumulative way. - The final value after the cumulative function has been applied to all elements. - The collection to apply the function to. - A function to be invoked on each element, in a cumulative way. - The type of element contained by the collection. - - - Applies a function to a sequence of elements in a cumulative way. - The final accumulator value. - The collection to apply the function to. - The initial accumulator value. - A function to be invoked on each element, in a cumulative way. - The type of the accumulated value. - The type of element contained by the collection. - - - Applies a function to a sequence of elements in a cumulative way. - The final accumulator value. - The collection to apply the function to. - The initial accumulator value. - A function to be invoked on each element, in a cumulative way. - The type of the accumulated value. - The type of result returned by the result selector. - The type of element contained by the collection. - - - Gets a value indicating whether all elements in this collection match a given condition. - true if every element of the source sequence passes the test in the specified predicate, or if the sequence is empty; otherwise, false. - The predicate. - The type of element contained by the collection. - - - Gets a value indicating whether any elements are in this collection. - Returns . - The type of element contained by the collection. - - - Gets a value indicating whether any elements are in this collection that match a given condition. - Returns . - The predicate. - The type of element contained by the collection. - - - Returns a value indicating whether this collection contains any elements. - Returns . - - - - Returns the element at a specified index in a sequence. - Returns . - The type of element contained by the collection. - - - Returns the element at a specified index in a sequence or a default value if the index is out of range. - Returns . - The type of element contained by the collection. - - - Returns the first element in a sequence that satisfies a specified condition. - Returns . - The type of element contained by the collection. - - - Returns the first element in a sequence that satisfies a specified condition. - Returns . - The type of element contained by the collection. - - - Returns the first element in the collection. - Returns . - - Thrown if the collection is empty. - - - Returns the first element of a sequence, or a default value if the sequence contains no elements. - Returns . - The type of element contained by the collection. - - - Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. - Returns . - The type of element contained by the collection. - - - Returns the first element in the collection, or the default value if the collection is empty. - Returns . - - - - Returns the last element of a sequence. - Returns . - The type of element contained by the collection. - - - Returns the last element of a sequence that satisfies a specified condition. - Returns . - The type of element contained by the collection. - - - Returns the last element in the collection. - Returns . - - Thrown if the collection is empty. - - - Returns the last element of a sequence, or a default value if the sequence contains no elements. - Returns . - The type of element contained by the collection. - - - Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. - Returns . - The type of element contained by the collection. - - - Returns the last element in the collection, or the default value if the collection is empty. - Returns . - - - - Projects each element of a sequence into a new form. - Returns . - The immutable array. - The selector. - The type of element contained by the collection. - The type of the result element. - - - Determines whether two sequences are equal according to an equality comparer. - Returns . - The type of element in the compared array. - The type of element contained by the collection. - - - Determines whether two sequences are equal according to an equality comparer. - Returns . - The type of element in the compared array. - The type of element contained by the collection. - - - Determines whether two sequences are equal according to an equality comparer. - Returns . - The type of element in the compared array. - The type of element contained by the collection. - - - Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. - Returns . - The type of element contained by the collection. - - - Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. - Returns . - The type of element contained by the collection. - - - Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. - Returns . - The type of element contained by the collection. - - - Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. - Returns . - The type of element contained by the collection. - - - Copies the contents of this array to a mutable array. - The newly instantiated array. - The type of element contained by the collection. - - - Creates a dictionary based on the contents of this array. - The newly initialized dictionary. - The key selector. - The type of the key. - The type of element contained by the collection. - - - Creates a dictionary based on the contents of this array. - The newly initialized dictionary. - The key selector. - The comparer to initialize the dictionary with. - The type of the key. - The type of element contained by the collection. - - - Creates a dictionary based on the contents of this array. - The newly initialized dictionary. - The key selector. - The element selector. - The type of the key. - The type of the element. - The type of element contained by the collection. - - - Creates a dictionary based on the contents of this array. - The newly initialized dictionary. - The key selector. - The element selector. - The comparer to initialize the dictionary with. - The type of the key. - The type of the element. - The type of element contained by the collection. - - - Filters a sequence of values based on a predicate. - Returns . - The type of element contained by the collection. - - - - - - - - - diff --git a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/License-PreRelease.rtf b/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/License-PreRelease.rtf deleted file mode 100644 index 893ebd9225..0000000000 --- a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/License-PreRelease.rtf +++ /dev/null @@ -1,79 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\fnil\fcharset2 Symbol;}} -{\colortbl ;\red0\green0\blue255;} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 6.2.9200}{\*\mmathPr\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\nowidctlpar\sb120\sa120\b\f0\fs20 TODO: Replace with updated license.\par -MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS\par -.NET FRAMEWORK .DLL PROTOTYPE(S)\fs21\par - -\pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120\fs20\par - -\pard\nowidctlpar\sb120\sa120\b0 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the pre-release software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120 updates,\par -{\pntext\f1\'B7\tab}supplements,\par -{\pntext\f1\'B7\tab}Internet-based services, and\par -{\pntext\f1\'B7\tab}support services\par - -\pard\nowidctlpar\sb120\sa120 for this software, unless other terms accompany those items. If so, those terms apply.\par -\b BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par - -\pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 If you comply with these license terms, you have the rights below.\par - -\pard -{\pntext\f0 1.\tab}{\*\pn\pnlvlbody\pnf0\pnindent360\pnstart1\pndec{\pntxta.}} -\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent357{\pntxtb\'B7}}\nowidctlpar\fi-357\li720\sb120\sa120\b0 You may install and use any number of copies of the software on your premises to design, develop and test your programs for use with the software. \par -{\pntext\f1\'B7\tab}Evaluation Only. You may not test or deploy the software in a live operating environment unless Microsoft permits you to do so under another agreement.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 2.\tab PRE-RELEASE SOFTWARE. \b0 This software is a pre-release version. It may not work the way a final version of the software will. We may change it for the final, commercial version. We also may not release a commercial version.\par -\b 3.\tab FEEDBACK. \b0 If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software or service that includes the feedback. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement.\par -\b 4.\tab SCOPE OF LICENSE.\b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par -{\pntext\f1\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par -{\pntext\f1\'B7\tab}make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;\par -{\pntext\f1\'B7\tab}publish the software for others to copy;\par -{\pntext\f1\'B7\tab}rent, lease or lend the software;\par -{\pntext\f1\'B7\tab}transfer the software or this agreement to any third party; or\par -{\pntext\f1\'B7\tab}use the software for commercial software hosting services.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 5.\tab EXPORT RESTRICTIONS.\b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf1\ul{\field{\*\fldinst{HYPERLINK "http://www.microsoft.com/exporting"}}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs20 .\ul\par -\ulnone\b 6.\tab SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par -\b 7.\tab ENTIRE AGREEMENT.\b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par - -\pard\nowidctlpar\s1\fi-360\li360\sb120\sa120\b 8.\tab APPLICABLE LAW.\par - -\pard\nowidctlpar\s2\fi-363\li720\sb120\sa120 a.\tab United States.\b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par -\b b.\tab Outside the United States.\b0 If you acquired the software in any other country, the laws of that country apply.\par - -\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 9.\tab LEGAL EFFECT.\b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par -\b 10.\tab DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par -\tab FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\b0\par - -\pard\nowidctlpar\fs24\par - -\pard\widctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 11.\tab LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par - -\pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par -{\pntext\f1\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par - -\pard\nowidctlpar\li360\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par - -\pard\nowidctlpar\sb120\sa120\b Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par -\lang1036 Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par -EXON\'c9RATION DE GARANTIE.\b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par -\b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES.\b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par -\lang1033 Cette limitation concerne :\par - -\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120\lang1036 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par -{\pntext\f1\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par - -\pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par - -\pard\widctlpar\sb120\sa120\b EFFET JURIDIQUE.\b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\fs19\lang1033\par -} - \ No newline at end of file diff --git a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/Microsoft.Bcl.Metadata.1.0.11-alpha.nupkg b/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/Microsoft.Bcl.Metadata.1.0.11-alpha.nupkg deleted file mode 100644 index 7179f8bafd..0000000000 Binary files a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/Microsoft.Bcl.Metadata.1.0.11-alpha.nupkg and /dev/null differ diff --git a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.dll b/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.dll deleted file mode 100644 index 7853283879..0000000000 Binary files a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.dll and /dev/null differ diff --git a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.xml b/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.xml deleted file mode 100644 index 4f1b6e1a2e..0000000000 --- a/Packages/Microsoft.Bcl.Metadata.1.0.11-alpha/lib/portable-net45+win8/System.Reflection.Metadata.xml +++ /dev/null @@ -1,1982 +0,0 @@ - - - - System.Reflection.Metadata - - - - - Provides a mechanism to reuse existing strings and prevent the reader from allocating new ones. - - The string that the reader has built up in a temporary buffer that must be converted to an immutable string. - A string that compares equal (ordinal, case-sensitive) to what builder.ToString() would return. - - - - Represents a disposable blob of memory accessed via unsafe pointer. - - - - - Returns the content of the memory block. - - - Only creates a copy of the data if they are not represented by a managed byte array. - - - - - Disposes the block. The operation is idempotent. - - - - - Pointer to the underlying data or if the data have been disposed. - - - - - Represents a memory block backed by an array of bytes. - - - - - Creates and hydrates a memory block representing all data. - - Error while reading from the memory source. - - - - Creates and hydrates a memory block representing data in the specified range. - - Starting offset relative to the beginning of the data represented by this provider. - Size of the resulting block. - Error while reading from the memory source. - - - - The size of the data. - - - - - Class representing raw memory but not owning the memory. - - - - - Represents raw memory owned by an external object. - - - - - Represents memory block allocated on native heap. - - - Owns the native memory resource. - - - - - Represents data read from a stream. - - - Uses memory map to load data from streams backed by files that are bigger than . - - - - Error while reading from the stream. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Invalid number of rows of Assembly table: {0}.. - - - - - Looks up a localized string similar to Can't get a heap offset for a virtual heap handle. - - - - - Looks up a localized string similar to EnCMap table not sorted or has missing records.. - - - - - Looks up a localized string similar to Illegal tables in compressed metadata stream.. - - - - - Looks up a localized string similar to Image too small to contain COFF header.. - - - - - Looks up a localized string similar to Image too small to contain COR header.. - - - - - Looks up a localized string similar to Image too small to contain DOS header.. - - - - - Looks up a localized string similar to Image too small to contain PE header.. - - - - - Looks up a localized string similar to Image too small to contain number of sections claimed by COFF header.. - - - - - Looks up a localized string similar to Invalid coded index.. - - - - - Looks up a localized string similar to Invalid COR header size.. - - - - - Looks up a localized string similar to Invalid handle.. - - - - - Looks up a localized string similar to Invalid local signature token: 0x{0:X8}. - - - - - Looks up a localized string similar to Invalid metadata section span.. - - - - - Looks up a localized string similar to Invalid Metadata stream format.. - - - - - Looks up a localized string similar to Invalid method header: 0x{0:X2}. - - - - - Looks up a localized string similar to Invalid method header: 0x{0:X2} 0x{1:X2}. - - - - - Looks up a localized string similar to Invalid relative virtual address (RVA): 0x{0:X8}. - - - - - Looks up a localized string similar to Invalid number of sections in declared in PE header.. - - - - - Looks up a localized string similar to Invalid PE signature.. - - - - - Looks up a localized string similar to Invalid section name. - - - - - Looks up a localized string similar to Invalid SEH header: 0x{0:X2}. - - - - - Looks up a localized string similar to Invalid signature.. - - - - - Looks up a localized string similar to Invalid token.. - - - - - Looks up a localized string similar to Metadata header too small.. - - - - - Looks up a localized string similar to Metadata image doesn't represent an assembly.. - - - - - Looks up a localized string similar to Invalid COR20 header signature.. - - - - - Looks up a localized string similar to Metadata table header too small.. - - - - - Looks up a localized string similar to Metadata table 0x{0:x2} not sorted.. - - - - - Looks up a localized string similar to Metadata tables too small.. - - - - - Looks up a localized string similar to Missing data directory.. - - - - - Looks up a localized string similar to Invalid number of rows of Module table: {0}.. - - - - - Looks up a localized string similar to Not enough space for Blob stream.. - - - - - Looks up a localized string similar to Not enough space for GUID stream.. - - - - - Looks up a localized string similar to Not enough space for Metadata stream.. - - - - - Looks up a localized string similar to Not enough space for stream header name.. - - - - - Looks up a localized string similar to Not enough space for String stream.. - - - - - Looks up a localized string similar to Not enough space for version string.. - - - - - Looks up a localized string similar to Specified handle is not a valid metadata heap handle.. - - - - - Looks up a localized string similar to Specified handle is not a valid metadata table handle.. - - - - - Looks up a localized string similar to Specified handle is not a valid metadata table or UserString heap handle.. - - - - - Looks up a localized string similar to Read out of bounds.. - - - - - Looks up a localized string similar to PE image does not have metadata.. - - - - - Looks up a localized string similar to PE image not available.. - - - - - Looks up a localized string similar to Row ID or heap offset is too large.. - - - - - Looks up a localized string similar to Section too small.. - - - - - Looks up a localized string similar to Stream header too small.. - - - - - Looks up a localized string similar to Stream must support read and seek operations.. - - - - - Looks up a localized string similar to Table row count space to small.. - - - - - Looks up a localized string similar to Unable to read metadata file. - - - - - Looks up a localized string similar to Unexpected stream end. - - - - - Looks up a localized string similar to Unknown file format.. - - - - - Looks up a localized string similar to Unknown PE Magic value.. - - - - - Looks up a localized string similar to Unknown tables: 0x{0:x16}.. - - - - - Looks up a localized string similar to Missing mscorlib reference in AssemblyRef table.. - - - - - The type of the constant value. - - - Corresponds to Type field of Constant table in ECMA-335 Standard. - - - - - The constant value. - - - Corresponds to Value field of Constant table in ECMA-335 Standard. - - - - - The parent handle (, , or ). - - - Corresponds to Parent field of Constant table in ECMA-335 Standard. - - - - - The constructor ( or ) of the custom attribute type. - - - Corresponds to Type field of CustomAttribute table in ECMA-335 Standard. - - - - - The handle of the metadata entity the attribute is applied to. - - - Corresponds to Parent field of CustomAttribute table in ECMA-335 Standard. - - - - - The value of the attribute. - - - Corresponds to Value field of CustomAttribute table in ECMA-335 Standard. - - - - - Returns the number of rows in the specified table. - - is null. - is not a valid table index. - - - - Returns the size of the specified heap. - - is null. - is not a valid heap index. - - - - Enumerates entries of EnC log. - - - - - Enumerates entries of EnC map. - - - - - Enumerates rows of ExportedType table. - - - - - TODO (tomat): temporary helper used by EnC. Use proper MetadataReader public API instead. - - - - - TODO (tomat): temporary helper used by EnC. Use proper MetadataReader public API instead. - - - - - Maximum number of tables that can be present in Ecma335 metadata. - - - - - Maximum number of tables that can be present in Ecma335 metadata. - - - - - Returns the row number of a metadata table entry that corresponds - to the specified in the context of . - - One based row number. - The is not a valid metadata table handle. - - - - Returns the offset of metadata heap data that corresponds - to the specified in the context of . - - Zero based offset, or -1 if isn't a metadata heap handle. - The operation is not supported for the specified . - The is invalid. - - - - Returns the metadata token of the specified in the context of . - - Metadata token. - - Handle represents a metadata entity that doesn't have a token. - A token can only be retrieved for a metadata table handle or a heap handle of type . - - - - - Returns the row number of a metadata table entry that corresponds - to the specified . - - - One based row number, or -1 if can only be interpreted in a context of a specific . - See . - - - - - Returns the offset of metadata heap data that corresponds - to the specified . - - - Zero based offset, or -1 if can only be interpreted in a context of a specific . - See . - - - - - Returns the metadata token of the specified . - - - Metadata token, or 0 if can only be interpreted in a context of a specific . - See . - - - Handle represents a metadata entity that doesn't have a token. - A token can only be retrieved for a metadata table handle or a heap handle of type . - - - - - Gets the of the table corresponding to the specified . - - Handle type. - Table index. - True if the handle type corresponds to an Ecma335 table, false otherwise. - - - - Gets the of the heap corresponding to the specified . - - Handle type. - Heap index. - True if the handle type corresponds to an Ecma335 heap, false otherwise. - - - - Creates a handle from a token value. - - - is not a valid metadata token. - It must encode a metadata table entity or an offset in heap. - - - - - Creates a handle from a token value. - - - is not a valid table index. - - - - Start IL offset of the try block. - - - - - Length in bytes of try block. - - - - - Start IL offset of the exception handler. - - - - - Length in bytes of the exception handler. - - - - - IL offset of the start of the filter block, or -1 if the region is not a filter. - - - - - Returns a TypeRef, TypeDef, or TypeSpec handle if the region represents a catch, nil token otherwise. - - - - - Returns field layout offset, or -1 if not available. - - - - - The constrained . - - - Corresponds to Owner field of GenericParamConstraint table in ECMA-335 Standard. - - - - - Handle (, , or ) - specifying from which type this generic parameter is constrained to derive, - or which interface this generic parameter is constrained to implement. - - - Corresponds to Constraint field of GenericParamConstraint table in ECMA-335 Standard. - - - - - or . - - - Corresponds to Owner field of GenericParam table in ECMA-335 Standard. - - - - - Attributes specifying variance and constraints. - - - Corresponds to Flags field of GenericParam table in ECMA-335 Standard. - - - - - Zero-based index of the parameter within the declaring generic type or method declaration. - - - Corresponds to Number field of GenericParam table in ECMA-335 Standard. - - - - - The name of the generic parameter. - - - Corresponds to Name field of GenericParam table in ECMA-335 Standard. - - - - - Returns true if the given raw (non-virtual) handle represents the same string as given ASCII string. - - - - - Returns the heap index of the given ASCII character or -1 if not found prior null terminator or end of heap. - - - - - Returns true if the given raw (non-virtual) handle represents a string that starts with given ASCII prefix. - - - - - Equivalent to Array.BinarySearch, searches for given raw (non-virtual) handle in given array of ASCII strings. - - - - - Use the highest bit to mark tokens that are virtual (synthesized). - We create virtual tokens to represent projected WinMD entities. - - - - - Returns true if the token value can escape the metadata reader. - We don't allow virtual tokens and heap tokens other than UserString to escape - since the token type ids are internal to the reader and not specified by ECMA spec. - - Spec (Partition III, 1.9 Metadata tokens): - Many CIL instructions are followed by a "metadata token". This is a 4-byte value, that specifies a row in a - metadata table, or a starting byte offset in the User String heap. - - For example, a value of 0x02 specifies the TypeDef table; a value of 0x70 specifies the User - String heap.The value corresponds to the number assigned to that metadata table (see Partition II for the full - list of tables) or to 0x70 for the User String heap.The least-significant 3 bytes specify the target row within that - metadata table, or starting byte offset within the User String heap. - - - - - This will return a StringHandle for the simple name of a namespace name at the given segment index. - If no segment index is passed explicitly or the "segment" index is greater than or equal to the number - of segments, then the last segment is used. "Segment" in this context refers to part of a namespace - name between dots. - - Example: Given a NamespaceHandle to "System.Collections.Generic.Test" called 'handle': - - reader.GetString(GetSimpleName(handle)) == "Test" - reader.GetString(GetSimpleName(handle, 0)) == "System" - reader.GetString(GetSimpleName(handle, 1)) == "Collections" - reader.GetString(GetSimpleName(handle, 2)) == "Generic" - reader.GetString(GetSimpleName(handle, 3)) == "Test" - reader.GetString(GetSimpleName(handle, 1000)) == "Test" - - - - - Two distinct namespace handles represent the same namespace if their full names are the same. This - method merges builders corresponding to such namespace handles. - - - - - This will take 'table' and merge all of the NamespaceData instances that point to the same - namespace. It has to create 'stringTable' as an intermediate dictionary, so it will hand it - back to the caller should the caller want to use it. - - - - - Creates a NamespaceDataBuilder instance that contains a synthesized NamespaceHandle, - as well as the name provided. - - - - - Quick convenience method that handles linking together child + parent - - - - - Links a child to its parent namespace. If the parent namespace doesn't exist, this will create a - synthetic one. This will automatically link any synthetic namespaces it creates up to its parents. - - - - - This will link all parents/children in the given namespaces dictionary up to each other. - - In some cases, we need to synthesize namespaces that do not have any type definitions or forwarders - of their own, but do have child namespaces. These are returned via the syntheticNamespaces out - parameter. - - - - - Loops through all type definitions in metadata, adding them to the given table - - - - - Loops through all type forwarders in metadata, adding them to the given table - - - - - Populates namespaceList with distinct namespaces. No ordering is guaranteed. - - - - - If the namespace table doesn't exist, populates it! - - - - - If the namespace list doesn't exist, populates it! - - - - - Returns whether the namespaceTable has been created. If it hasn't, calling a GetXXX method - on this will probably have a very high amount of overhead. - - - - - An intermediate class used to build NamespaceData instances. This was created because we wanted to - use ImmutableArrays in NamespaceData, but having ArrayBuilders and ImmutableArrays that served the - same purpose in NamespaceData got ugly. With the current design of how we create our Namespace - dictionary, this needs to be a class because we have a many-to-one mapping between NamespaceHandles - and NamespaceData. So, the pointer semantics must be preserved. - - This class assumes that the builders will not be modified in any way after the first call to - Freeze(). - - - - - Returns a NamespaceData that represents this NamespaceDataBuilder instance. After calling - this method, it is an error to use any methods or fields except Freeze() on the target - NamespaceDataBuilder. - - - - - Returns field offset for given field RowId, or -1 if not available. - - - - - In CLI metadata equal to the actual number of entries in AssemblyRef table. - In WinMD metadata it includes synthesized AssemblyRefs in addition. - - - - - True if the file contains metadata. - - - Corresponds to Flags field of File table in ECMA-335 Standard. - - - - - File name with extension. - - - Corresponds to Name field of File table in ECMA-335 Standard. - - - - - Hash value of the file content calculated using . - - - Corresponds to HashValue field of File table in ECMA-335 Standard. - - - - - Specifies the byte offset within the referenced file at which this resource record begins. - - - Corresponds to Offset field of ManifestResource table in ECMA-335 Standard. - - - - - Resource attributes. - - - Corresponds to Flags field of ManifestResource table in ECMA-335 Standard. - - - - - Name of the resource. - - - Corresponds to Name field of ManifestResource table in ECMA-335 Standard. - - - - - , , or nil handle. - - - Corresponds to Implementation field of ManifestResource table in ECMA-335 Standard. - - If nil then is an offset in the PE image that contains the metadata, - starting from the Resource entry in the CLI header. - - - - - MethodDef, ModuleRef,TypeDef, TypeRef, or TypeSpec handle. - - - - - Reads UTF8 encoded string starting at the current position. - - The number of bytes to read. - The string. - bytes not available. - - - - Reads UTF16 encoded string starting at the current position. - - The number of bytes to read. - The string. - bytes not available. - - - - Reads bytes starting at the current position. - - The number of bytes to read. - The byte array. - bytes not available. - - - - Reads a compressed integer value starting at offset. - See Metadata Specification section II.23.2: Blobs and signatures. - - The value of the compressed integer that was read. - true if the value was read successfully. false if the data at the current position was not a valid compressed integer. - - - - Reads type code encoded in a serialized custom attribute value. - - - - - Reads type code encoded in a signature. - - - - - Reads a type handle encoded in a signature as (CLASS | VALUETYPE) TypeDefOrRefOrSpecEncoded. - - The handle or nil if the encoding is invalid. - - - - Represents generic type parameters of a method or type. - - - - - Represents constraints of a generic type parameter. - - - - - Collection of parameters of a specified method. - - - - - Collection of TypeDefs, TypeRefs and TypeSpecs that represents interfaces implemented by a specified type. - - - - - Represents a collection of . - - - - - Represents a collection of . - - - - - Collection of type forwarders defined in the module. - - - - - Represents a collection of . - - - - - Collection of assembly references. - - - - - Represents a collection of . - - - - - Represents a collection of . - - - - - A handle that represents a namespace definition. - - - - - CLI metadata. - - - - - Windows Metadata. - - - - - Windows Metadata generated by managed compilers. - - - - - True if the metadata stream has minimal delta format. Used for EnC. - - - The metadata stream has minimal delta format if "#JTD" stream is present. - Minimal delta format uses large size (4B) when encoding table/heap references. - The heaps in minimal delta only contain data of the delta, - there is no padding at the beginning of the heaps that would align them - with the original full metadata heaps. - - - - - A row count for each possible table. May be indexed by . - - - - - Looks like this function reads beginning of the header described in - Ecma-335 ?24.2.1 Metadata root - - - - - Looks like this function reads stream headers described in - Ecma-335 ?24.2.2 Stream header - - - - - Looks like this function reads stream header described in - Ecma-335 24.2.6 #~ stream - - - - - Returns an array of types nested in the specified type. - - - - - The backing field of a WinRT enumeration type is not public although the backing fields - of managed enumerations are. To allow managed languages to directly access this field, - it is made public by the metadata adapter. - - - - - We want to know if a given method implements a redirected interface. - For example, if we are given the method RemoveAt on a class "A" - which implements the IVector interface (which is redirected - to IList in .NET) then this method would return true. The most - likely reason why we would want to know this is that we wish to hide - (mark private) all methods which implement methods on a redirected - interface. - - The declaration token for the method - - Returns true if the redirected interface is . - - True if the method implements a method on a redirected interface. - False otherwise. - - - - Returns the type definition or reference handle of the attribute type. - - or or nil token if the metadata is invalid and the type can't be determined. - - - - Size of the method body - includes the header, IL and exception regions. - - - - - MethodDef or MemberRef handle specifying to which generic method this refers, - that is which generic method is it an instantiation of. - - - - - Blob handle holding the signature of this instantiation. - - - - - Gets the unqualified name of the NamespaceDefinition. - - - - - Gets the parent namespace. - - - - - Gets the namespace definitions that are direct children of the current - namespace definition. - - System.Collections and System.Linq are direct children of System. - System.Collections.Generic is a direct child of System.Collections. - System.Collections.Generic is *not* a direct child of System. - - - - - Gets all type definitions that reside directly in a namespace. - - - - - Gets all type forwarders that reside directly in a namespace. - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Equivalent to . - - - - - Returns the enclosing type of a specified nested type or nil handle if the type is not nested. - - - - - Returns an array of types nested in the specified type. - - - - - The base type of the type definition: either - , or . - - - - - The type of target machine. - - - - - The number of sections. This indicates the size of the section table, which immediately follows the headers. - - - - - The low 32 bits of the number of seconds since 00:00 January 1, 1970, that indicates when the file was created. - - - - - The file pointer to the COFF symbol table, or zero if no COFF symbol table is present. - This value should be zero for a PE image. - - - - - The number of entries in the symbol table. This data can be used to locate the string table, - which immediately follows the symbol table. This value should be zero for a PE image. - - - - - The size of the optional header, which is required for executable files but not for object files. - This value should be zero for an object file. - - - - - The flags that indicate the attributes of the file. - - - - - COR20Flags - - - - - The target CPU is unknown or not specified. - - - - - Intel 386. - - - - - MIPS little-endian WCE v2 - - - - - Alpha - - - - - Hitachi SH3 little endian - - - - - Hitachi SH3 DSP. - - - - - Hitachi SH3 little endian. - - - - - Hitachi SH4 little endian. - - - - - Hitachi SH5. - - - - - ARM little endian - - - - - Thumb. - - - - - ARM Thumb-2 little endian. - - - - - Matsushita AM33. - - - - - IBM PowerPC little endian. - - - - - PowerPCFP - - - - - Intel 64 - - - - - MIPS - - - - - ALPHA64 - - - - - MIPS with FPU. - - - - - MIPS16 with FPU. - - - - - Infineon - - - - - EFI Byte Code - - - - - AMD64 (K8) - - - - - M32R little-endian - - - - - Identifies the format of the image file. - - - - - The linker major version number. - - - - - The linker minor version number. - - - - - The size of the code (text) section, or the sum of all code sections if there are multiple sections. - - - - - The size of the initialized data section, or the sum of all such sections if there are multiple data sections. - - - - - The size of the uninitialized data section (BSS), or the sum of all such sections if there are multiple BSS sections. - - - - - The address of the entry point relative to the image base when the PE file is loaded into memory. - For program images, this is the starting address. For device drivers, this is the address of the initialization function. - An entry point is optional for DLLs. When no entry point is present, this field must be zero. - - - - - The address that is relative to the image base of the beginning-of-code section when it is loaded into memory. - - - - - The address that is relative to the image base of the beginning-of-data section when it is loaded into memory. - - - - - The preferred address of the first byte of image when loaded into memory; - must be a multiple of 64K. - - - - - The alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to . - The default is the page size for the architecture. - - - - - The alignment factor (in bytes) that is used to align the raw data of sections in the image file. - The value should be a power of 2 between 512 and 64K, inclusive. The default is 512. - If the is less than the architecture’s page size, - then must match . - - - - - The major version number of the required operating system. - - - - - The minor version number of the required operating system. - - - - - The major version number of the image. - - - - - The minor version number of the image. - - - - - The major version number of the subsystem. - - - - - The minor version number of the subsystem. - - - - - The size (in bytes) of the image, including all headers, as the image is loaded in memory. - It must be a multiple of . - - - - - The combined size of an MS DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment. - - - - - The image file checksum. - - - - - The subsystem that is required to run this image. - - - - - The size of the stack to reserve. Only is committed; - the rest is made available one page at a time until the reserve size is reached. - - - - - The size of the stack to commit. - - - - - The size of the local heap space to reserve. Only is committed; - the rest is made available one page at a time until the reserve size is reached. - - - - - The size of the local heap space to commit. - - - - - The number of data-directory entries in the remainder of the . Each describes a location and size. - - - - - The Certificate Table entry points to a table of attribute certificates. - These certificates are not loaded into memory as part of the image. - As such, the first field of this entry, which is normally an RVA, is a file pointer instead. - - - - - An object used to read the PE headers from a stream. - - - - - Reads Portable Executable headers from the current location in the stream. - - The data read from stream have invalid format. - Error reading from the stream. - The stream doesn't support seek operations. - is null. - - - - Searches sections of the PE image for the one that contains specified Relative Virtual Address. - - Address. - - Index of the section that contains , - or -1 if there is none. - - - - - Creates a Portable Executable reader over a PE image stored in memory. - - Pointer to the start of the PE image. - The size of the PE image. - is . - is negative. - The content of isn't a valid PE image. - - The memory is owned by the caller and not released on disposal of the . - - - - - Creates a Portable Executable reader over a PE image stored in a byte array. - - PE image stream. - - Options specifying how sections of the PE image are read from the stream. - Unless is specified, the responsibility for disposal of the stream is transferred upon entry of the constructor - unless the arguments given are invalid. - - is null. - has an invalid value. - The content of isn't a valid PE image. - - - - Creates a Portable Executable reader over a PE image stored in a byte array. - - PE image. - is null. - The content of isn't a valid PE image. - - - - Disposes all memory allocated by the reader. - - - can be called multiple times (even in parallel). - However, it is not safe to call in parallel with any other operation on the - or that was provided by this reader via . - - - - - Returns a view of the entire image as a pointer and length. - - PE image not available. - - - - Gets a pointer to and size of the PE image if available (). - - The entire PE image is not available. - - - - Returns an array that contains bytes of the metadata dictionary/section. - - - - - Returns an array that contains bytes of the entire PE image. - - PE image not available ( returns false). - - - - Returns a body block of a method with specified Relative Virtual Address (RVA); - - The body is not found in the metadata or is invalid. - Section where the method is stored is not available. - - - - Return true if the reader can access the entire PE image. - - - Returns false if the is constructed from a stream and only part of it is prefetched into memory. - - - - - By default the stream is disposed when is disposed and sections of the PE image are read lazily. - - - - - Keep the stream open when the is disposed. - - - - - Reads metadata section into memory right away. - - - Reading from other sections of the file is not allowed ( is thrown by the ). - The underlying file may be closed and even deleted after is constructed. - - closes the stream automatically by the time the constructor returns unless is specified. - - - - - Reads the entire image into memory right away. - - - closes the stream automatically by the time the constructor returns unless is specified. - - - - - An 8-byte, null-padded UTF-8 encoded string. If the string is exactly 8 characters long, there is no terminating null. - - - - - The total size of the section when loaded into memory. - If this value is greater than , the section is zero-padded. - This field is valid only for PE images and should be set to zero for object files. - - - - - For PE images, the address of the first byte of the section relative to the image base when the - section is loaded into memory. For object files, this field is the address of the first byte before - relocation is applied; for simplicity, compilers should set this to zero. Otherwise, - it is an arbitrary value that is subtracted from offsets during relocation. - - - - - The size of the section (for object files) or the size of the initialized data on disk (for image files). - For PE images, this must be a multiple of . - If this is less than , the remainder of the section is zero-filled. - Because the field is rounded but the field is not, - it is possible for to be greater than as well. - When a section contains only uninitialized data, this field should be zero. - - - - - The file pointer to the first page of the section within the COFF file. - For PE images, this must be a multiple of . - For object files, the value should be aligned on a 4 byte boundary for best performance. - When a section contains only uninitialized data, this field should be zero. - - - - - The file pointer to the beginning of relocation entries for the section. - This is set to zero for PE images or if there are no relocations. - - - - - The file pointer to the beginning of line-number entries for the section. - This is set to zero if there are no COFF line numbers. - This value should be zero for an image because COFF debugging information is deprecated. - - - - - The number of relocation entries for the section. This is set to zero for PE images. - - - - - The number of line-number entries for the section. - This value should be zero for an image because COFF debugging information is deprecated. - - - - - The flags that describe the characteristics of the section. - - - - - Decodes an compressed integer value starting at offset. - See Metadata Specification section II.23.2: Blobs and signatures. - - Offset to the start of the compressed data. - Bytes actually read. - - Value between 0 and 0x1fffffff, or if the value encoding is invalid. - - - - - Calculates a range of rows that have specified value in the specified column in a table that is sorted by that column. - - - - - Calculates a range of rows that have specified value in the specified column in a table that is sorted by that column. - - - - - Used to read the value of the property. - CLS-compliant setters are named with set_ prefix. - - - - - Used to modify the value of the property. - CLS-compliant getters are named with get_ prefix. - - - - - Other method for property (not getter or setter) or event (not adder, remover, or raiser). - - - - - Used to add a handler for an event. - Corresponds to the AddOn flag in the Ecma 335 CLI specification. - CLS-compliant adders are named with add_ prefix. - - - - - Used to remove a handler for an event. - Correpsonds to th RemoveOn flag in the Ecma 335 CLI specification. - CLS-compliant removers are named with remove_ prefix. - - - - - Used to indicate that an event has occurred. - Corresponds to the Fire flag in the Ecma 335 CLI specification. - CLS-compliant raisers are named with raise_ prefix. - - - - - Specifies the security actions that can be performed using declarative security. - - - - - No declarative security action. - - - - - Check that all callers in the call chain have been granted specified permission, - - - - - The calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource. - - - - - Without further checks refuse Demand for the specified permission. - - - - - Without further checks, refuse Demand for all permissions other than those specified. - - - - - Check that the immediate caller has been granted the specified permission; - - - - - The derived class inheriting the class or overriding a method is required to have been granted the specified permission. - - - - - The request for the minimum permissions required for code to run. This action can only be used within the scope of the assembly. - - - - - The request for additional permissions that are optional (not required to run). This request implicitly refuses all other permissions not specifically requested. This action can only be used within the scope of the assembly. - - - - - The request that permissions that might be misused will not be granted to the calling code. This action can only be used within the scope of the assembly. - - - - - The Resource is exported from the Assembly - - - - - The Resource is exported from the Assembly - - - - - Masks just the visibility-related attributes (Public or Private). - - - - - Specifies all the hash algorithms used for hashing assembly files and for generating the strong name. - - - - - A mask indicating that there is no hash algorithm. If you specify None for a multi-module assembly, the common language runtime defaults to the SHA1 algorithm, since multi-module assemblies need to generate a hash. - - - - - Retrieves the MD5 message-digest algorithm. MD5 was developed by Rivest in 1991. It is basically MD4 with safety-belts and while it is slightly slower than MD4, it helps provide more security. The algorithm consists of four distinct rounds, which has a slightly different design from that of MD4. Message-digest size, as well as padding requirements, remain the same. - - - - - Retrieves a revision of the Secure Hash Algorithm that corrects an unpublished flaw in SHA. - - - - - Retrieves a version of the Secure Hash Algorithm with a hash size of 256 bits. - - - - - Retrieves a version of the Secure Hash Algorithm with a hash size of 384 bits. - - - - - Retrieves a version of the Secure Hash Algorithm with a hash size of 384 bits. - - - - - The assembly reference holds the full (unhashed) public key. - Not applicable on assembly definition. - - - - - The implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time. - - - - - The assembly contains Windows Runtime code. - - - - - Content type mask. Masked bits correspond to values of . - - - - - Specifies that just-in-time (JIT) compiler optimization is disabled for the assembly. - - - - - Specifies that just-in-time (JIT) compiler tracking is enabled for the assembly. - - - - - Generic implementation of object pooling pattern with predefined pool size limit. The main - purpose is that limited number of frequently used objects can be kept in the pool for - further recycling. - - Notes: - 1) it is not the goal to keep all returned objects. Pool is not meant for storage. If there - is no space in the pool, extra returned objects will be dropped. - - 2) it is implied that if object was obtained from a pool, the caller will return it back in - a relatively short time. Keeping checked out objects for long durations is ok, but - reduces usefulness of pooling. Just new up your own. - - Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice. - Rationale: - If there is no intent for reusing the object, do not use pool - just use "new". - - - - - Produces an instance. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search. - - - - - Returns objects to the pool. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search in Allocate. - - - - - The usage is: - var inst = PooledStringBuilder.GetInstance(); - var sb = inst.builder; - ... Do Stuff... - ... sb.ToString() ... - inst.Free(); - - - - - Copies specified amount of data from given stream to a target memory pointer. - - unexpected stream end. - - - diff --git a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta.nupkg b/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta.nupkg deleted file mode 100644 index 0295f431b5..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta.nupkg and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/ThirdPartyNotices.rtf b/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/ThirdPartyNotices.rtf deleted file mode 100644 index e77a4cad52..0000000000 --- a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/ThirdPartyNotices.rtf +++ /dev/null @@ -1,358 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff39\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Univers};} -{\f41\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};} -{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};} -{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} -{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} -{\f390\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f422\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f423\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;} -{\f426\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f428\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;} -{\f430\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f432\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f435\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;} -{\f436\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f437\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f438\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f439\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;} -{\f440\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f441\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f442\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Univers};} -{\f443\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Univers};}{\f445\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Univers};}{\f446\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Univers};} -{\f449\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Univers};}{\f454\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f452\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f453\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;} -{\f455\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f456\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f459\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;} -{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);} -{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap -\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid2516420 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext1 \slink15 \sqformat \styrsid2516420 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 -\ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid2516420 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar -\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext3 \slink17 \sqformat \styrsid2516420 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid2516420 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar -\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext5 \slink19 \sqformat \styrsid2516420 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid2516420 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext7 \slink21 \sqformat \styrsid2516420 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid2516420 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext9 \slink23 \sqformat \styrsid2516420 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive -\rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid2516420 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink2 \slocked \styrsid2516420 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid2516420 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af39\afs19 -\ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid2516420 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink5 \slocked \styrsid2516420 -Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid2516420 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid2516420 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink8 \slocked \styrsid2516420 Heading 8 Char;}{\* -\cs23 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid2516420 Heading 9 Char;}{\s24\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \slink25 \styrsid2516420 annotation text;}{\*\cs25 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink24 \slocked \styrsid2516420 Comment Text Char;}{\*\cs26 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \styrsid2516420 annotation reference;}{\*\cs27 \additive \rtlch\fcs1 \af0 -\ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid2516420 Hyperlink,Char Char7;}{\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \slink29 \styrsid2516420 header;}{\*\cs29 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink28 \slocked \styrsid2516420 Header Char;}{\s30\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs18\alang1025 \ltrch\fcs0 -\fs18\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \slink31 \ssemihidden \sunhideused \styrsid2516420 Balloon Text;}{\*\cs31 \additive \rtlch\fcs1 \af38\afs18 \ltrch\fcs0 -\fs18\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink30 \slocked \ssemihidden \styrsid2516420 Balloon Text Char;}{\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \slink33 \sunhideused \styrsid1734505 footer;}{\*\cs33 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink32 \slocked \styrsid1734505 Footer Char;}}{\*\listtable{\list\listtemplateid-53848358{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 -\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 -\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0 -\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}} -{\*\listoverridetable{\listoverride\listid752163927\listoverridecount0\ls1}{\listoverride\listid752163927\listoverridecount9{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat -\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel -\listoverridestartat\levelstartat1}\ls2}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid282013\rsid408647\rsid601809\rsid1601216\rsid1734505\rsid1969138\rsid2426331\rsid2456392\rsid2516420\rsid2911943\rsid3095093\rsid3295716\rsid6504186 -\rsid6704546\rsid6772273\rsid6782127\rsid7228328\rsid7342123\rsid9383347\rsid10828784\rsid11500032\rsid14099721\rsid14102507}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} -{\info{\creatim\yr2014\mo3\dy25\hr18\min55}{\revtim\yr2014\mo3\dy25\hr18\min55}{\version1}{\edmins0}{\nofpages3}{\nofwords1458}{\nofchars8316}{\nofcharsws9755}{\vern57435}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw12240\paperh15840\margl720\margr720\margt720\margb720\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin720\dgvorigin720\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot2516420\newtblstyruls\nogrowautofit\remdttm\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal -\nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}\ltrpar \sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar -\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\headerr \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerl \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\footerr \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\headerf \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerf \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} -{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar -\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -\par \hich\af39\dbch\af11\loch\f39 Do Not Translate or Localize -\par -\par \hich\af39\dbch\af11\loch\f39 This file provides information regarding components that are being relicensed to you by Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 -\insrsid2516420 \hich\af39\dbch\af11\loch\f39 under Microsoft's software licensing terms. Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\hich\af39\dbch\af11\loch\f39 reser\hich\af39\dbch\af11\loch\f39 ves all rights not expressly granted herein. -\par -\par \hich\af39\dbch\af11\loch\f39 %% }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION BEGIN HERE -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14102507 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 Copyright (C) Microsoft }{\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Open Technologies, Inc}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 . All rights reserved. -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 -\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 Apache License, Version 2.0 -\par \hich\af39\dbch\af11\loch\f39 Apa\hich\af39\dbch\af11\loch\f39 che License -\par \hich\af39\dbch\af11\loch\f39 Version 2.0, January 2004 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6704546 \hich\af39\dbch\af11\loch\f39 HYPERLINK "http://www.apache.org/licenses/" }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f000000795881f43b1d7f48af2c825dc48527630000 -0000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs27\ul\cf2\insrsid2516420 \hich\af39\dbch\af11\loch\f39 http://www.apache.org/licenses/}}}\sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af39 \ltrch\fcs0 \insrsid2516420 -\par \hich\af39\dbch\af11\loch\f39 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -\par \hich\af39\dbch\af11\loch\f39 1. Definitions. -\par \hich\af39\dbch\af11\loch\f39 "License" shall mean the terms and conditions for use, reprod\hich\af39\dbch\af11\loch\f39 uction, and distribution as defined by Sections 1 through 9 of this document. -\par \hich\af39\dbch\af11\loch\f39 "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -\par \hich\af39\dbch\af11\loch\f39 "Legal Entity" shall mean the union of the acting entity and a\hich\af39\dbch\af11\loch\f39 -ll other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contra -\hich\af39\dbch\af11\loch\f39 c\hich\af39\dbch\af11\loch\f39 t or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -\par \hich\af39\dbch\af11\loch\f39 "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -\par \hich\af39\dbch\af11\loch\f39 "Source" fo\hich\af39\dbch\af11\loch\f39 rm shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -\par \hich\af39\dbch\af11\loch\f39 "Object" form shall mean any form resulting from mechanical transformation or translation of a Sour\hich\af39\dbch\af11\loch\f39 -ce form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -\par \hich\af39\dbch\af11\loch\f39 "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyr\hich\af39\dbch\af11\loch\f39 -ight notice that is included in or attached to the work (an example is provided in the Appendix below). -\par \hich\af39\dbch\af11\loch\f39 "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisi\hich\af39\dbch\af11\loch\f39 -ons, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the in -\hich\af39\dbch\af11\loch\f39 t\hich\af39\dbch\af11\loch\f39 erfaces of, the Work and Derivative Works thereof. -\par \hich\af39\dbch\af11\loch\f39 "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to -\hich\af39\dbch\af11\loch\f39 -Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communic -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -tion sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discuss -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 ng and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -\par \hich\af39\dbch\af11\loch\f39 "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a \hich\af39\dbch\af11\loch\f39 Contribution has been received by Licensor and subsequently incorporated within the Work. -\par \hich\af39\dbch\af11\loch\f39 2. Grant of Copyright License. -\par \hich\af39\dbch\af11\loch\f39 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-ch\hich\af39\dbch\af11\loch\f39 -arge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -\par \hich\af39\dbch\af11\loch\f39 3. Grant of Patent License. -\par \hich\af39\dbch\af11\loch\f39 Subject to \hich\af39\dbch\af11\loch\f39 -the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, imp -\hich\af39\dbch\af11\loch\f39 o\hich\af39\dbch\af11\loch\f39 -rt, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 -Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent inf -\hich\af39\dbch\af11\loch\f39 r\hich\af39\dbch\af11\loch\f39 ingement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -\par \hich\af39\dbch\af11\loch\f39 4. Redistribution. -\par \hich\af39\dbch\af11\loch\f39 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, wi\hich\af39\dbch\af11\loch\f39 -th or without modifications, and in Source or Object form, provided that You meet the following conditions: -\par \hich\af39\dbch\af11\loch\f39 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and -\par \hich\af39\dbch\af11\loch\f39 2. You must cause any modified files to carry prom\hich\af39\dbch\af11\loch\f39 inent notices stating that You changed the files; and -\par \hich\af39\dbch\af11\loch\f39 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices th -\hich\af39\dbch\af11\loch\f39 at do not pertain to any part of the Derivative Works; and -\par \hich\af39\dbch\af11\loch\f39 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such -\hich\af39\dbch\af11\loch\f39 - NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if prov -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 -ded along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You m -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -y add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -\par \hich\af39\dbch\af11\loch\f39 You may add Your o\hich\af39\dbch\af11\loch\f39 -wn copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, a -\hich\af39\dbch\af11\loch\f39 n\hich\af39\dbch\af11\loch\f39 d distribution of the Work otherwise complies with the conditions stated in this License. -\par \hich\af39\dbch\af11\loch\f39 5. Submission of Contributions. -\par \hich\af39\dbch\af11\loch\f39 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall\hich\af39\dbch\af11\loch\f39 - be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding s -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 ch Contributions. -\par \hich\af39\dbch\af11\loch\f39 6. Trademarks. -\par \hich\af39\dbch\af11\loch\f39 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reprod -\hich\af39\dbch\af11\loch\f39 ucing the content of the NOTICE file. -\par \hich\af39\dbch\af11\loch\f39 7. Disclaimer of Warranty. -\par \hich\af39\dbch\af11\loch\f39 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS O\hich\af39\dbch\af11\loch\f39 -F ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -\par \hich\af39\dbch\af11\loch\f39 8. Limitation of Liability. -\par \hich\af39\dbch\af11\loch\f39 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required\hich\af39\dbch\af11\loch\f39 - by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a res -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 -lt of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has -\hich\af39\dbch\af11\loch\f39 b\hich\af39\dbch\af11\loch\f39 een advised of the possibility of such damages. -\par \hich\af39\dbch\af11\loch\f39 9. Accepting Warranty or Additional Liability. -\par \hich\af39\dbch\af11\loch\f39 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other li\hich\af39\dbch\af11\loch\f39 -ability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend -,\hich\af39\dbch\af11\loch\f39 and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -\par \hich\af39\dbch\af11\loch\f39 END OF TERMS AND CONDITIONS -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par \hich\af39\dbch\af11\loch\f39 END\hich\af39\dbch\af11\loch\f39 OF }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid601809\delrsid601809 -\hich\af39\dbch\af11\loch\f39 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100aa5225dfc60600008b1a0000160000007468656d652f7468656d652f -7468656d65312e786d6cec595d8bdb46147d2ff43f08bd3bfe92fcb1c41b6cd9ceb6d94d42eca4e4716c8fadc98e344633de8d0981923c160aa569e943037deb -43691b48a02fe9afd936a54d217fa17746b63c638fbb9b2585a5640d8b343af7ce997bafce1d4997afdc8fa87384134e58dc708b970aae83e3211b9178d2706f -f7bbb99aeb7081e211a22cc60d778eb97b65f7c30f2ea31d11e2083b601ff31dd4704321a63bf93c1fc230e297d814c7706dcc920809384d26f951828ec16f44 -f3a542a1928f10895d274611b8bd311e932176fad2a5bbbb74dea1701a0b2e078634e949d7d8b050d8d1615122f89c0734718e106db830cf881df7f17de13a14 -7101171a6e41fdb9f9ddcb79b4b330a2628bad66d7557f0bbb85c1e8b0a4e64c26836c52cff3bd4a33f3af00546ce23ad54ea553c9fc29001a0e61a52917dda7 -dfaab7dafe02ab81d2438bef76b55d2e1a78cd7f798373d3973f03af40a97f6f03dfed06104503af4029dedfc07b5eb51478065e81527c65035f2d34db5ed5c0 -2b5048497cb8812ef89572b05c6d061933ba6785d77daf5b2d2d9caf50500d5975c929c62c16db6a2d42f758d2058004522448ec88f9148fd110aa3840940c12 -e2ec93490885374531e3305c2815ba8532fc973f4f1da988a01d8c346bc90b98f08d21c9c7e1c3844c45c3fd18bcba1ae4cdcb1fdfbc7cee9c3c7a71f2e89793 -c78f4f1efd9c3a32acf6503cd1ad5e7fffc5df4f3f75fe7afeddeb275fd9f15cc7fffed367bffdfaa51d082b5d85e0d5d7cffe78f1ecd5379ffff9c3130bbc99 -a0810eef930873e73a3e766eb10816a6426032c783e4ed2cfa2122ba45339e701423398bc57f478406fafa1c5164c1b5b019c13b09488c0d787576cf20dc0b93 -9920168fd7c2c8001e30465b2cb146e19a9c4b0b737f164fec9327331d770ba123dbdc018a8dfc766653d05662731984d8a07993a258a0098eb170e4357688b1 -6575770931e27a408609e36c2c9cbbc46921620d499f0c8c6a5a19ed9108f232b711847c1bb139b8e3b418b5adba8d8f4c24dc15885ac8f73135c27815cd048a -6c2efb28a27ac0f791086d247bf364a8e33a5c40a6279832a733c29cdb6c6e24b05e2de9d7405eec693fa0f3c84426821cda7cee23c674649b1d06218aa6366c -8fc4a18efd881f428922e7261336f80133ef10790e7940f1d674df21d848f7e96a701b9455a7b42a107965965872791533a37e7b733a4658490d08bfa1e71189 -4f15f73559f7ff5b5907217df5ed53cbaa2eaaa0371362bda3f6d6647c1b6e5dbc03968cc8c5d7ee369ac53731dc2e9b0decbd74bf976ef77f2fdddbeee7772f -d82b8d06f9965bc574abae36eed1d67dfb9850da13738af7b9daba73e84ca32e0c4a3bf5cc8ab3e7b8690887f24e86090cdc2441cac64998f88488b017a229ec -ef8bae7432e10bd713ee4c19876dbf1ab6fa96783a8b0ed8287d5c2d16e5a3692a1e1c89d578c1cfc6e15143a4e84a75f50896b9576c27ea51794940dabe0d09 -6d329344d942a2ba1c9441520fe610340b09b5b277c2a26e615193ee97a9da6001d4b2acc0d6c9810d57c3f53d30012378a242148f649ed2542fb3ab92f92e33 -bd2d984605c03e625901ab4cd725d7adcb93ab4b4bed0c99364868e566925091513d8c87688417d52947cf42e36d735d5fa5d4a02743a1e683d25ad1a8d6fe8d -c579730d76ebda40635d2968ec1c37dc4ad9879219a269c31dc3633f1c4653a81d2eb7bc884ee0ddd95024e90d7f1e6599265cb4110fd3802bd149d520220227 -0e2551c395cbcfd24063a5218a5bb104827061c9d541562e1a3948ba99643c1ee3a1d0d3ae8dc848a7a7a0f0a95658af2af3f383a5259b41ba7be1e8d819d059 -720b4189f9d5a20ce0887078fb534ca33922f03a3313b255fdad35a685eceaef13550da5e3884e43b4e828ba98a77025e5191d7596c5403b5bac1902aa8564d1 -080713d960f5a01add34eb1a2987ad5df7742319394d34573dd35015d935ed2a66ccb06c036bb13c5f93d7582d430c9aa677f854bad725b7bed4bab57d42d625 -20e059fc2c5df70c0d41a3b69acca026196fcab0d4ecc5a8d93b960b3c85da599a84a6fa95a5dbb5b8653dc23a1d0c9eabf383dd7ad5c2d078b9af549156df3d -f44f136c700fc4a30d2f81675470954af8f09020d810f5d49e24950db845ee8bc5ad0147ce2c210df741c16f7a41c90f72859adfc97965af90abf9cd72aee9fb -e562c72f16daadd243682c228c8a7efacda50bafa2e87cf1e5458d6f7c7d89966fdb2e0d599467eaeb4a5e11575f5f8aa5ed5f5f1c02a2f3a052ead6cbf55625 -572f37bb39afddaae5ea41a5956b57826abbdb0efc5abdfbd0758e14d86b9603afd2a9e52ac520c8799582a45fabe7aa5ea9d4f4aacd5ac76b3e5c6c6360e5a9 -7c2c6201e155bc76ff010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f -7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be -9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980 -ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5b -babac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e -745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f -2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f74 -68656d654d616e616765722e786d6c504b01022d0014000600080000002100aa5225dfc60600008b1a00001600000000000000000000000000d6020000746865 -6d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000d00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cb0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation reference; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; -\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; -\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; -\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; -\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; -\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; -\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; -\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; -\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; -\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; -\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; -\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; -\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; -\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; -\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; -\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; -\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e03a -22779648cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.dll b/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.dll deleted file mode 100644 index 20c987eac0..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.dll and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.xml b/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.xml deleted file mode 100644 index f007946d30..0000000000 --- a/Packages/Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.CSharp.xml +++ /dev/null @@ -1,30525 +0,0 @@ - - - - Microsoft.CodeAnalysis.CSharp - - - - - A Binder converts names in to symbols and syntax nodes into bound trees. It is context - dependent, relative to a location in source code. - - - This portion of the binder converts a AnonymousObjectCreationExpressionSyntax into - a bound anonymous object creation node - - - This portion of the binder converts an AwaitExpressionSyntax into a BoundExpression - - - This portion of the binder converts an into a . - - - This portion of the binder converts a QueryExpressionSyntax into a BoundExpression - - - This portion of the binder reports errors arising from resolving queries. - - - This portion of the binder converts StatementSyntax nodes into BoundStatements - - - - - Get the next binder in which to look up a name, if not found by this binder. - - - - - if we are in an explicitly checked context (within checked block or expression). - if we are in an explcitly unchecked context (within unchecked block or expression). - otherwise. - - - - - True if instructions that check overflow should be generated. - - - Spec 7.5.12: - For non-constant expressions (expressions that are evaluated at run-time) that are not - enclosed by any checked or unchecked operators or statements, the default overflow checking - context is unchecked unless external factors (such as compiler switches and execution - environment configuration) call for checked evaluation. - - - - - True if the compiler should check for overflow while evaluating constant expressions. - - - Spec 7.5.12: - For constant expressions (expressions that can be fully evaluated at compile-time), - the default overflow checking context is always checked. Unless a constant expression - is explicitly placed in an unchecked context, overflows that occur during the compile-time - evaluation of the expression always cause compile-time errors. - - - - - Some nodes have special binder's for their contents (like Block's) - - - - - Get locals declared immediately in scope represented by the node. - - - - - The member containing the binding context. Note that for the purposes of the compiler, - a lambda expression is considered a "member" of its enclosing method, field, or lambda. - - - - - Is the contained code within an iterator block? - - - Will be false in a lambda in an iterator. - - - - - Is the contained code within the syntactic span of an - iterator method? - - - Will be true in a lambda in an iterator. - - - - - If we are inside a context where a break statement is legal, - returns the that a break statement would branch to. - Returns null otherwise. - - - - - If we are inside a context where a continue statement is legal, - returns the that a continue statement would branch to. - Returns null otherwise. - - - - - Get the element type of this iterator. - - Node to report diagnostics, if any, such as "yield statement cannot be used - inside a lambda expression" - Where to place any diagnostics - Element type of the current iterator, or an error type. - - - - The Imports for all containing namespace declarations (innermost-to-outermost, including global). - - - - - The type containing the binding context - - - - - Returns true if the binder is binding top-level script code. - - - - - Issue an error or warning for a symbol if it is Obsolete. If there is not enough - information to report diagnostics, then store the symbols so that diagnostics - can be reported at a later stage. - - - - - True if the symbol is definitely obsolete. - False if the symbol is definitely not obsolete. - Unknown if the symbol may be obsolete. - - NOTE: The return value reflects obsolete-ness, not whether or not the diagnostic was reported. - - - - - Expression lvalue and rvalue requirements. - - - - - Expression is the RHS of an assignment operation. - - - The following are rvalues: values, variables, null literals, properties - and indexers with getters, events. The following are not rvalues: - namespaces, types, method groups, anonymous functions. - - - - - Expression is the RHS of an assignment operation - and may be a method group. - - - - - Expression is the LHS of a simple assignment operation. - - - - - Expression is the operand of an increment - or decrement operation. - - - - - Expression is the LHS of a compound assignment - operation (such as +=). - - - - - Expression is an out parameter. - - - - - Expression is the operand of an address-of operation (&). - - - - - Expression is the receiver of a fixed buffer field access - - - - - Report diagnostics that should be reported when using a synthesized attribute. - - - - - Outside of checked, unchecked expression/block. - - - - - Within unchecked expression/block. - - - - - Within checked expression/block. - - - - - We represent the set of query variables in scope at a particular point by a RangeVariableMap. - Each query variable in scope has a key in this map. If the corresponding value is empty, then - that query variable is represented directly by a lambda parameter. If it is non-empty, then - to get the value of that query variable one starts with the first parameter of the current - lambda (the first parameter is always the transparent one), and dot through its members using - the names in the value list, in reverse order. So, for example, if the query variable "x" has - a value in this map of ["Item2", "Item1", "Item1"], then the way to compute the value of that - query variable is starting with the current lambda's first parameter P, compute "P.Item1.Item1.Item2". - See also WithQueryLambdaParametersBinder. - - - - - Actually, defines if an error ERR_AnonymousTypeNotAvailable is to be generated; - - Dev10 rules (which are based on BindingContext::InMethod()) are difficult to - reproduce, so this implementation checks both current symbol as well as syntax nodes. - - - - - Returns the type to be used as a field type; generates errors in case the type is not - supported for anonymous type fields. - - - - - Gets the rewritten attribute constructor arguments, i.e. the arguments - are in the order of parameters, which may differ from the source - if named constructor arguments are used. - - For example: - void Foo(int x, int y, int z, int w = 3); - - Foo(0, z: 2, y: 1); - - Arguments returned: 0, 1, 2, 3 - - Rewritten attribute constructor arguments - - CONSIDER: Can we share some code will call rewriting in the local rewriter? - - - - - Walk a custom attribute argument bound node and return a TypedConstant. Verify that the expression is a constant expression. - - - - - Return true iff an await with this subexpression would be legal where the expression appears. - - - - - Assuming we are in an async method, return true if we're in a context where await would be illegal. - Specifically, return true if we're in a lock, catch, or finally. - - - - - Reports an error if the await expression did not occur in an async context. - - True if the expression contains errors. - - - - Report diagnostics if the await expression occurs in an unsafe context. - Errors for await in lock statement, finally block, or catch clause are detected - and reported in the warnings pass. - - True if errors were found. - - - - Finds and validates the required members of an awaitable expression, as described in spec 7.7.7.1. Returns - true if the expression is awaitable. - - True if the expression contains errors. - - - - Validates the awaited expression, returning true if no errors are found. - - - - - Finds the GetAwaiter method of an awaitable expression. - - - Spec 7.7.7.1: - An awaitable expression t has an accessible instance or extension method called GetAwaiter with no - parameters and no type parameters, and a return type A that meets the additional requirements for an - Awaiter. - NOTE: this is an error in the spec. An extension method of the form - Awaiter<T> GetAwaiter<T>(this Task<T>) may be used. - - - - - Validates the GetAwaiter method, returning true if no errors are found. - - - - - Finds the IsCompleted property of an Awaiter type. - - - Spec 7.7.7.1: - An Awaiter A has an accessible, readable instance property IsCompleted of type bool. - - - - - Validate the IsCompleted property, returning true is no errors are found. - - - - - Checks that the Awaiter implements System.Runtime.CompilerServices.INotifyCompletion. - - - Spec 7.7.7.1: - An Awaiter A implements the interface System.Runtime.CompilerServices.INotifyCompletion. - - - - - Finds the GetResult method of an Awaiter type. - - - Spec 7.7.7.1: - An Awaiter A has an accessible instance method GetResult with no parameters and no type parameters. - - - - - Validate the GetResult method, returning true if there are no errors. - - - - - Return a collection of bound constraint clauses indexed by type parameter - ordinal. All constraint clauses are bound, even if there are multiple constraints - for the same type parameter, or constraints for unrecognized type parameters. - Extra constraints are not included in the returned collection however. - - - - - Bind and return a single type parameter constraint clause. - - - - - Returns true if the type is a valid constraint type. - Otherwise returns false and generates a diagnostic. - - - - - This method implements the algorithm in spec section 7.6.5.1. - - For method group conversions, there are situations in which the conversion is - considered to exist ("Otherwise the algorithm produces a single best method M having - the same number of parameters as D and the conversion is considered to exist"), but - application of the conversion fails. These are the "final validation" steps of - overload resolution. - - - True if there is any error. - - - - - Performs the following checks: - - Spec 7.6.5: Invocation expressions (definition of Final Validation) - The method is validated in the context of the method group: If the best method is a static method, - the method group must have resulted from a simple-name or a member-access through a type. If the best - method is an instance method, the method group must have resulted from a simple-name, a member-access - through a variable or value, or a base-access. If neither of these requirements is true, a binding-time - error occurs. - (Note that the spec omits to mention, in the case of an instance method invoked through a simple name, that - the invocation must appear within the body of an instance method) - - Spec 7.5.4: Compile-time checking of dynamic overload resolution - If F is a static method, the method group must have resulted from a simple-name, a member-access through a type, - or a member-access whose receiver can’t be classified as a type or value until after overload resolution (see §7.6.4.1). - If F is an instance method, the method group must have resulted from a simple-name, a member-access through a variable or value, - or a member-access whose receiver can’t be classified as a type or value until after overload resolution (see §7.6.4.1). - - - True if there is any error. - - - - - Was the receiver expression compiler-generated? - - - - - This method implements the checks in spec section 15.2. - - - - - This method combines final validation (section 7.6.5.1) and delegate compatibility (section 15.2). - - CSharpSyntaxNode of the expression requiring method group conversion. - Conversion to be performed. - Optional receiver. - Method invoked as extension method. - Target delegate type. - Where diagnostics should be added. - True if a diagnostic has been added. - - - - This method is a wrapper around MethodGroupConversionHasErrors. As a preliminary step, - it checks whether a conversion exists. - - - - - We can't use BindNamespaceOrTypeSymbol, since it doesn't return inaccessible symbols (directly). - - - Guaranteed not to return null. - - CONSIDER: As in dev11, we don't handle ambiguity at this level. Hypothetically, - we could just pick one, though an "ideal" solution would probably involve a search - down all ambiguous branches. - - - - - Perform lookup (optionally, in a specified container). If nothing is found and the member name matches the containing type - name, then use the instance constructors of the type instead. The resulting symbols are sorted since tie-breaking is based - on order and we want cref binding to be repeatable. - - - Never returns null. - - - - - Given a list of viable lookup results (based on the name, arity, and containing symbol), - attempt to select one. - - - - - At this point, we have a list of viable symbols and no parameter list with which to perform - overload resolution. We'll just return the first symbol, giving a diagnostic if there are - others. - Caveat: If there are multiple candidates and only one is from source, then the source symbol - wins and no diagnostic is reported. - - - - - Replace any named type in the symbol list with its instance constructors. - Construct all candidates with the implicitly-declared CrefTypeParameterSymbols. - - - - - Given a list of method and/or property candidates, choose the first one (if any) with a signature - that matches the parameter list in the cref. Return null if there isn't one. - - - Produces a diagnostic for ambiguous matches, but not for unresolved members - WRN_BadXMLRef is - handled in BindMemberCref. - - - - - If the member is generic, construct it with the CrefTypeParameterSymbols that should be in scope. - - - - - Keep in sync with . - - - - - Determines whether "this" reference is available within the current context. - - The reference was explicitly specified in syntax. - True if "this" is not available due to the current method/property/field initializer being static. - True if a reference to "this" is available. - - - - Returns true if the node is in a position where an unbound type - such as (C<,>) is allowed. - - - - - Generates a new BoundBadExpression with no known type, and the given bound children. - - - - - Generates a new BoundBadExpression with no known type, given lookup resultKind and the given bound children. - - - - - Generates a new BoundBadExpression with no known type, given lookupResultKind and given symbols for GetSemanticInfo API, - and the given bound children. - - - - - Generates a new BoundBadExpression with no known type, given lookupResultKind and given symbols for GetSemanticInfo API, - and the given bound children. - - - - - Helper method to generate a bound expression with HasErrors set to true. - Returned bound expression is guaranteed to have a non-null type, except when is an unbound lambda. - If already has errors and meets the above type requirements, then it is returned unchanged. - Otherwise, if is a BoundBadExpression, then it is updated with the and non-null type. - Otherwise, a new BoundBadExpression wrapping is returned. - - - Returned expression need not be a BoundBadExpression, but is guaranteed to have HasErrors set to true. - - - - - Bind the expression and verify the expression matches the combination of lvalue and - rvalue requirements given by valueKind. If the expression was bound successfully, but - did not meet the requirements, the return value will be a BoundBadExpression that - (typically) wraps the subexpression. - - - - - This function is only needed for SemanticModel to perform binding for erroneous cases. - - - - - Binds a simple identifier. - - - - - Helper method to create a synthesized method invocation expression. - - Syntax Node. - Receiver for the method call. - Method to be invoked on the receiver. - Arguments to the method call. - Diagnostics. - Optional type arguments syntax. - Optional type arguments. - The syntax for the query clause generating this invocation expression, if any. - True to allow invocation of fields and properties of delegate type. Only methods are allowed otherwise. - Synthesized method invocation expression. - - - - Bind an expression as a method invocation. - - - - - Bind an expression as a method invocation. - - - - - Perform overload resolution on the method group or expression (BoundMethodGroup) - and arguments and return a BoundExpression representing the invocation. - - Invocation syntax node. - The syntax for the invoked method, including receiver. - Name of the invoked method. - Overload resolution result for method group executed by caller. - Arguments bound by the caller. - Method group if the invocation represents a potentially overloaded member. - Delegate type if method group represents a delegate. - Diagnostics. - The syntax for the query clause generating this invocation expression, if any. - BoundCall or error expression representing the invocation. - - - Invocation syntax node. - The syntax for the invoked method, including receiver. - - - - Replace a BoundTypeOrValueExpression with a BoundExpression for either a type (if useType is true) - or a value (if useType is false). Any other node is unmodified. - - - Call this once overload resolution has succeeded on the method group of which the BoundTypeOrValueExpression - is the receiver. Generally, useType will be true if the chosen method is static and false otherwise. - - - - - Return the delegate type if this expression represents a delegate. - - - - - Gets the NameSyntax associated with the syntax node - If no syntax is attached it sets the nameString to plain text - name and returns a null NameSyntax - - Syntax node - Plain text name - - - - - Gets the plain text name associated with the expression syntax node - - Expression syntax node - Plain text name - - - - This method walks through the array's InitializerExpressionSyntax and binds all the initializer expressions recursively. - NOTE: It doesn't convert the bound initializer expressions to array's element type. - NOTE: This is done separately in ConvertAndBindArrayInitialization method below. - - Initializer Syntax. - Bound expression builder. - Diagnostics. - Current array dimension being processed. - Rank of the array type. - - - - Given an array of bound initializer expressions, this method converts these bound expressions - to array's element type and generates a BoundArrayInitialization with the converted initializers. - - Diagnostics. - Initializer Syntax. - Array type. - Known array bounds. - Current array dimension being processed. - Array of bound initializer expressions. - - Index into the array of bound initializer expressions to fetch the next bound expression. - - - - - - Bind the (implicit or explicit) constructor initializer of a constructor symbol (in source). - - - Null for implicit, - BaseConstructorInitializerSyntax.ArgumentList, or - ThisConstructorInitializerSyntax.ArgumentList, or - BaseClassWithArgumentsSyntax.ArgumentList for explicit. - Constructor containing the initializer. - Accumulates errors (e.g. unable to find constructor to invoke). - A bound expression for the constructor initializer call. - - This method should be kept consistent with Compiler.BindConstructorInitializer (e.g. same error codes). - - - - - Given the type containing constructors, gets the list of candidate instance constructors and uses overload resolution to determine which one should be called. - - The containing type of the constructors. - The already bound arguments to the constructor. - The name to use in diagnostics if overload resolution fails. - The location at which to report overload resolution result diagnostics. - True to suppress overload resolution result diagnostics (but not argument diagnostics). - Where diagnostics will be reported. - If this method returns true, then it will contain a valid MethodResolutionResult. - Otherwise, it may contain a MethodResolutionResult for an inaccessible constructor (in which case, it will incorrectly indicate success) or nothing at all. - Candidate instance constructors of type used for overload resolution. - It is always legal to access a protected base class constructor - via a constructor initializer, but not from an object creation expression. - True if overload resolution successfully chose an accessible constructor. - - The two-pass algorithm (accessible constructors, then all constructors) is the reason for the unusual signature - of this method (i.e. not populating a pre-existing ). - Presently, rationalizing this behavior is not worthwhile. - - - - - Binds a member access expression - - - - - Attempt to bind the LHS of a member access expression. If this is a Color Color case (spec 7.6.4.1), - then return a BoundExpression if we can easily disambiguate or a BoundTypeOrValueExpression if we - cannot. If this is not a Color Color case, then return null. - - - - - Bind the RHS of a member access expression, given the bound LHS. - It is assumed that CheckValue has not been called on the LHS. - - - - - Create a value from the expression that can be used as a left-hand-side - of a member access. This method special-cases method and property - groups only. All other expressions are returned as is. - - - - - Report the error from member access lookup. Or, if there - was no explicit error from lookup, report "no such member". - - - - - Return true if the given type is or implements a WinRTAsyncInterface. - - - - - Return a BoundExpression representing the invalid member. - - - - - Combine the receiver and arguments of an extension method - invocation into a single argument list to allow overload resolution - to treat the invocation as a static method invocation with no receiver. - - - - - Binds a static or instance member access. - - - - - Given a viable LookupResult, report any ambiguity errors and return either a single - non-method symbol or a method or property group. If the result set represents a - collection of methods or a collection of properties where at least one of the properties - is an indexed property, then 'methodOrPropertyGroup' is populated with the method or - property group and the method returns null. Otherwise, the method returns a single - symbol and 'methodOrPropertyGroup' is empty. (Since the result set is viable, there - must be at least one symbol.) If the result set is ambiguous - either containing multiple - members of different member types, or multiple properties but no indexed properties - - then a diagnostic is reported for the ambiguity and a single symbol is returned. - - - - - Perform lookup and overload resolution on methods defined directly on the class and any - extension methods in scope. Lookup will occur for extension methods in all nested scopes - as necessary until an appropriate method is found. If analyzedArguments is null, the first - method group is returned, without overload resolution being performed. That method group - will either be the methods defined on the receiver class directly (no extension methods) - or the first set of extension methods. - - - - - Represents a small change from the enclosing/next binder. - Can specify a BindingLocation and a ContainingMemberOrLambda. - - - - - Represents a small change from the enclosing/next binder. - Can specify a receiver Expression for containing conditional member access. - - - - - It seems to be common to do both of these things at once, so provide a way to do so - without adding two links to the binder chain. - - - - - In regular C#, all field initializers are assignments to fields and the assigned expressions - may not reference instance members. - - - - - In script C#, some field initializers are assignments to fields and others are global - statements. There are no restrictions on accessing instance members. - - - - - Performs name lookup for simple generic or non-generic name - within an optional qualifier namespace or type symbol. - If LookupOption.AttributeTypeOnly is set, then it performs - attribute type lookup which involves attribute name lookup - with and without "Attribute" suffix. - - - - - Look for any symbols in scope with the given name and arity. - - - Makes a second attempt if the results are not viable, in order to produce more detailed failure information (symbols and diagnostics). - - - - - If qualifierOpt is null, look for any symbols in - scope with the given name and arity. - Otherwise look for symbols that are members of the specified qualifierOpt. - - - - - Look for symbols that are members of the specified namespace or type - - - - - - - - - - - - Lookup a member name in a submission chain. - - - We start with the current submission class and walk the submission chain back to the first submission. - The search has two phases - 1) We are looking for any symbol matching the given name, arity, and options. If we don't find any the search is over. - If we find and overloadable symbol(s) (a method or an indexer) we start looking for overloads of this kind - (lookingForOverloadsOfKind) of symbol in phase 2. - 2) If a visited submission contains a matching member of a kind different from lookingForOverloadsOfKind we stop - looking further. Otherwise, if we find viable overload(s) we add them into the result. - - Note that indexers are not supported in script but we deal with them here to handle errors. - - - - - Lookup extension methods by name and arity in the given binder and - check viability in this binder. The lookup is performed on a single - binder because extension method search stops at the first applicable - method group from the nearest enclosing namespace. - - - - - Lookup attribute name in the given binder. By default two name lookups are performed: - (1) With the provided name - (2) With an Attribute suffix added to the provided name - Lookup with Attribute suffix is performed only if LookupOptions.VerbatimAttributeName is not set. - - If either lookup is ambiguous, we return the corresponding result with ambiguous symbols. - Else if exactly one result is single viable attribute type, we return that result. - Otherwise, we return a non-viable result with LookupResult.NotAnAttributeType or an empty result. - - - - - Return the extension methods from this specific binding scope that match the name and optional - arity. Since the lookup of extension methods is iterative, proceeding one binding scope at a time, - GetCandidateExtensionMethods should not defer to the next binding scope. Instead, the caller is - responsible for walking the nested binding scopes from innermost to outermost. This method is overridden - to search the available members list in binding types that represent types, namespaces, and usings. - - - - - If the type implements one of a select few WinRT interfaces, the interface type is - projected to the CLR collection type (e.g., IVector to IList). - When importing a winmd type it may implement one or more winmd collection - interfaces. When the collection interfaces are projected, we may need - to add the projected members to the imported type so that calls to those - members succeed as normal. This method adds the interface methods to - the lookup, if necessary. The CLR understands that a call to the .NET interface - should be projected onto the WinRT interface method. - - - - - This helper is used to determine whether this symbol hides / is hidden - based on its signature, as opposed to its name. - - - CONSIDER: It might be nice to generalize this - maybe an extension method - on Symbol (e.g. IsOverloadable or HidesByName). - - - - - Distinguish from , which performs an analogous task for Add*LookupSymbolsInfo*. - - - - - Used by Add*LookupSymbolsInfo* to determine whether the symbol is of interest. - Distinguish from , which performs an analogous task for LookupSymbols*. - - - Does not consider - that is left to the caller. - - - - - Check whether "symbol" is accessible from this binder. - Also checks protected access via "accessThroughType". - - - - - Check whether "symbol" is accessible from this binder. - Also checks protected access via "accessThroughType", and sets "failedThroughTypeCheck" if fails - the protected access check. - - - - - Look for names in scope - - - - - Look for names of members - - - - - Don't call this one directly - call one of the helpers. - - - - - For "receiver.event += expr", produce "receiver.add_event(expr)". - For "receiver.event -= expr", produce "receiver.remove_event(expr)". - - - Performs some validation of the accessor that couldn't be done in CheckEventValueKind, because - the specific accessor wasn't known. - - - - - If one of the (unconverted) operands has constant value null and the other has - a null constant value other than null, then they are definitely not equal - and we can give a constant value for either == or !=. This is a spec violation - that we retain from Dev10. - - The operator kind. Nothing will happen if it is not a lifted equality operator. - The left-hand operand of the operation (possibly wrapped in a conversion). - The right-hand operand of the operation (possibly wrapped in a conversion). - - If the operator represents lifted equality, then constant value true if both arguments have constant - value null, constant value false if exactly one argument has constant value null, and null otherwise. - If the operator represents lifted inequality, then constant value false if both arguments have constant - value null, constant value true if exactly one argument has constant value null, and null otherwise. - - - SPEC VIOLATION: according to the spec (section 7.19) constant expressions cannot - include implicit nullable conversions or nullable subexpressions. However, Dev10 - specifically folds over lifted == and != (see ExpressionBinder::TryFoldingNullableEquality). - Dev 10 does do compile-time evaluation of simple lifted operators, but it does so - in a rewriting pass (see NullableRewriter) - they are not treated as constant values. - - - - - From ExpressionBinder::EnsureQMarkTypesCompatible: - - The v2.0 specification states that the types of the second and third operands T and S of a ternary operator - must be TT and TS such that either (a) TT==TS, or (b), TT->TS or TS->TT but not both. - - Unfortunately that is not what we implemented in v2.0. Instead, we implemented - that either (a) TT=TS or (b) T->TS or S->TT but not both. That is, we looked at the - convertibility of the expressions, not the types. - - - Changing that to the algorithm in the standard would be a breaking change. - - b ? (Func<int>)(delegate(){return 1;}) : (delegate(){return 2;}) - - and - - b ? 0 : myenum - - would suddenly stop working. (The first because o2 has no type, the second because 0 goes to - any enum but enum doesn't go to int.) - - It gets worse. We would like the 3.0 language features which require type inference to use - a consistent algorithm, and that furthermore, the algorithm be smart about choosing the best - of a set of types. However, the language committee has decided that this algorithm will NOT - consume information about the convertibility of expressions. Rather, it will gather up all - the possible types and then pick the "largest" of them. - - To maintain backwards compatibility while still participating in the spirit of consistency, - we implement an algorithm here which picks the type based on expression convertibility, but - if there is a conflict, then it chooses the larger type rather than producing a type error. - This means that b?0:myshort will have type int rather than producing an error (because 0->short, - myshort->int). - - - - - Constant folding for conditional (aka ternary) operators. - - - - - This is a clone of the Dev10 logic for reporting query errors. - - - - - This is the set of parameters and local variables that were used as arguments to - lock or using statements in enclosing scopes. - - - using (x) { } // x counts - using (IDisposable y = null) { } // y does not count - - - - - Noteworthy override is in MemberSemanticModel.IncrementalBinder (used for caching). - - - - - Report an error if this is an awaitable async method invocation that is not being awaited. - - - The checks here are equivalent to StatementBinder::CheckForUnobservedAwaitable() in the native compiler. - - - - - Wrap the initializer in a BoundFixedLocalCollectionInitializer so that the rewriter will have the - information it needs (e.g. conversions, helper methods). - - - - - The purpose of this method is to determine if the expression is classified by the - specification as a *variable*. If it is not then this code gives an appropriate error message. - - To determine the appropriate error message we need to know two things: - - (1) why do we want to know if this is a variable? Because we are trying to assign it, - increment it, or pass it by reference? - - (2) Are we trying to determine if the left hand side of a dot is a variable in order - to determine if the field or property on the right hand side of a dot is assignable? - - - - - Check the expression is of the required lvalue and rvalue specified by valueKind. - The method returns the original expression if the expression is of the required - type. Otherwise, an appropriate error is added to the diagnostics bag and the - method returns a BoundBadExpression node. The method returns the original - expression without generating any error if the expression has errors. - - - - - There are two BadEventUsage error codes and this method decides which one should - be used for a given event. - - - - - SPEC: When a property or indexer declared in a struct-type is the target of an - SPEC: assignment, the instance expression associated with the property or indexer - SPEC: access must be classified as a variable. If the instance expression is - SPEC: classified as a value, a compile-time error occurs. Because of 7.6.4, - SPEC: the same rule also applies to fields. - - - NOTE: The spec fails to impose the restriction that the receiver must be classified - as a variable (unlike for properties - 7.17.1). This seems like a bug, but we have - production code that won't build with the restriction in place (see DevDiv #15674). - - - - - Binds the type for the syntax taking into account possibility of "var" type. - - Type syntax to bind. - Diagnostics. - - Set to false if syntax binds to a type in the current context and true if - syntax is "var" and it binds to "var" keyword in the current context. - - - Bound type if syntax binds to a type in the current context and - null if syntax binds to "var" keyword in the current context. - - - - - Binds the type for the syntax taking into account possibility of "var" type. - - Type syntax to bind. - Diagnostics. - - Set to false if syntax binds to a type in the current context and true if - syntax is "var" and it binds to "var" keyword in the current context. - - Alias symbol if syntax binds to an alias. - - Bound type if syntax binds to a type in the current context and - null if syntax binds to "var" keyword in the current context. - - - - - Binds the type for the syntax taking into account possibility of "var" type. - If the syntax binds to an alias symbol to a type, it returns the alias symbol. - - Type syntax to bind. - Diagnostics. - - Set to false if syntax binds to a type or alias to a type in the current context and true if - syntax is "var" and it binds to "var" keyword in the current context. - - - Bound type or alias if syntax binds to a type or alias to a type in the current context and - null if syntax binds to "var" keyword in the current context. - - - - - The immediately containing namespace or named type, or the global - namespace if containing symbol is neither a namespace or named type. - - - - - Binds a simple name or the simple name portion of a qualified name. - - - - - Keep check and error in sync with ConstructBoundMethodGroupAndReportOmittedTypeArguments. - - - - - Keep check and error in sync with ConstructNamedTypeUnlessTypeArgumentOmitted. - - - - - Check generic type constraints unless the type is used as part of a type or method - declaration. In those cases, constraints checking is handled by the caller. - - - - - This is a layer on top of the Compilation version that generates a diagnostic if the special - member isn't found. - - - - - Reports use-site diagnostics for the specified symbol. - - - True if there was an error among the reported diagnostics - - - - - Reports use-site diagnostics for the specified symbol. - - - True if there was an error among the reported diagnostics - - - - - This is a layer on top of the Compilation version that generates a diagnostic if the well-known - type isn't found. - - - - - Retrieves a well-known type member and reports diagnostics. - - Null if the symbol is missing. - - - - Returns -1 if None. - - - - - Prefers symbols from source module, then from added modules, then from referenced assemblies. - Returns true if values were swapped. - - - - - Prefer symbols from source module, then from added modules, then from referenced assemblies. - - - - - This is only intended to be called when the type isn't found (i.e. not when it is found but is inaccessible, has the wrong arity, etc). - - - - - Look for a type forwarder for the given type in the containing assembly and any referenced assemblies. - If one is found, search again in the target assembly. Return the last assembly in the chain. - - The metadata name of the (potentially) forwarded type, including the arity (if non-zero). - The arity of the forwarded type. - Set to true if a cycle was found in the type forwarders. - - - Since this method is intended to be used for error reporting, it stops as soon as it finds - any type forwarder - it does not check other assemblies for consistency or better results. - - - - - True if we are currently in an unsafe region (type, member, or block). - - - Does not imply that this compilation allows unsafe regions (could be in an error recovery scenario). - To determine that, check this.Compilation.Options.AllowUnsafe. - - - - True if a diagnostic was reported, or would have been reported if not for - the suppress flag. - - - True if a diagnostic was reported, or would have been reported if not for - the suppress flag. - - - True if a diagnostic was reported, or would have been reported if not for - the suppress flag. - - - True if a diagnostic was reported, or would have been reported if not for - the suppress flag. - - - - Get the name of the method so that it can be looked up in the containing type. - - Non-null declaration syntax. - Binder for the scope around the method (may be null for operators, constructors, and destructors). - - - - Get the name of the property, indexer, or event so that it can be looked up in the containing type. - - Non-null declaration syntax. - Non-null binder for the scope around the member. - - - - Returns true if the location is within the syntax tree and span. - - - - - Returns true if containingNode has a child that contains the specified position - and has kind UsingDirective. - - - Usings can't see other usings, so this is extra info when looking at a namespace - or compilation unit scope. - - - - - Used to detect whether we are in a cref parameter type. - - - - - Used to detect whether we are in a cref return type. - - - - - We're in a <param> or <paramref> element, so we want a binder that can see - the parameters of the associated member and nothing else. - - - - - We're in a <typeparam> or <typeparamref> element, so we want a binder that can see - the type parameters of the associated member and nothing else. - - - - - Given a CrefSyntax and an associated member declaration syntax node, - construct an appropriate binder for binding the cref. - - Cref that will be bound. - The member to which the documentation comment (logically) containing - the cref syntax applies. - Corresponding binder factory. - True to get a special binder for cref parameter and return types. - - The CrefSyntax does not actually have to be within the documentation comment on the member - it - could be included from another file. - - - - - Internal version of MakeCrefBinder that allows the caller to explicitly set the underlying binder. - - - - - Walk up from an XML syntax node (attribute or tag) to the enclosing documentation comment trivia. - - - - - Returns binder that binds usings and aliases - - - Specify imports in the corresponding namespace, or - for top-level imports. - - - - - A specific location for binding. - - - - - Indicates that the current context allows unsafe constructs. - - - NOTE: Dev10 doesn't seem to treat attributes as being within the unsafe region. - Fortunately, not following this behavior should not be a breaking change since - attribute arguments have to be constants and there are no constants of unsafe - types. - - - - - Indicates that the unsafe diagnostics are not reported in the current context, regardless - of whether or not it is (part of) an unsafe region. - - - - - Indicates that this binder is being used to answer SemanticModel questions (i.e. not - for batch compilation). - - - Imports touched by a binder with this flag set are not consider "used". - - - - Remarks, mutually exclusive with . - - - Remarks, mutually exclusive with . - - - - Extension methods for the type. - - - - - A binder that knows no symbols and will not delegate further. - - - - - This is used while computing the values of constant fields. Since they can depend on each - other, we need to keep track of which ones we are currently computing in order to avoid (and - report) cycles. - - - - - This binder keeps track of the set of constant fields that are currently being evaluated - so that the set can be passed into the next call to SourceFieldSymbol.ConstantValue (and - its callers). - - - - - Each application of an attribute is effectively a constructor call. Since the attribute constructor - might have a CallerMemberName parameter, we need to keep track of which method/property/event - the attribute is on/in (e.g. on a parameter) so that we can use the name of that member as the - CallerMemberName argument. - - - - Next binder in the chain (enclosing). - Symbol to which the attribute was applied (e.g. a parameter). - - - - We're binding an attribute and this is the member to/in which the attribute was applied. - - - Method, property, event, or null. - A virtual property on Binder (i.e. our usual pattern) would be more robust, but the applicability - of this property is so narrow that it doesn't seem worthwile. - - - - - Walk up to the nearest method/property/event. - - - - - This is a special binder used for decoding some special well-known attributes very early in the attribute binding phase. - It only binds those attribute argument syntax which can produce valid attribute arguments, but doesn't report any diagnostics. - Subsequent binding phase will rebind such erroneous attributes and generate appropriate diagnostics. - - - - - Since this method is expected to be called on every nested expression of the argument, it doesn't - need to recurse (directly). - - - - - This binder owns and lazily creates the map of SyntaxNodes to Binders associated with - the syntax with which it is created. This binder is not created in reaction to any - specific syntax node type. It is inserted into the binder chain - between the binder which it is constructed with and those that it constructs via - the LocalBinderFactory. - - - - - A distinct scope that may expose extension methods. For a particular Binder, there - are two possible scopes: one for the namespace, and another for any using statements - in the namespace. The namespace scope is searched before the using scope. - - - - - An enumerable collection of extension method scopes in search - order, from the given Binder, out through containing Binders. - - - - - An enumerator over ExtensionMethodScopes. - - - - - Information to be deduced while binding a foreach loop so that the loop can be lowered - to a while over an enumerator. Not applicable to the array or string forms. - - - - - A loop binder that (1) knows how to bind foreach loops and (2) has the foreach iteration variable in scope. - - - This binder produces BoundForEachStatements. The lowering described in the spec is performed in ControlFlowRewriter. - - - - - Bind the ForEachStatementSyntax at the root of this binder. - - Will be populated with binding diagnostics. - - - - The spec describes an algorithm for finding the following types: - 1) Collection type - 2) Enumerator type - 3) Element type - - The implementation details are a bit difference. If we're iterating over a string or an array, then we don't need to record anything - but the inferredType (in case the iteration variable is implicitly typed). If we're iterating over anything else, then we want the - inferred type plus a ForEachEnumeratorInfo.Builder with: - 1) Collection type - 2) Element type - 3) GetEnumerator method of the collection type (return type will be the enumerator type from the spec) - 4) Current property of the enumerator type - 5) MoveNext method of the enumerator type - - The caller will have to do some extra conversion checks before creating a ForEachEnumeratorInfo for the BoundForEachStatement. - - Builder to fill in (partially, all but conversions). - The expression over which to iterate. - Populated with binding diagnostics. - Partially populated (all but conversions) or null if there was an error. - - - - Check for a GetEnumerator method on collectionExprType. Failing to satisfy the pattern is not an error - - it just means that we have to check for an interface instead. - - Type of the expression over which to iterate. - Populated with *warnings* if there are near misses. - Builder to fill in. set if the pattern in satisfied. - True if the method was found (still have to verify that the return (i.e. enumerator) type is acceptable). - - Only adds warnings, so does not affect control flow (i.e. no need to check for failure). - - - - - Perform a lookup for the specified method on the specified type. Perform overload resolution - on the lookup results. - - Type to search. - Method to search for. - Passed in for reusability. - True if failures should result in warnings; false if they should result in errors. - Populated with binding diagnostics. - The desired method or null. - - - - The overload resolution portion of FindForEachPatternMethod. - - - - - Called after it is determined that the expression being enumerated is of a type that - has a GetEnumerator method. Checks to see if the return type of the GetEnumerator - method is suitable (i.e. has Current and MoveNext). - - Must be non-null and contain a non-null GetEnumeratorMethod. - Will be populated with pattern diagnostics. - True if the return type has suitable members. - - It seems that every failure path reports the same diagnostics, so that is left to the caller. - - - - - Checks if the given type implements (or extends, in the case of an interface), - System.Collections.IEnumerable or System.Collections.Generic.IEnumerable<T>, - for at least one T. - - builder to fill in CollectionType. - Type to check. - - True if multiple T's are found. - True if some IEnumerable is found (may still be ambiguous). - - - - Report appropriate diagnostics when lookup of a pattern member (i.e. GetEnumerator, Current, or MoveNext) fails. - - Failed lookup result. - Type in which member was looked up. - Name of looked up member. - True if failures should result in warnings; false if they should result in errors. - Populated appropriately. - - - - Tracks fields that are being bound while binding their initializers. - - - Used to detect circular references like: - var x = y; - var y = x; - - - - - This binder is for binding the initializer of an implicitly typed - local variable. While binding an implicitly typed local variable - it is illegal to refer to the variable. - - - - - Represents symbols imported to the binding scope via using namespace, using alias, and extern alias. - - - - - A binder that places the members of a symbol in scope. If there is a container declaration - with using directives, those are merged when looking up names. - - - - - Creates a binder for a container with imports (usings and extern aliases) that can be - retrieved from . - - - - - Creates a binder with given imports. - - - - - A binder for a method body, which places the method's parameters in scope - and notes if the method is an iterator method. - - - - - Returns a new list of usings with all namespace symbols replaced by namespace symbols updated from current compilation references. - - - - - The LocalBinderFactory is used to build up the map of all Binders within a method body, and the associated - CSharpSyntaxNode. To do so it traverses all the statements, handling blocks and other - statements that create scopes. For efficiency reasons, it does not traverse into - expressions. This means that blocks within lambdas and queries are not created. - Blocks within lambdas are bound by their own LocalBinderFactory when they are - analyzed. - - For reasons of lifetime management, this type is distinct from the BinderFactory - which also creates a map from CSharpSyntaxNode to Binder. That type owns it's binders - and that type's lifetime is that of the compilation. Therefore we do not store - binders local to method bodies in that type's cache. - - - - - This binder keeps track of the local variable (if any) that is currently being evaluated - so that it can be passed into the next call to LocalSymbol.GetConstantValue (and - its callers). - - - - - Call this when you are sure there is a local declaration on this token. Returns the local. - - - - - This type exists to share code between UsingStatementBinder (a LocalScopeBinder) and LockBinder (not). - - - - - This class exists so these two fields can be set atomically. - CONSIDER: If this causes too many allocations, we could use start and end flags plus spinlocking - as for completion parts. - - - - - Options that can be used to modify the symbol lookup mechanism. - - - Multiple options can be combined together. LookupOptions.AreValid checks for valid combinations. - - - - - Consider all symbols, using normal accessibility rules. - - - - - Consider only namespace aliases and extern aliases. - - - - - Consider only namespaces and types. - - - - - Consider non-members, plus invocable members. - - - - - Consider only symbols that are instance members. Valid with IncludeExtensionMethods - since extension methods are invoked on an instance. - - - - - Do not consider symbols that are instance members. - - - - - Do not consider symbols that are namespaces. - - - - - Consider methods of any arity when arity zero is specified. Because type parameters can be inferred, it is - often desired to consider generic methods when no type arguments were present. - - - - - Look only for label symbols. This must be exclusive of all other options. - - - - - Usually, when determining if a member is accessible, both the type of the receiver - and the type containing the access are used. If this flag is specified, then only - the containing type will be used (i.e. as if you've written base.XX). - - - - - Include extension methods. - - - - - Consider only attribute types. - - - - - Consider lookup name to be a verbatim identifier. - If this flag is specified, then only one lookup is performed for attribute name: lookup with the given name, - and attribute name lookup with "Attribute" suffix is skipped. - - - - - Are these options valid in their current combination? - - - Some checks made here: - - - Default is valid. - - If LabelsOnly is set, it must be the only option. - - If one of MustBeInstance or MustNotBeInstance are set, the other one must not be set. - - If any of MustNotBeInstance, MustBeInstance, or MustNotBeNonInvocableMember are set, - the options are considered valid. - - If MustNotBeNamespace is set, neither NamespaceAliasesOnly nor NamespacesOrTypesOnly must be set. - - Otherwise, only one of NamespaceAliasesOnly, NamespacesOrTypesOnly, or AllMethodsOnArityZero must be set. - - - - - represents one-to-one symbol -> SingleLookupResult filter. - - - - - A LookupResult summarizes the result of a name lookup within a scope It also allows - combining name lookups from different scopes in an easy way. - - A LookupResult can be ONE OF: - empty - nothing found. - a viable result - this kind of result prevents lookup into further scopes of lower priority. - Viable results should be without error; ambiguity is handled in the caller. - (Note that handling multiple "viable" results is not the same as in the VB compiler) - a non-accessible result - this kind of result means that search continues into further scopes of lower priority for - a viable result. An error is attached with the inaccessibility errors. Non-accessible results take priority over - non-viable results. - a non-viable result - a result that means that the search continues into further scopes of lower priority for - a viable or non-accessible result. An error is attached with the error that indicates - why the result is non-viable. A typical readon would be that it is the wrong kind of symbol. - - Note that the class is poolable so its instances can be obtained from a pool vai GetInstance. - Also it is a good idea to call Free on instances after they no longer needed. - - The typical pattern is "caller allocates / caller frees" - - - var result = LookupResult.GetInstance(); - - scope.Lookup(result, "foo"); - ... use result ... - - result.Clear(); - anotherScope.Lookup(result, "moo"); - ... use result ... - - result.Free(); //result and its content is invalid after this - - - - - - Currently LookupResult is intended only for name lookup, not for overload resolution. It is - not clear if overload resolution will work with the structure as is, require enhancements, - or be best served by an alternate mechanism. - - We might want to extend this to a more general priority scheme. - - - - - - Return the single symbol if there is exactly one, otherwise null. - - - - - Is the result viable with one or more symbols? - - - - - NOTE: Even there is a single viable symbol, it may be an error type symbol. - - - - - Set current result according to another. - - - - - Set current result according to another. - - - - - Merge another result with this one, with the symbols combined if both - this and other are viable. Otherwise the highest priority result wins (this if equal - priority and non-viable.) - - - - - Classifies the different ways in which a found symbol might be incorrect. - Higher values are considered "better" than lower values. These values are used - in a few different places: - 1) Inside a LookupResult to indicate the quality of a symbol from lookup. - 2) Inside a bound node (for example, BoundBadExpression), to indicate - the "binding quality" of the symbols referenced by that bound node. - 3) Inside an error type symbol, to indicate the reason that the candidate symbols - in the error type symbols were not good. - - While most of the values can occur in all places, some of the problems are not - detected at lookup time (e.g., NotAVariable), so only occur in bound nodes. - - - This enumeration is parallel to and almost the same as as the CandidateReason enumeration. - Changes to one should usually result in changes to the other. - - There are two enumerations because: - 1) CandidateReason in language-independent, while this enum is language specific. - 2) The name "CandidateReason" didn't make much sense in the way LookupResultKind is used internally. - 3) Viable isn't used in CandidateReason, but we need it in LookupResultKind, and there isn't a - a way to have internal enumeration values. - - - - - Maps a LookupResultKind to a CandidateReason. Should not be called on LookupResultKind.Viable! - - - - - Packages up the various parts returned when resolving a method group. - - - - - Contains the code for determining C# accessibility rules. - - - - - Checks if 'symbol' is accessible from within assembly 'within'. - - - - - Checks if 'symbol' is accessible from within type 'within', with - an optional qualifier of type "throughTypeOpt". - - - - - Checks if 'symbol' is accessible from within type 'within', with - an qualifier of type "throughTypeOpt". Sets "failedThroughTypeCheck" to true - if it failed the "through type" check. - - - - - Checks if 'symbol' is accessible from within 'within', which must be a NamedTypeSymbol - or an AssemblySymbol. - - Note that NamedTypeSymbol, if available, is the type that is associated with the binder - that found the 'symbol', not the inner-most type that contains the access to the - 'symbol'. - - If 'symbol' is accessed off of an expression then 'throughTypeOpt' is the type of that - expression. This is needed to properly do protected access checks. Sets - "failedThroughTypeCheck" to true if this protected check failed. - - NOTE(cyrusn): I expect this function to be called a lot. As such, i do not do any memory - allocations in the function itself (including not making any iterators). This does mean - that certain helper functions that we'd like to call are inlined in this method to - prevent the overhead of returning collections or enumerators. - - - - - This method finds the best common type of a set of expressions as per section 7.5.2.14 of the specification. - NOTE: If some or all of the expressions have error types, we return error type as the inference result. - - - - - This method implements best type inference for the conditional operator ?:. - NOTE: If either expression is an error type, we return error type as the inference result. - - - - - Summarizes whether a conversion is allowed, and if so, which kind of conversion (and in some cases, the - associated symbol). - - - - - Returns true if the conversion exists, either as an implicit or explicit conversion. - - - The existence of a conversion does not necessarily imply that the conversion is valid. - For example, an ambiguous user-defined conversion may exist but may not be valid. - - - - - Returns true if the conversion is implicit. - - - Implicit conversions are described in section 6.1 of the C# language specification. - - - - - Returns true if the conversion is explicit. - - - Explicit conversions are described in section 6.2 of the C# language specification. - - - - - Returns true if the conversion is an identity conversion. - - - Identity conversions are described in section 6.1.1 of the C# language specification. - - - - - Returns true if the conversion is an implicit numeric conversion or explicit numeric conversion. - - - Implicit and explicit numeric conversions are described in sections 6.1.2 and 6.2.1 of the C# language specification. - - - - - Returns true if the conversion is an implicit enumeration conversion or explicit enumeration conversion. - - - Implicit and explicit enumeration conversions are described in sections 6.1.3 and 6.2.2 of the C# language specification. - - - - - Returns true if the conversion is an implicit nullable conversion or explicit nullable conversion. - - - Implicit and explicit nullable conversions are described in sections 6.1.4 and 6.2.3 of the C# language specification. - - - - - Returns true if the conversion is an implicit reference conversion or explicit reference conversion. - - - Implicit and explicit reference conversions are described in sections 6.1.6 and 6.2.4 of the C# language specification. - - - - - Returns true if the conversion is an implicit user-defined conversion or explicit user-defined conversion. - - - Implicit and explicit user-defined conversions are described in section 6.4 of the C# language specification. - - - - - Returns true if the conversion is an implicit boxing conversion. - - - Implicit boxing conversions are described in section 6.1.7 of the C# language specification. - - - - - Returns true if the conversion is an explicit unboxing conversion. - - - Explicit unboxing conversions as described in section 6.2.5 of the C# language specification. - - - - - Returns true if the conversion is an implicit null literal conversion. - - - Null literal conversions are described in section 6.1.5 of the C# language specification. - - - - - Returns true if the conversion is an implicit dynamic conversion. - - - Implicit dynamic conversions are described in section 6.1.8 of the C# language specification. - - - - - Returns true if the conversion is an implicit constant expression conversion. - - - Implicit constant expression conversions are described in section 6.1.9 of the C# language specification. - - - - - Returns true if the conversion is an implicit anonymous function conversion. - - - Implicit anonymous function conversions are described in section 6.5 of the C# language specification. - - - - - Returns true if the conversion is an implicit method group conversion. - - - Implicit method group conversions are described in section 6.6 of the C# language specification. - - - - - Returns true if the conversion is a pointer conversion - - - Pointer conversions are described in section 18.4 of the C# language specification. - - Returns true if the conversion is a conversion - a) from a pointer type to void*, - b) from a pointer type to another pointer type (other than void*), - c) from the null literal to a pointer type, - d) from an integral numeric type to a pointer type, or - e) from a pointer type to an integral numeric type. - - Does not return true for user-defined conversions to/from pointer types. - Does not return true for conversions between pointer types and IntPtr/UIntPtr. - - - - - Returns true if the conversion is a conversion to or from IntPtr or UIntPtr. - - - Returns true if the conversion is a conversion to or from IntPtr or UIntPtr. - This includes: - IntPtr to/from int - IntPtr to/from long - IntPtr to/from void* - UIntPtr to/from int - UIntPtr to/from long - UIntPtr to/from void* - - - - - Returns the method used to create the delegate for a method group conversion if is true - or the method used to perform the conversion for a user-defined conversion if is true. - Otherwise, returns null. - - - Method group conversions are described in section 6.6 of the C# language specification. - User-defined conversions are described in section 6.4 of the C# language specification. - - - - - Gives an indication of how successful the conversion was. - Viable - found a best built-in or user-defined conversion. - Empty - found no applicable built-in or user-defined conversions. - OverloadResolutionFailure - found applicable conversions, but no unique best. - - - - - Conversion applied to operand of the user-defined conversion. - - - - - Conversion applied to the result of the user-defined conversion. - - - - - The user-defined operators that were considered when attempting this conversion - (i.e. the arguments to overload resolution). - - - - - Returns a string that represents the of the conversion. - - A string that represents the of the conversion. - - - - Determines whether the specified object is equal to the current object. - - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - - Determines whether the specified object is equal to the current object. - - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - - Returns a hash code for the current object. - - A hash code for the current object. - - - - Returns true if the specified objects are equal and false otherwise. - - The first object. - The second object. - - - - - Returns false if the specified objects are equal and true otherwise. - - The first object. - The second object. - - - - - Determines if the source expression is convertible to the destination type via - any conversion: implicit, explicit, user-defined or built-in. - - - It is rare but possible for a source expression to be convertible to a destination type - by both an implicit user-defined conversion and a built-in explicit conversion. - In that circumstance, this method classifies the conversion as the implicit conversion. - - - - - Determines if the source expression is convertible to the destination type via - any conversion: implicit, explicit, user-defined or built-in. - - - It is rare but possible for a source expression to be convertible to a destination type - by both an implicit user-defined conversion and a built-in explicit conversion. - In that circumstance, this method classifies the conversion as the built-in conversion. - - An implicit conversion exists from an expression of a dynamic type to any type. - An explicit conversion exists from a dynamic type to any type. - When casting we prefer the explicit conversion. - - - - - Determines if the source expression is convertible to the destination type via - any built-in or user-defined implicit conversion. - - - - - Attempt a quick classification of builtin conversions. As result of "no conversion" - means that there is no built-in conversion, though there still may be a user-defined - conversion if compiling against a custom mscorlib. - - - - - IsBaseInterface returns true if baseType is on the base interface list of derivedType or - any base class of derivedType. It may be on the base interface list either directly or - indirectly. - * baseType must be an interface. - * type parameters do not have base interfaces. (They have an "effective interface list".) - * an interface is not a base of itself. - * this does not check for variance conversions; if a type inherits from - IEnumerable<string> then IEnumerable<object> is not a base interface. - - - - - Determines if the source type is convertible to the destination type via - any conversion: implicit, explicit, user-defined or built-in. - - - It is rare but possible for a source type to be convertible to a destination type - by both an implicit user-defined conversion and a built-in explicit conversion. - In that circumstance, this method classifies the conversion as the implicit conversion. - - - - - Determines if the source type is convertible to the destination type via - any conversion: implicit, explicit, user-defined or built-in. - - - It is rare but possible for a source type to be convertible to a destination type - by both an implicit user-defined conversion and a built-in explicit conversion. - In that circumstance, this method classifies the conversion as the built-in conversion. - - - - - Determines if the source type is convertible to the destination type via - any standard implicit or standard explicit conversion. - - - Not all built-in explicit conversions are standard explicit conversions. - - - - - Determines if the source type is convertible to the destination type via - any user-defined or built-in implicit conversion. - - - Not all built-in explicit conversions are standard explicit conversions. - - - - - NOTE: Keep this method in sync with AnalyzeImplicitUserDefinedConversionForSwitchGoverningType. - - - - - This method find the set of applicable user-defined and lifted conversion operators, u. - The set consists of the user-defined and lifted implicit conversion operators declared by - the classes and structs in d that convert from a type encompassing source to a type encompassed by target. - However if allowAnyTarget is true, then it considers all operators that convert from a type encompassing source - to any target. This flag must be set only if we are computing user defined conversions from a given source - type to any target type. - - - Currently allowAnyTarget flag is only set to true by AnalyzeImplicitUserDefinedConversionForSwitchGoverningType, - where we must consider user defined implicit conversions from the type of the switch expression to - any of the possible switch governing types. - - - - - NOTE: Keep this method in sync with AnalyzeImplicitUserDefinedConversion. - - - - - Resolve method group based on the optional delegate invoke method. - If the invoke method is null, ignore arguments in resolution. - - - - - Return the Invoke method symbol if the type is a delegate - type and the Invoke method is available, otherwise null. - - - - - This is specifically a private helper function (rather than a public property or extension method) - because applying this predicate to a non-method member doesn't have a clear meaning. The goal was - simply to avoid repeating ad-hoc code in a group of related collections. - - - - - Omit ref feature for COM interop: We can pass arguments by value for ref parameters if we are invoking a method/property on an instance of a COM imported type. - This property returns a flag indicating whether we had any ref omitted argument for the given call. - - - - - Returns false for - because those diagnostics are only reported if no other candidates are - available. - - - - - Indicates why the compiler accepted or rejected the member during overload resolution. - - - - - No resolution has (yet) been determined. - - - - - The candidate member was accepted in its normal (non-expanded) form. - - - - - The candidate member was accepted in its expanded form, after expanding a "params" parameter. - - - - - The candidate member was rejected because an inferred type argument is inaccessible. - - - - - The candidate member was rejected because an argument was specified that did not have a corresponding - parameter. - - - - - The candidate member was rejected because a named argument was specified that did not have a corresponding - parameter. - - - - - The candidate member was rejected because an required parameter had no corresponding argument. - - - - - The candidate member was rejected because a named argument was used that corresponded to a previously-given positional argument. - - - - - The candidate member was rejected because it is not supported by the language or cannot be used - given the current set of assembly references. - - - - - The candidate member was rejected because it is not supported by the language. - - - No diagnostics will be reported for such candidates unless they "win" overload resolution. - - - - - The candidate member was rejected because an argument could not be converted to the appropriate parameter - type. - - - - - The candidate member was rejected because type inference failed. - - - - - The extension method candidate was rejected because type - inference based on the "instance" argument failed. - - - - - The candidate member was rejected because it a constraint on a type parameter was not satisfied. - - - - - The candidate member was rejected because another member further down in the inheritance hierarchy was - present. - - - - - The candidate member was rejected because it was considered worse that another member (according to section - 7.5.3.2 of the language specification). - - - - - Represents the results of overload resolution for a single member. - - - - - The member considered during overload resolution. - - - - - The least overridden member that is accessible from the call site that performed overload resolution. - Typically a virtual or abstract method (but not necessarily). - - - The member whose parameter types and params modifiers were considered during overload resolution. - - - - - Indicates why the compiler accepted or rejected the member during overload resolution. - - - - - Returns true if the compiler accepted this member as the sole correct result of overload resolution. - - - - - The result of member analysis. - - - - - Return the interface with an original definition matches - the original definition of the target. If the are no matches, - or multiple multiple matches, the return value is null. - - - - - Return the inferred type arguments using the original type - parameters for any type arguments that were not inferred. - - - - - Summarizes the results of an overload resolution analysis, as described in section 7.5 of - the language specification. Describes whether overload resolution succeeded, and which - method was selected if overload resolution succeeded, as well as detailed information about - each method that was considered. - - - - - True if overload resolution successfully selected a single best method. - - - - - If overload resolution successfully selected a single best method, returns information - about that method. Otherwise returns null. - - - - - If there was a method that overload resolution considered better than all others, - returns information about that method. A method may be returned even if that method was - not considered a successful overload resolution, as long as it was better that any other - potential method considered. - - - - - Returns information about each method that was considered during overload resolution, - and what the results of overload resolution were for that method. - - - - - Returns true if one or more of the members in the group are applicable. (Note that - Succeeded implies IsApplicable but IsApplicable does not imply Succeeded. It is possible - that no applicable member was better than all others.) - - - - - Returns all methods in the group that are applicable, . - - - - - Called when overload resolution has failed. Figures out the best way to describe what went wrong. - - - Overload resolution (effectively) starts out assuming that all candidates are valid and then - gradually disqualifies them. Therefore, our strategry will be to perform our checks in the - reverse order - the farther a candidate got through the process without being flagged, the - "better" it was. - - Note that "final validation" is performed after overload resolution, - so final validation errors are not seen here. Final validation errors include - violations of constraints on method type parameters, static/instance mismatches, - and so on. - - - - - If an argument fails to convert to the type of the corresponding parameter and that - parameter is a params array, then the error message should reflect the element type - of the params array - not the array type. - - - - - The base class for all symbols (namespaces, classes, method, parameters, etc.) that are - exposed by the compiler. - - - - - Checks if 'symbol' is accessible from within named type 'within'. If 'symbol' is accessed off - of an expression then 'throughTypeOpt' is the type of that expression. This is needed to - properly do protected access checks. - - - - - Checks if 'symbol' is accessible from within assembly 'within'. - - - - - Checks if this symbol is a definition and its containing module is a SourceModuleSymbol. - - - - - Return whether the symbol is either the original definition - or distinct from the original. Intended for use in Debug.Assert - only since it may include a deep comparison. - - - - - Returns a list of attributes to emit to CustomAttribute table. - The builder is freed after all its items are enumerated. - - - - - True if this Symbol should be completed by calling ForceComplete. - Intuitively, true for source entities (from any compilation). - - - - - Gets the name of this symbol. Symbols without a name return the empty string; null is - never returned. - - - - - Gets the name of a symbol as it appears in metadata. Most of the time, this - is the same as the Name property, with the following exceptions: - 1) The metadata name of generic types includes the "`1", "`2" etc. suffix that - indicates the number of type parameters (it does not include, however, names of - containing types or namespaces). - 2) The metadata name of explicit interface names have spaces removed, compared to - the name property. - - - - - Gets the kind of this symbol. - - - - - Get the symbol that logically contains this symbol. - - - - - Returns the nearest lexically enclosing type, or null if there is none. - - - - - Gets the nearest enclosing namespace for this namespace or type. For a nested type, - returns the namespace that contains its container. - - - - - Returns the assembly containing this symbol. If this symbol is shared across multiple - assemblies, or doesn't belong to an assembly, returns null. - - - - - For a source assembly, the associated compilation. - For any other assembly, null. - For a source module, the DeclaringCompilation of the associated source assembly. - For any other module, null. - For any other symbol, the DeclaringCompilation of the associated module. - - - We're going through the containing module, rather than the containing assembly, - because of /addmodule (symbols in such modules should return null). - - Remarks, not "ContainingCompilation" because it isn't transitive. - - - - - Returns the module containing this symbol. If this symbol is shared across multiple - modules, or doesn't belong to a module, returns null. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Returns true if this is the original definition of this symbol. - - - - - - Get a source location key for sorting. For performance, it's important that this be - be able to be returned from a symbol without doing any additional allocations (even - if nothing is cached yet.) - - - Only members of source namespaces, original source types, and namespaces that can be merged - need implement this function. - - - - - - Gets the locations where this symbol was originally defined, either in source or - metadata. Some symbols (for example, partial classes) may be defined in more than one - location. - - - - - - Get the syntax node(s) where this symbol was declared in source. Some symbols (for - example, partial classes) may be defined in more than one location. This property should - return one or more syntax nodes only if the symbol was declared in source code and also - was not implicitly declared (see the property). - - - Note that for namespace symbol, the declaring syntax might be declaring a nested - namespace. For example, the declaring syntax node for N1 in "namespace N1.N2 {...}" is - the entire for N1.N2. For the global namespace, the declaring - syntax will be the . - - - - The syntax node(s) that declared the symbol. If the symbol was declared in metadata or - was implicitly declared, returns an empty read-only array. - - - To go the opposite direction (from syntax node to symbol), see . - - - - - Helper for implementing for derived classes that store a location but not a - or . - - - - - Get this accessibility that was declared on this symbol. For symbols that do not have - accessibility declared on them, returns . - - - - - Returns true if this symbol is "static"; i.e., declared with the static modifier or - implicitly static. - - - - - Returns true if this symbol is "virtual", has an implementation, and does not override a - base class member; i.e., declared with the virtual modifier. Does not return true for - members declared as abstract or override. - - - - - Returns true if this symbol was declared to override a base class member; i.e., declared - with the override modifier. Still returns true if member was declared to override - something, but (erroneously) no member to override exists. - - - Even for metadata symbols, = true does not imply that will - be non-null. - - - - - Returns true if this symbol was declared as requiring an override; i.e., declared with - the abstract modifier. Also returns true on a type declared as "abstract", all - interface types, and members of interface types. - - - - - Returns true if this symbol was declared to override a base class member and was also - sealed from further overriding; i.e., declared with the sealed modifier. Also set for - types that do not allow a derived class (declared with sealed or static or struct - or enum or delegate). - - - - - Returns true if this symbol has external implementation; i.e., declared with the - extern modifier. - - - - - Returns true if this symbol was automatically created by the compiler, and does not - have an explicit corresponding source code declaration. - - This is intended for symbols that are ordinary symbols in the language sense, - and may be used by code, but that are simply declared implicitly rather than - with explicit language syntax. - - Examples include (this list is not exhaustive): - the default constructor for a class or struct that is created if one is not provided, - the BeginInvoke/Invoke/EndInvoke methods for a delegate, - the generated backing field for an auto property or a field-like event, - the "this" parameter for non-static methods, - the "value" parameter for a property setter, - the parameters on indexer accessor methods (not on the indexer itself), - methods in anonymous types, - - - - - Returns true if this symbol can be referenced by its name in code. Examples of symbols - that cannot be referenced by name are: - constructors, destructors, operators, explicit interface implementations, - accessor methods for properties and events, array types. - - - - - As an optimization, viability checking in the lookup code should use this property instead - of . The full name check will then be performed in the . - - - This property exists purely for performance reasons. - - - - - Perform additional checks after the member has been - added to the member list of the containing type. - - - - - Compare two symbol objects to see if they refer to the same symbol. You should always - use and , or the method, to compare two symbols for equality. - - - - - Compare two symbol objects to see if they refer to the same symbol. You should always - use == and !=, or the Equals method, to compare two symbols for equality. - - - - - Returns a string representation of this symbol, suitable for debugging purposes, or - for placing in an error message. - - - This will provide a useful representation, but it would be clearer to call - directly and provide an explicit format. - Sealed so that and can't get out of sync. - - - - - Build and add synthesized attributes for this symbol. - - - - - Convenience helper called by subclasses to add a synthesized attribute to a collection of attributes. - - - - - effective for this symbol (type or DllImport method). - Nothing if isn't applied on the containing module or it doesn't apply on this symbol. - - - Determined based upon value specified via applied on the containing module. - - - - - Always prefer . - - - - Unfortunately, when determining overriding/hiding/implementation relationships, we don't - have the "current" compilation available. We could, but that would clutter up the API - without providing much benefit. As a compromise, we consider all compilations "current". - - - Unlike in VB, we are not allowing retargeting symbols. This method is used as an approximation - for when a compilation is not available and that method will never return - true for retargeting symbols. - - - - - - Returns the Documentation Comment ID for the symbol, or null if the symbol doesn't - support documentation comments. - - - - - Fetches the documentation comment for this element with a cancellation token. - - Optionally, retrieve the comments formatted for a particular culture. No impact on source documentation comments. - Optionally, expand ]]> elements. No impact on non-source documentation comments. - Optionally, allow cancellation of documentation comment retrieval. - The XML that would be written to the documentation file for the symbol. - - - - True if the symbol has a use-site diagnostic with error severity. - - - - - Returns diagnostic info that should be reported at the use site of the symbol, or null if there is none. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - Supposed to be ErrorCode, but it causes inconsistent accessibility error. - - - - - Indicates that this symbol uses metadata that cannot be supported by the language. - - Examples include: - - Pointer types in VB - - ByRef return type - - Required custom modifiers - - This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced. - Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature. - - This is set for metadata symbols, as follows: - Type - if a type is unsupported (e.g., a pointer type, etc.) - Method - parameter or return type is unsupported - Field - type is unsupported - Event - type is unsupported - Property - type is unsupported - Parameter - type is unsupported - - - - - Merges given diagnostic to the existing result diagnostic. - - - - - Reports specified use-site diagnostic to given diagnostic bag. - - - This method should be the only method adding use-site diagnostics to a diagnostic bag. - It performs additional adjustments of the location for unification related diagnostics and - may be the place where to add more use-site location post-processing. - - True if the diagnostic has error severity. - - - - Derive error info from a type symbol. - - - - - True if this symbol has been marked with the attribute. - This property returns if the attribute hasn't been cracked yet. - - - - - Returns data decoded from attribute or null if there is no attribute. - This property returns if attribute arguments haven't been decoded yet. - - - - - Returns true and a from the first on the symbol, - the string might be null or an invalid guid representation. False, - if there is no with string argument. - - - - - Gets the attributes for this symbol. Returns an empty if - there are no attributes. - - - - - Gets the attribute target kind corresponding to the symbol kind - If attributes cannot be applied to this symbol kind, returns - an invalid AttributeTargets value of 0 - - AttributeTargets or 0 - - - - Method to early decode the type of well-known attribute which can be queried during the BindAttributeType phase. - This method is called first during attribute binding so that any attributes that affect semantics of type binding - can be decoded here. - - - NOTE: If you are early decoding any new well-known attribute, make sure to update PostEarlyDecodeWellKnownAttributeTypes - to default initialize this data. - - - - - This method is called during attribute binding after EarlyDecodeWellKnownAttributeTypes has been executed. - Symbols should default initialize the data for early decoded well-known attributes here. - - - - - Method to early decode applied well-known attribute which can be queried by the binder. - This method is called during attribute binding after we have bound the attribute types for all attributes, - but haven't yet bound the attribute arguments/attribute constructor. - Early decoding certain well-known attributes enables the binder to use this decoded information on this symbol - when binding the attribute arguments/attribute constructor without causing attribute binding cycle. - - - - - This method is called by the binder when it is finished binding a set of attributes on the symbol so that - the symbol can extract data from the attribute arguments and potentially perform validation specific to - some well known attributes. - - NOTE: If we are decoding a well-known attribute that could be queried by the binder, consider decoding it during early decoding pass. - - - - - Symbol types should override this if they want to handle a specific well-known attribute. - If the attribute is of a type that the symbol does not wish to handle, it should delegate back to - this (base) method. - - - - - - Called to report attribute related diagnostics after all attributes have been bound and decoded. - Called even if there are no attributes. - - - This method is called by the binder from after it has finished binding attributes on the symbol, - has executed for attributes applied on the symbol and has stored the decoded data in the - lazyCustomAttributesBag on the symbol. Bound attributes haven't been stored on the bag yet. - - Post-validation for attributes that is dependant on other attributes can be done here. - - This method should not have any side effects on the symbol, i.e. it SHOULD NOT change the symbol state. - - Bound attributes. - Syntax nodes of attributes in order they are specified in source, or null if there are no attributes. - Diagnostic bag. - Specific part of the symbol to which the attributes apply, or if the attributes apply to the symbol itself. - Decoded well-known attribute data, could be null. - - - - This method does the following set of operations in the specified order: - (1) GetAttributesToBind: Merge attributes from the given attributesSyntaxLists and filter out attributes by attribute target. - (2) BindAttributeTypes: Bind all the attribute types to enable early decode of certain well-known attributes by type. - (3) EarlyDecodeWellKnownAttributes: Perform early decoding of certain well-known attributes that could be queried by the binder in subsequent steps. - (NOTE: This step has the side effect of updating the symbol state based on the data extracted from well known attributes). - (4) GetAttributes: Bind the attributes (attribute arguments and constructor) using bound attribute types. - (5) DecodeWellKnownAttributes: Decode and validate bound well known attributes. - (NOTE: This step has the side effect of updating the symbol state based on the data extracted from well known attributes). - (6) StoreBoundAttributesAndDoPostValidation: - (a) Store the bound attributes in lazyCustomAttributes in a thread safe manner. - (b) Perform some additional post attribute validations, such as - 1) Duplicate attributes, attribute usage target validation, etc. - 2) Post validation for attributes dependant on other attributes - These validations cannot be performed prior to step 6(a) as we might need to - perform a GetAttributes() call on a symbol which can introduce a cycle in attribute binding. - We avoid this cycle by performing such validations in PostDecodeWellKnownAttributes after lazyCustomAttributes have been set. - NOTE: PostDecodeWellKnownAttributes SHOULD NOT change the symbol state. - - - Current design of early decoding well-known attributes doesn't permit decoding attribute arguments/constructor as this can lead to binding cycles. - For well-known attributes used by the binder, where we need the decoded arguments, we must handle them specially in one of the following possible ways: - (a) Avoid decoding the attribute arguments during binding and delay the corresponding binder tasks to a separate post-pass executed after binding. - (b) As the cycles can be caused only when we are binding attribute arguments/constructor, special case the corresponding binder tasks based on the current BinderFlags. - - - - Specific part of the symbol to which the attributes apply, or if the attributes apply to the symbol itself. - Indicates that only early decoding should be performed. WARNING: the resulting bag will not be sealed. - Flag indicating whether lazyCustomAttributes were stored on this thread. Caller should check for this flag and perform NotePartComplete if true. - - - - Method to merge attributes from the given attributesSyntaxLists and filter out attributes by attribute target. - This is the first step in attribute binding. - - - This method can generate diagnostics for few cases where we have an invalid target specifier and the parser hasn't generated the necessary diagnostics. - It should not perform any bind operations as it can lead to an attribute binding cycle. - - - - - Method to early decode certain well-known attributes which can be queried by the binder. - This method is called during attribute binding after we have bound the attribute types for all attributes, - but haven't yet bound the attribute arguments/attribute constructor. - Early decoding certain well-known attributes enables the binder to use this decoded information on this symbol - when binding the attribute arguments/attribute constructor without causing attribute binding cycle. - - - - - This method validates attribute usage for each bound attribute and calls - on attributes with valid attribute usage. - This method is called by the binder when it is finished binding a set of attributes on the symbol so that - the symbol can extract data from the attribute arguments and potentially perform validation specific to - some well known attributes. - - - - - Validate attribute usage target and duplicate attributes. - - Bound attribute - Syntax node for attribute specification - Compilation - Symbol part to which the attribute has been applied. - Diagnostics - Set of unique attribute types applied to the symbol - - - - Ensure that attributes are bound and the ObsoleteState of this symbol is known. - - - - - Represents a result of lookup operation over a 0 or 1 symbol (as opposed to a scope). The - typical use is to represent that a particular symbol is good/bad/unavailable. - - For more explanation of Kind, Symbol, Error - see LookupResult. - - - - - This binder is for binding the argument to typeof. It traverses - the syntax marking each open type ("unbound generic type" in the - C# spec) as either allowed or not allowed, so that BindType can - appropriately return either the corresponding type symbol or an - error type. It also indicates whether the argument as a whole - should be considered open so that the flag can be set - appropriately in BoundTypeOfOperator. - - - - - This visitor walks over a type expression looking for open types. - Open types are allowed if an only if: - 1) There is no constructed generic type elsewhere in the visited syntax; and - 2) The open type is not used as a type argument or array/pointer/nullable - element type. - - - - The argument to typeof. - - Keys are GenericNameSyntax nodes representing unbound generic types. - Values are false if the node should result in an error and true otherwise. - - True if no constructed generic type was encountered. - - - - A binder that places class/interface/struct/delegate type parameters in scope - - - - - The scope within a documentation cref. Contains the implicitly declared type parameters - of the cref (see for details). - - - - - A binder that places method type parameters in scope. - - - - - Returns true if calls and delegate invocations with this - expression as the receiver should be non-virtual calls. - - - - - Returns a serializable object that is used for displaying this expression in a diagnostic message. - - - - - The set of method symbols from which this call's method was chosen. - Only kept in the tree if the call was an error and overload resolution - was unable to choose a best method. - - - - - The set of indexer symbols from which this call's indexer was chosen. - Only kept in the tree if the call was an error and overload resolution - was unable to choose a best indexer. - - - - - The set of method symbols from which this operator's method was chosen. - Only kept in the tree if the operator was an error and overload resolution - was unable to choose a best method. - - - - - The set of method symbols from which this operator's method was chosen. - Only kept in the tree if the operator was an error and overload resolution - was unable to choose a best method. - - - - - The set of method symbols from which this operator's method was chosen. - Only kept in the tree if the operator was an error and overload resolution - was unable to choose a best method. - - - - - The set of method symbols from which this operator's method was chosen. - Only kept in the tree if the operator was an error and overload resolution - was unable to choose a best method. - - - - - The set of method symbols from which this conversion's method was chosen. - Only kept in the tree if the conversion was an error and overload resolution - was unable to choose a best method. - - - - - This method is intended for passes other than the LocalRewriter. - Use MakeConversion helper method in the LocalRewriter instead, - it generates a synthesized conversion in its lowered form. - - - - - NOTE: This method is intended for passes other than the LocalRewriter. - NOTE: Use MakeConversion helper method in the LocalRewriter instead, - NOTE: it generates a synthesized conversion in its lowered form. - - - - - Build an object creation expression without performing any rewriting - - - - - Set if the group has a receiver but none was not specified in syntax. - - - - - Determines if a bound node, or associated syntax or type has an error (not a waring) - diagnostic associated with it. - - Typically used in the binder as a way to prevent cascading errors. - In most other cases a more lightweigth HasErrors should be used. - - - - - Determines if a bound node, or any child, grandchild, etc has an error (not warning) - diagnostic associated with it. The HasError bit is initially set for a node by providing it - to the node constructor. If any child nodes of a node have - the HasErrors bit set, then it is automatically set to true on the parent bound node. - - HasErrors indicates that the tree is not emittable and used to shortcircuit lowering/emit stages. - NOTE: not having HasErrors does not guarantee that we do not have any diagnostic associated - with corresponding syntax or type. - - - - - NOTE: not generally set in rewriters. - - - - - The bound expression that invokes the operation of the query clause. - - - - - The bound expression that is the invocation of a "Cast" method specified by the query translation. - - - - - The bound expression that is the query expression in "unoptimized" form. Specifically, a final ".Select" - invocation that is omitted by the specification is included here. - - - - - What we need to do is find a *repeatable* arbitrary way to choose between - two errors; we can for example simply take the one that is lower in alphabetical - order when converted to a string. As an optimization, we compare error codes - first and skip string comparison if they differ. - - - - - In some cases returns are handled as gotos to return epilogue. - This is used to track the state of the epilogue. - - - - - Emits address as in & - - May introduce a temp which it will return. (otherwise returns null) - - - - - Emits address of a temp. - Used in cases where taking address directly is not possible - (typically because expression does not have a home) - - Introduce a temp which it will return. - - - - - May introduce a temp which it will return. (otherwise returns null) - - - - - Checks if expression directly or indirectly represents a value with its own home. In - such cases it is possible to get a reference without loading into a temporary. - - - - - Special HasHome for fields. Fields have homes when they are writeable. - - - - - May introduce a temp which it will return. (otherwise returns null) - - - - - Emits receiver in a form that allows member accesses ( O or & ). For verifiably - reference types it is the actual reference. For generic types it is a address of the - receiver with readonly intent. For the value types it is an address of the receiver. - - isAccessConstrained indicates that receiver is a target of a constrained callvirt - in such case it is unnecessary to box a receier that is typed to a type parameter - - May introduce a temp which it will return. (otherwise returns null) - - - - - May introduce a temp which it will return. (otherwise returns null) - - - - - Entry point to the array initialization. - Assumes that we have newly created array on the stack. - - inits could be an array of values for a single dimensional array - or an array (of array)+ of values for a multidimensional case - - in either case it is expected that number of leaf values will match number - of elements in the array and nesting level should match the rank of the array. - - - - - To handle array initialization of arbitrary rank it is convenient to - approach multidimensional initialization as a recursively nested. - - ForAll{i, j, k} Init(i, j, k) ===> - ForAll{i} ForAll{j, k} Init(i, j, k) ===> - ForAll{i} ForAll{j} ForAll{k} Init(i, j, k) - - This structure is used for capturing initializers of a given index and - the index value itself. - - - - - Emits all initializers that match indices on the stack recursively. - - Example: - if array has [0..2, 0..3, 0..2] shape - and we have {1, 2} indices on the stack - initializers for - [1, 2, 0] - [1, 2, 1] - [1, 2, 2] - - will be emitted and the top index will be pushed off the stack - as at that point we would be completely done with emitting initializers - corresponding to that index. - - - - - Count of all nontrivial initializers and count of those that are constants. - - - - - Produces a serialized blob of all constant initializers. - Nonconstat initializers are matched with a zero of corresponding size. - - - - - Check if it is a regular collection of expressions or there are nested initializers. - - - - - Used to decide if we need to emit call or callvirt. - It basically checks if the receiver expression cannot be null, but it is not 100% precise. - There are cases where it really can be null, but we do not care. - - - - - checks if receiver is effectively ldarg.0 - - - - - Used to decide if we need to emit 'call' or 'callvirt' for structure method. - It basically checks if the method overrides any other and method's defining type - is not a 'special' or 'special-by-ref' type. - - - - - When array operation get long or ulong arguments the args should be - cast to native int. - Note that the cast is always checked. - - - - - Emit an element store instruction for a single dimensional array. - - - - - Emit code for a conditional (aka ternary) operator. - - - (b ? x : y) becomes - push b - if pop then goto CONSEQUENCE - push y - goto DONE - CONSEQUENCE: - push x - DONE: - - - - - Emit code for a null-coalescing operator. - - - x ?? y becomes - push x - dup x - if pop != null goto LEFT_NOT_NULL - pop - push y - LEFT_NOT_NULL: - - - - - Produces opcode for a jump that corresponds to given opearation and sense. - Also produces a reverse opcode - opcode for the same condition with inverted sense. - - - - - The interesting part in the following method is the support for exception filters. - === Example: - - try - { - TryBlock - } - catch (ExceptionType ex) if (Condition) - { - Handler - } - - gets emitted as something like ===> - - Try - TryBlock - Filter - var tmp = Pop() as {ExceptionType} - if (tmp == null) - { - Push 0 - } - else - { - ex = tmp - Push Condition ? 1 : 0 - } - End Filter // leaves 1 or 0 on the stack - Catch // gets called after finalization of nested exception frames if condition above produced 1 - Pop // CLR pushes the exception object again - variable ex can be used here - Handler - EndCatch - - - - - Delegate to emit string compare call and conditional branch based on the compare result. - - Key to compare - Node for diagnostics. - Case constant to compare the key against - Target label to branch to if key = stringConstant - String equality method - - - - Gets already declared and initialized local. - - - - - Temporaries spanning multiple statements are - named in debug builds to ensure the associated - slots are recognized and reused in EnC. - - - - - Generate a unique name for the temporary that - will be recognized by EnC. - - - - - Releases a local. - - - - - Allocates a temp without identity. - - - - - Frees a temp. - - - - - Frees an optional temp. - - - - - Clones all labels used in a finally block. - This allows creating an emittable clone of finally. - It is safe to do because no branches can go in or out of the finally handler. - - - - - The argument is BoundTryStatement (and not a BoundBlock) specifically - to support only Finally blocks where it is guaranteed to not have incoming or leaving branches. - - - - - when current and other use spans are regular spans we can have only 2 conflict cases: - [1, 3) conflicts with [0, 2) - [1, 3) conflicts with [2, 4) - specifically: - [1, 3) does not conflict with [0, 1) - - NOTE: with regular spans, it is not possible - to have start1 == start2 or end1 == end - since at the same node we can access only one real local. - - However at the same node we can access one or more dummy locals. - So we can have start1 == start2 and end1 == end2 scenarios, but only if - other span is a span of a dummy. - - In such cases we consider - start2 == span1.start ==> start2 IS included in span1 - end2 == span1.end ==> end2 IS NOT included in span1 - - - - - Recursively rewrites the node or simply replaces it with a dup node - if we have just seen exactly same node. - - - - - The command line arguments to a C# . - - - - - Gets the compilation options for the C# - created from the . - - - - - Gets the parse options for the C# . - - - - - Should the format of error messages include the line and column of - the end of the offending text. - - - - - Get the path name starting from the - - - - - Diagnostic for the errorCode added if the warningOptions does not mention suppressed for the errorCode. - - - - - Given a compilation and a destination directory, determine three names: - 1) The name with which the assembly should be output. - 2) The path of the assembly/module file. - 3) The path of the pdb file. - - When csc produces an executable, but the name of the resulting assembly - is not specified using the "/out" switch, the name is taken from the name - of the file (note: file, not class) containing the assembly entrypoint - (as determined by binding and the "/main" switch). - - For example, if the command is "csc /target:exe a.cs b.cs" and b.cs contains the - entrypoint, then csc will produce "b.exe" and "b.pdb" in the output directory, - with assembly name "b" and module name "b.exe" embedded in the file. - - - - - Print compiler logo - - - - - - Print Commandline help message (up to 80 English characters per line) - - - - - - A binding for an attribute. Represents the result of binding an attribute constructor and - the positional and named arguments. - - - - - Creates an AttributeSemanticModel that allows asking semantic questions about an attribute node. - - - - - Creates a speculative AttributeSemanticModel that allows asking semantic questions about an attribute node that did not appear in the original source code. - - - - - Structure containing all semantic information about an await expression. - - - - - Internal cahe of built-in operators. - Cache is compilation-specific becuse it uses compilation-specific SpecialTypes. - - - - - The compilation object is an immutable representation of a single invocation of the - compiler. Although immutable, a compilation is also on-demand, and will realize and cache - data as necessary. A compilation can produce a new compilation from existing compilation - with the application of small deltas. In many cases, it is more efficient than creating a - new compilation from scratch, as the new compilation can reuse information from the old - compilation. - - - - - Used for test purposes only to immulate missing members. - - - - - Manages anonymous types declared in this compilation. Unifies types that are structurally equivalent. - - - - - The for this compilation. Do not access directly, use Assembly property - instead. This field is lazily initialized by ReferenceManager, ReferenceManager.CacheLockObject must be locked - while ReferenceManager "calculates" the value and assigns it, several threads must not perform duplicate - "calculation" simultaneously. - - - - - Holds onto data related to reference binding. - The manager is shared among multiple compilations that we expect to have the same result of reference binding. - In most cases this can be determined without performing the binding. If the compilation however contains a circular - metadata reference (a metadata reference that refers back to the compilation) we need to avoid sharing of the binding results. - We do so by creating a new reference manager for such compilation. - - - - - Contains the main method of this assembly, if there is one. - - - - - The set of trees for which a has been added to the queue. - - - - - The options the compilation was created with. - - - - - Creates a new compilation from scratch. Methods such as AddSyntaxTrees or AddReferences - on the returned object will allow to continue building up the Compilation incrementally. - - Simple assembly name. - The syntax trees with the source code for the new compilation. - The references for the new compilation. - The compiler options to use. - A new compilation. - - - - Creates a new compilation that can be used in scripting. - - - - - Create a duplicate of this compilation with different symbol instances. - - - - - Creates a new compilation with the specified name. - - - - - Creates a new compilation with the specified references. - - - The new will query the given for the underlying - metadata as soon as the are needed. - - The new compilation uses whatever metadata is currently being provided by the . - E.g. if the current compilation references a metadata file that has changed since the creation of the compilation - the new compilation is going to use the updated version, while the current compilation will be using the previous (it doesn't change). - - - - - Creates a new compilation with the specified references. - - - - - Creates a new compilation with the specified compilation options. - - - - - Returns a new compilation with the given compilation set as the previous submission. - - - - - Returns a new compilation with a given event queue. - - - - - Returns the type of the submission return value. - - - The type of the last expression of the submission. - Null if the type of the last expression is unknown (null). - Void type if the type of the last expression statement is void or - the submission ends with a declaration or statement that is not an expression statement. - - - Note that the return type is System.Void for both compilations "System.Console.WriteLine();" and "System.Console.WriteLine()", - and is False for the former and True for the latter. - - True if the submission has value, i.e. if it ends with a statement that is an expression statement. - The compilation doesn't represent a submission ( return false). - - - - The syntax trees (parsed from source code) that this compilation was created with. - - - - - Returns true if this compilation contains the specified tree. False otherwise. - - - - - Creates a new compilation with additional syntax trees. - - - - - Creates a new compilation with additional syntax trees. - - - - - Creates a new compilation without the specified syntax trees. Preserves metadata info for use with trees - added later. - - - - - Creates a new compilation without the specified syntax trees. Preserves metadata info for use with trees - added later. - - - - - Creates a new compilation without any syntax trees. Preserves metadata info - from this compilation for use with trees added later. - - - - - Creates a new compilation without the old tree but with the new tree. - - - - - Gets the or for a metadata reference used to create this compilation. - - or corresponding to the given reference or null if there is none. - - Uses object identity when comparing two references. - - - - - All reference directives used in this compilation. - - - - - Returns a metadata reference that a given #r resolves to. - - #r directive. - Metadata reference the specified directive resolves to. - - - - Creates a new compilation with additional metadata references. - - - - - Creates a new compilation with additional metadata references. - - - - - Creates a new compilation without the specified metadata references. - - - - - Creates a new compilation without the specified metadata references. - - - - - Creates a new compilation without any metadata references - - - - - Creates a new compilation with an old metadata reference replaced with a new metadata reference. - - - - - Gets the that corresponds to the assembly symbol. - - - - - The AssemblySymbol that represents the assembly being created. - - - - - The AssemblySymbol that represents the assembly being created. - - - - - Get a ModuleSymbol that refers to the module being created by compiling all of the code. - By getting the GlobalNamespace property of that module, all of the namespaces and types - defined in source code can be obtained. - - - - - Gets the root namespace that contains all namespaces and types defined in source code or in - referenced metadata, merged into a single namespace hierarchy. - - - - - Given for the specified module or assembly namespace, gets the corresponding compilation - namespace (merged namespace representation for all namespace declarations and references - with contributions for the namespaceSymbol). Can return null if no corresponding - namespace can be bound in this compilation with the same name. - - - - - A symbol representing the implicit Script class. This is null if the class is not - defined in the compilation. - - - - - Resolves a symbol that represents script container (Script class). Uses the - full name of the container class stored in to find the symbol. - - The Script class symbol or null if it is not defined. - - - - Get the symbol for the predefined type from the COR Library referenced by this compilation. - - - - - Get the symbol for the predefined type member from the COR Library referenced by this compilation. - - - - - Gets the type within the compilation's assembly and all referenced assemblies (other than - those that can only be referenced via an extern alias) using its canonical CLR metadata name. - - - - - The TypeSymbol for the type 'dynamic' in this Compilation. - - - - - The NamedTypeSymbol for the .NET System.Object type, which could have a TypeKind of - Error if there was no COR Library in this Compilation. - - - - - Returns a new ArrayTypeSymbol representing an array type tied to the base types of the - COR Library in this Compilation. - - - - - Returns a new PointerTypeSymbol representing a pointer type tied to a type in this Compilation. - - - - - Gets a new SyntaxTreeSemanticModel for the specified syntax tree. - - - - - Returns imported symbols for the given declaration. - - - - - The bag in which semantic analysis should deposit its diagnostics. - - - - - A bag in which diagnostics that should be reported after code gen can be deposited. - - - - - Gets the diagnostics produced during the parsing stage of a compilation. There are no diagnostics for declarations or accessor or - method bodies, for example. - - - - - Gets the diagnostics produced during symbol declaration headers. There are no diagnostics for accessor or - method bodies, for example. - - - - - Gets the diagnostics produced during the analysis of method bodies and field initializers. - - - - - Gets the all the diagnostics for the compilation, including syntax, declaration, and binding. Does not - include any diagnostics that might be produced during emit. - - - - - Filter out warnings based on the compiler options (/nowarn, /warn and /warnaserror) and the pragma warning directives. - 'incoming' is freed. - - True when there is no error or warning treated as an error. - - - - Filter out warnings based on the compiler options (/nowarn, /warn and /warnaserror) and the pragma warning directives. - - True when there is no error or warning treated as an error. - - - - Emit the IL for the compilation into the specified stream. - - Stream to which the compilation will be written. - Name of the module or assembly. Null to use the existing compilation name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - The name of the PDB file - embedded in the output. Null to infer from the stream or the compilation. - Ignored unless pdbStream is non-null. - - Stream to which the compilation's debug info will be written. Null to forego PDB generation. - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Stream from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Emit the IL for the compilation into the specified stream. - - Path of the file to which the compilation will be written. - Path of the file to which the compilation's debug info will be written. - Also embedded in the output file. Null to forego PDB generation. - - Path of the file to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Path of the file from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Emits the IL for the symbol declarations into the specified stream. Useful for emitting information for - cross-language modeling of code. This emits what it can even if there are errors. - - Stream to which the compilation's metadata will be written. - Name of the compilation: file name and extension. Null to use the existing output name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - - - - An array of cached well known types available for use in this Compilation. - Lazily filled by GetWellKnownType method. - - - - - Lazy cache of well known members. - Not yet known value is represented by ErrorTypeSymbol.UnknownResultType - - - - - Lookup member declaration in well known type used by this Compilation. - - - If a well-known member of a generic type instantiation is needed use this method to get the corresponding generic definition and - to construct an instantiation. - - - - - Synthesizes a custom attribute. - Returns null if the symbol is missing and the attribute is synthesized only if present. - - - - - Given a type , which is either dynamic type OR is a constructed type with dynamic type present in it's type argument tree, - returns a synthesized DynamicAttribute with encoded dynamic transforms array. - - This method is port of AttrBind::CompileDynamicAttr from the native C# compiler. - - - - Used to generate the dynamic attributes for the required typesymbol. - - - - - ReferenceManager encapsulates functionality to create an underlying SourceAssemblySymbol - (with underlying ModuleSymbols) for Compilation and AssemblySymbols for referenced - assemblies (with underlying ModuleSymbols) all properly linked together based on - reference resolution between them. - - ReferenceManager is also responsible for reuse of metadata readers for imported modules - and assemblies as well as existing AssemblySymbols for referenced assemblies. In order - to do that, it maintains global cache for metadata readers and AssemblySymbols - associated with them. The cache uses WeakReferences to refer to the metadata readers and - AssemblySymbols to allow memory and resources being reclaimed once they are no longer - used. The tricky part about reusing existing AssemblySymbols is to find a set of - AssemblySymbols that are created for the referenced assemblies, which (the - AssemblySymbols from the set) are linked in a way, consistent with the reference - resolution between the referenced assemblies. - - When existing Compilation is used as a metadata reference, there are scenarios when its - underlying SourceAssemblySymbol cannot be used to provide symbols in context of the new - Compilation. Consider classic multi-targeting scenario: compilation C1 references v1 of - Lib.dll and compilation C2 references C1 and v2 of Lib.dll. In this case, - SourceAssemblySymbol for C1 is linked to AssemblySymbol for v1 of Lib.dll. However, - given the set of references for C2, the same reference for C1 should be resolved against - v2 of Lib.dll. In other words, in context of C2, all types from v1 of Lib.dll leaking - through C1 (through method signatures, etc.) must be retargeted to the types from v2 of - Lib.dll. In this case, ReferenceManager creates a special RetargetingAssemblySymbol for - C1, which is responsible for the type retargeting. The RetargetingAssemblySymbols could - also be reused for different Compilations, ReferenceManager maintains a cache of - RetargetingAssemblySymbols (WeakReferences) for each Compilation. - - The only public entry point of this class is CreateSourceAssembly() method. - - - - - Checks if the properties of are compatible with properties of . - Reports inconsistencies to the given diagnostic bag. - - True if the properties are compatible and hence merged, false if the duplicate reference should not merge it's properties with primary reference. - - - - C# only considers culture when comparing weak identities. - It ignores versions of weak identities and reports an error if there are two weak assembly - references passed to a compilation that have the same simple name. - - - - - Creates a from specified metadata. - - - Used by EnC to create symbols for emit baseline. The PE symbols are used by . - - The assembly references listed in the metadata AssemblyRef table are matched to the resolved references - stored on this . Each AssemblyRef is matched against the assembly identities - using an exact equality comparison. No unification or further resolution is performed. - - - - - Import options of the compilation being built. - - - - - Guarded by . - - - - - For testing purposes only. - - - - - For testing purposes only. - - - - - Represents a reference to another C# compilation. - - - - - Returns the referenced Compilation. - - - - - Create a metadata reference to a compilation. - - The compilation to reference. - Extern aliases for this reference. - Should interop types be embedded in the created assembly? - - - - Allows asking semantic questions about a tree of syntax nodes in a Compilation. Typically, - an instance is obtained by a call to .. - - - An instance of caches local symbols and semantic - information. Thus, it is much more efficient to use a single instance of when asking multiple questions about a syntax tree, because - information from the first question may be reused. This also means that holding onto an - instance of SemanticModel for a long time may keep a significant amount of memory from being - garbage collected. - - - When an answer is a named symbol that is reachable by traversing from the root of the symbol - table, (that is, from an of the ), - that symbol will be returned (i.e. the returned value will be reference-equal to one - reachable from the root of the symbol table). Symbols representing entities without names - (e.g. array-of-int) may or may not exhibit reference equality. However, some named symbols - (such as local variables) are not reachable from the root. These symbols are visible as - answers to semantic questions. When the same SemanticModel object is used, the answers - exhibit reference-equality. - - - - - - The compilation this object was obtained from. - - - - - The root node of the syntax tree that this binding is based on. - - - - - Gets symbol information about a syntax node. This is overridden by various specializations of SemanticModel. - It can assume that CheckSyntaxNode and CanGetSemanticInfo have already been called, as well as that named - argument nodes have been handled. - - The syntax node to get semantic information for. - Options to control behavior. - The cancellation token. - - - - Gets symbol information about the 'Add' method corresponding to an expression syntax within collection initializer. - This is the worker function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called and the is in the right place in the syntax tree. - - - - - Gets type information about a syntax node. This is overridden by various specializations of SemanticModel. - It can assume that CheckSyntaxNode and CanGetSemanticInfo have already been called, as well as that named - argument nodes have been handled. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets a list of method or indexed property symbols for a syntax node. This is overridden by various specializations of SemanticModel. - It can assume that CheckSyntaxNode and CanGetSemanticInfo have already been called, as well as that named - argument nodes have been handled. - - The syntax node to get semantic information for. - - The cancellation token. - - - - Gets a list of indexer symbols for a syntax node. This is overridden by various specializations of SemanticModel. - It can assume that CheckSyntaxNode and CanGetSemanticInfo have already been called, as well as that named - argument nodes have been handled. - - The syntax node to get semantic information for. - - The cancellation token. - - - - Gets a the constant value for a syntax node. This is overridden by various specializations of SemanticModel. - It can assume that CheckSyntaxNode and CanGetSemanticInfo have already been called, as well as that named - argument nodes have been handled. - - The syntax node to get semantic information for. - The cancellation token. - - - - Bind the given expression speculatively at the given position, and return back - the resulting bound node. May return null in some error cases. - - - Keep in sync with . - - - - - Bind the given attribute speculatively at the given position, and return back - the resulting bound node. May return null in some error cases. - - - - - Gets the semantic information for an ordering clause in an orderby query clause. - - - - - Gets the semantic information associated with a select or group clause. - - - - - Returns what symbol(s), if any, the given expression syntax bound to in the program. - - An AliasSymbol will never be returned by this method. What the alias refers to will be - returned instead. To get information about aliases, call GetAliasInfo. - - If binding the type name C in the expression "new C(...)" the actual constructor bound to - will be returned (or all constructor if overload resolution failed). This occurs as long as C - unambiguously binds to a single type that has a constructor. If C ambiguously binds to multiple - types, or C binds to a static class, then type(s) are returned. - - - - - Returns what 'Add' method symbol(s), if any, corresponds to the given expression syntax - within . - - - - - Returns what symbol(s), if any, the given constructor initializer syntax bound to in the program. - - The syntax node to get semantic information for. - The cancellation token. - - - - Returns what symbol(s), if any, the given base class initializer syntax bound to in the program. - - The syntax node to get semantic information for. - The cancellation token. - - - - Returns what symbol(s), if any, the given attribute syntax bound to in the program. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets the semantic information associated with a documentation comment cref. - - - - - Binds the expression in the context of the specified location and gets symbol information. - This method is used to get symbol information about an expression that did not actually - appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The symbol information for the topmost node of the expression. - - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - is ignored if is within a documentation - comment cref attribute value. - - - - - Bind the attribute in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about an attribute - that did not actually appear in the source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. In order to obtain - the correct scoping rules for the attribute, position should be the Start position of the Span of the symbol that - the attribute is being applied to. - - A syntax node that represents a parsed attribute. This syntax node - need not and typically does not appear in the source code referred to SemanticModel instance. - The semantic information for the topmost node of the attribute. - - - - Bind the constructor initializer in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about a constructor - initializer that did not actually appear in the source code. - - NOTE: This will only work in locations where there is already a constructor initializer. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - Furthermore, it must be within the span of an existing constructor initializer. - - A syntax node that represents a parsed constructor initializer. This syntax node - need not and typically does not appear in the source code referred to SemanticModel instance. - The semantic information for the topmost node of the constructor initializer. - - - - Bind the cref in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about a cref - that did not actually appear in the source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. In order to obtain - the correct scoping rules for the cref, position should be the Start position of the Span of the original cref. - - A syntax node that represents a parsed cref. This syntax node - need not and typically does not appear in the source code referred to SemanticModel instance. - SymbolInfo options. - The semantic information for the topmost node of the cref. - - - - Gets type information about a constructor initializer. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets type information about a base class initializer. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets type information about an expression. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets type information about an attribute. - - The syntax node to get semantic information for. - The cancellation token. - - - - Gets the conversion that occurred between the expression's type and type implied by the expression's context. - - - - - Binds the expression in the context of the specified location and gets type information. - This method is used to get type information about an expression that did not actually - appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The type information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets the conversion that occurred between the expression's type and type implied by the expression's context. - - - - - Returns the list of accessible, non-hidden indexers that could be invoked with the given expression as receiver. - - Potential indexer receiver. - To cancel the computation. - Accessible, non-hidden indexers. - - If the receiver is an indexer expression, the list will contain the indexers that could be applied to the result - of accessing the indexer, not the set of candidates that were considered during construction of the indexer expression. - - - - - Gets the semantic information associated with a query clause. - - - - - If resolves to an alias name, return the AliasSymbol corresponding - to A. Otherwise return null. - - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a name. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the name as a full expression, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The passed in name is interpreted as a stand-alone name, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets the binder that encloses the position. - - - - - Gets the MemberSemanticModel that contains the node. - - - - - Given a position, locates the containing token. If the position is actually within the - leading trivia of the containing token or if that token is EOF, moves one token to the - left. Returns the start position of the resulting token. - - This has the effect of moving the position left until it hits the beginning of a non-EOF - token. - - Throws an ArgumentOutOfRangeException if position is not within the root of this model. - - - - - A convenience method that determines a position from a node. If the node is missing, - then its position will be adjusted using CheckAndAdjustPosition. - - - - - Gets the available named symbols in the context of the specified location and optional container. Only - symbols that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - Consider (reduced) extension methods. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - Labels are not considered (see ). - - Non-reduced extension methods are considered regardless of the value of . - - - - - Gets the available base type members in the context of the specified location. Akin to - calling with the container set to the immediate base type of - the type in which occurs. However, the accessibility rules - are different: protected members of the base type will be visible. - - Consider the following example: - - public class Base - { - protected void M() { } - } - - public class Derived : Base - { - void Test(Base b) - { - b.M(); // Error - cannot access protected member. - base.M(); - } - } - - Protected members of an instance of another type are only accessible if the instance is known - to be "this" instance (as indicated by the "base" keyword). - - The character position for determining the enclosing declaration scope and - accessibility. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. - - Non-reduced extension methods are considered, but reduced extension methods are not. - - - - - Gets the available named static member symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - Non-reduced extension methods are considered, since they are static methods. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - - - - Gets the available named namespace and type symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - Does not return INamespaceOrTypeSymbol, because there could be aliases. - - - - - Gets the available named label symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - - - - Gets the available named symbols in the context of the specified location and optional - container. Only symbols that are accessible and visible from the given location are - returned. - - The character position for determining the enclosing declaration - scope and accessibility. - The container to search for symbols within. If null then the - enclosing declaration scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - Additional options that affect the lookup process. - Ignore 'throughType' in accessibility checking. - Used in checking accessibility of symbols accessed via 'MyBase' or 'base'. - - The "position" is used to determine what variables are visible and accessible. Even if - "container" is specified, the "position" location is significant for determining which - members of "containing" are accessible. - - Throws an argument exception if the passed lookup options are invalid. - - - - Determines if the symbol is accessible from the specified location. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - The symbol that we are checking to see if it accessible. - - True if "symbol is accessible, false otherwise. - - This method only checks accessibility from the point of view of the accessibility - modifiers on symbol and its containing types. Even if true is returned, the given symbol - may not be able to be referenced for other reasons, such as name hiding. - - - - - Field-like events can be used as fields in types that can access private - members of the declaring type of the event. - - - - - Analyze control-flow within a part of a method body. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the control flow analysis. - The two statements are not contained within the same statement list. - - - - Analyze control-flow within a part of a method body. - - The statement to be included in the analysis. - An object that can be used to obtain the result of the control flow analysis. - - - - Analyze data-flow within an expression. - - The expression within the associated SyntaxTree to analyze. - An object that can be used to obtain the result of the data flow analysis. - - - - Analyze data-flow within a part of a method body. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the data flow analysis. - The two statements are not contained within the same statement list. - - - - Analyze data-flow within a part of a method body. - - The statement to be included in the analysis. - An object that can be used to obtain the result of the data flow analysis. - - - - Get a SemanticModel object that is associated with a method body that did not appear in this source code. - Given must lie within an existing method body of the Root syntax node for this SemanticModel. - Locals and labels declared within this existing method body are not considered to be in scope of the speculated method body. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel and must be - within the FullSpan of a Method body within the Root syntax node. - A syntax node that represents a parsed method declaration. This method should not be - present in the syntax tree associated with this object, but must have identical signature to the method containing - the given in this SemanticModel. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a method body that did not appear in this source code. - Given must lie within an existing method body of the Root syntax node for this SemanticModel. - Locals and labels declared within this existing method body are not considered to be in scope of the speculated method body. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel and must be - within the FullSpan of a Method body within the Root syntax node. - A syntax node that represents a parsed accessor declaration. This accessor should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a type syntax node that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a type syntax that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - - A syntax node that represents a parsed expression. This expression should not be - present in the syntax tree associated with this object. - Indicates whether to bind the expression as a full expression, - or as a type or namespace. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a statement that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a statement that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - A syntax node that represents a parsed statement. This statement should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with an initializer that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a field initializer or default parameter value that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - - A syntax node that represents a parsed initializer. This initializer should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a constructor initializer that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a constructor initializer that did not appear in source code. - - NOTE: This will only work in locations where there is already a constructor initializer. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - Furthermore, it must be within the span of an existing constructor initializer. - - A syntax node that represents a parsed constructor initializer. - This node should not be present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a cref that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a cref that did not appear in source code. - - NOTE: This will only work in locations where there is already a cref. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - Furthermore, it must be within the span of an existing cref. - - A syntax node that represents a parsed cref syntax. - This node should not be present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with an attribute that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of an attribute that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - A syntax node that represents a parsed attribute. This attribute should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is true. - Chaining of speculative semantic model is not supported. - - - - If this is a speculative semantic model, then returns its parent semantic model. - Otherwise, returns null. - - - - - The SyntaxTree that this object is associated with. - - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. If isExplicitInSource is true, the conversion produced is - that which would be used if the conversion were done for a cast expression. - - An expression which much occur within the syntax tree - associated with this object. - The type to attempt conversion to. - True if the conversion should be determined as for a cast expression. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists" property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. If isExplicitInSource is true, the conversion produced is - that which would be used if the conversion were done for a cast expression. - - The character position for determining the enclosing declaration - scope and accessibility. - The expression to classify. This expression does not need to be - present in the syntax tree associated with this object. - The type to attempt conversion to. - True if the conversion should be determined as for a cast expression. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists" property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type using an explicit cast. - - An expression which much occur within the syntax tree - associated with this object. - The type to attempt conversion to. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists" property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type using an explicit cast. - - The character position for determining the enclosing declaration - scope and accessibility. - The expression to classify. This expression does not need to be - present in the syntax tree associated with this object. - The type to attempt conversion to. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists" property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Given a member declaration syntax, get the corresponding symbol. - - The syntax node that declares a member. - The cancellation token. - The symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for following subtypes of MemberDeclarationSyntax: - NOTE: (1) GlobalStatementSyntax as they don't declare any symbols. - NOTE: (2) IncompleteMemberSyntax as there are no symbols for incomplete members. - NOTE: (3) BaseFieldDeclarationSyntax or its subtypes as these declarations can contain multiple variable declarators. - NOTE: GetDeclaredSymbol should be called on the variable declarators directly. - - - - - Given a type declaration, get the corresponding Primary Constructor symbol. - - - - - Given a namespace declaration syntax node, get the corresponding namespace symbol for - the declaration assembly. - - The syntax node that declares a namespace. - The cancellation token. - The namespace symbol that was declared by the namespace declaration. - - - - Given a type declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The cancellation token. - The type symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for subtypes of BaseTypeDeclarationSyntax as all of them return a NamedTypeSymbol. - - - - - Given a delegate declaration, get the corresponding type symbol. - - The syntax node that declares a delegate. - The cancellation token. - The type symbol that was declared. - - - - Given a enum member declaration, get the corresponding field symbol. - - The syntax node that declares an enum member. - The cancellation token. - The symbol that was declared. - - - - Given a base method declaration syntax, get the corresponding method symbol. - - The syntax node that declares a method. - The cancellation token. - The symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for subtypes of BaseMethodDeclarationSyntax as all of them return a MethodSymbol. - - - - - Given a syntax node that declares a property, indexer or an event, get the corresponding declared symbol. - - The syntax node that declares a property, indexer or an event. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares a property, get the corresponding declared symbol. - - The syntax node that declares a property. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares an indexer, get the corresponding declared symbol. - - The syntax node that declares an indexer. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares a (custom) event, get the corresponding event symbol. - - The syntax node that declares a event. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node of anonymous object creation initializer, get the anonymous object property symbol. - - The syntax node that declares a property. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node of anonymous object creation expression, get the anonymous object type symbol. - - The syntax node that declares an anonymoust object. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares a property or member accessor, get the corresponding - symbol. - - The syntax node that declares an accessor. - The cancellation token. - The symbol that was declared. - - - - Given a variable declarator syntax, get the corresponding symbol. - - The syntax node that declares a variable. - The cancellation token. - The symbol that was declared. - - - - Given a labeled statement syntax, get the corresponding label symbol. - - The syntax node of the labeled statement. - The cancellation token. - The label symbol for that label. - - - - Given a switch label syntax, get the corresponding label symbol. - - The syntax node of the switch label. - The cancellation token. - The label symbol for that label. - - - - Given a using declaration get the corresponding symbol for the using alias that was - introduced. - - - The cancellation token. - The alias symbol that was declared. - - If the using directive is an error because it attempts to introduce an alias for which an existing alias was - previously declared in the same scope, the result is a newly-constructed AliasSymbol (i.e. not one from the - symbol table). - - - - - Given an extern alias declaration get the corresponding symbol for the alias that was introduced. - - - The cancellation token. - The alias symbol that was declared, or null if a duplicate alias symbol was declared. - - - - Given a parameter declaration syntax node, get the corresponding symbol. - - The syntax node that declares a parameter. - The cancellation token. - The parameter that was declared. - - - - Given a base field declaration syntax, get the corresponding symbols. - - The syntax node that declares one or more fields or events. - The cancellation token. - The symbols that were declared. - - - - Given a type parameter declaration (field or method), get the corresponding symbol - - The cancellation token. - - - - - - Given a foreach statement, get the symbol for the iteration variable - - The cancellation token. - - - - - - Given a catch declaration, get the symbol for the exception variable - - The cancellation token. - - - - - - Get the query range variable declared in a join into clause. - - - - - Get the query range variable declared in a query continuation clause. - - - - - Resolves the set of provided arguments against set of provided methods to determine the - appropriate overload. The arguments are bound as if they were at 'position' within this - binding. An OverloadResolutionResult is returned that gives the result of the compiler's - overload resolution analysis. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. This position is used when binding the arguments. - - The set of methods to resolve overloads among. - The list of arguments, in order, to use when resolving the - overloads. The arguments are interpreted as if they occurred within the declaration - scope that encloses "position". - If present, the type argument provided. If not provided, - type inference is done. - - This can be used to resolve constructors as well as methods. - - - - - Returns a list of accessible, non-hidden indexers that could be invoked with the given expression - as a receiver. - - - If the given expression is an indexer access, then this method will return the list of indexers - that could be invoked on the result, not the list of indexers that were considered. - - - - - The method group can contain "duplicate" symbols that we do not want to display in the IDE analysis. - - For example, there could be an overriding virtual method and the method it overrides both in - the method group. This, strictly speaking, is a violation of the C# specification because we are - supposed to strip out overriding methods from the method group before overload resolution; overload - resolution is supposed to treat overridden methods as being methods of the less derived type. However, - in the IDE we want to display information about the overriding method, not the overridden method, and - therefore we leave both in the method group. The overload resolution algorithm has been written - to handle this departure from the specification. - - Similarly, we might have two methods in the method group where one is a "new" method that hides - another. Again, in overload resolution this would be handled by the rule that says that methods - declared on more derived types take priority over methods declared on less derived types. Both - will be in the method group, but in the IDE we want to only display information about the - hiding method, not the hidden method. - - We can also have "diamond" inheritance of interfaces leading to multiple copies of the same - method ending up in the method group: - - interface IB { void M(); } - interface IL : IB {} - interface IR : IB {} - interface ID : IL, IR {} - ... - id.M(); - - We only want to display one symbol in the IDE, even if the member lookup algorithm is unsophisticated - and puts IB.M in the member group twice. (Again, this is a mild spec violation since a method group - is supposed to be a set, without duplicates.) - - Finally, the interaction of multiple inheritance of interfaces and hiding can lead to some subtle - situations. Suppose we make a slight modification to the scenario above: - - interface IL : IB { new void M(); } - - Again, we only want to display one symbol in the method group. The fact that there is a "path" - to IB.M from ID via IR is irrelevant; if the symbol IB.M is hidden by IL.M then it is hidden - in ID, period. - - - - - Get the semantic info of a named argument in an invocation-like expression. - - - - - Find the first parameter named "argumentName". - - - - - If the call represents an extension method invocation with an explicit receiver, return the original - methods as ReducedExtensionMethodSymbols. Otherwise, return the original methods unchanged. - - - - - If the call represents an extension method with an explicit receiver, return a - ReducedExtensionMethodSymbol if it can be constructed. Otherwise, return the - original call method. - - - - - Gets for each statement info. - - The node. - - - - - Gets await expression info. - - The node. - - - - - If the given node is within a preprocessing directive, gets the preprocessing symbol info for it. - - Preprocessing symbol identifier node. - - - - Options to control the internal working of GetSymbolInfoWorker. Not currently exposed - to public clients, but could be if desired. - - - - - When binding "C" new C(...), return the type C and do not return information about - which constructor was bound to. Bind "new C(...)" to get information about which constructor - was chosen. - - - - - When binding "C" new C(...), return the constructor of C that was bound to, if C unambiguously - binds to a single type with at least one constructor. - - - - - When binding a name X that was declared with a "using X=OtherTypeOrNamespace", return OtherTypeOrNamespace. - - - - - When binding a name X that was declared with a "using X=OtherTypeOrNamespace", return the alias symbol X. - - - - - Given a position in the SyntaxTree for this SemanticModel returns the innermost - NamedType that the position is considered inside of. - - - - - Structure containing all semantic information about a for each statement. - - - - - Gets the "GetEnumerator" method. - - - - - Gets the "MoveNext" method. - - - - - Gets the "Current" property. - - - - - Gets the "Dispose" method. - - - - - The intermediate type to which the output of the is converted - before being converted to the iteration variable type. - - - As you might hope, for an array, it is the element type of the array. - - - - - The conversion from the to the iteration variable type. - - - May be user-defined. - - - - - The conversion from the type of the to the . - - - - - Initializes a new instance of the structure. - - - - - A binding for a field initializer, property initializer, constructor - initializer, or parameter default value. Represents the result of - binding an initial value expression rather than an block (for that, - use a MethodBodySemanticModel). - - - - - Creates a SemanticModel for a true field initializer (field = value) of a named type (incl. Enums). - - - - - Creates a SemanticModel for an autoprop initializer of a named type - - - - - Creates a SemanticModel for a constructor initializer (": this(...)" or ": base(...)"). - - - - - Creates a SemanticModel for a constructor initializer (": base-class(...)"). - - - - - Creates a SemanticModel for a a parameter default value. - - - - - Creates a speculative SemanticModel for an initializer node (field initializer, constructor initializer, or parameter default value) - that did not appear in the original source code. - - - - This is an implementation of a special symbol comparer, which is supposed to be used for - sorting original definition symbols (explicitly or explicitly declared in source within the same - container) in lexical order of their declarations. It will not work on anything that uses non-source locations. - - - - - Binding info for expressions and statements that are part of a member declaration. - - - - - The member symbol - - - - - This overload exists for callers who - a) Already have a node in hand and don't want to search through the tree - b) May want to search from an indirect container (e.g. node containing node - containing position). - - - - - Get the bound node corresponding to the root. - - - - - Get the highest bound node in the tree associated with a particular syntax node. - - - - - Get the lowest bound node in the tree associated with a particular syntax node. Lowest is defined as last - in a pre-order traversal of the bound tree. - - - - - Returned binder doesn't need to have set - the caller will add it. - - - - - Performs the same function as GetEnclosingBinder, but is known to take place within a - specified lambda. Walks up the syntax hierarchy until a node with an associated binder - is found. - - - CONSIDER: can this share code with MemberSemanticModel.GetEnclosingBinder? - - Returned binder doesn't need to have set - the caller will add it. - - - - - Get all bounds nodes associated with a node, ordered from highest to lowest in the bound tree. - Strictly speaking, the order is that of a pre-order traversal of the bound tree. - - - - - If the node is an expression, return the nearest parent node - with semantic meaning. Otherwise return null. - - - - - The incremental binder is used when binding statements. Whenever a statement - is bound, it checks the bound node cache to see if that statement was bound, - and returns it instead of rebinding it. - - For example, we might have: - while (x > foo()) - { - y = y * x; - z = z + y; - } - - We might first get semantic info about "z", and thus bind just the statement - "z = z + y". Later, we might bind the entire While block. While binding the while - block, we can reuse the binding we did of "z = z + y". - - - NOTE: any member overridden by this binder should follow the BuckStopsHereBinder pattern. - Otherwise, a subsequent binder in the chain could suppress the caching behavior. - - - - - We override GetBinder so that the BindStatement override is still - in effect on nested binders. - - - - - Walks the bound tree and adds all non compiler generated bound nodes whose syntax matches the given one - to the cache. - - The root of the bound tree. - The cache. - The syntax node where to add bound nodes for. - - - - Decides whether to the add the bound node to the cache or not. - - The bound node. - - - - Allows asking semantic questions about a TypeSyntax (or its descendants) within a member, that did not appear in the original source code. - Typically, an instance is obtained by a call to SemanticModel.TryGetSpeculativeSemanticModel. - - - - - Creates a speculative SemanticModel for a TypeSyntax node at a position within an existing MemberSemanticModel. - - - - - Creates a SemanticModel that creates and owns the ExecutableCodeBinder for the method of which it is a model. - - - - - Creates a speculative SemanticModel for a method body that did not appear in the original source code. - - - - - Semantic information associated with a query clause in a C# query expression. - - - - - The .Cast<T>() operation generated from the query range variable's type restriction. - If you want the type restriction, when this is non-null use Cast.TypeArguments[0]. - - - - - The operation (e.g. Select(), Where(), etc) that implements the given clause. - If it is an extension method, it is returned in reduced form. - - - - - Allows asking semantic questions about a tree of syntax nodes that did not appear in the original source code. - Typically, an instance is obtained by a call to SemanticModel.TryGetSpeculativeSemanticModel. - - - - - Allows asking semantic questions about any node in a SyntaxTree within a Compilation. - - - Allows asking semantic questions about any node in a SyntaxTree within a Compilation. - - - - - The compilation this object was obtained from. - - - - - The root node of the syntax tree that this object is associated with. - - - - - The SyntaxTree that this object is associated with. - - - - - Gets the enclosing binder associated with the node - - - - - - - Given a namespace declaration syntax node, get the corresponding namespace symbol for the declaration - assembly. - - The syntax node that declares a namespace. - The cancellation token. - The namespace symbol that was declared by the namespace declaration. - - - - Given a type declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The cancellation token. - The type symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for subtypes of BaseTypeDeclarationSyntax as all of them return a NamedTypeSymbol. - - - - - Given a delegate declaration, get the corresponding type symbol. - - The syntax node that declares a delegate. - The cancellation token. - The type symbol that was declared. - - - - Given an member declaration syntax, get the corresponding symbol. - - The syntax node that declares a member. - The cancellation token. - The symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for following subtypes of MemberDeclarationSyntax: - NOTE: (1) GlobalStatementSyntax as they don't declare any symbols. - NOTE: (2) IncompleteMemberSyntax as there are no symbols for incomplete members. - NOTE: (3) BaseFieldDeclarationSyntax or its subtypes as these declarations can contain multiple variable declarators. - NOTE: GetDeclaredSymbol should be called on the variable declarators directly. - - - - - Given a type declaration, get the corresponding Primary Constructor symbol. - - - - - Given a enum member declaration, get the corresponding field symbol. - - The syntax node that declares an enum member. - The cancellation token. - The symbol that was declared. - - - - Given a base method declaration syntax, get the corresponding method symbol. - - The syntax node that declares a method. - The cancellation token. - The symbol that was declared. - - NOTE: We have no GetDeclaredSymbol overloads for subtypes of BaseMethodDeclarationSyntax as all of them return a MethodSymbol. - - - - - Given a syntax node that declares a property, indexer or an event, get the corresponding declared symbol. - - The syntax node that declares a property, indexer or an event. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares a property, get the corresponding declared symbol. - - The syntax node that declares a property, indexer or an event. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares an indexer, get the corresponding declared symbol. - - The syntax node that declares an indexer. - The cancellation token. - The symbol that was declared. - - - - Given a syntax node that declares a (custom) event, get the corresponding event symbol. - - The syntax node that declares a event. - The cancellation token. - The symbol that was declared. - - - - Given an syntax node that declares a property or member accessor, get the corresponding symbol. - - The syntax node that declares an accessor. - The cancellation token. - The symbol that was declared. - - - - Given an variable declarator syntax, get the corresponding symbol. - - The syntax node that declares a variable. - The cancellation token. - The symbol that was declared. - - - - Given a labeled statement syntax, get the corresponding label symbol. - - The syntax node of the labeled statement. - The cancellation token. - The label symbol for that label. - - - - Given a switch label syntax, get the corresponding label symbol. - - The syntax node of the switch label. - The cancellation token. - The label symbol for that label. - - - - Given a using declaration get the corresponding symbol for the using alias that was introduced. - - - The cancellation token. - The alias symbol that was declared. - - If the using directive is an error because it attempts to introduce an alias for which an existing alias was - previously declared in the same scope, the result is a newly-constructed AliasSymbol (i.e. not one from the - symbol table). - - - - - Given an extern alias declaration get the corresponding symbol for the alias that was introduced. - - - The cancellation token. - The alias symbol that was declared, or null if a duplicate alias symbol was declared. - - - - Given a base field declaration syntax, get the corresponding symbols. - - The syntax node that declares one or more fields or events. - The cancellation token. - The field symbols that were declared. - - - - Given an parameter declaration syntax node, get the corresponding symbol. - - The syntax node that declares a parameter. - The cancellation token. - The parameter that was declared. - - - - Given a type parameter declaration (field or method), get the corresponding symbol - - - The cancellation token. - - - - - The type of the expression represented by the syntax node. For expressions that do not - have a type, null is returned. If the type could not be determined due to an error, than - an object derived from ErrorTypeSymbol is returned. - - - - - The type of the expression after it has undergone an implicit conversion. If the type - did not undergo an implicit conversion, returns the same as Type. - - - - - If the expression underwent an implicit conversion, return information about that - conversion. Otherwise, returns an identity conversion. - - - - - Manages anonymous types created in owning compilation. All requests for - anonymous type symbols go via the instance of this class. - - - Manages anonymous types created on module level. All requests for anonymous type symbols - go via the instance of this class, the symbol will be either created or returned from cache. - - - - - Represents an anonymous type constructor. - - - - - Represents a getter for anonymous type property. - - - - - Represents an anonymous type 'Equals' method. - - - - - Represents an anonymous type 'GetHashCode' method. - - - - - Represents an anonymous type 'ToString' method. - - - - - Current compilation - - - - - Given anonymous type descriptor provided constructs an anonymous type symbol. - - - - - Get a symbol of constructed anonymous type property by property index - - - - - Retrieves anonymous type properties types - - - - - Given an anonymous type and new field types construct a new anonymous type symbol; - a new type symbol will reuse type descriptor from the constructed type with new type arguments. - - - - - Logical equality on anonymous types that ignores custom modifiers and/or the object/dynamic distinction. - Differs from IsSameType for arrays, pointers, and generic instantiations. - - - - - Reports all use site errors in special or well known symbols required for anonymous types - - true if there was at least one error - - - - Cache of created anonymous type templates used as an implementation of anonymous - types in emit phase. - - - - - Maps delegate signature shape (number of parameters and their ref-ness) to a synthesized generic delegate symbol. - Unlike anonymous types synthesized delegates are not available thru symbol APIs. They are only used in lowered bound trees. - Currently used for dynamic call-site sites whose signature doesn't match any of the well-known Func or Action types. - - - - - Produces name of the synthesized delegate symbol that encodes the parameter byref-ness and return type of the delegate. - The arity is appended via `N suffix since in MetadataName calculation since the delegate is generic. - - - - - Given anonymous type provided constructs an implementation type symbol to be used in emit phase; - if the anonymous type has at least one field the implementation type symbol will be created based on - a generic type template generated for each 'unique' anonymous type structure, otherwise the template - type will be non-generic. - - - - - Resets numbering in anonymous type names and compiles the - anonymous type methods. Also seals the collection of templates. - - - - - Returns all templates owned by this type manager - - - - - Returns true if the named type is an implementation template for an anonymous type - - - - - Retrieves methods of anonymous type template which are not placed to symbol table. - In current implementation those are overriden 'ToString', 'Equals' and 'GetHashCode' - - - - - Translates anonymous type public symbol into an implementation type symbol to be used in emit. - - - - - Translates anonymous type method symbol into an implementation method symbol to be used in emit. - - - - - Comparator being used for stable ordering in anonymous type indices. - - - - - Represents an anonymous type 'public' symbol which is used in binding and lowering. - In emit phase it is being substituted with implementation symbol. - - - - Properties defined in the type - - - Maps member names to symbol(s) - - - Anonymous type manager owning this template - - - Anonymous type descriptor - - - - Represents a baking field for an anonymous type template property symbol. - - - - - Represents an anonymous type template's property symbol. - - - - - Represents a base implementation for anonymous type synthesized methods. - - - - - Represents an anonymous type 'template' which is a generic type to be used for all - anonymous type having the same structure, i.e. the same number of fields and field names. - - - - Name to be used as metadata name during emit - - - This list consists of synthesized method symbols for ToString, - Equals and GetHashCode which are not part of symbol table - - - Properties defined in the template - - - Maps member names to symbol(s) - - - Anonymous type manager owning this template - - - Smallest location of the template, actually contains the smallest location - of all the anonymous type instances created using this template during EMIT - - - Key pf the anonymous type descriptor - - - - Smallest location of the template, actually contains the smallest location - of all the anonymous type instances created using this template during EMIT; - - NOTE: if this property is queried, smallest location must not be null. - - - - - In emit phase every time a created anonymous type is referenced we try to store the lowest - location of the template. It will be used for ordering templates and assigning emitted type names. - - - - - Represents an anonymous type template's type parameter. - - TODO: The symbol dones't have any behavior specific to anonymous type, so we should consider consolidating with . - - - - - Represents a compiler generated synthesized method symbol - representing string switch hash function - - - - - Compute the hashcode of a sub string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - - This method should be kept consistent with MethodBodySynthesizer.ConstructStringSwitchHashFunctionBody - The control flow in this method mimics lowered "for" loop. It is exactly what we want to emit - to ensure that JIT can do range check hoisting. - - - - - When C# interface implementation differs from CLR interface implementation, - we insert a synthesized explicit interface implementation that delegates - to the method that C# considers an implicit implementation. - There are two key scenarios for this: - 1) A single source method is implicitly implementing one or more interface - methods from metadata and the interface methods have different custom - modifiers. In this case, we explicitly implement the interface methods - and have (all) implementations delegate to the source method. - 2) A non-virtual, non-source method in a base type is implicitly implementing - an interface method. Since we can't change the "virtualness" of the - non-source method, we introduce an explicit implementation that delegates - to it instead. - - - - - Given a SynthesizedExplicitImplementationMethod (effectively a tuple (interface method, implementing method, implementing type)), - construct a BoundBlock body. Consider the tuple (Interface.Foo, Base.Foo, Derived). The generated method will look like: - - R Interface.Foo<T1, T2, ...>(A1 a1, A2 a2, ...) - { - //don't return the output if the return type is void - return this.Foo<T1, T2, ...>(a1, a2, ...); - } - - - - - If a sealed override property defines fewer accessors than the - original virtual property, it is necessary to synthesize a sealed - accessor so that the accessor will not be overridable from metadata. - - - - - Given a SynthesizedSealedPropertyAccessor (an accessor with a reference to the accessor it overrides), - construct a BoundBlock body. - - - - - a bound node rewriter that rewrites types properly (which in some cases the automatically-generated - base class does not). This is used in the lambda rewriter, the iterator rewriter, and the async rewriter. - - - - - A wrapper method that is created for non-virtually calling a base-class - virtual method from other classes (like those created for lambdas...). - - - - - Given a SynthesizedSealedPropertyAccessor (an accessor with a reference to the accessor it overrides), - construct a BoundBlock body. - - - - A not-null collection of synthesized methods generated for the current source type. - - - - Contains methods related to synthesizing bound nodes in lowered form - that does not need any processing before passing to codegen - - - - - Construct a body for a method containing a call to a single other method with the same signature (modulo name). - - Bound node factory. - Method to invoke in constructed body. - True for "base.", false for "this.". - Body for implementedMethod. - - - - An ArrayTypeSymbol represents an array type, such as int[] or object[,]. - - - - - Create a new ArrayTypeSymbol. - - The element type of this array type. - Custom modifiers for the element type of this array type. - The rank of this array type. - The assembly "declaring"/using the array type. - - - - Gets the list of custom modifiers associated with the array. - Returns an empty list if there are no custom modifiers. - - - - - Gets the number of dimensions of the array. A regular single-dimensional array - has rank 1, a two-dimensional array has rank 2, etc. - - - - - Gets the type of the elements stored in the array. - - - - - Represents an attribute applied to a Symbol. - - - - - Gets the attribute class being applied. - - - - - Gets the constructor used in this application of the attribute. - - - - - Gets a reference to the source for this application of the attribute. Returns null for applications of attributes on metadata Symbols. - - - - - Gets the list of constructor arguments specified by this application of the attribute. This list contains both positional arguments - and named arguments that are formal parameters to the constructor. - - - - - Gets the list of named field or property value arguments specified by this application of the attribute. - - - - - Compares the namespace and type name with the attribute's namespace and type name. - Returns true if they are the same. - - - - - Checks if an applied attribute with the given attributeType matches the namespace name and type name of the given early attribute's description - and the attribute description has a signature with parameter count equal to the given attribute syntax's argument list count. - NOTE: We don't allow early decoded attributes to have optional parameters. - - - - - Returns the that represents the current AttributeData. - - A that represents the current AttributeData. - - - - Gets the attribute class being applied as an - - - - - Gets the constructor used in this application of the attribute as an . - - - - - Gets a reference to the source for this application of the attribute. Returns null for applications of attributes on metadata Symbols. - - - - - Decodes PermissionSetAttribute applied in source to determine if it needs any fixup during codegen. - - - PermissionSetAttribute needs fixup when it contains an assignment to the 'File' property as a single named attribute argument. - Fixup performed is ported from SecurityAttributes::FixUpPermissionSetAttribute. - It involves following steps: - 1) Verifying that the specified file name resolves to a valid path. - 2) Reading the contents of the file into a byte array. - 3) Convert each byte in the file content into two bytes containing hexa-decimal characters. - 4) Replacing the 'File = fileName' named argument with 'Hex = hexFileContent' argument, where hexFileContent is the converted output from step 3) above. - - Step 1) is performed in this method, i.e. during binding. - Remaining steps are performed during serialization as we want to avoid retaining the entire file contents throughout the binding/codegen pass. - See for remaining fixup steps. - - String containing the resolved file path if PermissionSetAttribute needs fixup during codegen, null otherwise. - - - - This method determines if an applied attribute must be emitted. - Some attributes appear in symbol model to reflect the source code, - but should not be emitted. - - - - - Represents a custom modifier (modopt/modreq). - - - - - A type used as a tag that indicates which type of modification applies. - - - - - Represents an event. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - The type of the event. - - - - - The 'add' accessor of the event. Null only in error scenarios. - - - - - The 'remove' accessor of the event. Null only in error scenarios. - - - - - True if this is a Windows Runtime-style event. - - A normal C# event, "event D E", has accessors - void add_E(D d) - void remove_E(D d) - - A Windows Runtime event, "event D E", has accessors - EventRegistrationToken add_E(D d) - void remove_E(EventRegistrationToken t) - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - Gets the attributes on event's associated field, if any. - Returns an empty if - there are no attributes. - - - This publicly exposes the attributes of the internal backing field. - - - - - Returns the overridden event, or null. - - - - - Source: Was the member name qualified with a type name? - Metadata: Is the member an explicit implementation? - - - Will not always agree with ExplicitInterfaceImplementations.Any() - (e.g. if binding of the type part of the name fails). - - - - - Returns interface events explicitly implemented by this event. - - - Events imported from metadata can explicitly implement more than one event. - - - - - Gets the kind of this symbol. - - - - - Implements visitor pattern. - - - - - Represents a field in a class, struct or enum - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Gets the type of this field. - - - - - Gets the list of custom modifiers, if any, associated with the field. - - - - - If this field serves as a backing variable for an automatically generated - property or a field-like event or a Primary Constructor Parameter, returns that - property/event/parameter. Otherwise returns null. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns true if this field was declared as "readonly". - - - - - Returns true if this field was declared as "volatile". - - - - - Returns true if this field was declared as "fixed". - Note that for a fixed-size buffer declaration, this.Type will be a pointer type, of which - the pointed-to type will be the declared element type of the fixed-size buffer. - - - - - If IsFixed is true, the value between brackets in the fixed-size-buffer declaration. - If IsFixed is false FixedSize is 0. - Note that for fixed-a size buffer declaration, this.Type will be a pointer type, of which - the pointed-to type will be the declared element type of the fixed-size buffer. - - - - - If this.IsFixed is true, returns the underlying implementation type for the - fixed-size buffer when emitted. Otherwise returns null. - - - - - Returns true when field is a backing field for a captured frame pointer (typically "this"). - - - - - Returns true if this field was declared as "const" (i.e. is a constant declaration). - Also returns true for an enum member. - - - - - Returns false if the field wasn't declared as "const", or constant value was omitted or erroneous. - True otherwise. - - - - - If IsConst returns true, then returns the constant value of the field or enum member. If IsConst returns - false, then returns null. - - - - - Gets the kind of this symbol. - - - - - Returns false because field can't be abstract. - - - - - Returns false because field can't be defined externally. - - - - - Returns false because field can't be overridden. - - - - - Returns false because field can't be sealed. - - - - - Returns false because field can't be virtual. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - True if this symbol has a runtime-special name (metadata flag RuntimeSpecialName is set). - - - - - True if this field is not serialized (metadata flag NotSerialized is set). - - - - - True if this field has a pointer type. - - - By default we defer to this.Type.IsPointerType() - However in some cases this may cause circular dependency via binding a - pointer that points to the type that contains the current field. - Fortunately in those cases we do not need to force binding of the field's type - and can just check the declaration syntax if the field type is not yet known. - - - - - Describes how the field is marshalled when passed to native code. - Null if no specific marshalling information is available for the field. - - PE symbols don't provide this information and always return null. - - - - Returns the marshalling type of this field, or 0 if marshalling information isn't available. - - - By default this information is extracted from if available. - Since the compiler does only need to know the marshalling type of symbols that aren't emitted - PE symbols just decode the type from metadata and don't provide full marshalling information. - - - - - Offset assigned to the field when the containing type is laid out by the VM. - Null if unspecified. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Represents a method or method-like symbol (including constructor, - destructor, operator, or property/event accessor). - - - - - This method indicates whether or not the runtime will regard the method - as newslot (as indicated by the presence of the "newslot" modifier in the - signature). - WARN WARN WARN: We won't have a final value for this until declaration - diagnostics have been computed for all s, so pass - ignoringInterfaceImplementationChanges: true if you need a value sooner - and aren't concerned about tweaks made to satisfy interface implementation - requirements. - NOTE: Not ignoring changes can only result in a value that is more true. - - - - - This method indicates whether or not the runtime will regard the method - as virtual (as indicated by the presence of the "virtual" modifier in the - signature). - WARN WARN WARN: We won't have a final value for this until declaration - diagnostics have been computed for all s, so pass - ignoringInterfaceImplementationChanges: true if you need a value sooner - and aren't concerned about tweaks made to satisfy interface implementation - requirements. - NOTE: Not ignoring changes can only result in a value that is more true. - - - - - This method indicates whether or not the runtime will regard the method - as final (as indicated by the presence of the "final" modifier in the - signature). - NOTE: The method is supposed to only be called from emitter. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Gets what kind of method this is. There are several different kinds of things in the - C# language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - Returns the arity of this method, or the number of type parameters it takes. - A non-generic method has zero arity. - - - - - Returns whether this method is generic; i.e., does it have any type parameters? - - - - - Returns true if this method is an extension method. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - Misc implementation metadata flags (ImplFlags in metadata). - - - - - True if the type has declarative security information (HasSecurity flags). - - - - - Platform invoke information, or null if the method isn't a P/Invoke. - - - - - Declaration security information associated with this type, or null if there is none. - - - - - Marshalling information for return value (FieldMarshal in metadata). - - - - - True if the method calls another method containing security code (metadata flag RequiresSecurityObject is set). - - - A method can me marked as RequiresSecurityObject by applying the DynamicSecurityMethodAttribute in source. - DynamicSecurityMethodAttribute is a pseudo custom attribute defined as an internal class in System.Security namespace. - This attribute is set on certain security methods defined within mscorlib. - - - - - Returns true if this method hides base methods by name. This cannot be specified directly - in the C# language, but can be true for methods defined in other languages imported from - metadata. The equivalent of the "hidebyname" flag in metadata. - - - - - Returns whether this method is using CLI VARARG calling convention. This is used for C-style variable - argument lists. This is used extremely rarely in C# code and is represented using the undocumented “__arglist” keyword. - - Note that methods with “params” on the last parameter are indicated with the “IsParams” property on ParameterSymbol, and - are not represented with this property. - - - - - Returns whether this built-in operator checks for integer overflow. - - - - - Returns true if this method has no return type; i.e., returns "void". - - - - - Source: Returns whether this method is async; i.e., does it have the async modifier? - Metadata: Returns false; methods from metadata cannot be async. - - - - - Gets the return type of the method - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a given type parameter, - then the type parameter itself is consider the type argument. - - - - - Get the type parameters on this method. If the method has not generic, - returns an empty list. - - - - - Get the "this" parameter for this method. This is only valid for original source methods. - For other methods it throws an InvalidOperationException. Returns null for a static method, - or a parameter symbol for a non-static method. - - - - - Optimization: in many cases, the parameter count (fast) is sufficient and we - don't need the actual parameter symbols (slow). - - - The default implementation is always correct, but may be unnecessarily slow. - - - - - Gets the parameters of this method. If this method has no parameters, returns - an empty list. - - - - - Returns the method symbol that this method was constructed from. The resulting - method symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - Source: Was the member name qualified with a type name? - Metadata: Is the member an explicit implementation? - - - Will not always agree with ExplicitInterfaceImplementations.Any() - (e.g. if binding of the type part of the name fails). - - - - - Returns interface methods explicitly implemented by this method. - - - Methods imported from metadata can explicitly implement more than one method, - that is why return type is ImmutableArray. - - - - - Returns the list of custom modifiers, if any, associated with the returned value. - - - - - Gets the attributes on method's return type. - Returns an empty array if there are no attributes. - - - - - If this method has MethodKind of MethodKind.PropertyGet or MethodKind.PropertySet, - returns the property that this method is the getter or setter for. - If this method has MethodKind of MethodKind.EventAdd or MethodKind.EventRemove, - returns the event that this method is the adder or remover for. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns the original virtual or abstract method which a given method symbol overrides, - ignoring any other overriding methods in base classes. - - The search must respect accessibility from this type. - - - - Returns the original virtual or abstract method which a given method symbol overrides, - ignoring any other overriding methods in base classes. - Also, if the given method symbol is generic then the resulting virtual or abstract method is constructed with the - same type arguments as the given method. - - - - - If this method overrides another method (because it both had the override modifier - and there correctly was a method to override), returns the overridden method. - Note that if an overriding method D.M overrides C.M, which in turn overrides - virtual method A.M, the "overridden method" of D.M is C.M, not the original virtual - method A.M. Note also that constructed generic methods are not considered to - override anything. - - - - - Returns true if calls to this method are omitted in this syntax tree. Calls are omitted - when the called method is a partial method with no implementation part, or when the - called method is a conditional method whose condition is not true in the source file - corresponding to the given syntax tree. - - - - - Calls are conditionally omitted if both the following requirements are true: - (a) IsConditional == true, i.e. it has at least one applied/inherited conditional attribute AND - (b) None of conditional symbols corresponding to these conditional attributes are defined in the given syntaxTree. - - - Forces binding and decoding of attributes. - - - - - Returns a sequence of preprocessor symbols specified in applied on this symbol, or null if there are none. - - - - - Returns a flag indicating whether this symbol has at least one applied/inherited conditional attribute. - - - Forces binding and decoding of attributes. - - - - - Some method kinds do not participate in overriding/hiding (e.g. constructors). - - - - - Returns value 'Method' of the - - - - - Returns true if this symbol represents a constructor of a script class. - - - - - Returns if the method is implicit constructor (normal and static) - - - - - Returns true if this symbol represents a constructor of an interactive submission class. - - - - - Determines whether this method is a candidate for a default assembly entry point - (i.e. it is a static method called "Main"). - - - - - Checks if the method has an entry point compatible signature, i.e. - - the return type is either void or int - - has either no parameter or a single parameter of type string[] - - - - - If this is an extension method that can be applied to a receiver of the given type, - returns a reduced extension method symbol thus formed. Otherwise, returns null. - - - - - If this is an extension method, returns a reduced extension method - symbol representing the method. Otherwise, returns null. - - - - - If this method is a reduced extension method, returns the extension method that - should be used at call site during ILGen. Otherwise, returns null. - - - - - If this is a partial method declaration without a body, and the method also - has a part that implements it with a body, returns that implementing - definition. Otherwise null. - - - - - If this is a partial method with a body, returns the corresponding - definition part (without a body). Otherwise null. - - - - - If this method is a reduced extension method, gets the extension method definition that - this method was reduced from. Otherwise, returns null. - - - - - If this method can be applied to an object, returns the type of object it is applied to. - - - - - If this method is a reduced extension method, returns a type inferred during reduction process for the type parameter. - - Type parameter of the corresponding method. - Inferred type or Nothing if nothing was inferred. - If this is not a reduced extension method. - If is null. - If doesn't belong to the corresponding method. - - - - Apply type substitution to a generic method to create an method symbol with the given type parameters supplied. - - - - - - - Apply type substitution to a generic method to create an method symbol with the given type parameters supplied. - - - - - - - Apply type substitution to a generic method to create an method symbol with the given type parameters supplied. - - - - - - - As a performance optimization, cache parameter types and refkinds - overload resolution uses them a lot. - - - - - Null if no parameter is ref/out. Otherwise the RefKind for each parameter. - - - - - Returns the map from type parameters to type arguments. - If this is not a generic method instantiation, returns null. - The map targets the original definition of the method. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - If the method was written as an iterator method (i.e. with yield statements in its body) returns the - element type of the iterator. Otherwise returns null. - - - - - Generates bound block representing method's body for methods in lowered form and adds it to - a collection of method bodies of the current module. This method is supposed to only be - called for method symbols which return SynthesizesLoweredBoundBody == true. - - - - - Returns true for synthesized sybols which generate synthesized body in lowered form - - - - - If true and is not , - the compiler generates debug information for this method. - - - Generally should return true iff the method contains user code. - - - - - When a state machine method MoveNext() is generated for an async method, additional information is - supposed to be written into PDB file; this property links such a MoveNext() method to an original - async method and should only be overriden in the method symbol created in AsyncRewriter representing - the synthesized MoveNext() method - - - - - Build and add synthesized return type attributes for this method symbol. - - - - - Represents a type other than an array, a pointer, a type parameter, and dynamic. - - - - - Gets the set of interfaces to emit on this type. This set can be different from the set returned by Interfaces property. - - - - - Add the type to the builder and then recurse on its interfaces. - - - Pre-order depth-first search. - - - - - To represent a gap in interface's v-table null value should be returned in the appropriate position, - unless the gap has a symbol (happens if it is declared in source, for example). - - - - - Returns the arity of this type, or the number of type parameters it takes. - A non-generic type has zero arity. - - - - - Returns the type parameters that this type has. If this is a non-generic type, - returns an empty ImmutableArray. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a give type parameters, - then the type parameter itself is consider the type argument. - - - - - Returns the type symbol that this type was constructed from. This type symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - For enum types, gets the underlying type. Returns null on all other - kinds of types. - - - - - Returns true for a struct type containing a cycle. - This property is intended for flow analysis only - since it is only implemented for source types. - - - - - Is this a NoPia local type explicitly declared in source, i.e. - top level type with a TypeIdentifier attribute on it? - - - - - Returns true and a string from the first GuidAttribute on the type, - the string might be null or an invalid guid representation. False, - if there is no GuidAttribute with string argument. - - - - - For delegate types, gets the delegate's invoke method. Returns null on - all other kinds of types. Note that is is possible to have an ill-formed - delegate type imported from metadata which does not have an Invoke method. - Such a type will be classified as a delegate but its DelegateInvokeMethod - would be null. - - - - - Get the operators for this type by their metadata name - - - - - Get the instance constructors for this type. - - - - - Get the static constructors for this type. - - - - - Get the instance and static constructors for this type. - - - - - Get the indexers for this type. - - - Won't include indexers that are explicit interface implementations. - - - - - Returns true if this type might contain extension methods. If this property - returns false, there are no extension methods in this type. - - - This property allows the search for extension methods to be narrowed quickly. - - - - - Returns true if this type is known to be a reference type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Returns true if this type is known to be a value type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Gets the associated attribute usage info for an attribute type. - - - - - Returns true if the type is a Script class. - It might be an interactive submission class or a Script class in a csx file. - - - - - Returns true if the type is the implicit class that holds onto invalid global members (like methods or - statements in a non script file). - - - - - Gets the name of this symbol. Symbols without a name return the empty string; null is - never returned. - - - - - Return the name including the metadata arity suffix. - - - - - Should the name returned by Name property be mangled with [`arity] suffix in order to get metadata name. - Must return False for a type with Arity == 0. - - - - - Collection of names of members declared within this type. - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name, of any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name and arity - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns null. - - - - Get this accessibility that was declared on this symbol. For symbols that do not have - accessibility declared on them, returns NotApplicable. - - - - - Used to implement visitor pattern. - - - - - During early attribute decoding, we consider a safe subset of all members that will not - cause cyclic dependencies. Get all such members for this symbol. - - - Never returns null (empty instead). - Expected implementations: for source, return type and field members; for metadata, return all members. - - - - - During early attribute decoding, we consider a safe subset of all members that will not - cause cyclic dependencies. Get all such members for this symbol that have a particular name. - - - Never returns null (empty instead). - Expected implementations: for source, return type and field members; for metadata, return all members. - - - - - Gets the kind of this symbol. - - - - - Compares this type to another type. - - - - - Helper for more complicated cases of Equals like when we have generic instantiations or types nested within them. - - - - - Returns a constructed type given its type arguments. - - The immediate type arguments to be replaced for type - parameters in the type. - - - - - Returns a constructed type given its type arguments. - - The immediate type arguments to be replaced for type - parameters in the type. - - - - - Returns a constructed type given its type arguments. - - - - - - - Returns an unbound generic type of this named type. - - - - - True if this type or some containing type has type parameters. - - - - - True if this is a reference to an unbound generic type. These occur only - within a typeof expression. A generic type is considered unbound - if all of the type argument lists in its fully qualified name are empty. - Note that the type arguments of an unbound generic type will be returned as error - types because they do not really have type arguments. An unbound generic type - yields null for its BaseType and an empty result for its Interfaces. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Returns the map from type parameters to type arguments. - If this is not a generic type instantiation, returns null. - The map targets the original definition of the type. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - Returns a flag indicating whether this symbol is ComImport. - - - A type can me marked as a ComImport type in source by applying the - - - - - True if the type is a Windows runtime type. - - - A type can me marked as a Windows runtime type in source by applying the WindowsRuntimeImportAttribute. - WindowsRuntimeImportAttribute is a pseudo custom attribute defined as an internal class in System.Runtime.InteropServices.WindowsRuntime namespace. - This is needed to mark Windows runtime types which are redefined in mscorlib.dll and System.Runtime.WindowsRuntime.dll. - These two assemblies are special as they implement the CLR's support for WinRT. - - - - - True if the type should have its WinRT interfaces projected onto .NET types and - have missing .NET interface members added to the type. - - - - - Returns a flag indicating whether this symbol has at least one applied/inherited conditional attribute. - - - Forces binding and decoding of attributes. - - - - - True if the type is serializable (has Serializable metadata flag). - - - - - Type layout information (ClassLayout metadata and layout kind flags). - - - - - The default charset used for type marshalling. - Can be changed via applied on the containing module. - - - - - Marshalling charset of string data fields within the type (string formatting flags in metadata). - - - - - True if the type has declarative security information (HasSecurity flags). - - - - - Declaration security information associated with this type, or null if there is none. - - - - - Returns a sequence of preprocessor symbols specified in applied on this symbol, or null if there are none. - - - - - If CoClassAttribute was applied to the type and the attribute argument is a valid named type argument, i.e. accessible class type, then it returns the type symbol for the argument. - Otherwise, returns null. - - - - This property invokes force completion of attributes. If you are accessing this property - from the binder, make sure that we are not binding within an Attribute context. - This could lead to a possible cycle in attribute binding. - We can avoid this cycle by first checking if we are within the context of an Attribute argument, - i.e. if(!binder.InAttributeArgument) { ... namedType.ComImportCoClass ... } - - - CONSIDER: We can remove the above restriction and possibility of cycle if we do an - early binding of some well known attributes. - - - - - - If class represents fixed buffer, this property returns the FixedElementField - - - - - Requires less computation than == . - - - Metadata types need to compute their base types in order to know their TypeKinds, and that can lead - to cycles if base types are already being computed. - - True if this is an interface type. - - - - Represents a parameter of a method or indexer. - - - - - Gets constant value to be stored in metadata Constant table. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Gets the type of the parameter. - - - - - Determines if the parameter ref, out or neither. - - - - - The list of custom modifiers, if any, associated with the parameter. - - - - - Describes how the parameter is marshalled when passed to native code. - Null if no specific marshalling information is available for the parameter. - - PE symbols don't provide this information and always return null. - - - - Returns the marshalling type of this parameter, or 0 if marshalling information isn't available. - - - By default this information is extracted from if available. - Since the compiler does only need to know the marshalling type of symbols that aren't emitted - PE symbols just decode the type from metadata and don't provide full marshalling information. - - - - - Gets the ordinal position of the parameter. The first parameter has ordinal zero. - The "'this' parameter has ordinal -1. - - - - - Returns true if the parameter was declared as a parameter array. - - - - - Returns true if the parameter is semantically optional. - - - True iff the parameter has a default argument syntax, - or the parameter is not a params-array and Optional metadata flag is set. - - - - - True if Optional flag is set in metadata. - - - - - True if Out flag is set in metadata. - - - - - True if In flag is set in metadata. - - - - - Returns true if the parameter explicitly specifies a default value to be passed - when no value is provided as an argument to a call. - - - True if the parameter has a default argument syntax, - or the parameter is from source and is applied, - or the parameter is from metadata and HasDefault metadata flag is set. See - to determine if the parameter will be considered optional by - overload resolution. - - The default value can be obtained with property. - - - - - Returns the default value of the parameter. If - returns false then DefaultValue throws an InvalidOperationException. - - - If the parameter type is a struct and the default value of the parameter - is the default value of the struct type or of type parameter type which is - not known to be a referenced type, then this property will return null. - - The parameter has no default value. - - - - Returns the default value constant of the parameter, - or null if the parameter doesn't have a default value or - the parameter type is a struct and the default value of the parameter - is the default value of the struct type or of type parameter type which is - not known to be a referenced type. - - - This is used for emitting. It does not reflect the language semantics - (i.e. even non-optional parameters can have default values). - - - - - Gets the kind of this symbol. - - - - - Implements visitor pattern. - - - - - Get this accessibility that was declared on this symbol. For symbols that do not have - accessibility declared on them, returns NotApplicable. - - - - - Returns true if this symbol was declared as requiring an override; i.e., declared with - the "abstract" modifier. Also returns true on a type declared as "abstract", all - interface types, and members of interface types. - - - - - Returns true if this symbol was declared to override a base class member and was also - sealed from further overriding; i.e., declared with the "sealed" modifier. Also set for - types that do not allow a derived class (declared with "sealed" or "static" or "struct" - or "enum" or "delegate"). - - - - - Returns true if this symbol is "virtual", has an implementation, and does not override a - base class member; i.e., declared with the "virtual" modifier. Does not return true for - members declared as abstract or override. - - - - - Returns true if this symbol was declared to override a base class member; i.e., declared - with the "override" modifier. Still returns true if member was declared to override - something, but (erroneously) no member to override exists. - - - - - Returns true if this symbol is "static"; i.e., declared with the "static" modifier or - implicitly static. - - - - - Returns true if this symbol has external implementation; i.e., declared with the - "extern" modifier. - - - - - Returns true if the parameter is the hidden 'this' parameter. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - The CLI spec says that custom modifiers must precede the ByRef type code in the encoding of a parameter. - Unfortunately, the managed C++ compiler emits them in the reverse order. In order to avoid breaking - interop scenarios, we need to support such signatures. When this flag is set, we need to reverse the - emit order. - - - We support before (correct) and after (incorrect, but works), but not in between. - - - - - Represents a pointer type such as "int *". Pointer types - are used only in unsafe code. - - - - - Create a new PointerTypeSymbol. - - The type being pointed at. - - - - Create a new PointerTypeSymbol. - - The type being pointed at. - Custom modifiers for the element type of this array type. - - - - The list of custom modifiers, if any, associated with the pointer type. - - - - - Gets the type of the storage location that an instance of the pointer type points to. - - - - - Represents a property or indexer. - - - - - As a performance optimization, cache parameter types and refkinds - overload resolution uses them a lot. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - The type of the property. - - - - - The list of custom modifiers, if any, associated with the type of the property. - - - - - The parameters of this property. If this property has no parameters, returns - an empty list. Parameters are only present on indexers, or on some properties - imported from a COM interface. - - - - - Optimization: in many cases, the parameter count (fast) is sufficient and we - don't need the actual parameter symbols (slow). - - - - - Returns whether the property is really an indexer. - - - In source, we regard a property as an indexer if it is declared with an IndexerDeclarationSyntax. - From metadata, we regard a property if it has parameters and is a default member of the containing - type. - CAVEAT: To ensure that this property (and indexer Names) roundtrip, source properties are not - indexers if they are explicit interface implementations (since they will not be marked as default - members in metadata). - - - - - True if this an indexed property; that is, a property with parameters - within a [ComImport] type. - - - - - True if this is a read-only property; that is, a property with no set accessor. - - - - - True if this is a write-only property; that is, a property with no get accessor. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - The 'get' accessor of the property, or null if the property is write-only. - - - - - The 'set' accessor of the property, or null if the property is read-only. - - - - - Returns the overridden property, or null. - - - - - Source: Was the member name qualified with a type name? - Metadata: Is the member an explicit implementation? - - - Will not always agree with ExplicitInterfaceImplementations.Any() - (e.g. if binding of the type part of the name fails). - - - - - Returns interface properties explicitly implemented by this property. - - - Properties imported from metadata can explicitly implement more than one property. - - - - - Gets the kind of this symbol. - - - - - Implements visitor pattern. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Represents a type parameter in a generic type or generic method. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - If this is a type parameter of a reduced extension method, gets the type parameter definition that - this type parameter was reduced from. Otherwise, returns Nothing. - - - - - The ordinal position of the type parameter in the parameter list which declares - it. The first type parameter has ordinal zero. - - - - - The types that were directly specified as constraints on the type parameter. - Duplicates and cycles are removed, although the collection may include - redundant constraints where one constraint is a base type of another. - - - - - True if the parameterless constructor constraint was specified for the type parameter. - - - - - The type parameter kind of this type parameter. - - - - - The method that declared this type parameter, or null. - - - - - The type that declared this type parameter, or null. - - - - - The effective base class of the type parameter (spec 10.1.5). If the deduced - base type is a reference type, the effective base type will be the same as - the deduced base type. Otherwise if the deduced base type is a value type, - the effective base type will be the most derived reference type from which - deduced base type is derived. - - - - - The effective interface set (spec 10.1.5). - - - - - The most encompassed type (spec 6.4.2) from the constraints. - - - - - The effective interface set and any base interfaces of those - interfaces. This is AllInterfaces excluding interfaces that are - only implemented by the effective base type. - - - - - Called by , , , and . - to allow derived classes to ensure constraints within the containing - type or method are resolved in a consistent order, regardless of the - order the callers query individual type parameters. - - - - - Helper method to force type parameter constraints to be resolved. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - State machine interface property implementation. - - - - - A base method symbol used as a base class for lambda method symbol and base method wrapper symbol. - - - - - Abstract base class for mutable and immutable type maps. - - - - - Substitute for a type declaration. May use alpha renaming if the container is substituted. - - - - - SubstType, but for NamedTypeSymbols only. This is used for concrete types, so no alpha substitution appears in the result. - - - - - Perform the substitution on the given type. Each occurrence of the type parameter is - replaced with its corresponding type argument from the map. - - The type to be rewritten. - The type with type parameters replaced with the type arguments. - - - - Substitute types, and return the results without duplicates, preserving the original order. - - - - - Like SubstTypes, but for NamedTypeSymbols. - - - - - Symbol representing a using alias appearing in a compilation unit or within a namespace - declaration. Generally speaking, these symbols do not appear in the set of symbols reachable - from the unnamed namespace declaration. In other words, when a using alias is used in a - program, it acts as a transparent alias, and the symbol to which it is an alias is used in - the symbol table. For example, in the source code -
-            namespace NS
-            {
-                using o = System.Object;
-                partial class C : o {}
-                partial class C : object {}
-                partial class C : System.Object {}
-            }
-            
- all three declarations for class C are equivalent and result in the same symbol table object - for C. However, these using alias symbols do appear in the results of certain SemanticModel - APIs. Specifically, for the base clause of the first of C's class declarations, the - following APIs may produce a result that contains an AliasSymbol: -
-                SemanticInfo SemanticModel.GetSemanticInfo(ExpressionSyntax expression);
-                SemanticInfo SemanticModel.BindExpression(CSharpSyntaxNode location, ExpressionSyntax expression);
-                SemanticInfo SemanticModel.BindType(CSharpSyntaxNode location, ExpressionSyntax type);
-                SemanticInfo SemanticModel.BindNamespaceOrType(CSharpSyntaxNode location, ExpressionSyntax type);
-            
- Also, the following are affected if container==null (and, for the latter, when arity==null - or arity==0): -
-                IList<string> SemanticModel.LookupNames(CSharpSyntaxNode location, NamespaceOrTypeSymbol container = null, LookupOptions options = LookupOptions.Default, List<string> result = null);
-                IList<Symbol> SemanticModel.LookupSymbols(CSharpSyntaxNode location, NamespaceOrTypeSymbol container = null, string name = null, int? arity = null, LookupOptions options = LookupOptions.Default, List<Symbol> results = null);
-            
-
-
- - - Gets the for the - namespace or type referenced by the alias. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Using aliases in C# are always contained within a namespace declaration, or at the top - level within a compilation unit, within the implicit unnamed namespace declaration. We - return that as the "containing" symbol, even though the alias isn't a member of the - namespace as such. - - - - - Describes anonymous type in terms of fields - - - - Anonymous type location - - - Anonymous type fields - - - - Anonymous type descriptor Key - - The key is to be used to separate anonymous type templates in an anonymous type symbol cache. - The type descriptors with the same keys are supposed to map to 'the same' anonymous type - template in terms of the same generic type being used for their implementation. - - - - - Compares two anonymous type descriptors, takes into account fields names and types, not locations. - - - - - Compares two anonymous type descriptorss, takes into account fields names and types, not locations. - - - - - Creates a new anonymous type descriptor based on 'this' one, - but having field types passed as an argument. - - - - - Describes anonymous type field in terms of its name, type and other attributes - - - - Anonymous type field name, not nothing and not empty - - - Anonymous type field location - - - Anonymous type field type - - - - Represents a .NET assembly, consisting of one or more modules. - - - - - The system assembly, which provides primitive types like Object, String, etc., e.g. mscorlib.dll. - The value is provided by ReferenceManager and must not be modified. For SourceAssemblySymbol, non-missing - coreLibrary must match one of the referenced assemblies returned by GetReferencedAssemblySymbols() method of - the main module. If there is no existing assembly that can be used as a source for the primitive types, - the value is a Compilation.MissingCorLibrary. - - - - - The system assembly, which provides primitive types like Object, String, etc., e.g. mscorlib.dll. - The value is MissingAssemblySymbol if none of the referenced assemblies can be used as a source for the - primitive types and the owning assembly cannot be used as the source too. Otherwise, it is one of - the referenced assemblies returned by GetReferencedAssemblySymbols() method or the owning assembly. - - - - - A helper method for ReferenceManager to set the system assembly, which provides primitive - types like Object, String, etc., e.g. mscorlib.dll. - - - - - Simple name the assembly. - - - This is equivalent to ., but may be - much faster to retrieve for source code assemblies, since it does not require binding - the assembly-level attributes that contain the version number and other assembly - information. - - - - - Gets the identity of this assembly. - - - - - Target architecture of the machine. - - - - - Indicates that this PE file makes Win32 calls. See CorPEKind.pe32BitRequired for more information (http://msdn.microsoft.com/en-us/library/ms230275.aspx). - - - - - Gets the merged root namespace that contains all namespaces and types defined in the modules - of this assembly. If there is just one module in this assembly, this property just returns the - GlobalNamespace of that module. - - - - - Given a namespace symbol, returns the corresponding assembly specific namespace symbol - - - - - Gets a read-only list of all the modules in this assembly. (There must be at least one.) The first one is the main module - that holds the assembly manifest. - - - - - Does this symbol represent a missing assembly. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - True if the assembly contains interactive code. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name with generic name mangling. - - - Take forwarded types into account. - - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. Detect cycles during lookup. - - - Full type name, possibly with generic name mangling. - - - List of assemblies lookup has already visited (since type forwarding can introduce cycles). - - - Take forwarded types into account. - - - - - Returns the type symbol for a forwarded type based its canonical CLR metadata name. - The name should refer to a non-nested type. If type with this name is not forwarded, - null is returned. - - - - - Look up the given metadata type, if it is forwarded. - - - - - Look up the given metadata type, if it is forwarded. - - - - - Lookup declaration for predefined CorLib type in this Assembly. - - - - - - - - Register declaration of predefined CorLib type in this Assembly. - - - - - - Continue looking for declaration of predefined CorLib type in this Assembly - while symbols for new type declarations are constructed. - - - - - Return an array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by previous compilation referencing this assembly. - - - - - - Return an array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Returns true and a string from the first GuidAttribute on the assembly, - the string might be null or an invalid guid representation. False, - if there is no GuidAttribute with string argument. - - - - - Gets the set of type identifiers from this assembly. - - - These names are the simple identifiers for the type, and do not include namespaces, - outer type names, or type parameters. - - This functionality can be used for features that want to quickly know if a name could be - a type for performance reasons. For example, classification does not want to incur an - expensive binding call cost if it knows that there is no type with the name that they - are looking at. - - - - - Gets the set of namespace names from this assembly. - - - - - Returns true if this assembly might contain extension methods. If this property - returns false, there are no extension methods in this assembly. - - - This property allows the search for extension methods to be narrowed quickly. - - - - - Gets the symbol for the pre-defined type from core library associated with this assembly. - - The symbol for the pre-defined type or null if the type is not defined in the core library. - - - - The NamedTypeSymbol for the .NET System.Object type, which could have a TypeKind of - Error if there was no COR Library in a compilation using the assembly. - - - - - Get symbol for predefined type from Cor Library used by this assembly. - - - - - - - Lookup a type within the assembly using the canonical CLR metadata name of the type. - - Type name. - Symbol for the type or null if type cannot be found or is ambiguous. - - - - Lookup a type within the assembly using its canonical CLR metadata name. - - - - If search within assembly fails, lookup in assemblies referenced by the primary module. - For source assembly, this is equivalent to all assembly references given to compilation. - - - Extra restrictions apply when searching for a well-known type. In particular, the type must be public. - - - While resolving the name, consider only types following CLS-compliant generic type names and arity encoding (ECMA-335, section 10.7.2). - I.e. arity is inferred from the name and matching type must have the same emitted name and arity. - - - A diagnostic bag to receive warnings if we should allow multiple definitions and pick one. - - Null if the type can't be found. - - - - Resolves to a available in this assembly - its referenced assemblies. - - The type to resolve. - Use referenced assemblies for resolution. - The resolved symbol if successful or null on failure. - - - - Return a list of assembly symbols than can be accessed without using an alias. - For example: - 1) /r:A.dll /r:B.dll -> A, B - 2) /r:Foo=A.dll /r:B.dll -> B - 3) /r:Foo=A.dll /r:A.dll -> A - - Note that it only makes sense to call this method on a SourceAssemblySymbol since - alias information is per-compilation. - - - - - Lookup member declaration in predefined CorLib type in this Assembly. Only valid if this - assembly is the Cor Library - - - - - Lookup member declaration in predefined CorLib type used by this Assembly. - - - - - Represents a PE custom attribute - - - - - Matches an attribute by metadata namespace, metadata type name. Does not load the type symbol for - the attribute. - - - - True if the attribute data matches. - - - - Matches an attribute by metadata namespace, metadata type name and metadata signature. Does not load the - type symbol for the attribute. - - Target symbol. - Attribute to match. - - An index of the target constructor signature in - signatures array, -1 if - this is not the target attribute. - - - - - Decodes applied to a specified metadata symbol and - transforms the specified metadata type, using the decoded dynamic transforms attribute argument, - by replacing each occurrence of type with dynamic type. - - - This is a port of TypeManager::ImportDynamicTransformType from the native compiler. - Comments from the C# design document for Dynamic: - SPEC: To represent the dynamic type in metadata, any indexer, field or return value typed as dynamic or known to be a constructed type - SPEC: containing dynamic will have each occurrence of dynamic erased to object and will be annotated with a [DynamicAttribute]. - SPEC: If the relevant type is a constructed type, the attribute’s constructor is passed a bool array. - SPEC: This array represents a preorder traversal of each “node” in the constructed type’s “tree of types”, - SPEC: with true set for each “node” that is dynamic, and false set for all other types. - SPEC: When dynamic occurs as part of the base type of a type, the applicable [DynamicAttribute] is applied to the type itself. - - - - - Decodes the attributes applied to the given from metadata and checks if is applied. - If so, it transforms the given , using the decoded dynamic transforms attribute argument, - by replacing each occurrence of type with dynamic type. - If no is applied or the decoded dynamic transforms attribute argument is errorneous, - returns the unchanged . - - This method is a port of TypeManager::ImportDynamicTransformType from the native compiler. - - - - This subclass of MetadataDecoder is specifically for finding - method symbols corresponding to method MemberRefs. The parent - implementation is unsuitable because it requires a PEMethodSymbol - for context when decoding method type parameters and no such - context is available because it is precisely what we are trying - to find. Since we know in advance that there will be no context - and that signatures decoded with this class will only be used - for comparison (when searching through the methods of a known - TypeSymbol), we can return indexed type parameters instead. - - - - - Type context for resolving generic type arguments. - - - - - We know that we'll never have a method context because that's what we're - trying to find. Instead, just return an indexed type parameter that will - make comparison easier. - - - - - - - This override changes two things: - 1) Return type arguments instead of type parameters. - 2) Handle non-PE types. - - - - - Search through the members of a given type symbol to find the method that matches a particular - signature. - - Type containing the desired method symbol. - A MemberRef handle that can be used to obtain the name and signature of the method - True to only return a method. - The matching method symbol, or null if the inputs do not correspond to a valid method. - - - - Helper class to resolve metadata tokens and signatures. - - - - - ModuleSymbol for the module - source of metadata. - - - - - Type context for resolving generic type arguments. - - - - - Method context for resolving generic method type arguments. - - - - - Lookup a type defined in referenced assembly. - - - - - - - Lookup a type defined in a module of a multi-module assembly. - - - - - Lookup a type defined in this module. - This method will be called only if the type we are - looking for hasn't been loaded yet. Otherwise, MetadataDecoder - would have found the type in TypeDefRowIdToTypeMap based on its - TypeDef row id. - - - - - Produce unbound generic type symbol if the type is a generic type. - - - Symbol for type. - - - - - Produce constructed type symbol. - - - Symbol for generic type. - - - Generic type arguments, including those for nesting types. - - - Flags for arguments. Each item indicates whether corresponding argument refers to NoPia local types. - - - - - - - Perform a check whether the type or at least one of its generic arguments - is defined in the specified assemblies. The check is performed recursively. - - - - - Find canonical type for NoPia embedded type. - - - - - - - - - - - Symbol for the canonical type or an ErrorTypeSymbol. Never returns null. - - - - - Represents an assembly imported from a PE. - - - - - An Assembly object providing metadata for the assembly. - - - - - A DocumentationProvider that provides XML documentation comments for this assembly. - - - - - The list of contained PEModuleSymbol objects. - The list doesn't use type ReadOnlyCollection(Of PEModuleSymbol) so that we - can return it from Modules property as is. - - - - - An array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by a compilation referencing this assembly. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - An array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Assembly's custom attributes - - - - - Lazily initialized by MightContainExtensionMethods property. - - - - - Look up the assembly to which the given metadata type is forwarded. - - - - The assembly to which the given type is forwarded or null, if there isn't one. - - - The returned assembly may also forward the type. - - - - - The class to represent all events imported from a PE/module. - - - - - Intended behavior: this event, E, explicitly implements an interface event, IE, - if E.add explicitly implements IE.add and E.remove explicitly implements IE.remove. - - - - - The class to represent all fields imported from a PE/module. - - - - - The module containing the namespace. - - - - - - The class to represent all methods imported from a PE/module. - - - - - Associate the method with a particular property. Returns - false if the method is already associated with a property or event. - - - - - Associate the method with a particular event. Returns - false if the method is already associated with a property or event. - - - - - Represents a net-module imported from a PE. Can be a primary module of an assembly. - - - - - Owning AssemblySymbol. This can be a PEAssemblySymbol or a SourceAssemblySymbol. - - - - - A Module object providing metadata. - - - - - Global namespace. - - - - - Cache the symbol for well-known type System.Type because we use it frequently - (for attributes). - - - - - This is a map from TypeDef handle to the target TypeSymbol. - It is used by MetadataDecoder to speed-up type reference resolution - for metadata coming from this module. The map is lazily populated - as we load types from the module. - - - - - - This is a map from TypeRef row id to the target TypeSymbol. - It is used by MetadataDecoder to speed-up type reference resolution - for metadata coming from this module. The map is lazily populated - by MetadataDecoder as we resolve TypeRefs from the module. - - - - - - Module's custom attributes - - - - - Module's assembly attributes - - - - - Returns a possibly ExtensionAttribute filtered roArray of attributes. If - filterExtensionAttributes is set to true, the method will remove all ExtensionAttributes - from the returned array. If it is false, the parameter foundExtension will always be set to - false and can be safely ignored. - - The paramArrayAttribute parameter is similar to the foundExtension parameter, but instead - of just indicating if the attribute was found, the parameter is set to the attribute handle - for the ParamArrayAttribute if any is found and is null otherwise. This allows NoPia to filter - the attribute out for the symbol but still cache it separately for emit. - - - - - Get the custom attributes, but filter out any ParamArrayAttributes. - - The parameter token handle. - Set to a ParamArrayAttribute - CustomAttributeHandle if any are found. Nil token otherwise. - - - - Filters extension attributes from the attribute results. - - - True if we found an extension method, false otherwise. - The attributes on the token, minus any ExtensionAttributes. - - - - If this module forwards the given type to another assembly, return that assembly; - otherwise, return null. - - Type to look up. - Assembly symbol or null. - - The returned assembly may also forward the type. - - - - - The class to represent all types imported from a PE/module. - - - - - A set of all the names of the members in this type. - We can get names without getting members (which is a more expensive operation) - - - - - We used to sort symbols on demand and relied on row ids to figure out the order between symbols of the same kind. - However, that was fragile because, when map tables are used in metadata, row ids in the map table define the order - and we don't have them. - Members are grouped by kind. First we store fields, then methods, then properties, then events and finally nested types. - Within groups, members are sorted based on declaration order. - - - - - A map of members immediately contained within this type - grouped by their name (case-sensitively). - - - - - A map of types immediately contained within this type - grouped by their name (case-sensitively). - - - - - Lazily initialized by TypeKind property. - - - - - Need to import them for an enum from a linked assembly, when we are embedding it. These symbols are not included into lazyMembersInDeclarationOrder. - - - - - Returns the index of the first member of the specific kind. - Returns the number of members if not found. - - - - - Returns all members of the specific kind, starting at the optional offset. - Members of the same kind are assumed to be contiguous. - - - - - Specialized PENamedTypeSymbol for types with no type parameters in - metadata (no type parameters on this type and all containing types). - - - - - Specialized PENamedTypeSymbol for types with type parameters in metadata. - NOTE: the type may have Arity == 0 if it has same metadata arity as the metadata arity of the containing type. - - - - - Return true if the type parameters specified on the nested type (this), - that represent the corresponding type parameters on the containing - types, in fact match the actual type parameters on the containing types. - - - - - The base class to represent a namespace imported from a PE/module. Namespaces that differ - only by casing in name are not merged. - - - - - A map of namespaces immediately contained within this namespace - mapped by their name (case-sensitively). - - - - - A map of types immediately contained within this namespace - grouped by their name (case-sensitively). - - - - - A map of NoPia local types immediately contained in this assembly. - Maps type name (non-qualified) to the row id. Note, for VB we should use - full name. - - - - - All type members in a flat array - - - - - Returns PEModuleSymbol containing the namespace. - - PEModuleSymbol containing the namespace. - - - - Initializes namespaces and types maps with information about - namespaces and types immediately contained within this namespace. - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids must be grouped by the - fully-qualified namespace name case-sensitively. There could be multiple groups - for each fully-qualified namespace name. The groups must be sorted by - their key in case-sensitive manner. Empty string must be used as namespace name for types - immediately contained within Global namespace. Therefore, all types in this namespace, if any, - must be in several first IGroupings. - - - - - Create symbols for nested namespaces and initialize namespaces map. - - - - - Create symbols for nested types and initialize types map. - - - - - The class to represent all, but Global, namespaces imported from a PE/module. - Namespaces that differ only by casing in name are not merged. - - - - - - The parent namespace. There is always one, Global namespace contains all - top level namespaces. - - - - - - The name of the namespace. - - - - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids are grouped by the - fully-qualified namespace name case-sensitively. There could be multiple groups - for each fully-qualified namespace name. The groups are sorted by their - key in case-sensitive manner. Empty string is used as namespace name for types - immediately contained within Global namespace. Therefore, all types in this namespace, if any, - will be in several first IGroupings. - - This member is initialized by constructor and is cleared in EnsureAllMembersLoaded - as soon as symbols for children are created. - - - - - - Constructor. - - - Name of the namespace, must be not empty. - - - Containing namespace. - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids are grouped by the - fully-qualified namespace name case-sensitively. There could be multiple groups - for each fully-qualified namespace name. The groups are sorted by their - key in case-sensitive manner. Empty string is used as namespace name for types - immediately contained within Global namespace. Therefore, all types in this namespace, if any, - will be in several first IGroupings. - - - - - The class to represent all method parameters imported from a PE/module. - - - - - Attributes filtered out from m_lazyCustomAttributes, ParamArray, etc. - - - - - Construct a parameter symbol for a property loaded from metadata. - - - - - The property parameter doesn't have a name in metadata, - so this is the handle of a corresponding accessor parameter, if there is one, - or of the ParamInfo passed in, otherwise). - - - - - - Internal for testing. Non-test code should use . - - - - - The class to represent all properties imported from a PE/module. - - - - - To facilitate lookup, all indexer symbols have the same name. - Check the MetadataName property to find the name we imported. - - - - - This property can return true for bogus indexers. - Rationale: If a type in metadata has a single, bogus indexer - and a source method tries to invoke it, then Dev10 reports a bogus - indexer rather than lack of an indexer. - - - - - Intended behavior: this property, P, explicitly implements an interface property, IP, - if any of the following is true: - - 1) P.get explicitly implements IP.get and P.set explicitly implements IP.set - 2) P.get explicitly implements IP.get and there is no IP.set - 3) P.set explicitly implements IP.set and there is no IP.get - - Extra or missing accessors will not result in errors, P will simply not report that - it explicitly implements IP. - - - - - The class to represent all generic type parameters imported from a PE/module. - - - - - - First error calculating bounds. - - - - - Represents a retargeting custom attribute - - - - - Gets the retargeted System.Type type symbol. - - Target symbol on which this attribute is applied. - Retargeted System.Type type symbol. - - - - Essentially this is a wrapper around another AssemblySymbol that is responsible for retargeting - symbols from one assembly to another. It can retarget symbols for multiple assemblies at the same time. - - For example, compilation C1 references v1 of Lib.dll and compilation C2 references C1 and v2 of Lib.dll. - In this case, in context of C2, all types from v1 of Lib.dll leaking through C1 (through method - signatures, etc.) must be retargeted to the types from v2 of Lib.dll. This is what - RetargetingAssemblySymbol is responsible for. In the example above, modules in C2 do not - reference C1.m_AssemblySymbol, but reference a special RetargetingAssemblySymbol created for - C1 by ReferenceManager. - - Here is how retargeting is implemented in general: - - Symbols from underlying assembly are substituted with retargeting symbols. - - Symbols from referenced assemblies that can be reused as is (i.e. doesn't have to be retargeted) are - used as is. - - Symbols from referenced assemblies that must be retargeted are substituted with result of retargeting. - - - - - The underlying AssemblySymbol, it leaks symbols that should be retargeted. - This cannot be an instance of RetargetingAssemblySymbol. - - - - - The list of contained ModuleSymbol objects. First item in the list - is RetargetingModuleSymbol that wraps corresponding SourceModuleSymbol - from underlyingAssembly.Modules list, the rest are PEModuleSymbols for - added modules. - - - - - An array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by a compilation referencing this assembly. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - An array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A map from a local NoPia type to corresponding canonical type. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Retargeted custom attributes - - - - - Constructor. - - - The underlying AssemblySymbol, cannot be an instance of RetargetingAssemblySymbol. - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - The underlying AssemblySymbol. - This cannot be an instance of RetargetingAssemblySymbol. - - - - - Lookup declaration for FX type in this Assembly. - - - - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying EventSymbol, cannot be another RetargetingEventSymbol. - - - - - Represents a field in a RetargetingModuleSymbol. Essentially this is a wrapper around - another FieldSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying FieldSymbol, cannot be another RetargetingFieldSymbol. - - - - - Retargeted custom attributes - - - - - Represents a method in a RetargetingModuleSymbol. Essentially this is a wrapper around - another MethodSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying MethodSymbol, cannot be another RetargetingMethodSymbol. - - - - - Retargeted custom attributes - - - - - Retargeted return type custom attributes - - - - - Represents a primary module of a . Essentially this is a wrapper around - another that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - Here is how retargeting is implemented in general: - - Symbols from underlying module are substituted with retargeting symbols. - - Symbols from referenced assemblies that can be reused as is (i.e. don't have to be retargeted) are - used as is. - - Symbols from referenced assemblies that must be retargeted are substituted with result of retargeting. - - - - - Owning . - - - - - The underlying , cannot be another . - - - - - The map that captures information about what assembly should be retargeted - to what assembly. Key is the referenced by the underlying module, - value is the corresponding referenced by this module, and corresponding - retargeting map for symbols. - - - - - Retargeted custom attributes - - - - - Constructor. - - - Owning assembly. - - - The underlying ModuleSymbol, cannot be another RetargetingModuleSymbol. - - - - - The underlying ModuleSymbol, cannot be another RetargetingModuleSymbol. - - - - - A helper method for ReferenceManager to set AssemblySymbols for assemblies - referenced by this module. - - - - - Retargeting map from underlying module to this one. - - - - - - Retargeting map from underlying module to the retargeting module. - - - - - - RetargetingAssemblySymbol owning retargetingModule. - - - - - The underlying ModuleSymbol for retargetingModule. - - - - - The map that captures information about what assembly should be retargeted - to what assembly. Key is the AssemblySymbol referenced by the underlying module, - value is the corresponding AssemblySymbol referenced by the reatergeting module, and - corresponding retargeting map for symbols. - - - - - Perform a check whether the type or at least one of its generic arguments - is an explicitly defined local type. The check is performed recursively. - - - - - Represents a type of a RetargetingModuleSymbol. Essentially this is a wrapper around - another NamedTypeSymbol that is responsible for retargeting referenced symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying NamedTypeSymbol, cannot be another RetargetingNamedTypeSymbol. - - - - - Represents a namespace of a RetargetingModuleSymbol. Essentially this is a wrapper around - another NamespaceSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying NamespaceSymbol, cannot be another RetargetingNamespaceSymbol. - - - - - Represents a parameter of a RetargetingMethodSymbol. Essentially this is a wrapper around - another ParameterSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Retargeted custom attributes - - - - - Owning RetargetingMethodSymbol. - - - - - Owning RetargetingPropertySymbol. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying PropertySymbol, cannot be another RetargetingPropertySymbol. - - - - - Retargeted custom attributes - - - - - Represents a type parameter in a RetargetingModuleSymbol. Essentially this is a wrapper around - another TypeParameterSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying TypeParameterSymbol, cannot be another RetargetingTypeParameterSymbol. - - - - - Retargeted custom attributes - - - - - Represents a Source custom attribute specification - - - - - If the contains any named constructor arguments or default value arguments, - it returns an array representing each argument's source argument index. A value of -1 indicates default value argument. - Otherwise, returns null. - - - - - This method finds an attribute by metadata name and signature. The algorithm for signature matching is similar to the one - in Module.GetTargetAttributeSignatureIndex. Note, the signature matching is limited to primitive types - and System.Type. It will not match an arbitrary signature but it is sufficient to match the signatures of the current set of - well known attributes. - - The symbol which is the target of the attribute - The attribute to match. - - - - Gets the System.Type type symbol from targetSymbol's containing assembly. - - Target symbol on which this attribute is applied. - System.Type type symbol. - - - - Information early-decoded from well-known custom attributes applied on a parameter. - - - - - Information decoded from early well-known custom attributes applied on a property. - - - - - Information decoded from well-known custom attributes applied on a type. - - - - - IsManagedType is simple for most named types: - enums are not managed; - non-enum, non-struct named types are managed; - generic types and their nested types are managed; - type parameters are managed; - all special types have spec'd values (basically, (non-string) primitives) are not managed; - - Only structs are complicated, because the definition is recursive. A struct type is managed - if one of its instance fields is managed. Unfortunately, this can result in infinite recursion. - If the closure is finite, and we don't find anything definitely managed, then we return true. - If the closure is infinite, we disregard all but a representative of any expanding cycle. - - Intuitively, this will only return true if there's a specific type we can point to that is would - be managed even if it had no fields. e.g. struct S { S s; } is not managed, but struct S { S s; object o; } - is because we can point to object. - - - - - Returns a boolean value if we can determine whether the type is managed - without looking at its fields and Unset otherwise. - - - - - An error type, used to represent the a byref return in a metadata signature. - - - If we ever decide to support by-ref returns, don't just make this a non-error - type. For consistency with parameters and locals, we should have a bit on the - signature (i.e. on the MethodSymbol). - - - - - This enum describes the types of components that could give - us diagnostics. We shouldn't read the list of diagnostics - until all of these types are accounted for. - - - PEParameterSymbol reserves all completion part bits and uses them to track the completion state and - presence of well known attributes. - - - - - A tuple of TypeParameterSymbol and DiagnosticInfo, created for errors - reported from ConstraintsHelper rather than creating Diagnostics directly. - This decouples constraints checking from syntax and Locations, and supports - callers that may want to create Location instances lazily or not at all. - - - - - Helper methods for generic type parameter constraints. There are two sets of methods: one - set for resolving constraint "bounds" (that is, determining the effective base type, interface set, - etc.), and another set for checking for constraint violations in type and method references. - - Bounds are resolved by calling one of the ResolveBounds overloads. Typically bounds are - resolved by each TypeParameterSymbol at, or before, one of the corresponding properties - (BaseType, Interfaces, etc.) is accessed. Resolving bounds may result in errors (cycles, - inconsistent constraints, etc.) and it is the responsibility of the caller to report any such - errors as declaration errors or use-site errors (depending on whether the type parameter - was from source or metadata) and to ensure bounds are resolved for source type parameters - even if the corresponding properties are never accessed directly. - - Constraints are checked by calling one of the CheckConstraints or CheckAllConstraints - overloads for any generic type or method reference from source. In some circumstances, - references are checked at the time the generic type or generic method is bound and constructed - by the Binder. In those case, it is sufficient to call one of the CheckConstraints overloads - since compound types (such as A<T>.B<U> or A<B<T>>) are checked - incrementally as each part is bound. In other cases however, constraint checking needs to be - delayed to prevent cycles where checking constraints requires binding the syntax that is currently - being bound (such as the constraint in class C<T> where T : C<T>). In those cases, - the caller must lazily check constraints, and since the types may be compound types, it is - necessary to call CheckAllConstraints. - - - - - Determine the effective base type, effective interface set, and set of type - parameters (excluding cycles) from the type parameter constraints. Conflicts - within the constraints and constraint types are returned as diagnostics. - 'inherited' should be true if the type parameters are from an overridden - generic method. In those cases, additional constraint checks are applied. - - - - - Check all generic constraints on the given type and any containing types - (such as A<T> in A<T>.B<U>). This includes checking constraints - on generic types within the type (such as B<T> in A<B<T>[]>). - - - - - Check type parameter constraints for the containing type or method symbol. - - The generic type or method. - Conversions instance. - The map from type parameters to type arguments. - Containing symbol type parameters. - Containing symbol type arguments. - Improves error message detail. - Diagnostics. - Parameters to skip. - - True if the constraints were satisfied, false otherwise. - - - - Return true if the class type has a public parameterless constructor. - - - - - Returns true if type a is encompassed by type b (spec 6.4.3), - and returns false otherwise. - - - - - A named type symbol that results from substituting a new owner for a type declaration. - - - - - A generic named type symbol that has been constructed with type arguments distinct from its own type parameters. - - - - - Substitutes all occurances of dynamic type with Object type. - - - - - When indexer overload resolution fails, we have two options: - 1) Create a BoundBadExpression with the candidates as child nodes; - 2) Create a BoundIndexerAccess with the error flag set. - - Option 2 is preferable, because it retains information about the arguments - (names, ref kind, etc), and results in better output from flow analysis. - However, we can't create a BoundIndexerAccess with a null indexer symbol, - so we create an ErrorPropertySymbol to fill the gap. - - - - - An ErrorSymbol is used when the compiler cannot determine a symbol object to return because - of an error. For example, if a field is declared "Foo x;", and the type "Foo" cannot be - found, an ErrorSymbol is returned when asking the field "x" what it's type is. - - - - - The underlying error. - - - - - Summary of the reason why the type is bad. - - - - - Called by to perform substitution - on types with TypeKind ErrorType. The general pattern is to use the type map - to perform substitution on the wrapped type, if any, and then construct a new - error type symbol from the result (if there was a change). - - - - - When constructing this ErrorTypeSymbol, there may have been symbols that seemed to - be what the user intended, but were unsuitable. For example, a type might have been - inaccessible, or ambiguous. This property returns the possible symbols that the user - might have intended. It will return no symbols if no possible symbols were found. - See the CandidateReason property to understand why the symbols were unsuitable. - - - - - If CandidateSymbols returns one or more symbols, returns the reason that those - symbols were not chosen. Otherwise, returns None. - - - - - Returns true if this type is known to be a reference type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Returns true if this type is known to be a value type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Collection of names of members declared within this type. - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns Null. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns Null. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name, of any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name and arity - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns null. - - - - Gets the kind of this symbol. - - - - - Gets the kind of this type. - - - - - Get the symbol that logically contains this symbol. - - - - - Gets the locations where this symbol was originally defined, either in source or - metadata. Some symbols (for example, partial classes) may be defined in more than one - location. - - - - - Returns the arity of this type, or the number of type parameters it takes. - A non-generic type has zero arity. - - - - - Gets the name of this symbol. Symbols without a name return the empty string; null is - never returned. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a give type parameters, - then the type parameter itself is consider the type argument. - - - - - Returns the type parameters that this type has. If this is a non-generic type, - returns an empty ImmutableArray. - - - - - Returns the type symbol that this type was constructed from. This type symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - Implements visitor pattern. - - - - - Get this accessibility that was declared on this symbol. For symbols that do not have - accessibility declared on them, returns NotApplicable. - - - - - Returns true if this symbol is "static"; i.e., declared with the "static" modifier or - implicitly static. - - - - - Returns true if this symbol was declared as requiring an override; i.e., declared with - the "abstract" modifier. Also returns true on a type declared as "abstract", all - interface types, and members of interface types. - - - - - Returns true if this symbol was declared to override a base class member and was also - sealed from further overriding; i.e., declared with the "sealed" modifier. Also set for - types that do not allow a derived class (declared with "sealed" or "static" or "struct" - or "enum" or "delegate"). - - - - - An error type, used to represent the type of a type binding - operation when binding fails. - - - - - If (we believe) we know which symbol the user intended, then we should retain that information - in the corresponding error symbol - it can be useful for deciding how to handle the error. - For example, we might want to know whether (we believe) the error type was supposed to be an - interface, so that we can put it in a derived type's interface list, rather than in the base - type slot. - - Sometimes we will return the original definition of the intended symbol. For example, if we see - ]]> and we have an IFoo with a different arity or accessibility - (e.g. ]]> was constructed from an error symbol based on ]]>), - then we'll return ]]>, rather than trying to construct a corresponding closed - type (which may not be difficult/possible in the case of nested types or mismatched arities). - - NOTE: Any non-null type symbol returned is guaranteed not to be an error type. - - - TypeSymbolExtensions.GetNonErrorGuess is a more discoverable version of this functionality. - However, the real definition is in this class so that it can access the private field - nonErrorGuessType. - - - - - Represents a field initializer or a global statement in script code. - - - - - The field being initialized or null if this is a global statement. - - - - - A reference to or . - - - - - Represents a label in method body - - - - - Gets the name of this label - - - - - Returns false because label can't be defined externally. - - - - - Returns false because label can't be sealed. - - - - - Returns false because label can't be abstract. - - - - - Returns false because label can't be overridden. - - - - - Returns false because label can't be virtual. - - - - - Returns false because label can't be static. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns 'NotApplicable' because label can't be used outside the member body. - - - - - Gets the locations where the symbol was originally defined, either in source or - metadata. Some symbols (for example, partial classes) may be defined in more than one - location. - - - - - Gets the immediately containing symbol of the . - It should be the containing the label in its body. - - - - - Gets the immediately containing symbol of the . - It should be the containing the label in its body. - - - - - Returns value 'Label' of the - - - - - A structure used to lexically order symbols. For performance, it's important that this be - a STRUCTURE, and be able to be returned from a symbol without doing any additional allocations (even - if nothing is cached yet.) - - - - - Compare two lexical sort keys in a compilation. - - - - - Represents a local variable in a method body. - - - - - Gets the type of this local. - - - - - WARN WARN WARN: If you access this via the semantic model, things will break (since the initializer may not have been bound). - - Whether or not this local is pinned (i.e. the type will be emitted with the "pinned" modifier). - - - Superficially, it seems as though this should always be the same as DeclarationKind == LocalDeclarationKind.Fixed. - Unfortunately, when we fix a string expression, it is not the declared local (e.g. char*) but a synthesized temp (string) - that is pinned. - - - - - Returns false because local variable can't be defined externally. - - - - - Returns false because local variable can't be sealed. - - - - - Returns false because local variable can't be abstract. - - - - - Returns false because local variable can't be overridden. - - - - - Returns false because local variable can't be virtual. - - - - - Returns false because local variable can't be declared as static in C#. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns 'NotApplicable' because local variable can't be used outside the member body.. - - - - - Returns value 'Local' of the - - - - - Returns true if this local variable was declared in a catch clause. - - - - - Returns true if this local variable was declared as "const" (i.e. is a constant declaration). - - - - - Returns true if the local variable is declared in resource-acquisition of a 'using statement'; - otherwise false - - - - using (var localVariable = new StreamReader("C:\\Temp\\MyFile.txt")) { ... } - - - - - - Returns true if the local variable is declared in fixed-pointer-initializer (in unsafe context) - - - - - Returns true if this local variable is declared in for-initializer - - - - - Returns true if this local variable is declared as iteration variable - - - - - Returns false if the field wasn't declared as "const", or constant value was omitted or erroneous. - True otherwise. - - - - - If IsConst returns true, then returns the constant value of the field or enum member. If IsConst returns - false, then returns null. - - - - - Returns true if the local symbol was compiler generated. - - - - - - C# 4.0 §10.6: The name, the type parameter list and the formal parameter list of a method define - the signature (§3.6) of the method. Specifically, the signature of a method consists of its - name, the number of type parameters and the number, modifiers, and types of its formal - parameters. For these purposes, any type parameter of the method that occurs in the type of - a formal parameter is identified not by its name, but by its ordinal position in the type - argument list of the method. The return type is not part of a method’s signature, nor are - the names of the type parameters or the formal parameters. - - - C# 4.0 §3.6: For the purposes of signatures, the types object and dynamic are considered the - same. - - - C# 4.0 §3.6: We implement the rules for ref/out by mapping both to ref. The caller (i.e. - checking for proper overrides or partial methods, etc) should check that ref/out are - consistent. - - - - - - This instance is used when trying to determine if one member explicitly implements another, - according the C# definition. - The member signatures are compared without regard to name (including the interface part, if any) - and the return types must match. - - - - - This instance is used when trying to determine if one member implicitly implements another, - according to the C# definition. - The member names, parameters, and (return) types must match. Custom modifiers are ignored. - - - One would expect this comparer to have requireSourceMethod = true, but it doesn't because (for source types) - we allow inexact matching of custom modifiers when computing implicit member implementations. Consider the - following scenario: interface I has a method M with custom modifiers C1, source type ST includes I in its - interface list but has no method M, and metadata type MT has a method M with custom modifiers C2. - In this scenario, we want to compare I.M to MT.M without regard to custom modifiers, because if C1 != C2, - we can just synthesize an explicit implementation of I.M in ST that calls MT.M. - - - - - This instance is used as a fallback when it is determined that one member does not implicitly implement - another. It applies a looser check to determine whether the proposed implementation should be reported - as "close". - - - - - This instance is used to determine if two C# member declarations in source conflict with each other. - Names, arities, and parameter types are considered. - Return types, type parameter constraints, custom modifiers, and parameter ref kinds, etc are ignored. - - - This does the same comparison that MethodSignature used to do. - - - - - This instance is used to check whether one member overrides another, according to the C# definition. - - - - - This instance is used to check whether one property or event overrides another, according to the C# definition. - NOTE: C# ignores accessor member names. - CAVEAT: considers return types so that getters and setters will be treated the same. - - - - - Same as except that it pays attention to custom modifiers and return type. - Normally, the return type isn't considered during overriding, but this comparer is actually used to find - exact matches (i.e. before tie-breaking takes place amongst close matches). - - - - - If this returns false, then the real override comparer (whichever one is appropriate for the scenario) - will also return false. - - - - - This instance is intended to reflect the definition of signature equality used by the runtime - (ECMA-335, Partition I, §8.6.1.6 Signature Matching). - It considers return type, name, parameters, calling convention, and custom modifiers, but ignores - the difference between and . - - - - - Same as , but distinguishes between ref and out. During override resolution, - if we find two methods that match except for ref/out, we want to prefer the one that matches, even - if the runtime doesn't. - - - - - This instance is the same as RuntimeSignatureComparer. - CONSIDER: just use RuntimeSignatureComparer? - - - - - This instance is used to search for members that have the same name, parameters, (return) type, and constraints (if any) - according to the C# definition. Custom modifiers are ignored. - - - - - This instance is used to search for members that have identical signatures in every regard. - - - - - This instance is used for performing approximate overload resolution of documentation - comment cref attributes. It ignores the name, because the candidates were all found by lookup. - - - - - This instance is used as a key in the lambda return type inference. - We basically only interested in parameters since inference will set the return type to null. - - - - - Returns true if the first set of constraint types - is a subset of the second set. - - - - - SymbolExtensions for member symbols. - - - - - Get the parameters of a member symbol. Should be a method, property, or event. - - - - - Get the types of the parameters of a member symbol. Should be a method, property, or event. - - - - - Get the ref kinds of the parameters of a member symbol. Should be a method, property, or event. - - - - - Count the number of custom modifiers in/on the return type - and parameters of the specified method. - - - - - Count the number of custom modifiers in/on the type - and parameters (for indexers) of the specified property. - - - - - Count the number of custom modifiers in/on the return type - and parameters of the specified method. - - - - - Return the arity of a member. - - - - - If the event has a AddMethod, return that. Otherwise check the overridden - event, if any. Repeat for each overridden event. - - - This method exists to mimic the behavior of GetOwnOrInheritedGetMethod, but it - should only ever look at the overridden event in error scenarios. - - - - - If the event has a RemoveMethod, return that. Otherwise check the overridden - event, if any. Repeat for each overridden event. - - - This method exists to mimic the behavior of GetOwnOrInheritedSetMethod, but it - should only ever look at the overridden event in error scenarios. - - - - - Does the compilation this symbol belongs to output to a winmdobj? - - - - - - - Returns a constructed named type symbol if 'type' is generic, otherwise just returns 'type' - - - - - Returns true if the members of superType are accessible from subType due to inheritance. - - - - - The immediately containing namespace or named type, or null - if the containing symbol is neither a namespace or named type. - - - - - Returns true if all type parameter references within the given - type belong to containingSymbol or its containing types. - - - - - Returns true if all type parameter references within the given - types belong to containingSymbol or its containing types. - - - - - A MergedNamespaceSymbol represents a namespace that merges the contents of two or more other - namespaces. Any sub-namespaces with the same names are also merged if they have two or more - instances. - - Merged namespaces are used to merged the symbols from multiple metadata modules and the - source "module" into a single symbol tree that represents all the available symbols. The - compiler resolves names against this merged set of symbols. - - Typically there will not be very many merged namespaces in a Compilation: only the root - namespaces and namespaces that are used in multiple referenced modules. (Microsoft, System, - System.Xml, System.Diagnostics, System.Threading, ...) - - - - - Create a possibly merged namespace symbol. If only a single namespace is passed it, it - is just returned directly. If two or more namespaces are passed in, then a new merged - namespace is created with the given extent and container. - - The namespace extent to use, IF a merged namespace is created. - The containing namespace to used, IF a merged - namespace is created. - One or more namespaces to merged. If just one, then it - is returned. The merged namespace symbol may hold onto the array. - An optional name to give the resulting namespace. - A namespace symbol representing the merged namespace. - - - - Method that is called from the CachingLookup to lookup the children of a given name. - Looks in all the constituent namespaces. - - - - - Method that is called from the CachingLookup to get all child names. Looks in all - constituent namespaces. - - - - - Represents source or metadata assembly. - - - - - - An array of cached Cor types defined in this assembly. - Lazily filled by GetSpecialType method. - - - - - - How many Cor types have we cached so far. - - - - - Lookup declaration for predefined CorLib type in this Assembly. - - - - - - - - Register declaration of predefined CorLib type in this Assembly. - - - - - - Continue looking for declaration of predefined CorLib type in this Assembly - while symbols for new type declarations are constructed. - - - - - Not yet known value is represented by ErrorTypeSymbol.UnknownResultType - - - - - Lookup member declaration in predefined CorLib type in this Assembly. Only valid if this - assembly is the Cor Library - - - - - Determine whether this assembly has been granted access to . - Assumes that the public key has been determined. The result will be cached. - - - - - - - - If the extension method is applicable based on the "this" argument type, return - the method constructed with the inferred type arguments. If the method is not an - unconstructed generic method, type inference is skipped. If the method is not - applicable, or if constraints when inferring type parameters from the "this" type - are not satisfied, the return value is null. - - - - - The runtime considers a method to be a finalizer (i.e. a method that should be invoked - by the garbage collector) if it (directly or indirectly) overrides System.Object.Finalize. - - - As an optimization, return true immediately for metadata methods with MethodKind - Destructor - they are guaranteed to be finalizers. - - Method to inspect. - This method is used to determine the method kind of - a PEMethodSymbol, so we may need to avoid using MethodKind until we move on to a different - MethodSymbol. - - - - Returns a constructed method symbol if 'method' is generic, otherwise just returns 'method' - - - - - Some kinds of methods are not considered to be hideable by certain kinds of members. - Specifically, methods, properties, and types cannot hide constructors, destructors, - operators, conversions, or accessors. - - - - - Some kinds of methods are never considered hidden by methods, properties, or types - (constructors, destructors, operators, conversions, and accessors). - - - - - Returns whether this method is async and returns void. - - - - - Returns whether this method is async and returns a task. - - - - - Returns whether this method is async and returns a generic task. - - - - - A is a special kind of that represents - an assembly that couldn't be found. - - - - - AssemblySymbol to represent missing, for whatever reason, CorLibrary. - The symbol is created by ReferenceManager on as needed basis and is shared by all compilations - with missing CorLibraries. - - - - - An array of cached Cor types defined in this assembly. - Lazily filled by GetDeclaredSpecialType method. - - - - - - Lookup declaration for predefined CorLib type in this Assembly. Only should be - called if it is know that this is the Cor Library (mscorlib). - - - - - - A is a special kind of that represents - a type symbol that was attempted to be read from metadata, but couldn't be - found, because: - a) The metadata file it lives in wasn't referenced - b) The metadata file was referenced, but didn't contain the type - c) The metadata file was referenced, contained the correct outer type, but - didn't contains a nested type in that outer type. - - - - - Get the arity of the missing type. - - - - - Represents not nested missing type. - - - - - Either , , or -1 if not initialized. - - - - - This is the FULL namespace name (e.g., "System.Collections.Generic") - of the type that couldn't be found. - - - - - Represents nested missing type. - - - - - A is a special kind of that represents - a module that couldn't be found. - - - - - A is a special kind of that represents - a namespace that couldn't be found. - - - - - Represents a module within an assembly. Every assembly contains one or more modules. - - - - - Returns a NamespaceSymbol representing the global (root) namespace, with - module extent, that can be used to browse all of the symbols defined in this module. - - - - - Returns the containing assembly. Modules are always directly contained by an assembly, - so this property always returns the same as ContainingSymbol. - - - - - Returns value 'NetModule' of the - - - - - Module's ordinal within containing assembly's Modules array. - 0 - for a source module, etc. - -1 - for a module that doesn't have containing assembly, or has it, but is not part of Modules array. - - - - - Target architecture of the machine. - - - - - Indicates that this PE file makes Win32 calls. See CorPEKind.pe32BitRequired for more information (http://msdn.microsoft.com/en-us/library/ms230275.aspx). - - - - - Does this symbol represent a missing module. - - - - - Returns 'NotApplicable' - - - - - Returns false because module can't be declared as 'static'. - - - - - Returns false because module can't be virtual. - - - - - Returns false because module can't be overridden. - - - - - Returns false because module can't be abstract. - - - - - Returns false because module can't be sealed. - - - - - Returns false because module can't be defined externally. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from ReferencedAssemblies and from ReferencedAssemblySymbols - correspond to each other. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from GetReferencedAssemblies and from GetReferencedAssemblySymbols - should correspond to each other. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from ReferencedAssemblies and - from ReferencedAssemblySymbols correspond to each other. - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from GetReferencedAssemblies and - from GetReferencedAssemblySymbols should correspond to each other. If reference is - not resolved by compiler, GetReferencedAssemblySymbols returns MissingAssemblySymbol in the - correspnding item. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A helper method for ReferenceManager to set assembly identities for assemblies - referenced by this module and corresponding AssemblySymbols. - - A description of the assemblies referenced by this module. - - Source assembly that triggered creation of this module symbol. - For debug purposes only, this assembly symbol should not be persisted within - this module symbol because the module can be shared across multiple source - assemblies. This method will only be called for the first one. - - - - - True if this module has any unified references. - - - - - Returns a unification use-site error (if any) for a symbol contained in this module - that is referring to a specified . - - - If an assembly referenced by this module isn't exactly matching any reference given to compilation - the Assembly Manager might decide to use another reference if it matches except for version - (it unifies the version with the existing reference). - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name, possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - Returns true if there is any applied CompilationRelaxationsAttribute assembly attribute for this module. - - - - - Returns true if there is any applied RuntimeCompatibilityAttribute assembly attribute for this module. - - - - - Default char set for contained types, or null if not specified. - - - - - Given a namespace symbol, returns the corresponding module specific namespace symbol - - - - - Utility class for substituting actual type arguments for formal generic type parameters. - - - - - A NamespaceExtent represents whether a namespace contains types and sub-namespaces from a - particular module, assembly, or merged across all modules (source and metadata) in a - particular compilation. - - - - - Returns what kind of extent: Module, Assembly, or Compilation. - - - - - If the Kind is ExtendKind.Module, returns the module symbol that this namespace - encompasses. Otherwise throws InvalidOperationException. - - - - - If the Kind is ExtendKind.Assembly, returns the assembly symbol that this namespace - encompasses. Otherwise throws InvalidOperationException. - - - - - If the Kind is ExtendKind.Compilation, returns the compilation symbol that this - namespace encompasses. Otherwise throws InvalidOperationException. - - - - - Create a NamespaceExtent that represents a given ModuleSymbol. - - - - - Create a NamespaceExtent that represents a given AssemblySymbol. - - - - - Create a NamespaceExtent that represents a given Compilation. - - - - - Represents either a namespace or a type. - - - - - Returns true if this symbol is a namespace. If it is not a namespace, it must be a type. - - - - - Returns true if this symbols is a type. Equivalent to !IsNamespace. - - - - - Returns true if this symbol is "virtual", has an implementation, and does not override a - base class member; i.e., declared with the "virtual" modifier. Does not return true for - members declared as abstract or override. - - - Always returns false. - - - - - Returns true if this symbol was declared to override a base class member; i.e., declared - with the "override" modifier. Still returns true if member was declared to override - something, but (erroneously) no member to override exists. - - - Always returns false. - - - - - Returns true if this symbol has external implementation; i.e., declared with the - "extern" modifier. - - - Always returns false. - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol. The members may not be in a particular order, and the order - may not be stable from call-to-call. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types. The members may not be in a particular order, and the order - may not be stable from call-to-call. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name, of any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name and arity - - An IEnumerable containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty IEnumerable. Never returns null. - - - - Get a source type symbol for the given declaration syntax. - - Null if there is no matching declaration. - - - - Get a source type symbol for the given declaration syntax. - - Null if there is no matching declaration. - - - - Get a source type symbol of given name, arity and kind. If a tree and syntax are provided, restrict the results - to those that are declared within the given syntax. - - Null if there is no matching declaration. - - - - Lookup an immediately nested type referenced from metadata, names should be - compared case-sensitively. - - - Simple type name, possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - Finds types or namespaces described by a qualified name. - - Sequence of simple plain names. - - A set of namespace or type symbols with given qualified name (might comprise of types with multiple generic arities), - or an empty set if the member can't be found (the qualified name is ambiguous or the symbol doesn't exist). - - - "C.D" matches C.D, C{T}.D, C{S,T}.D{U}, etc. - - - - - Represents a namespace. - - - - - Get all the members of this symbol that are namespaces. - - An IEnumerable containing all the namespaces that are members of this symbol. - If this symbol has no namespace members, returns an empty IEnumerable. Never returns - null. - - - - Returns whether this namespace is the unnamed, global namespace that is - at the root of all namespaces. - - - - - The kind of namespace: Module, Assembly or Compilation. - Module namespaces contain only members from the containing module that share the same namespace name. - Assembly namespaces contain members for all modules in the containing assembly that share the same namespace name. - Compilation namespaces contain all members, from source or referenced metadata (assemblies and modules) that share the same namespace name. - - - - - The containing compilation for compilation namespaces. - - - - - If a namespace has Assembly or Compilation extent, it may be composed of multiple - namespaces that are merged together. If so, ConstituentNamespaces returns - all the namespaces that were merged. If this namespace was not merged, returns - an array containing only this namespace. - - - - - Containing assembly. - - - - - Gets the kind of this symbol. - - - - - Implements visitor pattern. - - - - - Get this accessibility that was declared on this symbol. For symbols that do not have - accessibility declared on them, returns NotApplicable. - - - - - Returns true if this symbol is "static"; i.e., declared with the "static" modifier or - implicitly static. - - - - - Returns true if this symbol was declared as requiring an override; i.e., declared with - the "abstract" modifier. Also returns true on a type declared as "abstract", all - interface types, and members of interface types. - - - - - Returns true if this symbol was declared to override a base class member and was also - sealed from further overriding; i.e., declared with the "sealed" modifier. Also set for - types that do not allow a derived class (declared with "sealed" or "static" or "struct" - or "enum" or "delegate"). - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns an implicit type symbol for this namespace or null if there is none. This type - wraps misplaced global code. - - - - - Lookup a nested namespace. - - - Sequence of names for nested child namespaces. - - - Symbol for the most nested namespace, if found. Nothing - if namespace or any part of it can not be found. - - - - - - Add all extension methods in this namespace to the given list. If name or arity - or both are provided, only those extension methods that match are included. - - Methods list - Optional method name - Method arity - Lookup options - - - - A is a special kind of that represents - an assembly that is not missing, i.e. the "real" thing. - - - - - This is a cache similar to the one used by MetaImport::GetTypeByName - in native compiler. The difference is that native compiler pre-populates - the cache when it loads types. Here we are populating the cache only - with things we looked for, so that next time we are looking for the same - thing, the lookup is fast. This cache also takes care of TypeForwarders. - Gives about 8% win on subsequent lookups in some scenarios. - - - - - - Does this symbol represent a missing assembly. - - - - - Gets the merged root namespace that contains all namespaces and types defined in the modules - of this assembly. If there is just one module in this assembly, this property just returns the - GlobalNamespace of that module. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. Detect cycles during lookup. - - - Full type name, possibly with generic name mangling. - - - List of assemblies lookup has already visited (since type forwarding can introduce cycles). - - - Take forwarded types into account. - - - - - For test purposes only. - - - - - For test purposes only. - - - - - A is a special kind of that represents - a module that is not missing, i.e. the "real" thing. - - - - - An array of objects corresponding to assemblies directly referenced by this module. - - - The contents are provided by ReferenceManager and may not be modified. - - - - - Does this symbol represent a missing module. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from GetReferencedAssemblies and from GetReferencedAssemblySymbols - should correspond to each other. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from GetReferencedAssemblies and - from GetReferencedAssemblySymbols should correspond to each other. If reference is - not resolved by compiler, GetReferencedAssemblySymbols returns MissingAssemblySymbol in the - correspnding item. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A helper method for ReferenceManager to set assembly identities for assemblies - referenced by this module and corresponding AssemblySymbols. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name, possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - A NoPiaAmbiguousCanonicalTypeSymbol is a special kind of ErrorSymbol that represents a NoPia - embedded type symbol that was attempted to be substituted with canonical type, but the - canonocal type was ambiguous. - - - - - A NoPiaIllegalGenericInstantiationSymbol is a special kind of ErrorSymbol that represents a - generic type instantiation that cannot cross assembly boundaries according to NoPia rules. - - - - - A NoPiaMissingCanonicalTypeSymbol is a special kind of ErrorSymbol that represents a NoPia - embedded type symbol that was attempted to be substituted with canonical type, but the - canonocal type couldn't be found. - - - - - Initialize the ObsoleteAttributeData by fetching attributes and decoding ObsoleteAttributeData. This can be - done for Metadata symbol easily whereas trying to do this for source symbols could result in cycles. - - - - - This method checks to see if the given symbol is Obsolete or if any symbol in the parent hierarchy is Obsolete. - - - True if some symbol in the parent hierarchy is known to be Obsolete. Unknown if any - symbol's Obsoleteness is Unknown. False, if we are certain that no symbol in the parent - hierarchy is Obsolete. - - - - - Create a diagnostic for the given symbol. This could be an error or a warning based on - the ObsoleteAttribute's arguments. - - - - - Encapsulates the MakeOverriddenOrHiddenMembers functionality for methods, properties (including indexers), - and events. - - - - - Walk up the type hierarchy from ContainingType and list members that this - member either overrides (accessible members with the same signature, if this - member is declared "override") or hides (accessible members with the same name - but different kinds, plus members that would be in the overrides list if - this member were not declared "override"). - - Members in the overridden list may be non-virtual or may have different - accessibilities, types, accessors, etc. They are really candidates to be - overridden. - - Members in the hidden list are definitely hidden. - - Members in the runtime overridden list are indistinguishable from the members - in the overridden list from the point of view of the runtime (see - FindOtherOverriddenMethodsInContainingType for details). - - - In the presence of non-C# types, the meaning of "same signature" is rather - complicated. If this member isn't from source, then it refers to the runtime's - notion of signature (i.e. including return type, custom modifiers, etc). - If this member is from source, then the process is (conceptually) as follows. - - 1) Walk up the type hierarchy, recording all matching members with the same - signature, ignoring custom modifiers and return type. Stop if a hidden - member is encountered. - 2) Apply the following "tie-breaker" rules until you have at most one member, - a) Prefer members in more derived types. - b) Prefer an exact custom modifier match (i.e. none, for a source member). - c) Prefer fewer custom modifiers (values/positions don't matter, just count). - d) Prefer earlier in GetMembers order (within the same type). - 3) If a member remains, search its containing type for other members that - have the same C# signature (overridden members) or runtime signature - (runtime overridden members). - - In metadata, properties participate in overriding only through their accessors. - That is, property/event accessors may implicitly or explicitly override other methods - and a property/event can be considered to override another property/event if its accessors - override those of the other property/event. - This implementation (like Dev10) will not follow that approach. Instead, it is - based on spec section 10.7.5, which treats properties as entities in their own - right. If all property/event accessors have conventional names in metadata and nothing - "unusual" is done with explicit overriding, this approach should produce the same - results as an implementation based on accessor overriding. - - - - - In the CLI, accessors are just regular methods and their overriding/hiding rules are the same as for - regular methods. In C#, however, accessors are intimately connected with their corresponding properties. - Rather than walking up the type hierarchy from the containing type of this accessor, looking for members - with the same name, MakePropertyAccessorOverriddenOrHiddenMembers delegates to the associated property. - For an accessor to hide a member, the hidden member must be a corresponding accessor on a property hidden - by the associated property. For an accessor to override a member, the overridden member must be a - corresponding accessor on a property (directly or indirectly) overridden by the associated property. - - Example 1: - - public class A { public virtual int P { get; set; } } - public class B : A { public override int P { get { return 1; } } } //get only - public class C : B { public override int P { set { } } } // set only - - C.P.set overrides A.P.set because C.P.set is the setter of C.P, which overrides B.P, - which overrides A.P, which has A.P.set as a setter. - - Example 2: - - public class A { public virtual int P { get; set; } } - public class B : A { public new virtual int P { get { return 1; } } } //get only - public class C : B { public override int P { set { } } } // set only - - C.P.set does not override any method because C.P overrides B.P, which has no setter - and does not override a property. - - This accessor. - The property associated with this accessor. - Members overridden or hidden by this accessor. - - This method is intended to return values consistent with the definition of C#, which - may differ from the actual meaning at runtime. - - Note: we don't need a different path for interfaces - Property.OverriddenOrHiddenMembers handles that. - - - - - In the CLI, accessors are just regular methods and their overriding/hiding rules are the same as for - regular methods. In C#, however, accessors are intimately connected with their corresponding events. - Rather than walking up the type hierarchy from the containing type of this accessor, looking for members - with the same name, MakeEventAccessorOverriddenOrHiddenMembers delegates to the associated event. - For an accessor to hide a member, the hidden member must be a corresponding accessor on a event hidden - by the associated event. For an accessor to override a member, the overridden member must be a - corresponding accessor on a event (directly or indirectly) overridden by the associated event. - - This accessor. - The event associated with this accessor. - Members overridden or hidden by this accessor. - - This method is intended to return values consistent with the definition of C#, which - may differ from the actual meaning at runtime. - - Note: we don't need a different path for interfaces - Event.OverriddenOrHiddenMembers handles that. - - CONSIDER: It is an error for an event to have only one accessor. Currently, we mimic the behavior for - properties, for consistency, but an alternative approach would be to say that nothing is overridden. - - CONSIDER: is there a way to share code with MakePropertyAccessorOverriddenOrHiddenMembers? - - - - - There are two key reasons why interface overriding/hiding is different from class overriding/hiding: - 1) interface members never override other members; and - 2) interfaces can extend multiple interfaces. - The first difference doesn't require any special handling - as long as the members have IsOverride=false, - the code for class overriding/hiding does the right thing. - The second difference is more problematic. For one thing, an interface member can hide a different member in - each base interface. We only report the first one, but we need to expose all of them in the API. More importantly, - multiple inheritance raises the possibility of diamond inheritance. Spec section 13.2.5, Interface member access, - says: "The intuitive rule for hiding in multiple-inheritance interfaces is simply this: If a member is hidden in any - access path, it is hidden in all access paths." For example, consider the following interfaces: - - interface I0 { void M(); } - interface I1 : I0 { void M(); } - interface I2 : I0, I1 { void M(); } - - I2.M does not hide I0.M, because it is already hidden by I1.M. To make this work, we need to traverse the graph - of ancestor interfaces in topological order and flag ones later in the enumeration that are hidden along some path. - - - See SymbolPreparer::checkIfaceHiding. - - - - - Look for overridden or hidden members in a specific type. - - Member that is hiding or overriding. - True if member is from the current compilation. - The type that contains member (member.ContainingType). - The type to search. - - A member with the same signature if currTypeHasExactMatch is true, - a member with (a minimal number of) different custom modifiers if there is one, - and null otherwise. - True if there's a member with the same name and kind that is not a match. - Hidden members (same name, different kind) will be added to this builder. - - There is some similarity between this member and TypeSymbol.FindPotentialImplicitImplementationMethodDeclaredInType. - When making changes to this member, think about whether or not they should also be applied in TypeSymbol. - - In incorrect or imported code, it is possible that both currTypeBestMatch and hiddenBuilder will be populated. - - - - - If representative member is non-null and is contained in a constructed type, then find - other members in the same type with the same signature. If this is an override member, - add them to the overridden and runtime overridden lists. Otherwise, add them to the - hidden list. - - - - - Some kinds of methods are not considered to be hideable by certain kinds of members. - Specifically, methods, properties, and types cannot hide constructors, destructors, - operators, conversions, or accessors. - - - - - Having found the best member to override, we want to find members with the same signature on the - best member's containing type. - - - The member that we consider to be overridden (may have different custom modifiers from the overriding member). - Assumed to already be in the overridden and runtime overridden lists. - - - If the best match was based on the custom modifier count, rather than the custom modifiers themselves - (because the overriding member is in the current compilation), then we should use the count when determining - whether the override is ambiguous. - - - If the declaring type is constructed, it's possible that two (or more) members have the same signature - (including custom modifiers). Return a list of such members so that we can report the ambiguity. - - - If the declaring type is constructed, it's possible that two (or more) members have the same signature - (including custom modifiers) in metadata (no ref/out distinction). Return a list of such members so - that we can report the ambiguity. - - Even in a non-generic type, it's possible for two indexers to have the same signature. For example, - this would be the case if the default member of a type is "get_Item" and indexers "A" and "B", - with the same signature, both have an indexer called "get_Item". - - From: SymbolPreparer.cpp - DevDiv Bugs 115384: Both out and ref parameters are implemented as references. In addition, out parameters are - decorated with OutAttribute. In CLR when a signature is looked up in virtual dispatch, CLR does not distinguish - between these to parameter types. The choice is the last method in the vtable. Therefore we check and warn if - there would potentially be a mismatch in CLRs and C#s choice of the overriden method. Unfortunately we have no - way of communicating to CLR which method is the overriden one. We only run into this problem when the - parameters are generic. - - - - - Having found that we are hiding a method with exactly the same signature - (including custom modifiers), we want to find methods with the same signature - on the declaring type because they will also be hidden. - (If the declaring type is constructed, it's possible that two or more - methods have the same signature (including custom modifiers).) - (If the representative member is an indexer, it's possible that two or more - properties have the same signature (including custom modifiers, even in a - non-generic type). - - - This kind of the hiding member. - - - The member that we consider to be hidden (must have exactly the same custom modifiers as the hiding member). - Assumed to already be in hiddenBuilder. - - - Will have all other members with the same signature (including custom modifiers) as - representativeMember added. - - - - - Given a method, find a method that it overrides from the perspective of the CLI. - Key differences from C#: non-virtual methods are ignored, the RuntimeSignatureComparer - is used (i.e. consider return types, ignore ref/out distinction). - - - WARN: Must not check method.MethodKind - PEMethodSymbol.ComputeMethodKind uses this method. - NOTE: Does not check whether the given method will be marked "newslot" in metadata (which - would indicate that it does not override anything). - WARN: If the method may override a source method and declaration diagnostics have yet to - be computed, then it is important to pass ignoreInterfaceImplementationChanges: true - (see MethodSymbol.IsMetadataVirtual for details). - - - - - Note that the access check is done using the original definitions. This is because we want to avoid - reductions in accessibility that result from type argument substitution (e.g. if an inaccessible type - has been passed as a type argument). - See DevDiv #11967 for an example. - - - - - Groups the information computed by MakeOverriddenOrHiddenMembers. - - - - - Represents a preprocessing conditional compilation symbol. - - - - - Helper methods that exist to share code between properties and events. - - - - - If the property has a GetMethod, return that. Otherwise check the overridden - property, if any. Repeat for each overridden property. - - - - - If the property has a SetMethod, return that. Otherwise check the overridden - property, if any. Repeat for each overridden property. - - - - - A RangeVariableSymbol represents an identifier introduced in a query expression as the - identifier of a "from" clause, an "into" query continuation, a "let" clause, or a "join" clause. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - An extension method with the "this" parameter removed. - Used for the public binding API only, not for compilation. - - - - - Return the extension method in reduced form if the extension method - is applicable, and satisfies type parameter constraints, based on the - "this" argument type. Otherwise, returns null. - - - - - A representation of a method symbol that is intended only to be used for comparison purposes - (esp in MethodSignatureComparer). - - - - - Intended to be used to create ParameterSymbols for a SignatureOnlyMethodSymbol. - - - - - A representation of a property symbol that is intended only to be used for comparison purposes - (esp in PropertySignatureComparer). - - - - - Generate a list containing the given field and all dependencies - of that field that require evaluation. The list is ordered by - dependencies, with fields with no dependencies first. Cycles are - broken at the first field lexically in the cycle. If multiple threads - call this method with the same field, the order of the fields - returned should be the same, although some fields may be missing - from the lists in some threads as other threads evaluate fields. - - - - - The set of fields on which the field depends. - - - - - The set of fields that depend on the field. - - - - - Build a dependency graph (a map from - field to dependencies). - - - - - Return an ordering of the compilations referenced in the graph. - The actual ordering is not important, but we need some ordering - to compare source locations across different compilations. - - - - - Return one member from one cycle in the graph. - (There must be at least one cycle. In fact, there - shouldn't be any fields without dependencies.) - - - - - Type parameters in documentation comments are complicated since they sort of act as declarations, - rather than references. Consider the following example: - - See . - class B { void M(T t) { } } - ]]> - - We make some key observations: - 1) The type parameter name in the cref is not tied to the type parameter name in the type declaration. - 2) A relationship exists between the two occurrences of "U" in the cref: they both refer to (or define) - the same symbol. - - In Roslyn, we've decided on the following representation: within the (entire) scope of a cref, the names - of all type parameters "declared" in the cref are in scope and bind to the corresponding type parameters. - This representation has one major advantage: as long as the appropriate binder (i.e. the one that knows - about the implicitly-declared type parameters) is used, TypeSyntaxes within the cref can be bound by - calling BindType. In addition to eliminating the necessity for custom binding code in the batch case, - this reduces the problem of exposing such nodes in the SemanticModel to one of ensuring that the right - enclosing binder is chosen. That is, new code will have to be written to handle CrefSyntaxes, but the - existing code for TypeSyntaxes should just work! - - In the example above, this means that, between the cref quotation marks, the name "U" binds to an - implicitly declared type parameter, whether it is in "B{U}", "M{U}", or "M{List{U[]}}". - - Of course, it's not all gravy. One thing we're giving up by using this representation is the ability to - distinguish between "declared" type parameters with the same name. Consider the following example: - - See . - class A - { - void M(T t) { } - void M(U u) { } - } - ]]> - - - The native compiler interprets this in the same way as it would interpret A{T1, T2}.M(T2) and unambiguously - (i.e. without a warning) binds to A{T, U}.M(U). Since Roslyn does not distinguish between the T's, Roslyn - reports an ambiguity warning and picks the first method. Furthermore, renaming one 'T' will rename all of - them. - - This class represents such an implicitly declared type parameter. The declaring syntax is expected to be - an IdentifierNameSyntax in the type argument list of a QualifiedNameSyntax. - - - - Out params are updated by assignment. If you require thread-safety, pass temps and then - CompareExchange them back into shared memory. - - - - Type that already has custom modifiers. - Same as , but without custom modifiers. May differ in object/dynamic. - of the parameter of which this is the type (or for a return type. - The assembly containing the signature referring to the destination type. - with custom modifiers copied from . - - - - Given a member, look for other members contained in the same type with signatures that will - not be distinguishable by the runtime. - - - - - Implemented by symbols that can be targetted by an attribute declaration (i.e. source symbols). - - - - - Returns the owner of attributes that apply to this symbol. - - - Attributes for this symbol might be retrieved from attribute list of another (owning) symbol. - In that case this property returns that owning symbol, otherwise it returns "this". - - - - - Returns a bit set of attribute locations applicable to this symbol. - - - - - Attribute location corresponding to this symbol. - - - Location of an attribute if an explicit location is not specified via attribute target specification syntax. - - - - - Represents implicit, script and submission classes. - - - - - Indexed type parameters are used in place of type parameters for method signatures. There is - a unique mapping from index to a single IndexedTypeParameterSymbol. - - They don't have a containing symbol or locations. - - They do not have constraints, variance, or attributes. - - - - - Create a vector of n dummy type parameters. Always reuses the same type parameter symbol - for the same position. - - - - - - - Represents an assembly built by compiler. - - - - - A Compilation the assembly is created for. - - - - - Assembly's identity. - - - - - A list of modules the assembly consists of. - The first (index=0) module is a SourceModuleSymbol, which is a primary module, the rest are net-modules. - - - - - Bag of assembly's custom attributes and decoded well-known attribute data from source. - - - - - Bag of assembly's custom attributes and decoded well-known attribute data from added netmodules. - - - - - Indices of duplicate assembly attributes, i.e. attributes that bind to the same constructor and have identical arguments, that must not be emitted. - - - These indices correspond to the merged assembly attributes from source and added net modules, i.e. attributes returned by method. - - - - - Map for storing effectively private or effectively internal fields declared in this assembly but never initialized nor assigned. - Each {symbol, bool} key-value pair in this map indicates the following: - (a) Key: Unassigned field symbol. - (b) Value: True if the unassigned field is effectively internal, false otherwise. - - - - - private fields declared in this assembly but never read - - - - - We imitate the native compiler's policy of not warning about unused fields - when the enclosing type is used by an extern method for a ref argument. - Here we keep track of those types. - - - - - The warnings for unused fields. - - - - - This override is essential - it's a base case of the recursive definition. - - - - - This represents what the user claimed in source through the AssemblyFlagsAttribute. - It may be modified as emitted due to presence or absence of the public key. - - - - - We're going to synthesize some well-known attributes for this assembly symbol. However, at synthesis time, it is - too late to report diagnostics or cancel the emit. Instead, we check for use site errors on the types and members - we know we'll need at synthesis time. - - - As in Dev10, we won't report anything if the attribute TYPES are missing (note: missing, not erroneous) because we won't - synthesize anything in that case. We'll only report diagnostics if the attribute TYPES are present and either they or - the attribute CONSTRUCTORS have errors. - - - - - If this compilation allows unsafe code (note: allows, not contains), then when we actually emit the assembly/module, - we're going to synthesize SecurityPermissionAttribute/UnverifiableCodeAttribute. However, at synthesis time, it is - too late to report diagnostics or cancel the emit. Instead, we check for use site errors on the types and members - we know we'll need at synthesis time. - - - As in Dev10, we won't report anything if the attribute TYPES are missing (note: missing, not erroneous) because we won't - synthesize anything in that case. We'll only report diagnostics if the attribute TYPES are present and either they or - the attribute CONSTRUCTORS have errors. - - - - - True if internals are exposed at all. - - - Forces binding and decoding of attributes. - This property shouldn't be accessed during binding as it can lead to attribute binding cycle. - - - - - Gets unique source assembly attributes that should be emitted, - i.e. filters out attributes with errors and duplicate attributes. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns true if the assembly attribute at the given index is a duplicate assembly attribute that must not be emitted. - Duplicate assembly attributes are attributes that bind to the same constructor and have identical arguments. - - - This method must be invoked only after all the assembly attributes have been bound. - - - - - Returns data decoded from source assembly attributes or null if there are none. - - - Forces binding and decoding of attributes. - TODO: We should replace methods GetSourceDecodedWellKnownAttributeData and GetNetModuleDecodedWellKnownAttributeData with - a single method GetDecodedWellKnownAttributeData, which merges DecodedWellKnownAttributeData from source and netmodule attributes. - - - - - Returns true if and only if at least one type within the assembly contains - extension methods. Note, this method is expensive since it potentially - inspects all types within the assembly. The expectation is that this method is - only called at emit time, when all types have been or will be traversed anyway. - - - - - Get the warnings for unused fields. This should only be fetched when all method bodies have been compiled. - - - - - Represents a source parameter cloned from another , when they must share attribute data and default constant value. - For example, parameters on a property symbol are cloned to generate parameters on accessors. - Similarly parameters on delegate invoke method are cloned to delegate begin/end invoke methods. - - - - - A source parameter, potentially with a default value, attributes, etc. - - - - - Symbol to copy bound attributes from, or null if the attributes are not shared among multiple source parameter symbols. - - - Used for parameters of partial implementation. We bind the attributes only on the definition - part and copy them over to the implementation. - - - - - Gets the syntax list of custom attributes that declares atributes for this parameter symbol. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Verify the default value matches the default value from any earlier attribute - (DefaultParameterValueAttribute, DateTimeConstantAttribute or DecimalConstantAttribute). - If not, report ERR_ParamDefaultValueDiffersFromAttribute. - - - - - Is the attribute syntax appearing on a parameter of a partial method implementation part? - Since attributes are merged between the parts of a partial, we need to look at the syntax where the - attribute appeared in the source to see if it corresponds to a partial method implementation part. - - - - - - - True if the parameter has default argument syntax. - - - - - True if the parameter is marked by . - - - - - This class represents an event accessor declared in source - (i.e. not one synthesized for a field-like event). - - - The accessors are associated with . - - - - - This class represents an event declared in source with explicit accessors - (i.e. not a field-like event). - - - - - Represents a constant field of an enum. - - - - - Base class for event accessors - synthesized and user defined. - - - - - A delegate field associated with a . - - - SourceFieldSymbol takes care of the initializer (plus "var" in the interactive case). - - - - - This class represents an event declared in source. It may be either - field-like (see ) or property-like (see - ). - - - - - Gets the syntax list of custom attributes applied on the event symbol. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - This class represents an event declared in source without explicit accessors. - It implicitly has thread safe accessors and an associated field (of the same - name), unless it does not have an initializer and is either extern or inside - an interface, in which case it only has accessors. - - - - - Backing field for field-like event. Will be null if the event - has no initializer and is either extern or inside an interface. - - - - - Gets the syntax list of custom attributes applied on the symbol. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Verify the constant value matches the default value from any earlier attribute - (DateTimeConstantAttribute or DecimalConstantAttribute). - If not, report ERR_FieldHasMultipleDistinctConstantValues. - - - - - Return the constant value dependencies. Compute the dependencies - if necessary by evaluating the constant value but only persist the - constant value if there were no dependencies. (If there are dependencies, - the constant value will be re-evaluated after evaluating dependencies.) - - - - - Switch case labels have a constant expression associated with them. - - - - - If the label is a switch case label, returns the associated constant value with - case expression, otherwise returns null. - - - - - Represents a local variable in a method body. - - - - - Might not be a method symbol in error cases. - - - - - There are three ways to initialize a fixed statement local: - 1) with an address; - 2) with an array (or fixed-size buffer); or - 3) with a string. - - In the first two cases, the resulting local will be emitted with a "pinned" modifier. - In the third case, it is not the fixed statement local but a synthesized temp that is pinned. - Unfortunately, we can't distinguish these cases when the local is declared; we only know - once we have bound the initializer. - - - CompareExchange doesn't support bool, so use an int. First bit is true/false, second bit - is read/unread (debug-only). - - - - - Store the constant value and the corresponding diagnostics together - to avoid having the former set by one thread and the latter set by - another. - - - - - Gets the name of the local variable. - - - - - Gets the locations where the local symbol was originally defined in source. - There should not be local symbols from metadata, and there should be only one local variable declared. - TODO: check if there are multiple same name local variables - error symbol or local symbol? - - - - - Determine the constant value of this local and the corresponding diagnostics. - Set both to constantTuple in a single operation for thread safety. - - Null for the initial call, non-null if we are in the process of evaluating a constant. - If we already have the bound node for the initial value, pass it in to avoid recomputing it. - - - - Represents a named type symbol whose members are declared in source. - - - - - Compute the "effective accessibility" of the current class for the purpose of warnings about unused fields. - - - - - Encapsulates information about the non-type members of a (i.e. this) type. - 1) For non-initializers, symbols are created and stored in a list. - 2) For fields, the symbols are stored in (1) and the initializers are - stored with other initialized fields from the same syntax tree with - the same static-ness. - 3) For indexers, syntax (weak) references are stored for later binding. - - - CONSIDER: most types won't have indexers, so we could move the indexer list - into a subclass to spare most instances the space required for the field. - - - - - Returns the "main" Primary Constructor. If more than one partial declaration declares a - Primary Constructor, we will have several distinct Primary Constructor symbols. - This property returns the first one we encounter, it's parameters will be in scope within - type members and initializers. - - - - - During early attribute decoding, we consider a safe subset of all members that will not - cause cyclic dependencies. Get all such members for this symbol. - - In particular, this method will return nested types and fields (other than auto-property - backing fields). - - - - - During early attribute decoding, we consider a safe subset of all members that will not - cause cyclic dependencies. Get all such members for this symbol that have a particular name. - - In particular, this method will return nested types and fields (other than auto-property - backing fields). - - - - - Merge (already ordered) non-type, non-indexer members with (already ordered) indexer members. - - - - - Fix up a partial method by combining its defining and implementing declarations, updating the array of symbols (by name), - and returning the combined symbol. - - The symbols array containing both the latent and implementing declaration - One of the two declarations - The other declaration - An updated symbols array containing only one method symbol representing the two parts - - - - Report an error if a member (other than a method) exists with the same name - as the property accessor, or if a method exists with the same name and signature. - - - - - Report an error if a member (other than a method) exists with the same name - as the event accessor, or if a method exists with the same name and signature. - - - - - Return the location of the accessor, or if no accessor, the location of the property. - - - - - Return the location of the accessor, or if no accessor, the location of the event. - - - - - Return true if the method parameters match the parameters of the - property accessor, including the value parameter for the setter. - - - - - Return true if the method parameters match the parameters of the - event accessor, including the value parameter. - - - - - In some circumstances (e.g. implicit implementation of an interface method by a non-virtual method in a - base type from another assembly) it is necessary for the compiler to generate explicit implementations for - some interface methods. They don't go in the symbol table, but if we are emitting, then we should - generate code for them. - - - - - It's not interesting to report diagnostics on implementation of interface accessors - if the corresponding events or properties are not implemented (i.e. we want to suppress - cascading diagnostics). - Caveat: Indexed property accessors are always interesting. - Caveat: It's also uninteresting if a WinRT event is implemented by a non-WinRT event, - or vice versa. - - - - - If necessary, report a diagnostic for a hidden abstract member. - - True if a diagnostic was reported. - - - - It is invalid for a type to directly (vs through a base class) implement two interfaces that - unify (i.e. are the same for some substitution of type parameters). - - - CONSIDER: check this while building up InterfacesAndTheirBaseInterfaces (only in the SourceNamedTypeSymbol case). - - - - - Though there is a method that C# considers to be an implementation of the interface method, that - method may not be considered an implementation by the CLR. In particular, implicit implementation - methods that are non-virtual or that have different (usually fewer) custom modifiers than the - interface method, will not be considered CLR overrides. To address this problem, we either make - them virtual (in metadata, not in C#), or we introduce an explicit interface implementation that - delegates to the implicit implementation. - - Returned from FindImplementationForInterfaceMemberWithDiagnostics. - The interface method or property that is being implemented. - Synthesized implementation or null if not needed. - - - - The CLR will only look for an implementation of an interface method in a type that - 1) declares that it implements that interface; or - 2) is a base class of a type that declares that it implements the interface but not - a subtype of a class that declares that it implements the interface. - - For example, - - interface I - class A - class B : A, I - class C : B - class D : C, I - - Suppose the runtime is looking for D's implementation of a member of I. It will look in - D because of (1), will not look in C, will look in B because of (1), and will look in A - because of (2). - - The key point is that it does not look in C, which C# *does*. - - - - - If C# picks a different implementation than the CLR (see IsPossibleImplementationUnderClrRules), then we might - still be okay, but dynamic dispath might result in C#'s choice getting called anyway. - - - This is based on SymbolPreparer::IsCLRMethodImplSame in the native compiler. - - ACASEY: What the native compiler actually does is compute the C# answer, compute the CLR answer, - and then confirm that they override the same method. What I've done here is check for the situations - where the answers could disagree. I believe the results will be equivalent. If in doubt, a more conservative - check would be implementingMethod.ContainingType.InterfacesAndTheirBaseInterfaces.Contains(@interface). - - - - - A collection of type parameter constraints, populated when - constraints for the first type parameter is requested. - - - - - If this symbol represents a partial method definition or implementation part, its other part (if any). - This should be set, if at all, before this symbol appears among the members of its owner. - The implementation part is not listed among the "members" of the enclosing type. - - - - - A binder to use for binding generic constraints. The field is only non-null while the .ctor - is executing, and allows constraints to be bound before the method is added to the - containing type. (Until the method symbol has been added to the container, we cannot - get a binder for the method without triggering a recursive attempt to bind the method.) - - - - - If this is a partial implementation part returns the definition part and vice versa. - - - - - Returns true if this symbol represents a partial method definition (the part that specifies a signature but no body). - - - - - Returns true if this symbol represents a partial method implementation (the part that specifies both signature and body). - - - - - True if this is a partial method that doesn't have an implementation part. - - - - - Returns the implementation part of a partial method definition, - or null if this is not a partial method or it is the definition part. - - - - - Returns the definition part of a partial method implementation, - or null if this is not a partial method or it is the implementation part. - - - - - Report differences between the defining and implementing - parts of a partial method. Diagnostics are reported on the - implementing part, matching Dev10 behavior. - - - - - Returns true if the two partial methods have the same constraints. - - - - - Implementers should assume that a lock has been taken on MethodChecksLockObject. - In particular, it should not (generally) be necessary to use CompareExchange to - protect assignments to fields. - - - - - We can usually lock on the syntax reference of this method, but it turns - out that some synthesized methods (e.g. field-like event accessors) also - need to do method checks. This property allows such methods to supply - their own lock objects, so that we don't have to add a new field to every - SourceMethodSymbol. - - - - - This method indicates whether or not the runtime will regard the method - as final (as indicated by the presence of the "final" modifier in the - signature). - NOTE: The method is supposed to be called ONLY from emitter. - - - - - Is this a declaration of a Primary constructor? - Note, more than one constructor in a type can return true for this property. - This happens for an error situation when more than one partial declaration declares Primary - Constructor. We will create a constructor symbol for each of them and all of them will have - IsPrimaryCtor == true. However, The first one that we create will be the "main" Primary Constructor, - SourceMemberContainerTypeSymbol.PrimaryCtor property returns it. - - - - - Overridden by , - which might return locations of partial methods. - - - - - Symbol to copy bound attributes from, or null if the attributes are not shared among multiple source method symbols. - - - Used for example for event accessors. The "remove" method delegates attribute binding to the "add" method. - The bound attribute data are then applied to both accessors. - - - - - Gets the syntax list of custom attributes that declares atributes for this method symbol. - - - - - Gets the syntax list of custom attributes that declares atributes for return type of this method. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns information retrieved from custom attributes on return type in source, or null if the symbol is not source symbol or there are none. - - - Forces binding and decoding of attributes. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Returns a bag of custom attributes applied on the method return value and data decoded from well-known attributes. Returns null if there are no attributes. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - - - Gets the attributes applied on the return value of this method symbol. - Returns an empty array if there are no attributes. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Represents the primary module of an assembly being built by compiler. - - - - - Owning assembly. - - - - - The declarations corresponding to the source files of this module. - - - - - The name (contains extension) - - - - - This override is essential - it's a base case of the recursive definition. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - A collection of type parameter constraints, populated when - constraints for the first type parameter are requested. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - These won't be returned by GetAttributes on source methods, but they - will be returned by GetAttributes on metadata symbols. - - - - - Gets the BaseType of this type. If the base type could not be determined, then - an instance of ErrorType is returned. If this kind of type does not have a base type - (for example, interfaces), null is returned. Also the special class System.Object - always has a BaseType of null. - - - - - Gets the set of interfaces that this type directly implements. This set does not include - interfaces that are base interfaces of directly implemented interfaces. - - - - - Returns true if the type cannot be used as an explicit base class. - - - - - For enum types, gets the underlying type. Returns null on all other - kinds of types. - - - - - For enum types, returns the synthesized instance field used - for generating metadata. Returns null for non-enum types. - - - - - Register COR types declared in this namespace, if any, in the COR types cache. - - - - - Base class for parameters can be referred to from source code. - - - These parameters can potentially be targetted by an attribute specified in source code. - As an optimization we distinguish simple parameters (no attributes, no modifiers, etc.) and complex parameters. - - - - - True if the parameter is marked by . - - - - - True if the parameter has default argument syntax. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Base class for all parameters that are emitted. - - - - - A Primary Constructor parameter that will have backing field fo sure. - - - - - Return Accessibility declared locally on the accessor, or - NotApplicable if no accessibility was declared explicitly. - - - - - If we are outputing a .winmdobj then the setter name is put_, not set_. - - - - - Set in constructor, might be changed while decoding . - - - - - To facilitate lookup, all indexer symbols have the same name. - Check the MetadataName property to find the name that will be - emitted (based on IndexerNameAttribute, or the default "Item"). - - - - - Even though it is declared with an IndexerDeclarationSyntax, an explicit - interface implementation is not an indexer because it will not cause the - containing type to be emitted with a DefaultMemberAttribute (and even if - there is another indexer, the name of the explicit implementation won't - match). This is important for roundtripping. - - - - - Return true if the accessor accessibility is more restrictive - than the property accessibility, otherwise false. - - - - - If this property is sealed, then we have to emit both accessors - regardless of whether - they are present in the source - so that they can be marked final. (i.e. sealed). - - - - - Only non-null for sealed properties without both accessors. - - - - - Returns a bag of applied custom attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns data decoded from well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from special early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - A source parameter that has no default value, no attributes, - and is not params. - - - - - Base class for type and method type parameters. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a sealed override. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Check constraints of generic types referenced in constraint types. For instance, - with "interface I<T> where T : I<T> {}", check T satisfies constraints - on I<T>. Those constraints are not checked when binding ConstraintTypes - since ConstraintTypes has not been set on I<T> at that point. - - - - - A map shared by all type parameters for an overriding method or a method - that explicitly implements an interface. The map caches the overridden method - and a type map from overridden type parameters to overriding type parameters. - - - - - A type parameter for a method that either overrides a base - type method or explicitly implements an interface method. - - - Exists to copy constraints from the corresponding type parameter of an overridden method. - - - - - The type parameter to use for determining constraints. If there is a base - method that the owner method is overriding, the corresponding type - parameter on that method is used. Otherwise, the result is null. - - - - - Class to represent a synthesized attribute - - - - - A context for binding type parameter symbols. - - - - - A simple representation of a type parameter constraint clause - as a set of constraint bits and a set of constraint types. - - - - - Checks if a type is considered a "built-in integral" by CLR. - - - - - The type is one of the simple types defined in Dev10 C#, see "predeftype.h"/simple - - - - - Either a SubstitutedNestedTypeSymbol or a ConstructedNamedTypeSymbol, which share in common that they - have type parameters substituted. - - - - - This field keeps track of the s for which we already retrieved - diagnostics. We shouldn't return from ForceComplete (i.e. indicate that diagnostics are - available) until this is equal to , except that when completing - with a given position, we might not complete .Member*. - - Since completeParts is used as a flag indicating completion of other assignments - it must be volatile to ensure the read is not reordered/optimized to happen - before the writes. - - - - - Used to force (source) symbols to a given state of completion. - - The owning source symbol. - - - - Since this formula is rather opaque, a demonstration of its correctness is - provided in Roslyn.Compilers.CSharp.UnitTests.CompletionTests.TestHasAtMostOneBitSet. - - - - - Represents the compiler generated value parameter for property/event accessor. - This parameter has no source location/syntax, but may have attributes. - Attributes with 'param' target specifier on the accessor must be applied to the this parameter. - - - - - Represents a compiler generated backing field for an automatically implemented property. - - - - - A field of a frame class that represents a variable that has been captured in a lambda or iterator. - - - - - A container synthesized for a lambda, iterator method, async method, or dynamic-sites. - - - - - Represents an interactive code entry point that is inserted into the compilation if there is not an existing one. - - - - - Represents __value field of an enum. - - - - - Event accessor that has been synthesized for a field-like event declared in source. - - - Associated with . - - - - - Represents a compiler generated field. - - - Represents a compiler generated field of given type and name. - - - - - Represents a compiler generated field. - - - - - Each hoisted iterator/async local has an associated index (1-based). - - - - - Represents a compiler generated synthesized method symbol - that must be emitted in the compiler generated - PrivateImplementationDetails class - - - - - Synthesized methods that must be emitted in the compiler generated - PrivateImplementationDetails class have null containing type symbol. - - - - - A base class for synthesized methods that want a this parameter. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - A synthesized local variable. - - - - - Represents a simple compiler generated parameter of a given type. - - - - - For each parameter of a source method, construct a corresponding synthesized parameter - for a destination method. - - Has parameters. - Needs parameters. - Synthesized parameters to add to destination method. - - - - A type parameter for a synthesized class or method. - - - - - Utility class for substituting actual type arguments for formal generic type parameters. - - - - - The effective "bounds" of a type parameter: the constraint types, effective - interface set, and effective base type, determined from the declared - constraints, with any cycles removed. The fields are exposed by the - TypeParameterSymbol as ConstraintTypes, Interfaces, and BaseType. - - - - - The type parameters, classes, and interfaces explicitly declared as - constraint types on the containing type parameter, with cycles removed. - - - - - The set of interfaces explicitly declared on the containing type - parameter and any type parameters on which the containing - type parameter depends, with duplicates removed. - - - - - As defined in 10.1.5 of the specification. - - - - - The "exact" effective base type. - In the definition of effective base type we abstract some concrete types to their base classes: - * For each constraint of T that is a struct-type, R contains System.ValueType. - * For each constraint of T that is an enumeration type, R contains System.Enum. - * For each constraint of T that is a delegate type, R contains System.Delegate. - * For each constraint of T that is an array type, R contains System.Array. - * For each constraint of T that is a class-type C, R contains type C' which is constructed - from C by replacing all occurances of dynamic with object. - The reason is that the CLR doesn't support operations on generic parameters that would be needed - to work with these types. For example, ldelem instruction requires the receiver to be a specific array, - not a type parameter constrained to be an array. - - When computing the deduced type we don't perform this abstraction. We keep the original constraint T. - Deduced base type is used to check that consistency rules are satisfied. - - - - - A TypeSymbol is a base class for all the symbols that represent a type - in C#. - - - - - A comparator that treats dynamic and object as "the same" types. - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then OriginalDefinition gets the original symbol as it was defined in - source or metadata. - - - - - Gets the BaseType of this type. If the base type could not be determined, then - an instance of ErrorType is returned. If this kind of type does not have a base type - (for example, interfaces), null is returned. Also the special class System.Object - always has a BaseType of null. - - - - - Gets the set of interfaces that this type directly implements. This set does not include - interfaces that are base interfaces of directly implemented interfaces. - - - - - The list of all interfaces of which this type is a declared subtype, excluding this type - itself. This includes all declared base interfaces, all declared base interfaces of base - types, and all declared base interfaces of those results (recursively). Each result - appears exactly once in the list. This list is topologically sorted by the inheritance - relationship: if interface type A extends interface type B, then A precedes B in the - list. This is not quite the same as "all interfaces of which this type is a proper - subtype" because it does not take into account variance: AllInterfaces for - IEnumerable<string> will not include IEnumerable<object> - - - - - If this is a type parameter returns its effective base class, otherwise returns this type. - - - - - Returns true if this type derives from a given type. - - - - - Returns true if this type si equal or derives from a given type. - - - - - Determines if this type symbol represent the same type as another, according to the language - semantics. - - The other type. - True to compare without regard to custom modifiers, false by default. - True to ignore the distinction between object and dynamic, false by default. - True if the types are equivalent. - - - - We ignore custom modifiers, and the distinction between dynamic and object, when computing a type's hash code. - - - - - Produce all implemented interfaces in topologically sorted order. We use - TypeSymbol.Interfaces as the source of edge data, which has had cycles and infinitely - long dependency cycles removed. Consequently, it is possible (and we do) use the - simplest version of Tarjan's topological sorting algorithm. - - - - Gets the set of interfaces that this type directly implements, plus the base interfaces - of all such types. - - - CONSIDER: it probably isn't truly necessary to cache this. If space gets tight, consider - alternative approaches (recompute every time, cache on the side, only store on some types, - etc). - - - - - Returns the corresponding symbol in this type or a base type that implements - interfaceMember (either implicitly or explicitly), or null if no such symbol exists - (which might be either because this type doesn't implement the container of - interfaceMember, or this type doesn't supply a member that successfully implements - interfaceMember). - - - Must be a non-null interface property, method, or event. - - - - - Returns true if this type is known to be a reference type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Returns true if this type is known to be a value type. It is never the case that - IsReferenceType and IsValueType both return true. However, for an unconstrained type - parameter, IsReferenceType and IsValueType will both return false. - - - - - Gets the kind of this type. - - - - - Gets corresponding special TypeId of this type. - - - Not preserved in types constructed from this one. - - - - - Gets corresponding primitive type code for this type declaration. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Is this a symbol for an anonymous type (including delegate). - - - - - Is this type a managed type (false for everything but enum, pointer, and - some struct types). - - - See Type::computeManagedType. - - - - - Performs interface mapping (spec 13.4.4). - - - CONSIDER: we could probably do less work in the metadata and retargeting cases - we won't use the diagnostics. - - A non-null property on an interface type. - The type implementing the interface property (usually "this"). - Bag to which to add diagnostics. - The implementing property or null, if there isn't one. - - - - Since dev11 didn't expose a symbol API, it had the luxury of being able to accept a base class's claim that - it implements an interface. Roslyn, on the other hand, needs to be able to point to an implementing symbol - for each interface member. - - DevDiv #718115 was triggered by some unusual metadata in a Microsoft reference assembly (Silverlight System.Windows.dll). - The issue was that a type explicitly implemented the accessors of an interface event, but did not tie them together with - an event declaration. To make matters worse, it declared its own protected event with the same name as the interface - event (presumably to back the explicit implementation). As a result, when Roslyn was asked to find the implementing member - for the interface event, it found the protected event and reported an appropriate diagnostic. Would it should have done - (and does do now) is recognize that no event associated with the accessors explicitly implementing the interface accessors - and returned null. - - We resolved this issue by introducing a new step into the interface mapping algorithm: after failing to find an explicit - implementation in a type, but before searching for an implicit implementation in that type, check for an explicit implementation - of an associated accessor. If there is such an implementation, then immediately return the associated property or event, - even if it is null. That is, never attempt to find an implicit implementation for an interface property or event with an - explicitly implemented accessor. - - - - - If we were looking for an accessor, then look for an accessor on the implementation of the - corresponding interface property/event. If it is valid as an implementation (ignoring the name), - then prefer it to our current result if: - 1) our current result is null; or - 2) our current result is on the same type. - - If there is no corresponding accessor on the implementation of the corresponding interface - property/event and we found an accessor, then the accessor we found is invalid, so clear it. - - - - - These diagnostics are for members that do implicitly implement an interface member, but do so - in an undesirable way. - - - - - These diagnostics are for members that almost, but not actually, implicitly implement an interface member. - - - - - Search the declared members of a type for one that could be an implementation - of a given interface member (depending on interface declarations). - - The interface member being implemented. - True if the implementing type is from some compilation (i.e. not from metadata). - The type on which we are looking for a declared implementation of the interface member. - A member on currType that could implement the interface, or null. - A member on currType that could have been an attempt to implement the interface, or null. - - There is some similarity between this member and MemberSymbol.FindOverriddenOrHiddenMembersInType. - When making changes to this member, think about whether or not they should also be applied in MemberSymbol. - One key difference is that custom modifiers are considered when looking up overridden members, but - not when looking up implicit implementations. We're preserving this behavior from Dev10. - - - - - To implement an interface member, a candidate member must be public, non-static, and have - the same signature. "Have the same signature" has a looser definition if the type implementing - the interface is from source. - - - PROPERTIES: - NOTE: we're not checking whether this property has at least the accessors - declared in the interface. Dev10 considers it a match either way and, - reports failure to implement accessors separately. - - If the implementing type (i.e. the type with the interface in its interface - list) is in source, then we can ignore custom modifiers in/on the property - type because they will be copied into the bridge property that explicitly - implements the interface property (or they would be, if we created such - a bridge property). Bridge *methods* (not properties) are inserted in - SourceNamedTypeSymbol.ImplementInterfaceMember. - - CONSIDER: The spec for interface mapping (13.4.4) could be interpreted to mean that this - property is not an implementation unless it has an accessor for each accessor of the - interface property. For now, we prefer to represent that case as having an implemented - property and an unimplemented accessor because it makes finding accessor implementations - much easier. If we decide that we want the API to report the property as unimplemented, - then it might be appropriate to keep current result internally and just check the accessors - before returning the value from the public API (similar to the way MethodSymbol.OverriddenMethod - filters MethodSymbol.OverriddenOrHiddenMembers. - - - - - The set of abstract members in declared in this type or declared in a base type and not overridden. - - - - - Represents the method by which this type implements a given interface type - and/or the corresponding diagnostics. - - - - - Determines if the given type is a valid attribute parameter type. - - Type to validated - compilation - - - - - Gets the typed constant kind for the given attribute parameter type. - - Type to validated - compilation - TypedConstantKind for the attribute parameter type. - - - - return true if the type is constructed from System.Linq.Expressions.Expression`1 - - - - - return true if the type is constructed from a generic interface that - might be implemented by an array. - - - - - Return the default value constant for the given type, - or null if the default value is not a constant. - - - - - Visit the given type and, in the case of compound types, visit all "sub type" - (such as A in A[], or { A<T>, T, U } in A<T>.B<U>) invoking 'predicate' - with the type and 'arg' at each sub type. If the predicate returns true for any type, - traversal stops and that type is returned from this method. Otherwise if traversal - completes without the predicate returning true for any type, this method returns null. - - - - - (null TypeParameterSymbol "parameter"): Checks if the given type is a type parameter - or its referent type is a type parameter (array/pointer) or contains a type parameter (aggregate type) - (non-null TypeParameterSymbol "parameter"): above + also checks if the type parameter - is the same as "parameter" - - - - - Return true if the type contains any dynamic type reference. - - - - - Guess the non-error type that the given type was intended to represent. - If the type itself is not an error type, then it will be returned. - Otherwise, the underlying type (if any) of the error type will be - returned. - - - Any non-null type symbol returned is guaranteed not to be an error type. - - It is possible to pass in a constructed type and received back an - unconstructed type. This can occur when the type passed in was - constructed from an error type - the underlying definition will be - available, but there won't be a good way to "re-substitute" back up - to the level of the specified type. - - - - - Guess the non-error typekind that the given type was intended to represent, - if possible. If not, return TypeKind.Error. - - - - - Returns true if the type is a valid switch expression type. - - - - - Returns true if the type is one of the restricted types, namely: , - , or . - - - - - Add this instance to the set of checked types. Returns true - if this was added, false if the type was already in the set. - - - - - These special types are structs that contain fields of the same type - (e.g. contains an instance field of type ). - - - - - Compute a hash code for the constructed type. The return value will be - non-zero so callers can used zero to represent an uninitialized value. - - - - - If we are in a COM PIA with embedInteropTypes enabled we should turn properties and methods - that have the type and return type of object, respectively, into type dynamic. If the requisite conditions - are fulfilled, this method returns a dynamic type. If not, it returns the original type. - - A property type or method return type to be checked for dynamification. - Containing type. - - - - - Type variables are never considered reference types by the verifier. - - - - - Type variables are never considered value types by the verifier. - - - - - Return all of the type parameters in this type and enclosing types, - from outer-most to inner-most type. - - - - - Return all of the type parameters in this type and enclosing types, - from outer-most to inner-most type. - - - - - Return the nearest type parameter with the given name in - this type or any enclosing type. - - - - - Return true if the fully qualified name of the type's containing symbol - matches the given name. This method avoids string concatenations - in the common case where the type is a top-level type. - - - - - Count the custom modifiers within the specified TypeSymbol. - Potentially non-zero for arrays, pointers, and generic instantiations. - - - - - Check for custom modifiers within the specified TypeSymbol. - Potentially true for arrays, pointers, and generic instantiations. - - - A much less efficient implementation would be CustomModifierCount() == 0. - CONSIDER: Could share a backing method with CustomModifierCount. - - - - - Return true if this type can unify with the specified type - (i.e. is the same for some substitution of type parameters). - - - - - Used when iterating through base types in contexts in which the caller needs to avoid cycles and can't use BaseType - (perhaps because BaseType is in the process of being computed) - - - - - - - - - - This class groups together all of the functionality needed to check for error CS1961, ERR_UnexpectedVariance. - Its functionality is accessible through the NamedTypeSymbol extension method CheckInterfaceVarianceSafety and - the MethodSymbol extension method CheckMethodVarianceSafety (for checking delegate Invoke). - - - - - Accumulate diagnostics related to the variance safety of an interface. - - - - - Accumulate diagnostics related to the variance safety of a delegate. - - - - - Accumulate diagnostics related to the variance safety of an interface method. - - - - - Accumulate diagnostics related to the variance safety of an interface property. - - - - - Accumulate diagnostics related to the variance safety of an interface event. - - - - - Accumulate diagnostics related to the variance safety of an interface method/property parameter. - - - - - Accumulate diagnostics related to the variance safety of an interface method type parameters. - - - - - Returns true if the type is output-unsafe or input-unsafe, as defined in the C# spec. - Roughly, a type is output-unsafe if it could not be the return type of a method and - input-unsafe if it could not be a parameter type of a method. - - - This method is intended to match spec section 13.1.3.1 as closely as possible - (except that the output-unsafe and input-unsafe checks are merged). - - - - - 3) T is an interface, class, struct, enum, or delegate type ]]> constructed - from a generic type ]]> where for at least one A_i one - of the following holds: - a) X_i is covariant or invariant and A_i is output-unsafe [input-unsafe] - b) X_i is contravariant or invariant and A_i is input-unsafe [output-unsafe] (note: spec has "input-safe", but it's a typo) - - - Slight rewrite to make it more idiomatic for C#: - a) X_i is covariant and A_i is input-unsafe - b) X_i is contravariant and A_i is output-unsafe - c) X_i is invariant and A_i is input-unsafe or output-unsafe - - - - - Add an ERR_UnexpectedVariance diagnostic to the diagnostic bag. - - Diagnostic bag. - Type parameter that is not variance safe. - Context in which type is not variance safe (e.g. method). - Callback to provide location. - Callback argument. - Desired variance of type. - - - - Traverses the symbol table checking for CLS compliance. - - - - - Traverses the symbol table checking for CLS compliance. - - Compilation that owns the symbol table. - Will be supplemented with documentation comment diagnostics. - To stop traversing the symbol table early. - Only report diagnostics from this syntax tree, if non-null. - If and is non-null, report diagnostics within this span in the . - - - False if no further checks are required (because they would be cascading). - - - - BREAK: Dev11 reports WRN_CLS_ArrayArgumentToAttribute on all symbols, whereas roslyn reports it only - on accessible symbols. - - - - True if the symbol is okay (i.e. no warnings). - - - - NOTE: Dev11 behavior - First, it ignores arity, - which seems like a good way to disambiguate symbols (in particular, - CLS Rule 43 says that the name includes backtick-arity). Second, it - does not consider two members with identical names (i.e. not differing - in case) to collide. - - - - - This check (the only one that uses the "context" parameter is based on CLS Rule 46, - as implemented by LangCompiler::IsCLSAccessible. The idea is that C<int> and C<char> - are separate types in CLS, so they can't touch eachother's protected members. - TODO: This should really have a separate error code - it's logically separate and requires explanation. - - Check the accessibility of this type (probably a parameter or return type). - Context for the accessibility check (e.g. containing type of method with as a parameter type. - - - - As in dev11, we ignore the fact that CLSCompliantAttribute is inherited (i.e. from the base type) - (see CSemanticChecker::CheckSymForCLS). This should only affect types where the syntactic parent - and the inheritance parent disagree. - - - - - Based on CompilationPass::CLSReduceSignature. - - - - - Traverses the symbol table processing XML documentation comments and optionally writing them to - a provided stream. - - - - - Traverses the symbol table processing XML documentation comments and optionally writing them to - a provided stream. - - Compilation that owns the symbol table. - Assembly/module name override, if present. - Stream to which XML will be written, if non-null. - Will be supplemented with documentation comment diagnostics. - To stop traversing the symbol table early. - Only report diagnostics from this syntax tree, if non-null. - If and filterSpanWithinTree is non-null, report diagnostics within this span in the . - - - - Gets the XML that would be written to the documentation comment file for this assembly. - - The symbol for which to retrieve documentation comments. - True to treat includes as semantically meaningful (pull in contents from other files and bind crefs, etc). - To stop traversing the symbol table early. - - - - Write header, descend into members, and write footer. - - - - - Write own documentation comments and then descend into members. - - - - - Compile documentation comments on the symbol and write them to the stream if one is provided. - - - - - Loop over the DocumentationCommentTriviaSyntaxes. Gather - 1) concatenated XML, as a string; - 2) whether or not the XML is valid; - 3) set of type parameters covered by <typeparam> elements; - 4) set of parameters covered by <param> elements; - 5) list of <include> elements, as SyntaxNodes. - - True, if at least one documentation comment was processed; false, otherwise. - This was factored out for clarity, not because it's reusable. - - - - Similar to SymbolExtensions.GetParameters, but returns empty for unsupported symbols - and handles delegates. - - - - - Similar to SymbolExtensions.GetMemberTypeParameters, but returns empty for unsupported symbols. - - - - - A symbol requires a documentation comment if it was explicitly declared and - will be visible outside the current assembly (ignoring InternalsVisibleTo). - Exception: accessors do not require doc comments. - - - - - Get all of the DocumentationCommentTriviaSyntax associated with any declaring syntax of the - given symbol (except for partial methods, which only consider the part with the body). - - True if the nodes are all valid XML. - - - - Given the full text of a documentation comment, strip off the comment punctuation (///, /**, etc) - and add appropriate indentations. - - - - - Given a string, find the index of the first non-whitespace char. - - The string to search - The index of the first non-whitespace char in the string - - - - Find the first non-whitespace character in a given substring. - - The string to search - The start index - The last index (non-inclusive) - The index of the first non-whitespace char after index start in the string up to, but not including the end index - - - - Determine if the given string starts with the given prefix if whitespace - is first trimmed from the beginning. - - The string to search - The prefix - true if str.TrimStart().StartsWith(prefix) - - - - Given a string which may contain newline sequences, get the index of the first newline - sequence beginning at the given starting index. - - The string to split. - The starting index within the string. - The length of the newline sequence discovered. 0 if the end of the string was reached, otherwise either 1 or 2 chars - The index of the start of the first newline sequence following the start index - - - - Given the full text of a single-line style documentation comment, for each line, strip off - the comment punctuation (///) and add appropriate indentations. - - - - - Given the full text of a multi-line style documentation comment, broken into lines, strip off - the comment punctuation (/**, */, etc) and add appropriate indentations. - - - - - Remove "*/" and any following text, if it is present. - - - - - Return the longest prefix matching [whitespace]*[*][whitespace]*. - - - - - Return the longest common prefix of two strings - - - - - Bind a CrefSyntax and unwrap the result if it's an alias. - - - Does not respect DocumentationMode, so use a temporary bag if diagnostics are not desired. - - - - - Given a cref syntax that cannot be resolved, get the string that will be written to - the documentation file in place of a documentation comment ID. - - - - - Bind an XmlNameAttributeSyntax and update the sets of documented parameters and type parameters. - - - Does not respect DocumentationMode, so do not call unless diagnostics are desired. - - - - - WORKAROUND: - We're taking a dependency on the location and structure of a framework assembly resource. This is not a robust solution. - - Possible alternatives: - 1) Polish our XML parser until it matches MSXML. We don't want to reinvent the wheel. - 2) Build a map that lets us go from XML string positions back to source positions. - This is what the native compiler did, and it was a lot of work. We'd also still need to modify the message. - 3) Do not report a diagnostic. This is very unhelpful. - 4) Report a vague diagnostic (i.e. there's a problem somewhere in this doc comment). This is relatively unhelpful. - 5) Always report the message in English, so that we can pull it apart without needing to consume resource files. - This engenders a lot of ill will. - 6) Report the exception message without modification and (optionally) include the text with respect to which the - position is specified. This would not look sufficiently polished. - - - - - Walks a DocumentationCommentTriviaSyntax, binding the semantically meaningful parts - to produce diagnostics and to replace source crefs with documentation comment IDs. - - - - - Given a DocumentationCommentTriviaSyntax, return the full text, but with - documentation comment IDs substituted into crefs. - - - Still has all of the comment punctuation (///, /**, etc). - - - - - Rewrites nodes in , which is a snapshot of nodes from the original document. - We're mutating the tree as we rewrite, so it's important to grab a snapshot of the - nodes that we're going to reparent before we enumerate them. - - - - - This method boils down to Rewrite(XDocument.Load(fileAttrValue).XPathSelectElements(pathAttrValue)). - Everything else is error handling. - - - - - Respects the DocumentationMode at the source location. - - - - - Respects the DocumentationMode at the source location. - - - - - In some circumstances (e.g. implicit implementation of an interface method by a non-virtual method in a - base type from another assembly) it is necessary for the compiler to generate explicit implementations for - some interface methods. They don't go in the symbol table, but if we are emitting, then we should - generate code for them. - - - - - Bind the (implicit or explicit) constructor initializer of a constructor symbol. - - Constructor method. - Accumulates errors (e.g. access "this" in constructor initializer). - Used to retrieve binder. - Locals declared in the initializer are returned through this parameter. - A bound expression for the constructor initializer call. - - - - Returns true if the method is a constructor and has a this() constructor initializer. - - - - - Contains methods related to synthesizing bound nodes in initial binding - form that needs lowering, primarily method bodies for compiler-generated methods. - - - - - Generates a submission initialization part of a Script type constructor that represents an interactive submission. - - - The constructor takes a parameter of type Roslyn.Scripting.Session - the session reference. - It adds the object being constructed into the session by calling Microsoft.CSharp.RuntimeHelpers.SessionHelpers.SetSubmission, - and retrieves strongly typed references on all previous submission script classes whose members are referenced by this submission. - The references are stored to fields of the submission (). - - - - - Construct a body for an auto-property accessor (updating or returning the backing field). - - - - - Generate an accessor for a field-like event. - - - - - Generate a thread-safe accessor for a WinRT field-like event. - - Add: - return EventRegistrationTokenTable<Event>.GetOrCreateEventRegistrationTokenTable(ref _tokenTable).AddEventHandler(value); - - Remove: - EventRegistrationTokenTable<Event>.GetOrCreateEventRegistrationTokenTable(ref _tokenTable).RemoveEventHandler(value); - - - - - Generate a thread-safe accessor for a regular field-like event. - - DelegateType tmp0 = _event; //backing field - DelegateType tmp1; - DelegateType tmp2; - do { - tmp1 = tmp0; - tmp2 = (DelegateType)Delegate.Combine(tmp1, value); //Remove for -= - tmp0 = Interlocked.CompareExchange<DelegateType>(ref _event, tmp2, tmp1); - } while ((object)tmp0 != (object)tmp1); - - - - - Get the MethodSymbol for System.Threading.Interlocked.CompareExchange<T> for a given T. - - - - - Look for a base type method named "Finalize" that is protected (or protected internal), has no parameters, - and returns void. It doesn't need to be virtual or a destructor. - - - You may assume that this would share code and logic with PEMethodSymbol.OverridesRuntimeFinalizer, - but FUNCBRECCS::bindDestructor has its own loop that performs these checks (differently). - - - - - Class to cache and build namespace scopes. Should be released and collected once all namespace scopes - are built, since it contains caches that won't be needed anymore. - - - - - CONSIDER: in the case of field initializers, it is possible that different parts of a method could have different - namespace scopes (i.e. if they come from different parts of a partial type). Currently, we're following Dev10's - approach of using the context of the (possibly synthesized) constructor into which the field initializers are - inserted. It might be possible to give field initializers their own scopes, assuming the EE supports it. - - - - - Qualified name of namespace. - e.g. "A.B.C" - - - - - Returns qualified name of type followed by full assembly name, with square brackets in place of - angle brackets and around type arguments. - e.g. "A.B.C`2[[D.E,assembly], [F.G,assembly]],assembly" - - - - - Returns qualified name of type (without the full assembly name), with square brackets in place of - angle brackets and around type arguments. - Full assembly name of the type is stored in . - - - - - Same as GetTypeString, but without containing type/namespace. - - - - - When compiling in metadata-only mode, is not run. This is problematic because - adds synthesized explicit implementations to the list of synthesized definitions. - In lieu of running , this class performs a quick - traversal of the symbol table and performs processing of synthesized symbols if necessary - - - - - Traverse the symbol table and call Module.AddSynthesizedDefinition for each - synthesized explicit implementation stub that has been generated (e.g. when the real - implementation doesn't have the appropriate custom modifiers). - - - - - Represents the state of compilation of one particular type. - This includes, for example, a collection of synthesized methods created during lowering. - - - WARNING: Note that the collection class is not thread-safe and will - need to be revised if emit phase is changed to support multithreading when - translating a particular type. - - - - Synthesized method info - - - Flat array of created methods, non-empty if not-null - - - - Map of wrapper methods created for base access of base type virtual methods from - other classes (like those created for lambdas...); actually each method symbol will - only need one wrapper to call it non-virtually. - - - - - The builder for generating code, or null if not in emit phase. - - - - - Any generated methods that don't suppress debug info will use this - list of debug imports. - - - - - The type for which this compilation state is being used. - - - - - Add a 'regular' synthesized method. - - - - - Add a 'wrapper' synthesized method and map it to the original one so it can be reused. - - - Wrapper methods are created for base access of base type virtual methods from - other classes (like those created for lambdas...). - - - - The index of the next wrapped method to be used - - - - Get a 'wrapper' method for the original one. - - - Wrapper methods are created for base access of base type virtual methods from - other classes (like those created for lambdas...). - - - - Free resources allocated for this method collection - - - - Represents various options that affect compilation, such as - whether to emit an executable or a library, whether to optimize - generated code, and so on. - - - - - Allow unsafe regions (i.e. unsafe modifiers on members and unsafe blocks). - - - - - Global namespace usings. - - - - - Sets the byte alignment for portable executable file sections. - - Can be one of the following values: 0, 512, 1024, 2048, 4096, 8192 - - - - Insert one or more tokens in the list at the specified index. - - A new list with the tokens inserted. - - - - Creates a new token with the specified old trivia replaced with computed new trivia. - - - The trivia to be replaced; descendants of the root token. - A function that computes a replacement trivia for - the argument trivia. The first argument is the original trivia. The second argument is - the same trivia rewritten with replaced structure. - - - - Creates a new token with the specified old trivia replaced with a new trivia. The old trivia may appear in - the token's leading or trailing trivia. - - - The trivia to be replaced. - The new trivia to use in the new tree in place of the old - trivia. - - - - Returns this list as a . - - The type of the list elements in the separated list. - - - - - Gets the first directive of the tree rooted by this node. - - - - - Gets the last directive of the tree rooted by this node. - - - - - Gets the semantic information for an ordering clause in an orderby query clause. - - - - - Gets the semantic information associated with a select or group clause. - - - - - Returns what symbol(s), if any, the given expression syntax bound to in the program. - - An AliasSymbol will never be returned by this method. What the alias refers to will be - returned instead. To get information about aliases, call GetAliasInfo. - - If binding the type name C in the expression "new C(...)" the actual constructor bound to - will be returned (or all constructor if overload resolution failed). This occurs as long as C - unambiguously binds to a single type that has a constructor. If C ambiguously binds to multiple - types, or C binds to a static class, then type(s) are returned. - - - - - Returns what 'Add' method symbol(s), if any, corresponds to the given expression syntax - within . - - - - - Returns what symbol(s), if any, the given constructor initializer syntax bound to in the program. - - - - - Returns what symbol(s), if any, the given base class initializer syntax bound to in the program. - - - - - Returns what symbol(s), if any, the given attribute syntax bound to in the program. - - - - - Gets the semantic information associated with a documentation comment cref. - - - - - Binds the expression in the context of the specified location and gets symbol information. - This method is used to get symbol information about an expression that did not actually - appear in the source code. - - - - - Binds the CrefSyntax expression in the context of the specified location and gets symbol information. - This method is used to get symbol information about an expression that did not actually - appear in the source code. - - - - - Bind the attribute in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about an attribute - that did not actually appear in the source code. - - - - - Bind the constructor initializer in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about a constructor - initializer that did not actually appear in the source code. - - NOTE: This will only work in locations where there is already a constructor initializer. - - - - - Gets type information about a constructor initializer. - - - - - Gets type information about a base class initializer. - - - - - Gets type information about an expression. - - - - - Gets type information about an attribute. - - - - - Binds the expression in the context of the specified location and gets type information. - This method is used to get type information about an expression that did not actually - appear in the source code. - - - - - Returns the list of accessible, non-hidden indexers that could be invoked with the given expression as receiver. - - - - - Gets the semantic information associated with a query clause. - - - - - If resolves to an alias name, return the AliasSymbol corresponding - to A. Otherwise return null. - - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - - - - Analyze control-flow within a part of a method body. - - - - - Analyze control-flow within a part of a method body. - - - - - Analyze data-flow within an expression. - - - - - Analyze data-flow within a part of a method body. - - - - - Analyze data-flow within a part of a method body. - - - - - Get a SemanticModel object that is associated with a method body that did not appear in this source code. - Given must lie within an existing method body of the Root syntax node for this SemanticModel. - Locals and labels declared within this existing method body are not considered to be in scope of the speculated method body. - - - - - Get a SemanticModel object that is associated with a method body that did not appear in this source code. - Given must lie within an existing method body of the Root syntax node for this SemanticModel. - Locals and labels declared within this existing method body are not considered to be in scope of the speculated method body. - - - - - Get a SemanticModel object that is associated with a type syntax node that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a type syntax that did not appear in source code. - - - - - Get a SemanticModel object that is associated with a cref syntax node that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a cref syntax that did not appear in source code. - - - - - Get a SemanticModel object that is associated with a statement that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a statement that did not appear in source code. - - - - - Get a SemanticModel object that is associated with an initializer that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a field initializer or default parameter value that did not appear in source code. - - - - - Get a SemanticModel object that is associated with a constructor initializer that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a constructor initializer that did not appear in source code. - - NOTE: This will only work in locations where there is already a constructor initializer. - - - - - Get a SemanticModel object that is associated with an attribute that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of an attribute that did not appear in source code. - - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. If isExplicitInSource is true, the conversion produced is - that which would be used if the conversion were done for a cast expression. - - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. If isExplicitInSource is true, the conversion produced is - that which would be used if the conversion were done for a cast expression. - - - - - Given a member declaration syntax, get the corresponding symbol. - - - - - Given a type declaration, get the corresponding Primary Constructor symbol. - - - - - Given a namespace declaration syntax node, get the corresponding namespace symbol for - the declaration assembly. - - - - - Given a type declaration, get the corresponding type symbol. - - - - - Given a delegate declaration, get the corresponding type symbol. - - - - - Given a enum member declaration, get the corresponding field symbol. - - - - - Given a base method declaration syntax, get the corresponding method symbol. - - - - - Given a syntax node that declares a property, indexer or an event, get the corresponding declared symbol. - - - - - Given a syntax node that declares a property, get the corresponding declared symbol. - - - - - Given a syntax node that declares an indexer, get the corresponding declared symbol. - - - - - Given a syntax node that declares a (custom) event, get the corresponding event symbol. - - - - - Given a syntax node of anonymous object creation initializer, get the anonymous object property symbol. - - - - - Given a syntax node of anonymous object creation expression, get the anonymous object type symbol. - - - - - Given a syntax node that declares a property or member accessor, get the corresponding symbol. - - - - - Given a variable declarator syntax, get the corresponding symbol. - - - - - Given a labeled statement syntax, get the corresponding label symbol. - - - - - Given a switch label syntax, get the corresponding label symbol. - - - - - Given a using declaration get the corresponding symbol for the using alias that was introduced. - - - - - Given an extern alias declaration get the corresponding symbol for the alias that was introduced. - - - - - Given a parameter declaration syntax node, get the corresponding symbol. - - - - - Given a type parameter declaration (field or method), get the corresponding symbol - - - - - Given a foreach statement, get the symbol for the iteration variable - - - - - Given a catch declaration, get the symbol for the exception variable - - - - - Get the query range variable declared in a join into clause. - - - - - Get the query range variable declared in a query continuation clause. - - - - - This class stores several source parsing related options and offers access to their values. - - - - - The default parse options. - - - - - Gets the language version. - - - - - Gets the names of defined preprocessor symbols. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Can't reference compilation of type '{0}' from {1} compilation.. - - - - - Looks up a localized string similar to Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel.. - - - - - Looks up a localized string similar to Compilation (C#): . - - - - - Looks up a localized string similar to element is expected. - - - - - Looks up a localized string similar to Elements cannot be null.. - - - - - Looks up a localized string similar to '{0}' cannot be both extern and abstract. - - - - - Looks up a localized string similar to '{0}' cannot be both abstract and sealed. - - - - - Looks up a localized string similar to Cannot apply attribute class '{0}' because it is abstract. - - - - - Looks up a localized string similar to Cannot call an abstract base member: '{0}'. - - - - - Looks up a localized string similar to '{0}': abstract event cannot have initializer. - - - - - Looks up a localized string similar to The modifier 'abstract' is not valid on fields. Try using a property instead.. - - - - - Looks up a localized string similar to '{0}' cannot declare a body because it is marked abstract. - - - - - Looks up a localized string similar to '{0}' is abstract but it is contained in non-abstract class '{1}'. - - - - - Looks up a localized string similar to The abstract method '{0}' cannot be marked virtual. - - - - - Looks up a localized string similar to '{0}': an abstract class cannot be sealed or static. - - - - - Looks up a localized string similar to '{0}': accessibility modifiers on accessors may only be used if the property or indexer has both a get and a set accessor. - - - - - Looks up a localized string similar to Accessor '{0}' cannot implement interface member '{1}' for type '{2}'. Use an explicit interface implementation.. - - - - - Looks up a localized string similar to '{0}' cannot be added to this assembly because it already is an assembly. - - - - - Looks up a localized string similar to An add or remove accessor expected. - - - - - Looks up a localized string similar to An add or remove accessor must have a body. - - - - - Looks up a localized string similar to Cannot take the address of a read-only local variable. - - - - - Looks up a localized string similar to Agnostic assembly cannot have a processor specific module '{0}'.. - - - - - Looks up a localized string similar to Invalid reference alias option: '{0}=' -- missing filename. - - - - - Looks up a localized string similar to Alias '{0}' not found. - - - - - Looks up a localized string similar to The namespace alias qualifier '::' always resolves to a type or namespace so is illegal here. Consider using '.' instead.. - - - - - Looks up a localized string similar to Operator '{0}' is ambiguous on operands of type '{1}' and '{2}'. - - - - - Looks up a localized string similar to The call is ambiguous between the following methods or properties: '{0}' and '{1}'. - - - - - Looks up a localized string similar to '{0}' is an ambiguous reference between '{1}' and '{2}'. - - - - - Looks up a localized string similar to Ambiguity between '{0}' and '{1}'. - - - - - Looks up a localized string similar to '{0}' is ambiguous between '{1}' and '{2}'; use either '@{0}' or '{0}Attribute'. - - - - - Looks up a localized string similar to The inherited members '{0}' and '{1}' have the same signature in type '{2}', so they cannot be overridden. - - - - - Looks up a localized string similar to Type of conditional expression cannot be determined because '{0}' and '{1}' implicitly convert to one another. - - - - - Looks up a localized string similar to Ambiguous user defined conversions '{0}' and '{1}' when converting from '{2}' to '{3}'. - - - - - Looks up a localized string similar to Operator '{0}' is ambiguous on an operand of type '{1}'. - - - - - Looks up a localized string similar to Cannot use ref or out parameter '{0}' inside an anonymous method, lambda expression, or query expression. - - - - - Looks up a localized string similar to Cannot use primary constructor parameter '{0}' inside an anonymous method, lambda expression, or query expression within variable initializers and arguments to the base constructor.. - - - - - Looks up a localized string similar to Foreach cannot operate on a '{0}'. Did you intend to invoke the '{0}'?. - - - - - Looks up a localized string similar to Cannot convert {0} to type '{1}' because it is not a delegate type. - - - - - Looks up a localized string similar to An anonymous method expression cannot be converted to an expression tree. - - - - - Looks up a localized string similar to Not all code paths return a value in {0} of type '{1}'. - - - - - Looks up a localized string similar to An anonymous type cannot have multiple properties with the same name. - - - - - Looks up a localized string similar to Cannot use anonymous type in a constant expression. - - - - - Looks up a localized string similar to Cannot assign {0} to anonymous type property. - - - - - Looks up a localized string similar to The __arglist construct is valid only within a variable argument method. - - - - - Looks up a localized string similar to Array elements cannot be of type '{0}'. - - - - - Looks up a localized string similar to A nested array initializer is expected. - - - - - Looks up a localized string similar to An array initializer of length '{0}' is expected. - - - - - Looks up a localized string similar to Array initializers can only be used in a variable or field initializer. Try using a new expression instead.. - - - - - Looks up a localized string similar to Can only use array initializer expressions to assign to array types. Try using a new expression instead.. - - - - - Looks up a localized string similar to '{0}': array elements cannot be of static type. - - - - - Looks up a localized string similar to Array size cannot be specified in a variable declaration (try initializing with a 'new' expression). - - - - - Looks up a localized string similar to The as operator must be used with a reference type or nullable type ('{0}' is a non-nullable value type). - - - - - Looks up a localized string similar to Assembly '{0}' with identity '{1}' uses '{2}' which has a higher version than referenced assembly '{3}' with identity '{4}'. - - - - - Looks up a localized string similar to The /moduleassemblyname option may only be specified when building a target type of 'module'. - - - - - Looks up a localized string similar to Assemblies '{0}' and '{1}' refer to the same metadata but only one is a linked reference (specified using /link option); consider removing one of the references.. - - - - - Looks up a localized string similar to The left-hand side of an assignment must be a variable, property or indexer. - - - - - Looks up a localized string similar to A readonly field cannot be assigned to (except in a constructor or a variable initializer). - - - - - Looks up a localized string similar to Members of readonly field '{0}' cannot be modified (except in a constructor or a variable initializer). - - - - - Looks up a localized string similar to Cannot assign to '{0}' because it is read-only. - - - - - Looks up a localized string similar to Cannot modify members of '{0}' because it is a '{1}'. - - - - - Looks up a localized string similar to Cannot assign to '{0}' because it is a '{1}'. - - - - - Looks up a localized string similar to Property or indexer '{0}' cannot be assigned to -- it is read only. - - - - - Looks up a localized string similar to A static readonly field cannot be assigned to (except in a static constructor or a variable initializer). - - - - - Looks up a localized string similar to Fields of static readonly field '{0}' cannot be assigned to (except in a static constructor or a variable initializer). - - - - - Looks up a localized string similar to The type parameter '{0}' cannot be used with the 'as' operator because it does not have a class type constraint nor a 'class' constraint. - - - - - Looks up a localized string similar to '{0}': an attribute argument cannot use type parameters. - - - - - Looks up a localized string similar to Cannot apply attribute class '{0}' because it is generic. - - - - - Looks up a localized string similar to Attribute '{0}' is not valid on property or event accessors. It is only valid on '{1}' declarations.. - - - - - Looks up a localized string similar to Attribute '{0}' is not valid on this declaration type. It is only valid on '{1}' declarations.. - - - - - Looks up a localized string similar to Attribute parameter '{0}' must be specified.. - - - - - Looks up a localized string similar to Attribute parameter '{0}' or '{1}' must be specified.. - - - - - Looks up a localized string similar to Attributes are not valid in this context.. - - - - - Looks up a localized string similar to Attribute '{0}' is only valid on classes derived from System.Attribute. - - - - - Looks up a localized string similar to Auto-implemented properties inside interfaces cannot have initializers.. - - - - - Looks up a localized string similar to Auto-implemented properties must have get accessors.. - - - - - Looks up a localized string similar to Auto-implemented properties must have set accessors or initializers.. - - - - - Looks up a localized string similar to Cannot await in an unsafe context. - - - - - Looks up a localized string similar to '{0}' is inaccessible due to its protection level. - - - - - Looks up a localized string similar to AppConfigPath must be absolute.. - - - - - Looks up a localized string similar to No overload for method '{0}' takes {1} arguments. - - - - - Looks up a localized string similar to Argument {0} should not be passed with the '{1}' keyword. - - - - - Looks up a localized string similar to Argument {0} must be passed with the '{1}' keyword. - - - - - Looks up a localized string similar to Argument {0}: cannot convert from '{1}' to '{2}'. - - - - - Looks up a localized string similar to '{0}' has no applicable method named '{1}' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method syntax.. - - - - - Looks up a localized string similar to The best overloaded Add method '{0}' for the collection initializer has some invalid arguments. - - - - - Looks up a localized string similar to The argument to the '{0}' attribute must be a valid identifier. - - - - - Looks up a localized string similar to Using the generic {1} '{0}' requires {2} type arguments. - - - - - Looks up a localized string similar to Array type specifier, [], must appear before parameter name. - - - - - Looks up a localized string similar to Async methods cannot have ref or out parameters. - - - - - Looks up a localized string similar to Async lambda expressions cannot be converted to expression trees. - - - - - Looks up a localized string similar to The 'async' modifier can only be used in methods that have a statement body.. - - - - - Looks up a localized string similar to The return type of an async method must be void, Task or Task<T>. - - - - - Looks up a localized string similar to Since this is an async method, the return expression must be of type '{0}' rather than 'Task<{0}>'. - - - - - Looks up a localized string similar to An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type. - - - - - Looks up a localized string similar to Attribute constructor parameter '{0}' is optional, but no default parameter value was specified.. - - - - - Looks up a localized string similar to Attribute constructor parameter '{0}' has type '{1}', which is not a valid attribute parameter type. - - - - - Looks up a localized string similar to 'await' requires that the type {0} have a suitable GetAwaiter method. - - - - - Looks up a localized string similar to 'await' requires that the type '{0}' have a suitable GetAwaiter method. Are you missing a using directive for 'System'?. - - - - - Looks up a localized string similar to Cannot await '{0}'. - - - - - Looks up a localized string similar to Cannot await 'void'. - - - - - Looks up a localized string similar to 'await' cannot be used as an identifier within an async method or lambda expression. - - - - - Looks up a localized string similar to 'await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable IsCompleted, OnCompleted, and GetResult members, and implement INotifyCompletion or ICriticalNotifyCompletion. - - - - - Looks up a localized string similar to Cannot await in a catch clause. - - - - - Looks up a localized string similar to Cannot await in the filter expression of a catch clause. - - - - - Looks up a localized string similar to Cannot await in the body of a finally clause. - - - - - Looks up a localized string similar to Cannot await in the body of a lock statement. - - - - - Looks up a localized string similar to The 'await' operator may only be used in a query expression within the first collection expression of the initial 'from' clause or within the collection expression of a 'join' clause. - - - - - Looks up a localized string similar to The 'await' operator can only be used when contained within a method or lambda expression marked with the 'async' modifier. - - - - - Looks up a localized string similar to The 'await' operator can only be used within an async {0}. Consider marking this {0} with the 'async' modifier.. - - - - - Looks up a localized string similar to The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task<{0}>'.. - - - - - Looks up a localized string similar to The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.. - - - - - Looks up a localized string similar to Invalid image base number '{0}'. - - - - - Looks up a localized string similar to Invalid base type. - - - - - Looks up a localized string similar to One of the parameters of a binary operator must be the containing type. - - - - - Looks up a localized string similar to Operator '{0}' cannot be applied to operands of type '{1}' and '{2}'. - - - - - Looks up a localized string similar to Overloaded binary operator '{0}' takes two parameters. - - - - - Looks up a localized string similar to In order to be applicable as a short circuit operator a user-defined logical operator ('{0}') must have the same return type and parameter types. - - - - - Looks up a localized string similar to '{0}' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter.. - - - - - Looks up a localized string similar to The CallerFilePathAttribute may only be applied to parameters with default values. - - - - - Looks up a localized string similar to The CallerLineNumberAttribute may only be applied to parameters with default values. - - - - - Looks up a localized string similar to The CallerMemberNameAttribute may only be applied to parameters with default values. - - - - - Looks up a localized string similar to The right hand side of a fixed statement assignment may not be a cast expression. - - - - - Looks up a localized string similar to The managed coclass wrapper class signature '{0}' for interface '{1}' is not a valid class name signature. - - - - - Looks up a localized string similar to Invalid option '{0}' for /langversion; must be ISO-1, ISO-2, Default or an integer in range 1 to 6.. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to Invalid '{0}' value: '{1}'.. - - - - - Looks up a localized string similar to Invalid constraint type. A type used as a constraint must be an interface, a non-sealed class or a type parameter.. - - - - - Looks up a localized string similar to The type '{0}' cannot be declared const. - - - - - Looks up a localized string similar to '{0}' does not contain a constructor that takes {1} arguments. - - - - - Looks up a localized string similar to Invalid option '{0}' for /debug; must be full or pdbonly. - - - - - Looks up a localized string similar to Delegate '{0}' does not take {1} arguments. - - - - - Looks up a localized string similar to The delegate '{0}' does not have a valid constructor. - - - - - Looks up a localized string similar to Control cannot leave the body of an anonymous method or lambda expression. - - - - - Looks up a localized string similar to Name of destructor must match name of class. - - - - - Looks up a localized string similar to Preprocessor directives must appear as the first non-whitespace character on a line. - - - - - Looks up a localized string similar to '{0}': user-defined conversions to or from the dynamic type are not allowed. - - - - - Looks up a localized string similar to Cannot use an expression of type '{0}' as an argument to a dynamically dispatched operation.. - - - - - Looks up a localized string similar to Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type.. - - - - - Looks up a localized string similar to Cannot use a method group as an argument to a dynamically dispatched operation. Did you intend to invoke the method?. - - - - - Looks up a localized string similar to Query expressions over source type 'dynamic' or with a join sequence of type 'dynamic' are not allowed. - - - - - Looks up a localized string similar to The typeof operator cannot be used on the dynamic type. - - - - - Looks up a localized string similar to Embedded statement cannot be a declaration or labeled statement. - - - - - Looks up a localized string similar to A throw statement with no arguments is not allowed outside of a catch clause. - - - - - Looks up a localized string similar to A throw statement with no arguments is not allowed in a finally clause that is nested inside the nearest enclosing catch clause. - - - - - Looks up a localized string similar to The event '{0}' can only appear on the left hand side of += or -= (except when used from within the type '{1}'). - - - - - Looks up a localized string similar to The event '{0}' can only appear on the left hand side of += or -=. - - - - - Looks up a localized string similar to The type caught or thrown must be derived from System.Exception. - - - - - Looks up a localized string similar to Extension method must be defined in a non-generic static class. - - - - - Looks up a localized string similar to '{0}' does not contain a definition for '{1}' and the best extension method overload '{2}' has some invalid arguments. - - - - - Looks up a localized string similar to Extension method must be static. - - - - - Looks up a localized string similar to The extern alias '{0}' was not specified in a /reference option. - - - - - Looks up a localized string similar to Invalid extern alias for '/reference'; '{0}' is not a valid identifier. - - - - - Looks up a localized string similar to Invalid file section alignment number '{0}'. - - - - - Looks up a localized string similar to Control cannot leave the body of a finally clause. - - - - - Looks up a localized string similar to The type of a local declared in a fixed statement must be a pointer type. - - - - - Looks up a localized string similar to Type and identifier are both required in a foreach statement. - - - - - Looks up a localized string similar to foreach requires that the return type '{0}' of '{1}' must have a suitable public MoveNext method and public Current property. - - - - - Looks up a localized string similar to The return type for ++ or -- operator must match the parameter type or be derived from the parameter type. - - - - - Looks up a localized string similar to The parameter type for ++ or -- operator must be the containing type. - - - - - Looks up a localized string similar to Wrong number of indices inside []; expected {0}. - - - - - Looks up a localized string similar to The '{0}' attribute is valid only on an indexer that is not an explicit interface member declaration. - - - - - Looks up a localized string similar to Cannot apply indexing with [] to an expression of type '{0}'. - - - - - Looks up a localized string similar to '{0}' does not contain a definition for '{1}' and the best extension method overload '{2}' requires a receiver of type '{3}'. - - - - - Looks up a localized string similar to Iterators cannot have ref or out parameters. - - - - - Looks up a localized string similar to The body of '{0}' cannot be an iterator block because '{1}' is not an iterator interface type. - - - - - Looks up a localized string similar to The modifier '{0}' is not valid for this item. - - - - - Looks up a localized string similar to More than one protection modifier. - - - - - Looks up a localized string similar to Member modifier '{0}' must precede the member type and name. - - - - - Looks up a localized string similar to A namespace declaration cannot have modifiers or attributes. - - - - - Looks up a localized string similar to The best overload for '{0}' does not have a parameter named '{1}'. - - - - - Looks up a localized string similar to The delegate '{0}' does not have a parameter named '{1}'. - - - - - Looks up a localized string similar to '{0}' is not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static.. - - - - - Looks up a localized string similar to '{0}' is not a valid named attribute argument because it is not a valid attribute parameter type. - - - - - Looks up a localized string similar to A new expression requires (), [], or {} after type. - - - - - Looks up a localized string similar to Declaration is not valid; use '{0} operator <dest-type> (...' instead. - - - - - Looks up a localized string similar to The parameter modifier 'out' cannot be used with 'this' . - - - - - Looks up a localized string similar to Parameter {0} should not be declared with the '{1}' keyword. - - - - - Looks up a localized string similar to A parameter array cannot be used with 'this' modifier on an extension method. - - - - - Looks up a localized string similar to Parameter {0} must be declared with the '{1}' keyword. - - - - - Looks up a localized string similar to Parameter {0} is declared as type '{1}{2}' but should be '{3}{4}'. - - - - - Looks up a localized string similar to Invalid option '{0}' for /platform; must be anycpu, x86, Itanium or x64. - - - - - Looks up a localized string similar to /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe. - - - - - Looks up a localized string similar to Cannot access protected member '{0}' via a qualifier of type '{1}'; the qualifier must be of type '{2}' (or derived from it). - - - - - Looks up a localized string similar to The parameter modifier 'ref' cannot be used with 'this' . - - - - - Looks up a localized string similar to Invalid option '{0}'; Resource visibility must be either 'public' or 'private'. - - - - - Looks up a localized string similar to '{1} {0}' has the wrong return type. - - - - - Looks up a localized string similar to The first operand of an overloaded shift operator must have the same type as the containing type, and the type of the second operand must be int. - - - - - Looks up a localized string similar to '{0}' is a {1} but is used like a {2}. - - - - - Looks up a localized string similar to '{0}' is a {1}, which is not valid in the given context. - - - - - Looks up a localized string similar to Parameters or locals of type '{0}' cannot be declared in async methods or lambda expressions.. - - - - - Looks up a localized string similar to A stackalloc expression requires [] after type. - - - - - Looks up a localized string similar to Invalid version {0} for /subsystemversion. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise. - - - - - Looks up a localized string similar to Unrecognized option: '{0}'. - - - - - Looks up a localized string similar to Method '{0}' has a parameter modifier 'this' which is not on the first parameter. - - - - - Looks up a localized string similar to The type '{0}' may not be used as a type argument. - - - - - Looks up a localized string similar to The first parameter of an extension method cannot be of type '{0}'. - - - - - Looks up a localized string similar to '{0}': cannot reference a type through an expression; try '{1}' instead. - - - - - Looks up a localized string similar to Operator '{0}' cannot be applied to operand of type '{1}'. - - - - - Looks up a localized string similar to The parameter of a unary operator must be the containing type. - - - - - Looks up a localized string similar to Overloaded unary operator '{0}' takes one parameter. - - - - - Looks up a localized string similar to A using namespace directive can only be applied to namespaces; '{0}' is a type not a namespace. - - - - - Looks up a localized string similar to A using directive can only be applied to static classes or namespaces; the type '{0}' is not a static class. - - - - - Looks up a localized string similar to A method with vararg cannot be generic, be in a generic type, or have a params parameter. - - - - - Looks up a localized string similar to Expected ; or = (cannot specify constructor arguments in declaration). - - - - - Looks up a localized string similar to Inconsistent accessibility: base class '{1}' is less accessible than class '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: base interface '{1}' is less accessible than interface '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: constraint type '{1}' is less accessible than '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: parameter type '{1}' is less accessible than delegate '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: return type '{1}' is less accessible than delegate '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: event type '{1}' is less accessible than event '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: field type '{1}' is less accessible than field '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: parameter type '{1}' is less accessible than indexer '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: indexer return type '{1}' is less accessible than indexer '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: parameter type '{1}' is less accessible than operator '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: return type '{1}' is less accessible than operator '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: parameter type '{1}' is less accessible than method '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: property type '{1}' is less accessible than property '{0}'. - - - - - Looks up a localized string similar to Inconsistent accessibility: return type '{1}' is less accessible than method '{0}'. - - - - - Looks up a localized string similar to Warning level must be in the range 0-4. - - - - - Looks up a localized string similar to Error reading Win32 resources -- {0}. - - - - - Looks up a localized string similar to Cannot yield a value in the body of a catch clause. - - - - - Looks up a localized string similar to Cannot yield in the body of a finally clause. - - - - - Looks up a localized string similar to Cannot yield a value in the body of a try block with a catch clause. - - - - - Looks up a localized string similar to Base class '{0}' must come before any interfaces. - - - - - Looks up a localized string similar to Type parameter '{0}' inherits conflicting constraints '{1}' and '{2}'. - - - - - Looks up a localized string similar to Use of keyword 'base' is not valid in this context. - - - - - Looks up a localized string similar to Keyword 'base' is not available in the current context. - - - - - Looks up a localized string similar to Keyword 'base' is not available in a static method. - - - - - Looks up a localized string similar to '{0}' is a binary file instead of a text file. - - - - - Looks up a localized string similar to '{0}' is not supported by the language. - - - - - Looks up a localized string similar to Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor method '{1}'. - - - - - Looks up a localized string similar to Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor methods '{1}' or '{2}'. - - - - - Looks up a localized string similar to '{0}' cannot implement '{1}' because it is not supported by the language. - - - - - Looks up a localized string similar to '{0}' is a type not supported by the language. - - - - - Looks up a localized string similar to An expression tree lambda may not contain an out or ref parameter. - - - - - Looks up a localized string similar to By-reference return type 'ref {0}' is not supported.. - - - - - Looks up a localized string similar to Do not directly call your base class Finalize method. It is called automatically from your destructor.. - - - - - Looks up a localized string similar to Destructors and object.Finalize cannot be called directly. Consider calling IDisposable.Dispose if available.. - - - - - Looks up a localized string similar to Cannot pass null for friend assembly name. - - - - - Looks up a localized string similar to '{0}': cannot explicitly call operator or accessor. - - - - - Looks up a localized string similar to '{0}': cannot change access modifiers when overriding '{1}' inherited member '{2}'. - - - - - Looks up a localized string similar to '{0}': return type must be '{2}' to match overridden member '{1}'. - - - - - Looks up a localized string similar to '{0}': type must be '{2}' to match overridden member '{1}'. - - - - - Looks up a localized string similar to Cannot convert anonymous method block without a parameter list to delegate type '{0}' because it has one or more out parameters. - - - - - Looks up a localized string similar to Cannot convert {0} to delegate type '{1}' because the parameter types do not match the delegate parameter types. - - - - - Looks up a localized string similar to Cannot convert {0} to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type. - - - - - Looks up a localized string similar to Cannot convert async {0} to delegate type '{1}'. An async {0} may return void, Task or Task<T>, none of which are convertible to '{1}'.. - - - - - Looks up a localized string similar to '{0}': cannot derive from sealed type '{1}'. - - - - - Looks up a localized string similar to Conflicting options specified: Win32 resource file; Win32 icon. - - - - - Looks up a localized string similar to Conflicting options specified: Win32 resource file; Win32 manifest. - - - - - Looks up a localized string similar to The type arguments for method '{0}' cannot be inferred from the usage. Try specifying the type arguments explicitly.. - - - - - Looks up a localized string similar to Cannot create temporary file -- {0}. - - - - - Looks up a localized string similar to Cannot open '{0}' for writing -- '{1}'. - - - - - Looks up a localized string similar to Error opening icon file {0} -- {1}. - - - - - Looks up a localized string similar to Error opening Win32 manifest file {0} -- {1}. - - - - - Looks up a localized string similar to Error opening Win32 resource file '{0}' -- '{1}'. - - - - - Looks up a localized string similar to '{0}': cannot override '{1}' because it is not supported by the language. - - - - - Looks up a localized string similar to '{0}': cannot override; '{1}' is not an event. - - - - - Looks up a localized string similar to '{0}': cannot override because '{1}' is not a function. - - - - - Looks up a localized string similar to '{0}': cannot override because '{1}' is not a property. - - - - - Looks up a localized string similar to '{0}': cannot override inherited member '{1}' because it is not marked virtual, abstract, or override. - - - - - Looks up a localized string similar to '{0}': cannot override inherited member '{1}' because it is sealed. - - - - - Looks up a localized string similar to Cannot read config file '{0}' -- '{1}'. - - - - - Looks up a localized string similar to Error reading resource '{0}' -- '{1}'. - - - - - Looks up a localized string similar to Error reading ruleset file {0} - {1}. - - - - - Looks up a localized string similar to Cannot link resource files when building a module. - - - - - Looks up a localized string similar to Cannot return an expression of type 'void'. - - - - - Looks up a localized string similar to Error reading Win32 manifest file '{0}' -- '{1}'. - - - - - Looks up a localized string similar to The RequiredAttribute attribute is not permitted on C# types. - - - - - Looks up a localized string similar to The operation overflows at compile time in checked mode. - - - - - Looks up a localized string similar to The evaluation of the constant value for '{0}' involves a circular definition. - - - - - Looks up a localized string similar to Circular base class dependency involving '{0}' and '{1}'. - - - - - Looks up a localized string similar to Circular constraint dependency involving '{0}' and '{1}'. - - - - - Looks up a localized string similar to The class type constraint '{0}' must come before any other constraints. - - - - - Looks up a localized string similar to '{0}': containing type does not implement interface '{1}'. - - - - - Looks up a localized string similar to An object, string, or class type expected. - - - - - Looks up a localized string similar to ) expected. - - - - - Looks up a localized string similar to '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is not public.. - - - - - Looks up a localized string similar to '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is static.. - - - - - Looks up a localized string similar to '{0}' does not implement interface member '{1}'. '{2}' cannot implement '{1}' because it does not have the matching return type of '{3}'.. - - - - - Looks up a localized string similar to Attribute '{0}' given in a source file conflicts with option '{1}'.. - - - - - Looks up a localized string similar to Cannot use alias '{0}' with '::' since the alias references a type. Use '.' instead.. - - - - - Looks up a localized string similar to Cannot initialize type '{0}' with a collection initializer because it does not implement 'System.Collections.IEnumerable'. - - - - - Looks up a localized string similar to '{0}': a class with the ComImport attribute cannot specify a base class. - - - - - Looks up a localized string similar to Since '{1}' has the ComImport attribute, '{0}' must be extern or abstract. - - - - - Looks up a localized string similar to '{0}': a class with the ComImport attribute cannot specify field initializers.. - - - - - Looks up a localized string similar to The Guid attribute must be specified with the ComImport attribute. - - - - - Looks up a localized string similar to A class with the ComImport attribute cannot have a user-defined constructor. - - - - - Looks up a localized string similar to Compilation cancelled by user. - - - - - Looks up a localized string similar to An expression tree lambda may not contain a COM call with ref omitted on arguments. - - - - - Looks up a localized string similar to '{0}' must declare a body because it is not marked abstract, extern, or partial. - - - - - Looks up a localized string similar to The Conditional attribute is not valid on '{0}' because its return type is not void. - - - - - Looks up a localized string similar to The Conditional attribute is not valid on interface members. - - - - - Looks up a localized string similar to Attribute '{0}' is only valid on methods or attribute classes. - - - - - Looks up a localized string similar to The Conditional attribute is not valid on '{0}' because it is an override method. - - - - - Looks up a localized string similar to The Conditional attribute is not valid on '{0}' because it is a constructor, destructor, operator, or explicit interface implementation. - - - - - Looks up a localized string similar to Conditional member '{0}' cannot have an out parameter. - - - - - Looks up a localized string similar to Namespace '{1}' contains a definition conflicting with alias '{0}'. - - - - - Looks up a localized string similar to Alias '{0}' conflicts with {1} definition. - - - - - Looks up a localized string similar to Assembly and module '{0}' cannot target different processors.. - - - - - Looks up a localized string similar to A constant value is expected. - - - - - Looks up a localized string similar to Constant value '{0}' cannot be converted to a '{1}'. - - - - - Looks up a localized string similar to Constant value '{0}' cannot be converted to a '{1}' (use 'unchecked' syntax to override). - - - - - Looks up a localized string similar to '{0}': static classes cannot be used as constraints. - - - - - Looks up a localized string similar to Constraints are not allowed on non-generic declarations. - - - - - Looks up a localized string similar to Constraint cannot be a dynamic type '{0}'. - - - - - Looks up a localized string similar to Static classes cannot have instance constructors. - - - - - Looks up a localized string similar to A const field requires a value to be provided. - - - - - Looks up a localized string similar to User-defined conversion must convert to or from the enclosing type. - - - - - Looks up a localized string similar to '{0}': user-defined conversions to or from a base class are not allowed. - - - - - Looks up a localized string similar to '{0}': user-defined conversions to or from a derived class are not allowed. - - - - - Looks up a localized string similar to '{0}': user-defined conversions to or from an interface are not allowed. - - - - - Looks up a localized string similar to Cannot convert to static type '{0}'. - - - - - Looks up a localized string similar to Type parameter '{1}' has the 'struct' constraint so '{1}' cannot be used as a constraint for '{0}'. - - - - - Looks up a localized string similar to Cryptographic failure while creating hashes.. - - - - - Looks up a localized string similar to Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type.. - - - - - Looks up a localized string similar to Inherited interface '{1}' causes a cycle in the interface hierarchy of '{0}'. - - - - - Looks up a localized string similar to The type forwarder for type '{0}' in assembly '{1}' causes a cycle. - - - - - Looks up a localized string similar to Evaluation of the decimal constant expression failed. - - - - - Looks up a localized string similar to A declaration expression is not permitted in a variable-initializer of a field declaration, or in an attribute application.. - - - - - Looks up a localized string similar to Cannot specify the DefaultMember attribute on a type containing an indexer. - - - - - Looks up a localized string similar to Argument of type '{0}' is not applicable for the DefaultParameterValue attribute. - - - - - Looks up a localized string similar to Optional parameters must appear after all required parameters. - - - - - Looks up a localized string similar to Cannot specify a default value for the 'this' parameter. - - - - - Looks up a localized string similar to Cannot specify a default value for a parameter array. - - - - - Looks up a localized string similar to Default parameter value for '{0}' must be a compile-time constant. - - - - - Looks up a localized string similar to Default values are not valid in this context.. - - - - - Looks up a localized string similar to The type of the argument to the DefaultParameterValue attribute must match the parameter type. - - - - - Looks up a localized string similar to Cannot specify default parameter value in conjunction with DefaultParameterAttribute or OptionalAttribute. - - - - - Looks up a localized string similar to Cannot create delegate with '{0}' because it or a method it overrides has a Conditional attribute. - - - - - Looks up a localized string similar to Cannot bind delegate to '{0}' because it is a member of 'System.Nullable<T>'. - - - - - Looks up a localized string similar to The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1}. - - - - - Looks up a localized string similar to '{0}' is obsolete: '{1}'. - - - - - Looks up a localized string similar to '{0}': cannot implement a dynamic interface '{1}'. - - - - - Looks up a localized string similar to '{0}': cannot derive from the dynamic type. - - - - - Looks up a localized string similar to '{0}' cannot derive from special class '{1}'. - - - - - Looks up a localized string similar to Cannot derive from '{0}' because it is a type parameter. - - - - - Looks up a localized string similar to Static classes cannot contain destructors. - - - - - Looks up a localized string similar to The DllImport attribute cannot be applied to a method that is generic or contained in a generic type.. - - - - - Looks up a localized string similar to The DllImport attribute must be specified on a method marked 'static' and 'extern'. - - - - - Looks up a localized string similar to '{0}' does not implement '{1}'. - - - - - Looks up a localized string similar to Do not use 'System.Runtime.CompilerServices.FixedBuffer' attribute. Use the 'fixed' field modifier instead.. - - - - - Looks up a localized string similar to The type name '{0}' does not exist in the type '{1}'. - - - - - Looks up a localized string similar to The type or namespace name '{0}' does not exist in the namespace '{1}' (are you missing an assembly reference?). - - - - - Looks up a localized string similar to The type name '{0}' could not be found in the namespace '{1}'. This type has been forwarded to assembly '{2}' Consider adding a reference to that assembly.. - - - - - Looks up a localized string similar to Property accessor already defined. - - - - - Looks up a localized string similar to The using alias '{0}' appeared previously in this namespace. - - - - - Looks up a localized string similar to Duplicate '{0}' attribute. - - - - - Looks up a localized string similar to Duplicate '{0}' attribute in '{1}'. - - - - - Looks up a localized string similar to Duplicate constraint '{0}' for type parameter '{1}'. - - - - - Looks up a localized string similar to The switch statement contains multiple cases with the label value '{0}'. - - - - - Looks up a localized string similar to A constraint clause has already been specified for type parameter '{0}'. All of the constraints for a type parameter must be specified in a single where clause.. - - - - - Looks up a localized string similar to Duplicate user-defined conversion in type '{0}'. - - - - - Looks up a localized string similar to The parameter name '{0}' conflicts with an automatically-generated parameter name. - - - - - Looks up a localized string similar to Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references.. - - - - - Looks up a localized string similar to An assembly with the same simple name '{0}' has already been imported. Try removing one of the references (e.g. '{1}') or sign them to enable side-by-side.. - - - - - Looks up a localized string similar to '{0}' is already listed in interface list. - - - - - Looks up a localized string similar to The label '{0}' is a duplicate. - - - - - Looks up a localized string similar to Duplicate '{0}' modifier. - - - - - Looks up a localized string similar to Named argument '{0}' cannot be specified multiple times. - - - - - Looks up a localized string similar to '{0}' duplicate named attribute argument. - - - - - Looks up a localized string similar to The type '{0}' already contains a definition for '{1}'. - - - - - Looks up a localized string similar to The namespace '{1}' already contains a definition for '{0}'. - - - - - Looks up a localized string similar to The parameter name '{0}' is a duplicate. - - - - - Looks up a localized string similar to Cannot specify accessibility modifiers for both accessors of the property or indexer '{0}'. - - - - - Looks up a localized string similar to '{0}' duplicate TypeForwardedToAttribute. - - - - - Looks up a localized string similar to Duplicate type parameter '{0}'. - - - - - Looks up a localized string similar to A parameter can only have one '{0}' modifier. - - - - - Looks up a localized string similar to Cannot define a class or member that utilizes 'dynamic' because the compiler required type '{0}' cannot be found. Are you missing a reference?. - - - - - Looks up a localized string similar to One or more types required to compile a dynamic expression cannot be found. Are you missing a reference?. - - - - - Looks up a localized string similar to Constraint cannot be the dynamic type. - - - - - Looks up a localized string similar to Empty character literal. - - - - - Looks up a localized string similar to Element initializer cannot be empty. - - - - - Looks up a localized string similar to Expression expected after yield return. - - - - - Looks up a localized string similar to Cannot continue since the edit includes an operation on a 'dynamic' type.. - - - - - Looks up a localized string similar to Cannot continue since the edit includes a reference to an embedded type: '{0}'.. - - - - - Looks up a localized string similar to #endif directive expected. - - - - - Looks up a localized string similar to Single-line comment or end-of-line expected. - - - - - Looks up a localized string similar to #endregion directive expected. - - - - - Looks up a localized string similar to '{0}': the enumerator value is too large to fit in its type. - - - - - Looks up a localized string similar to Type or namespace definition, or end-of-file expected. - - - - - Looks up a localized string similar to Error building Win32 resources -- {0}. - - - - - Looks up a localized string similar to #error: '{0}'. - - - - - Looks up a localized string similar to '{0}': event property must have both add and remove accessors. - - - - - Looks up a localized string similar to '{0}': event must be of a delegate type. - - - - - Looks up a localized string similar to An event in an interface cannot have add or remove accessors. - - - - - Looks up a localized string similar to Expected contextual keyword 'by'. - - - - - Looks up a localized string similar to Expected contextual keyword 'equals'. - - - - - Looks up a localized string similar to Expected contextual keyword 'on'. - - - - - Looks up a localized string similar to Expected catch or finally. - - - - - Looks up a localized string similar to Quoted file name expected. - - - - - Looks up a localized string similar to A query body must end with a select clause or a group clause. - - - - - Looks up a localized string similar to Keyword, identifier, or string expected after verbatim specifier: @. - - - - - Looks up a localized string similar to Do not use 'System.Runtime.CompilerServices.DynamicAttribute'. Use the 'dynamic' keyword instead.. - - - - - Looks up a localized string similar to An explicit interface implementation of an event must use event accessor syntax. - - - - - Looks up a localized string similar to Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead.. - - - - - Looks up a localized string similar to Cannot inherit interface '{0}' with the specified type parameters because it causes method '{1}' to contain overloads which differ only on ref and out. - - - - - Looks up a localized string similar to '{0}' should not have a params parameter since '{1}' does not. - - - - - Looks up a localized string similar to '{0}': explicit interface declaration can only be declared in a class or struct. - - - - - Looks up a localized string similar to '{0}' in explicit interface declaration is not an interface. - - - - - Looks up a localized string similar to '{0}': Automatically implemented properties cannot be used inside a type marked with StructLayout(LayoutKind.Explicit). - - - - - Looks up a localized string similar to '{0}' explicit method implementation cannot implement '{1}' because it is an accessor. - - - - - Looks up a localized string similar to Do not use 'System.ParamArrayAttribute'. Use the 'params' keyword instead.. - - - - - Looks up a localized string similar to '{0}' adds an accessor not found in interface member '{1}'. - - - - - Looks up a localized string similar to Explicit interface implementation '{0}' is missing accessor '{1}'. - - - - - Looks up a localized string similar to Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly.. - - - - - Looks up a localized string similar to Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'.. - - - - - Looks up a localized string similar to Expected expression. - - - - - Looks up a localized string similar to An expression tree may not contain an anonymous method expression. - - - - - Looks up a localized string similar to An expression tree may not contain an assignment operator. - - - - - Looks up a localized string similar to An expression tree lambda may not contain a coalescing operator with a null literal left-hand side. - - - - - Looks up a localized string similar to An expression tree may not contain a base access. - - - - - Looks up a localized string similar to An expression tree may not contain a dynamic operation. - - - - - Looks up a localized string similar to An expression tree may not contain an indexed property. - - - - - Looks up a localized string similar to An expression tree may not contain a multidimensional array initializer. - - - - - Looks up a localized string similar to An expression tree may not contain a named argument specification. - - - - - Looks up a localized string similar to An expression tree may not contain a call or invocation that uses optional arguments. - - - - - Looks up a localized string similar to An expression tree may not contain an unsafe pointer operation. - - - - - Looks up a localized string similar to Cannot convert lambda to an expression tree whose type argument '{0}' is not a delegate type. - - - - - Looks up a localized string similar to Cannot define a new extension method because the compiler required type '{0}' cannot be found. Are you missing a reference to System.Core.dll?. - - - - - Looks up a localized string similar to Extension methods must be defined in a top level static class; {0} is a nested class. - - - - - Looks up a localized string similar to An extern alias declaration must precede all other elements defined in the namespace. - - - - - Looks up a localized string similar to 'extern alias' is not valid in this context. - - - - - Looks up a localized string similar to '{0}' cannot be extern and declare a body. - - - - - Looks up a localized string similar to Feature '{0}' is not available in C# 1. Please use language version {1} or greater.. - - - - - Looks up a localized string similar to Feature '{0}' is not available in C# 2. Please use language version {1} or greater.. - - - - - Looks up a localized string similar to Feature '{0}' is not available in C# 3. Please use language version {1} or greater.. - - - - - Looks up a localized string similar to Feature '{0}' is not available in C# 4. Please use language version {1} or greater.. - - - - - Looks up a localized string similar to Feature '{0}' is not available in C# 5. Please use language version {1} or greater.. - - - - - Looks up a localized string similar to An expression tree may not contain '{0}'. - - - - - Looks up a localized string similar to Field or property cannot be of type '{0}'. - - - - - Looks up a localized string similar to Field cannot have void type. - - - - - Looks up a localized string similar to The field has multiple distinct constant values.. - - - - - Looks up a localized string similar to '{0}': cannot have instance field initializers in structs. - - - - - Looks up a localized string similar to A field initializer cannot reference the non-static field, method, or property '{0}'. - - - - - Looks up a localized string similar to Source file '{0}' could not be found.. - - - - - Looks up a localized string similar to You cannot use fixed size buffers contained in unfixed expressions. Try using the fixed statement.. - - - - - Looks up a localized string similar to A fixed buffer may only have one dimension.. - - - - - Looks up a localized string similar to A fixed size buffer field must have the array size specifier after the field name. - - - - - Looks up a localized string similar to Cannot use fixed local '{0}' inside an anonymous method, lambda expression, or query expression. - - - - - Looks up a localized string similar to You must provide an initializer in a fixed or using statement declaration. - - - - - Looks up a localized string similar to You can only take the address of an unfixed expression inside of a fixed statement initializer. - - - - - Looks up a localized string similar to Fixed size buffers can only be accessed through locals or fields. - - - - - Looks up a localized string similar to Fixed size buffer fields may only be members of structs. - - - - - Looks up a localized string similar to You cannot use the fixed statement to take the address of an already fixed expression. - - - - - Looks up a localized string similar to Fixed size buffer of length {0} and type '{1}' is too big. - - - - - Looks up a localized string similar to Floating-point constant is outside the range of type '{0}'. - - - - - Looks up a localized string similar to foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public definition for '{1}'. - - - - - Looks up a localized string similar to Forwarded type '{0}' conflicts with type declared in primary module of this assembly.. - - - - - Looks up a localized string similar to Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'.. - - - - - Looks up a localized string similar to Type '{0}' is defined in this assembly, but a type forwarder is specified for it. - - - - - Looks up a localized string similar to Cannot forward type '{0}' because it is a nested type of '{1}'. - - - - - Looks up a localized string similar to Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'.. - - - - - Looks up a localized string similar to Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified.. - - - - - Looks up a localized string similar to Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations.. - - - - - Looks up a localized string similar to Friend access was granted by '{0}', but the public key of the output assembly does not match that specified by the attribute in the granting assembly.. - - - - - Looks up a localized string similar to Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly.. - - - - - Looks up a localized string similar to '{0}': static types cannot be used as type arguments. - - - - - Looks up a localized string similar to The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'.. - - - - - Looks up a localized string similar to The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'. Nullable types can not satisfy any interface constraints.. - - - - - Looks up a localized string similar to The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no implicit reference conversion from '{3}' to '{1}'.. - - - - - Looks up a localized string similar to The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion or type parameter conversion from '{3}' to '{1}'.. - - - - - Looks up a localized string similar to The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion from '{3}' to '{1}'.. - - - - - Looks up a localized string similar to A generic type cannot derive from '{0}' because it is an attribute class. - - - - - Looks up a localized string similar to Type '{0}' from assembly '{1}' cannot be used across assembly boundaries because it has a generic type parameter that is an embedded interop type.. - - - - - Looks up a localized string similar to Type '{0}' cannot be embedded because it has a generic argument. Consider setting the 'Embed Interop Types' property to false.. - - - - - Looks up a localized string similar to A get or set accessor expected. - - - - - Looks up a localized string similar to Assembly and module attributes are not allowed in this context. - - - - - Looks up a localized string similar to Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations. - - - - - Looks up a localized string similar to Member definition, statement, or end-of-file expected. - - - - - Looks up a localized string similar to You cannot redefine the global extern alias. - - - - - Looks up a localized string similar to The type or namespace name '{0}' could not be found in the global namespace (are you missing an assembly reference?). - - - - - Looks up a localized string similar to The type name '{0}' could not be found in the global namespace. This type has been forwarded to assembly '{1}' Consider adding a reference to that assembly.. - - - - - Looks up a localized string similar to Expressions and statements can only occur in a method body. - - - - - Looks up a localized string similar to The non-generic {1} '{0}' cannot be used with type arguments. - - - - - Looks up a localized string similar to '{0}' hides inherited abstract member '{1}'. - - - - - Looks up a localized string similar to Identifier expected. - - - - - Looks up a localized string similar to Identifier expected; '{1}' is a keyword. - - - - - Looks up a localized string similar to User-defined operator cannot take an object of the enclosing type and convert to an object of the enclosing type. - - - - - Looks up a localized string similar to An __arglist expression may only appear inside of a call or new expression. - - - - - Looks up a localized string similar to Unrecognized escape sequence. - - - - - Looks up a localized string similar to Fixed size buffer type must be one of the following: bool, byte, short, int, long, char, sbyte, ushort, uint, ulong, float or double. - - - - - Looks up a localized string similar to Unsafe code may not appear in iterators. - - - - - Looks up a localized string similar to params is not valid in this context. - - - - - Looks up a localized string similar to ref and out are not valid in this context. - - - - - Looks up a localized string similar to Only assignment, call, increment, decrement, and new object expressions can be used as a statement. - - - - - Looks up a localized string similar to Unsafe code may only appear if compiling with /unsafe. - - - - - Looks up a localized string similar to __arglist is not valid in this context. - - - - - Looks up a localized string similar to Invalid variance modifier. Only interface and delegate type parameters can be specified as variant.. - - - - - Looks up a localized string similar to The constraints for type parameter '{0}' of method '{1}' must match the constraints for type parameter '{2}' of interface method '{3}'. Consider using an explicit interface implementation instead.. - - - - - Looks up a localized string similar to Implemented interface cannot have arguments.. - - - - - Looks up a localized string similar to No best type found for implicitly-typed array. - - - - - Looks up a localized string similar to Implicitly-typed local variables cannot be fixed. - - - - - Looks up a localized string similar to Cannot initialize an implicitly-typed variable with an array initializer. - - - - - Looks up a localized string similar to Cannot assign {0} to an implicitly-typed variable. - - - - - Looks up a localized string similar to Implicitly-typed variables cannot be constant. - - - - - Looks up a localized string similar to Implicitly-typed variables cannot have multiple declarators. - - - - - Looks up a localized string similar to Implicitly-typed variables must be initialized. - - - - - Looks up a localized string similar to Imported type '{0}' is invalid. It contains a circular base class dependency.. - - - - - Looks up a localized string similar to The referenced file '{0}' is not an assembly. - - - - - Looks up a localized string similar to The property or indexer '{0}' cannot be used in this context because the get accessor is inaccessible. - - - - - Looks up a localized string similar to The property or indexer '{0}' cannot be used in this context because the set accessor is inaccessible. - - - - - Looks up a localized string similar to An out parameter cannot have the In attribute. - - - - - Looks up a localized string similar to Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type. - - - - - Looks up a localized string similar to Inconsistent lambda parameter usage; parameter types must be all explicit or all implicit. - - - - - Looks up a localized string similar to The operand of an increment or decrement operator must be a variable, property or indexer. - - - - - Looks up a localized string similar to Indexed property '{0}' must have all arguments optional. - - - - - Looks up a localized string similar to Indexed property '{0}' has non-optional arguments which must be provided. - - - - - Looks up a localized string similar to Indexers cannot have void type. - - - - - Looks up a localized string similar to '{0}': cannot declare indexers in a static class. - - - - - Looks up a localized string similar to Indexers must have at least one parameter. - - - - - Looks up a localized string similar to 'in' expected. - - - - - Looks up a localized string similar to The best overloaded method match '{0}' for the collection initializer element cannot be used. Collection initializer 'Add' methods cannot have ref or out parameters.. - - - - - Looks up a localized string similar to The best overloaded method match for '{0}' has wrong signature for the initializer element. The initializable Add must be an accessible instance method.. - - - - - Looks up a localized string similar to Structs without explicit constructors cannot contain members with initializers.. - - - - - Looks up a localized string similar to Only auto-implemented properties can have a initializers.. - - - - - Looks up a localized string similar to Since this struct type has a primary constructor, an instance constructor declaration cannot specify a constructor initializer that invokes default constructor.. - - - - - Looks up a localized string similar to Since this type has a primary constructor, all instance constructor declarations must specify a constructor initializer of the form this([argument-list]).. - - - - - Looks up a localized string similar to '{0}': cannot declare instance members in a static class. - - - - - Looks up a localized string similar to Cannot create an instance of the static class '{0}'. - - - - - Looks up a localized string similar to Division by constant zero. - - - - - Looks up a localized string similar to Type byte, sbyte, short, ushort, int, uint, long, or ulong expected. - - - - - Looks up a localized string similar to A value of an integral type expected. - - - - - Looks up a localized string similar to '{0}': event in interface cannot have initializer. - - - - - Looks up a localized string similar to Conditional member '{0}' cannot implement interface member '{1}' in type '{2}'. - - - - - Looks up a localized string similar to '{0}': interface members cannot have a definition. - - - - - Looks up a localized string similar to '{0}' in explicit interface declaration is not a member of interface. - - - - - Looks up a localized string similar to '{0}': interfaces cannot declare types. - - - - - Looks up a localized string similar to Interfaces cannot contain constructors. - - - - - Looks up a localized string similar to Interfaces cannot contain fields. - - - - - Looks up a localized string similar to Interfaces cannot contain operators. - - - - - Looks up a localized string similar to Embedded interop method '{0}' contains a body.. - - - - - Looks up a localized string similar to Embedded interop struct '{0}' can contain only public instance fields.. - - - - - Looks up a localized string similar to Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute.. - - - - - Looks up a localized string similar to Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider setting the 'Embed Interop Types' property to false.. - - - - - Looks up a localized string similar to Integral constant is too large. - - - - - Looks up a localized string similar to Cannot take the address of the given expression. - - - - - Looks up a localized string similar to Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.. - - - - - Looks up a localized string similar to Invalid rank specifier: expected ',' or ']'. - - - - - Looks up a localized string similar to Executables cannot be satellite assemblies; culture should always be empty. - - - - - Looks up a localized string similar to Assembly reference '{0}' is invalid and cannot be resolved. - - - - - Looks up a localized string similar to Invalid value for argument to '{0}' attribute. - - - - - Looks up a localized string similar to '{0}' is of type '{1}'. The type specified in a constant declaration must be sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, an enum-type, or a reference-type.. - - - - - Looks up a localized string similar to Delegate '{0}' has no invoke method or an invoke method with a return type or parameter types that are not supported.. - - - - - Looks up a localized string similar to Expression must be implicitly convertible to Boolean or its type '{0}' must define operator '{1}'.. - - - - - Looks up a localized string similar to Invalid expression term '{0}'. - - - - - Looks up a localized string similar to Fixed size buffers must have a length greater than zero. - - - - - Looks up a localized string similar to Command-line syntax error: Invalid Guid format '{0}' for option '{1}'. - - - - - Looks up a localized string similar to Invalid type specified as an argument for TypeForwardedTo attribute. - - - - - Looks up a localized string similar to A goto case is only valid inside a switch statement. - - - - - Looks up a localized string similar to Invalid initializer member declarator. - - - - - Looks up a localized string similar to The line number specified for #line directive is missing or invalid. - - - - - Looks up a localized string similar to Invalid token '{0}' in class, struct, or interface member declaration. - - - - - Looks up a localized string similar to Invalid value for named attribute argument '{0}'. - - - - - Looks up a localized string similar to Invalid number. - - - - - Looks up a localized string similar to Invalid preprocessor expression. - - - - - Looks up a localized string similar to The accessibility modifier of the '{0}' accessor must be more restrictive than the property or indexer '{1}'. - - - - - Looks up a localized string similar to Type of conditional expression cannot be determined because there is no implicit conversion between '{0}' and '{1}'. - - - - - Looks up a localized string similar to Invalid signature public key specified in AssemblySignatureKeyAttribute.. - - - - - Looks up a localized string similar to '{0}' is not a valid format specifier. - - - - - Looks up a localized string similar to Parameters of a primary constructor can only be accessed in instance variable initializers and arguments to the base constructor.. - - - - - Looks up a localized string similar to The specified version string does not conform to the required format - major[.minor[.build[.revision]]]. - - - - - Looks up a localized string similar to The specified version string does not conform to the required format - major.minor.build.revision. - - - - - Looks up a localized string similar to Yield statements may not appear at the top level in interactive code.. - - - - - Looks up a localized string similar to No such label '{0}' within the scope of the goto statement. - - - - - Looks up a localized string similar to The label '{0}' shadows another label by the same name in a contained scope. - - - - - Looks up a localized string similar to The first operand of an 'is' or 'as' operator may not be a lambda expression, anonymous method, or method group.. - - - - - Looks up a localized string similar to { expected. - - - - - Looks up a localized string similar to Runtime library method '{0}.{1}' not found.. - - - - - Looks up a localized string similar to More than one candidate found for library invocation '{0}.{1}'.. - - - - - Looks up a localized string similar to Linked netmodule metadata must provide a full PE image: '{0}'.. - - - - - Looks up a localized string similar to Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type. - - - - - Looks up a localized string similar to Local '{0}' or its members cannot have their address taken and be used inside an anonymous method or lambda expression. - - - - - Looks up a localized string similar to A local variable named '{0}' is already defined in this scope. - - - - - Looks up a localized string similar to A local or parameter named '{0}' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter. - - - - - Looks up a localized string similar to '{0}': a parameter or local variable cannot have the same name as a method type parameter. - - - - - Looks up a localized string similar to Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider setting the 'Embed Interop Types' property to false.. - - - - - Looks up a localized string similar to '{0}' is not a reference type as required by the lock statement. - - - - - Looks up a localized string similar to Cannot do member lookup in '{0}' because it is a type parameter. - - - - - Looks up a localized string similar to '{0}': an entry point cannot be marked with the 'async' modifier. - - - - - Looks up a localized string similar to Cannot use '{0}' for Main method because it is imported. - - - - - Looks up a localized string similar to '{0}' specified for Main method must be a valid non-generic class or struct. - - - - - Looks up a localized string similar to Could not find '{0}' specified for Main method. - - - - - Looks up a localized string similar to Cannot take the address of, get the size of, or declare a pointer to a managed type ('{0}'). - - - - - Looks up a localized string similar to Unmanaged type '{0}' not valid for fields.. - - - - - Looks up a localized string similar to Unmanaged type '{0}' is only valid for fields.. - - - - - Looks up a localized string similar to Type '{1}' already defines a member called '{0}' with the same parameter types. - - - - - Looks up a localized string similar to Duplicate initialization of member '{0}'. - - - - - Looks up a localized string similar to Member '{0}' cannot be initialized. It is not a field or property.. - - - - - Looks up a localized string similar to '{0}': member names cannot be the same as their enclosing type. - - - - - Looks up a localized string similar to Method must have a return type. - - - - - Looks up a localized string similar to Type '{1}' already reserves a member called '{0}' with the same parameter types. - - - - - Looks up a localized string similar to An expression tree lambda may not contain a method group. - - - - - Looks up a localized string similar to Name '{0}' exceeds the maximum length allowed in metadata.. - - - - - Looks up a localized string similar to Metadata references not supported.. - - - - - Looks up a localized string similar to No overload for '{0}' matches delegate '{1}'. - - - - - Looks up a localized string similar to Cannot convert method group '{0}' to non-delegate type '{1}'. Did you intend to invoke the method?. - - - - - Looks up a localized string similar to Cannot make reference to variable of type '{0}'. - - - - - Looks up a localized string similar to Method '{0}' cannot implement interface accessor '{1}' for type '{2}'. Use an explicit interface implementation.. - - - - - Looks up a localized string similar to Method name expected. - - - - - Looks up a localized string similar to Method or delegate cannot return type '{0}'. - - - - - Looks up a localized string similar to Argument missing. - - - - - Looks up a localized string similar to Array creation must have array size or array initializer. - - - - - Looks up a localized string similar to The managed coclass wrapper class '{0}' for interface '{1}' cannot be found (are you missing an assembly reference?). - - - - - Looks up a localized string similar to The /pdb option requires that the /debug option also be used. - - - - - Looks up a localized string similar to Command-line syntax error: Missing Guid for option '{1}'. - - - - - Looks up a localized string similar to Source interface '{0}' is missing method '{1}' which is required to embed event '{2}'.. - - - - - Looks up a localized string similar to Reference to '{0}' netmodule missing.. - - - - - Looks up a localized string similar to Missing partial modifier on declaration of type '{0}'; another partial declaration of this type exists. - - - - - Looks up a localized string similar to Quoted file name, single-line comment or end-of-line expected. - - - - - Looks up a localized string similar to Missing compiler required member '{0}.{1}'. - - - - - Looks up a localized string similar to Interface '{0}' has an invalid source interface which is required to embed event '{1}'.. - - - - - Looks up a localized string similar to '{0}': instance field types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute. - - - - - Looks up a localized string similar to Reference to type '{0}' claims it is defined in '{1}', but it could not be found. - - - - - Looks up a localized string similar to Reference to type '{0}' claims it is defined in this assembly, but it is not defined in source or any added modules. - - - - - Looks up a localized string similar to '{0}' cannot implement '{1}' because '{2}' is a Windows Runtime event and '{3}' is a regular .NET event.. - - - - - Looks up a localized string similar to Failed to emit module '{0}'.. - - - - - Looks up a localized string similar to A parameter cannot have all the specified modifiers; there are too many modifiers on the parameter. - - - - - Looks up a localized string similar to Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.. - - - - - Looks up a localized string similar to foreach statement cannot operate on variables of type '{0}' because it implements multiple instantiations of '{1}'; try casting to a specific interface instantiation. - - - - - Looks up a localized string similar to Cannot use more than one type in a for, using, fixed, or declaration statement. - - - - - Looks up a localized string similar to In order for '{0}' to be applicable as a short circuit operator, its declaring type '{1}' must define operator true and operator false. - - - - - Looks up a localized string similar to Named attribute argument expected. - - - - - Looks up a localized string similar to An array access may not have a named argument specifier. - - - - - Looks up a localized string similar to Named argument specifications must appear after all fixed arguments have been specified. - - - - - Looks up a localized string similar to Named argument '{0}' specifies a parameter for which a positional argument has already been given. - - - - - Looks up a localized string similar to The name '{0}' does not exist in the current context. - - - - - Looks up a localized string similar to The name '{0}' does not exist in the current context (are you missing a reference to assembly '{1}'?). - - - - - Looks up a localized string similar to You cannot declare namespace in script code. - - - - - Looks up a localized string similar to A namespace cannot directly contain members such as fields or methods. - - - - - Looks up a localized string similar to Cannot create an array with a negative size. - - - - - Looks up a localized string similar to Cannot use a negative size with stackalloc. - - - - - Looks up a localized string similar to Module name '{0}' stored in '{1}' must match its filename.. - - - - - Looks up a localized string similar to Module '{0}' is already defined in this assembly. Each module must have a unique filename.. - - - - - Looks up a localized string similar to The new() constraint must be the last constraint specified. - - - - - Looks up a localized string similar to The 'new()' constraint cannot be used with the 'struct' constraint. - - - - - Looks up a localized string similar to Interop type '{0}' cannot be embedded. Use the applicable interface instead.. - - - - - Looks up a localized string similar to '{2}' must be a non-abstract type with a public parameterless constructor in order to use it as parameter '{1}' in the generic type or method '{0}'. - - - - - Looks up a localized string similar to Newline in constant. - - - - - Looks up a localized string similar to '{0}': cannot provide arguments when creating an instance of a variable type. - - - - - Looks up a localized string similar to '{0}' is a new virtual member in sealed class '{1}'. - - - - - Looks up a localized string similar to A base class is required for a 'base' reference. - - - - - Looks up a localized string similar to No enclosing loop out of which to break or continue. - - - - - Looks up a localized string similar to Cannot find the interop type that matches the embedded interop type '{0}'. Are you missing an assembly reference?. - - - - - Looks up a localized string similar to The type '{0}' has no constructors defined. - - - - - Looks up a localized string similar to CallerFilePathAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}'. - - - - - Looks up a localized string similar to CallerLineNumberAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}'. - - - - - Looks up a localized string similar to CallerMemberNameAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}'. - - - - - Looks up a localized string similar to A value of type '{0}' cannot be used as a default parameter because there are no standard conversions to type '{1}'. - - - - - Looks up a localized string similar to A value of type '{0}' cannot be used as default parameter for nullable parameter '{1}' because '{0}' is not a simple type. - - - - - Looks up a localized string similar to '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable'. - - - - - Looks up a localized string similar to There is no argument given that corresponds to the required formal parameter '{0}' of '{1}'. - - - - - Looks up a localized string similar to The call to method '{0}' needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access.. - - - - - Looks up a localized string similar to The constructor call needs to be dynamically dispatched, but cannot be because it is part of a constructor initializer. Consider casting the dynamic arguments.. - - - - - Looks up a localized string similar to The indexer access needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access.. - - - - - Looks up a localized string similar to Program does not contain a static 'Main' method suitable for an entry point. - - - - - Looks up a localized string similar to Cannot convert type '{0}' to '{1}' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion. - - - - - Looks up a localized string similar to Cannot convert type '{0}' to '{1}'. - - - - - Looks up a localized string similar to Missing file specification for '{0}' option. - - - - - Looks up a localized string similar to '{0}': cannot override because '{1}' does not have an overridable get accessor. - - - - - Looks up a localized string similar to Cannot implicitly convert type '{0}' to '{1}'. - - - - - Looks up a localized string similar to Cannot implicitly convert type '{0}' to '{1}'. An explicit conversion exists (are you missing a cast?). - - - - - Looks up a localized string similar to '{0}' does not have a suitable static Main method. - - - - - Looks up a localized string similar to Cannot specify /main if building a module or library. - - - - - Looks up a localized string similar to Metadata file '{0}' could not be found. - - - - - Looks up a localized string similar to Modifiers cannot be placed on event accessor declarations. - - - - - Looks up a localized string similar to Class '{0}' cannot have multiple base classes: '{1}' and '{2}'. - - - - - Looks up a localized string similar to Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal. - - - - - Looks up a localized string similar to Cannot create an instance of the abstract class or interface '{0}'. - - - - - Looks up a localized string similar to Cannot create an instance of the variable type '{0}' because it does not have the new() constraint. - - - - - Looks up a localized string similar to Type '{0}' in interface list is not an interface. - - - - - Looks up a localized string similar to Non-invocable member '{0}' cannot be used like a method.. - - - - - Looks up a localized string similar to Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute.. - - - - - Looks up a localized string similar to Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute.. - - - - - Looks up a localized string similar to Type '{0}' cannot be embedded because it is a nested type. Consider setting the 'Embed Interop Types' property to false.. - - - - - Looks up a localized string similar to Expected at least one script (.csx file) but none specified. - - - - - Looks up a localized string similar to '{0}': cannot override because '{1}' does not have an overridable set accessor. - - - - - Looks up a localized string similar to Source file '{0}' could not be opened -- {1}. - - - - - Looks up a localized string similar to '{0}' does not contain a definition for '{1}'. - - - - - Looks up a localized string similar to '{0}' does not contain a definition for '{1}' and no extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive or an assembly reference?). - - - - - Looks up a localized string similar to '{0}' does not contain a definition for '{1}' and no extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive for '{2}'?). - - - - - Looks up a localized string similar to '{0}' is not an attribute class. - - - - - Looks up a localized string similar to The expression being assigned to '{0}' must be constant. - - - - - Looks up a localized string similar to '{0}' is of type '{1}'. A const field of a reference type other than string can only be initialized with null.. - - - - - Looks up a localized string similar to '{0}' is of type '{1}'. A default parameter value of a reference type other than string can only be initialized with null. - - - - - Looks up a localized string similar to This language feature ('{0}') is not yet implemented in Roslyn.. - - - - - Looks up a localized string similar to The type '{0}' is defined in an assembly that is not referenced. You must add a reference to assembly '{1}'.. - - - - - Looks up a localized string similar to The type '{0}' is defined in a module that has not been added. You must add the module '{1}'.. - - - - - Looks up a localized string similar to Keyword 'void' cannot be used in this context. - - - - - Looks up a localized string similar to Invalid parameter type 'void'. - - - - - Looks up a localized string similar to Use of null is not valid in this context. - - - - - Looks up a localized string similar to '{0}' has no base class and cannot call a base constructor. - - - - - Looks up a localized string similar to The class System.Object cannot have a base class or implement an interface. - - - - - Looks up a localized string similar to Object and collection initializer expressions may not be applied to a delegate creation expression. - - - - - Looks up a localized string similar to Member '{0}' cannot be accessed with an instance reference; qualify it with a type name instead. - - - - - Looks up a localized string similar to An object reference is required for the non-static field, method, or property '{0}'. - - - - - Looks up a localized string similar to A /reference option that declares an extern alias can only have one filename. To specify multiple aliases or filenames, use multiple /reference options.. - - - - - Looks up a localized string similar to Only class types can contain destructors. - - - - - Looks up a localized string similar to End-of-file found, '*/' expected. - - - - - Looks up a localized string similar to Error opening response file '{0}'. - - - - - Looks up a localized string similar to User-defined operators cannot return void. - - - - - Looks up a localized string similar to '{0}': static classes cannot contain user-defined operators. - - - - - Looks up a localized string similar to The operator '{0}' requires a matching operator '{1}' to also be defined. - - - - - Looks up a localized string similar to User-defined operator '{0}' must be declared static and public. - - - - - Looks up a localized string similar to The return type of operator True or False must be bool. - - - - - Looks up a localized string similar to Cannot specify only Out attribute on a ref parameter. Use both In and Out attributes, or neither.. - - - - - Looks up a localized string similar to Outputs without source must have the /out option specified. - - - - - Looks up a localized string similar to Could not write to output file '{0}' -- '{1}'. - - - - - Looks up a localized string similar to '{0}' cannot define overloaded methods that differ only on ref and out. - - - - - Looks up a localized string similar to Cannot define overloaded constructor '{0}' because it differs from another constructor only on ref and out. - - - - - Looks up a localized string similar to Do not override object.Finalize. Instead, provide a destructor.. - - - - - Looks up a localized string similar to '{0}': no suitable method found to override. - - - - - Looks up a localized string similar to A member '{0}' marked as override cannot be marked as new or virtual. - - - - - Looks up a localized string similar to Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly. - - - - - Looks up a localized string similar to Overloadable binary operator expected. - - - - - Looks up a localized string similar to Overloadable operator expected. - - - - - Looks up a localized string similar to Overloadable unary operator expected. - - - - - Looks up a localized string similar to The parameter has multiple distinct default values.. - - - - - Looks up a localized string similar to '{0}': static types cannot be used as parameters. - - - - - Looks up a localized string similar to Parameter not valid for the specified unmanaged type.. - - - - - Looks up a localized string similar to A parameter must either have an accessibility modifier or must not have any field modifiers.. - - - - - Looks up a localized string similar to The params parameter cannot be declared as ref or out. - - - - - Looks up a localized string similar to A params parameter must be the last parameter in a formal parameter list. - - - - - Looks up a localized string similar to The params parameter must be a single dimensional array. - - - - - Looks up a localized string similar to The out parameter '{0}' must be assigned to before control leaves the current method. - - - - - Looks up a localized string similar to A partial method cannot have out parameters. - - - - - Looks up a localized string similar to Both partial method declarations must be extension methods or neither may be an extension method. - - - - - Looks up a localized string similar to Partial method declarations of '{0}' have inconsistent type parameter constraints. - - - - - Looks up a localized string similar to Partial methods with only a defining declaration or removed conditional methods cannot be used in expression trees. - - - - - Looks up a localized string similar to A partial method cannot have access modifiers or the virtual, abstract, override, new, sealed, or extern modifiers. - - - - - Looks up a localized string similar to No defining declaration found for implementing declaration of partial method '{0}'. - - - - - Looks up a localized string similar to Partial methods must have a void return type. - - - - - Looks up a localized string similar to A partial method may not explicitly implement an interface method. - - - - - Looks up a localized string similar to A partial method must be declared within a partial class or partial struct. - - - - - Looks up a localized string similar to Only methods, classes, structs, or interfaces may be partial. - - - - - Looks up a localized string similar to A partial method may not have multiple implementing declarations. - - - - - Looks up a localized string similar to A partial method may not have multiple defining declarations. - - - - - Looks up a localized string similar to Both partial method declarations must use a params parameter or neither may use a params parameter. - - - - - Looks up a localized string similar to Both partial method declarations must be static or neither may be static. - - - - - Looks up a localized string similar to Cannot create delegate from method '{0}' because it is a partial method without an implementing declaration. - - - - - Looks up a localized string similar to Both partial method declarations must be unsafe or neither may be unsafe. - - - - - Looks up a localized string similar to The 'partial' modifier can only appear immediately before 'class', 'struct', 'interface', or 'void'. - - - - - Looks up a localized string similar to Partial declarations of '{0}' have conflicting accessibility modifiers. - - - - - Looks up a localized string similar to Partial declarations of '{0}' must not specify different base classes. - - - - - Looks up a localized string similar to Partial declarations of '{0}' must be all classes, all structs, or all interfaces. - - - - - Looks up a localized string similar to Partial declarations of '{0}' have inconsistent constraints for type parameter '{1}'. - - - - - Looks up a localized string similar to Partial declarations of '{0}' must have the same type parameter names in the same order. - - - - - Looks up a localized string similar to Partial declarations of '{0}' must have the same type parameter names and variance modifiers in the same order. - - - - - Looks up a localized string similar to Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}'. - - - - - Looks up a localized string similar to Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute. - - - - - Looks up a localized string similar to Neither 'is' nor 'as' is valid on pointer types. - - - - - Looks up a localized string similar to Cannot define/undefine preprocessor symbols after first token in file. - - - - - Looks up a localized string similar to Preprocessor directive expected. - - - - - Looks up a localized string similar to Cannot use #r after first token in file. - - - - - Looks up a localized string similar to Predefined type '{0}' is not defined or imported. - - - - - Looks up a localized string similar to Constructor initializer cannot access the parameters to a primary constructor.. - - - - - Looks up a localized string similar to '{0}': a parameter of a primary constructor cannot have the same name as containing type. - - - - - Looks up a localized string similar to '{0}': a parameter of a primary constructor cannot have the same name as a type's type parameter '{1}'. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for PrincipalPermission attribute. - - - - - Looks up a localized string similar to '{0}': abstract properties cannot have private accessors. - - - - - Looks up a localized string similar to '{0}': accessibility modifiers may not be used on accessors in an interface. - - - - - Looks up a localized string similar to '{0}': property or indexer cannot have void type. - - - - - Looks up a localized string similar to The property or indexer '{0}' cannot be used in this context because it lacks the get accessor. - - - - - Looks up a localized string similar to '{0}': property or indexer must have at least one accessor. - - - - - Looks up a localized string similar to '{0}': static classes cannot contain protected members. - - - - - Looks up a localized string similar to '{0}': new protected member declared in struct. - - - - - Looks up a localized string similar to The * or -> operator must be applied to a pointer. - - - - - Looks up a localized string similar to A pointer must be indexed by only one value. - - - - - Looks up a localized string similar to Error signing output with public key from container '{0}' -- {1}. - - - - - Looks up a localized string similar to Error signing output with public key from file '{0}' -- {1}. - - - - - Looks up a localized string similar to The range variable '{0}' has already been declared. - - - - - Looks up a localized string similar to The name '{0}' is not in scope on the right side of 'equals'. Consider swapping the expressions on either side of 'equals'.. - - - - - Looks up a localized string similar to Multiple implementations of the query pattern were found for source type '{0}'. Ambiguous call to '{1}'.. - - - - - Looks up a localized string similar to Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found.. - - - - - Looks up a localized string similar to Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Consider explicitly specifying the type of the range variable '{2}'.. - - - - - Looks up a localized string similar to Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'?. - - - - - Looks up a localized string similar to The name '{0}' is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'.. - - - - - Looks up a localized string similar to Cannot pass the range variable '{0}' as an out or ref parameter. - - - - - Looks up a localized string similar to Cannot assign {0} to a range variable. - - - - - Looks up a localized string similar to The range variable '{0}' conflicts with a previous declaration of '{0}'. - - - - - Looks up a localized string similar to Range variable '{0}' cannot be assigned to -- it is read only. - - - - - Looks up a localized string similar to The range variable '{0}' cannot have the same name as a method type parameter. - - - - - Looks up a localized string similar to The type of the expression in the {0} clause is incorrect. Type inference failed in the call to '{1}'.. - - - - - Looks up a localized string similar to The type of one of the expressions in the {0} clause is incorrect. Type inference failed in the call to '{1}'.. - - - - - Looks up a localized string similar to An expression of type '{0}' is not allowed in a subsequent from clause in a query expression with source type '{1}'. Type inference failed in the call to '{2}'.. - - - - - Looks up a localized string similar to } expected. - - - - - Looks up a localized string similar to Members of readonly field '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type. - - - - - Looks up a localized string similar to Constructor '{0}' cannot call itself. - - - - - Looks up a localized string similar to Type of '{0}' cannot be inferred since its initializer directly or indirectly refers to the definition.. - - - - - Looks up a localized string similar to The type '{2}' must be a reference type in order to use it as parameter '{1}' in the generic type or method '{0}'. - - - - - Looks up a localized string similar to Referenced assembly '{0}' does not have a strong name.. - - - - - Looks up a localized string similar to #r is only allowed in scripts. - - - - - Looks up a localized string similar to A ref or out argument must be an assignable variable. - - - - - Looks up a localized string similar to A ref or out parameter cannot have a default value. - - - - - Looks up a localized string similar to A ref or out parameter cannot have any field modifiers.. - - - - - Looks up a localized string similar to A property or indexer may not be passed as an out or ref parameter. - - - - - Looks up a localized string similar to A readonly field cannot be passed ref or out (except in a constructor). - - - - - Looks up a localized string similar to Members of readonly field '{0}' cannot be passed ref or out (except in a constructor). - - - - - Looks up a localized string similar to Cannot pass '{0}' as a ref or out argument because it is read-only. - - - - - Looks up a localized string similar to Cannot pass fields of '{0}' as a ref or out argument because it is a '{1}'. - - - - - Looks up a localized string similar to Cannot pass '{0}' as a ref or out argument because it is a '{1}'. - - - - - Looks up a localized string similar to A static readonly field cannot be passed ref or out (except in a static constructor). - - - - - Looks up a localized string similar to Fields of static readonly field '{0}' cannot be passed ref or out (except in a static constructor). - - - - - Looks up a localized string similar to The 'class' or 'struct' constraint must come before any other constraints. - - - - - Looks up a localized string similar to '{0}': cannot specify both a constraint class and the 'class' or 'struct' constraint. - - - - - Looks up a localized string similar to The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session. - - - - - Looks up a localized string similar to The enumerator name '{0}' is reserved and cannot be used. - - - - - Looks up a localized string similar to Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly. - - - - - Looks up a localized string similar to Resource identifier '{0}' has already been used in this assembly. - - - - - Looks up a localized string similar to Since '{0}' returns void, a return keyword must not be followed by an object expression. - - - - - Looks up a localized string similar to Anonymous function converted to a void returning delegate cannot return a value. - - - - - Looks up a localized string similar to An object of a type convertible to '{0}' is required. - - - - - Looks up a localized string similar to '{0}': not all code paths return a value. - - - - - Looks up a localized string similar to Cannot return a value from an iterator. Use the yield return statement to return a value, or yield break to end the iteration.. - - - - - Looks up a localized string similar to You cannot use 'return' in top-level script code. - - - - - Looks up a localized string similar to Cannot modify the return value of '{0}' because it is not a variable. - - - - - Looks up a localized string similar to '{0}': static types cannot be used as return types. - - - - - Looks up a localized string similar to The type '{1}' exists in both '{0}' and '{2}'. - - - - - Looks up a localized string similar to The namespace '{1}' in '{0}' conflicts with the type '{3}' in '{2}'. - - - - - Looks up a localized string similar to The type '{1}' in '{0}' conflicts with the namespace '{3}' in '{2}'. - - - - - Looks up a localized string similar to '{0}' cannot be sealed because it is not an override. - - - - - Looks up a localized string similar to '{0}': a class cannot be both static and sealed. - - - - - Looks up a localized string similar to Security attribute '{0}' has an invalid SecurityAction value '{1}'. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for security attributes applied to an assembly. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for security attributes applied to a type or a method. - - - - - Looks up a localized string similar to Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations.. - - - - - Looks up a localized string similar to First argument to a security attribute must be a valid SecurityAction. - - - - - Looks up a localized string similar to Security attribute '{0}' cannot be applied to an Async method.. - - - - - Looks up a localized string similar to Async methods are not allowed in an Interface, Class, or Structure which has the 'SecurityCritical' or 'SecuritySafeCritical' attribute.. - - - - - Looks up a localized string similar to ; expected. - - - - - Looks up a localized string similar to { or ; expected. - - - - - Looks up a localized string similar to Only one part of a partial type can declare primary constructor parameters.. - - - - - Looks up a localized string similar to Key file '{0}' is missing the private key needed for signing. - - - - - Looks up a localized string similar to The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?). - - - - - Looks up a localized string similar to The type name '{0}' could not be found. This type has been forwarded to assembly '{1}'. Consider adding a reference to that assembly.. - - - - - Looks up a localized string similar to '{0}' does not have a predefined size, therefore sizeof can only be used in an unsafe context (consider using System.Runtime.InteropServices.Marshal.SizeOf). - - - - - Looks up a localized string similar to Instance of type '{0}' cannot be used inside an anonymous function, query expression, iterator block or async method. - - - - - Looks up a localized string similar to Constraint cannot be special class '{0}'. - - - - - Looks up a localized string similar to stackalloc may not be used in a catch or finally block. - - - - - Looks up a localized string similar to A lambda expression with a statement body cannot be converted to an expression tree. - - - - - Looks up a localized string similar to '{1}': cannot derive from static class '{0}'. - - - - - Looks up a localized string similar to '{0}': static classes cannot implement interfaces. - - - - - Looks up a localized string similar to The constant '{0}' cannot be marked static. - - - - - Looks up a localized string similar to '{0}': a static constructor must be parameterless. - - - - - Looks up a localized string similar to '{0}': access modifiers are not allowed on static constructors. - - - - - Looks up a localized string similar to '{0}': static constructor cannot have an explicit 'this' or 'base' constructor call. - - - - - Looks up a localized string similar to Static class '{0}' cannot derive from type '{1}'. Static classes must derive from object.. - - - - - Looks up a localized string similar to The second operand of an 'is' or 'as' operator may not be static type '{0}'. - - - - - Looks up a localized string similar to Static field or property '{0}' cannot be assigned in an object initializer. - - - - - Looks up a localized string similar to A static member '{0}' cannot be marked as override, virtual, or abstract. - - - - - Looks up a localized string similar to A parameter cannot have static modifier.. - - - - - Looks up a localized string similar to Struct member '{0}' of type '{1}' causes a cycle in the struct layout. - - - - - Looks up a localized string similar to The FieldOffset attribute is not allowed on static or const fields. - - - - - Looks up a localized string similar to The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit). - - - - - Looks up a localized string similar to Structs cannot contain explicit parameterless constructors. - - - - - Looks up a localized string similar to '{0}': structs cannot call base class constructors. - - - - - Looks up a localized string similar to Control cannot fall through from one case label ('{0}') to another. - - - - - Looks up a localized string similar to A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type. - - - - - Looks up a localized string similar to Command-line syntax error: Missing ':<number>' for '{0}' option. - - - - - Looks up a localized string similar to Command-line syntax error: Missing '{0}' for '{1}' option. - - - - - Looks up a localized string similar to 'MethodImplOptions.Synchronized' cannot be applied to an async method. - - - - - Looks up a localized string similar to Syntax error, '{0}' expected. - - - - - Looks up a localized string similar to System.Void cannot be used from C# -- use typeof(void) to get the void type object. - - - - - Looks up a localized string similar to Since '{0}' is an async method that returns 'Task', a return keyword must not be followed by an object expression. Did you intend to return 'Task<T>'?. - - - - - Looks up a localized string similar to Async lambda expression converted to a 'Task' returning delegate cannot return a value. Did you intend to return 'Task<T>'?. - - - - - Looks up a localized string similar to Keyword 'this' is not available in the current context. - - - - - Looks up a localized string similar to Keyword 'this' is not valid in a static property, static method, or static field initializer. - - - - - Looks up a localized string similar to Keyword 'this' or 'base' expected. - - - - - Looks up a localized string similar to Anonymous methods, lambda expressions, and query expressions inside structs cannot access instance members of 'this'. Consider copying 'this' to a local variable outside the anonymous method, lambda expression or query expression and using the local instead.. - - - - - Looks up a localized string similar to Catch clauses cannot follow the general catch clause of a try statement. - - - - - Looks up a localized string similar to Too many characters in character literal. - - - - - Looks up a localized string similar to Only 65534 locals, including those generated by the compiler, are allowed. - - - - - Looks up a localized string similar to The {1} '{0}' cannot be used with type arguments. - - - - - Looks up a localized string similar to Type expected. - - - - - Looks up a localized string similar to Type parameter declaration must be an identifier not a type. - - - - - Looks up a localized string similar to Cannot convert null to type parameter '{0}' because it could be a non-nullable value type. Consider using 'default({0})' instead.. - - - - - Looks up a localized string similar to Type parameter '{0}' has the same name as the containing type, or method. - - - - - Looks up a localized string similar to The contextual keyword 'var' may only appear within a local variable declaration or in script code. - - - - - Looks up a localized string similar to The contextual keyword 'var' cannot be used in a range variable declaration. - - - - - Looks up a localized string similar to '{1}' does not define type parameter '{0}'. - - - - - Looks up a localized string similar to Field '{0}' must be fully assigned before control is returned to the caller. - - - - - Looks up a localized string similar to Backing field for automatically implemented property '{0}' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.. - - - - - Looks up a localized string similar to Cannot modify the result of an unboxing conversion. - - - - - Looks up a localized string similar to Unexpected use of an aliased name. - - - - - Looks up a localized string similar to Unexpected character '{0}'. - - - - - Looks up a localized string similar to Unexpected preprocessor directive. - - - - - Looks up a localized string similar to Unexpected use of a generic name. - - - - - Looks up a localized string similar to Semicolon after method or accessor block is not valid. - - - - - Looks up a localized string similar to Unexpected use of an unbound generic name. - - - - - Looks up a localized string similar to Invalid variance: The type parameter '{1}' must be {3} valid on '{0}'. '{1}' is {2}.. - - - - - Looks up a localized string similar to '{0}' cannot implement both '{1}' and '{2}' because they may unify for some type parameter substitutions. - - - - - Looks up a localized string similar to '{0}' does not implement inherited abstract member '{1}'. - - - - - Looks up a localized string similar to '{0}' does not implement interface member '{1}'. '{2}' is not public.. - - - - - Looks up a localized string similar to '{0}' does not implement interface member '{1}'. - - - - - Looks up a localized string similar to A previous catch clause already catches all exceptions of this or of a super type ('{0}'). - - - - - Looks up a localized string similar to Async methods cannot have unsafe parameters or return types. - - - - - Looks up a localized string similar to Iterators cannot have unsafe parameters or yield types. - - - - - Looks up a localized string similar to Pointers and fixed size buffers may only be used in an unsafe context. - - - - - Looks up a localized string similar to Unsafe type '{0}' cannot be used in object creation. - - - - - Looks up a localized string similar to Transparent identifier member access failed for field '{0}' of '{1}'. Does the data being queried implement the query pattern?. - - - - - Looks up a localized string similar to Unterminated string literal. - - - - - Looks up a localized string similar to Use of unassigned local variable '{0}'. - - - - - Looks up a localized string similar to Use of possibly unassigned field '{0}'. - - - - - Looks up a localized string similar to Use of unassigned out parameter '{0}'. - - - - - Looks up a localized string similar to The 'this' object cannot be used before all of its fields are assigned to. - - - - - Looks up a localized string similar to A using clause must precede all other elements defined in the namespace except extern alias declarations. - - - - - Looks up a localized string similar to The type '{2}' must be a non-nullable value type in order to use it as parameter '{1}' in the generic type or method '{0}'. - - - - - Looks up a localized string similar to Cannot convert null to '{0}' because it is a non-nullable value type. - - - - - Looks up a localized string similar to Syntax error; value expected. - - - - - Looks up a localized string similar to Extension method '{0}' defined on value type '{1}' cannot be used to create delegates. - - - - - Looks up a localized string similar to Members of property '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type. - - - - - Looks up a localized string similar to __arglist is not allowed in the parameter list of async methods. - - - - - Looks up a localized string similar to An expression tree lambda may not contain a method with variable arguments. - - - - - Looks up a localized string similar to __arglist is not allowed in the parameter list of iterators. - - - - - Looks up a localized string similar to An __arglist parameter must be the last parameter in a formal parameter list. - - - - - Looks up a localized string similar to Cannot declare a variable of static type '{0}'. - - - - - Looks up a localized string similar to Cannot use local variable '{0}' before it is declared. - - - - - Looks up a localized string similar to Cannot use local variable '{0}' before it is declared. The declaration of the local variable hides the field '{1}'.. - - - - - Looks up a localized string similar to Reference to variable '{0}' is not permitted in this context.. - - - - - Looks up a localized string similar to '{0}': virtual or abstract members cannot be private. - - - - - Looks up a localized string similar to The operation in question is undefined on void pointers. - - - - - Looks up a localized string similar to '{0}': a field cannot be both volatile and readonly. - - - - - Looks up a localized string similar to '{0}': a volatile field cannot be of the type '{1}'. - - - - - Looks up a localized string similar to A Windows Runtime event may not be passed as an out or ref parameter.. - - - - - Looks up a localized string similar to The yield statement cannot be used inside an anonymous method or lambda expression. - - - - - Looks up a localized string similar to Code page '{0}' is invalid or not installed. - - - - - Looks up a localized string similar to Unexpected error writing debug information -- '{0}'. - - - - - Looks up a localized string similar to File name '{0}' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long. - - - - - Looks up a localized string similar to Invalid target type for /target: must specify 'exe', 'winexe', 'library', or 'module'. - - - - - Looks up a localized string similar to Metadata file '{0}' could not be opened -- {1}. - - - - - Looks up a localized string similar to Cannot create short filename '{0}' when a long filename with the same short filename already exists. - - - - - Looks up a localized string similar to Generic parameter is definition when expected to be reference {0}. - - - - - Looks up a localized string similar to anonymous method. - - - - - Looks up a localized string similar to anonymous type. - - - - - Looks up a localized string similar to collection. - - - - - Looks up a localized string similar to into. - - - - - Looks up a localized string similar to contravariant. - - - - - Looks up a localized string similar to contravariantly. - - - - - Looks up a localized string similar to covariant. - - - - - Looks up a localized string similar to covariantly. - - - - - Looks up a localized string similar to directory does not exist. - - - - - Looks up a localized string similar to path is too long or invalid. - - - - - Looks up a localized string similar to anonymous methods. - - - - - Looks up a localized string similar to anonymous types. - - - - - Looks up a localized string similar to async function. - - - - - Looks up a localized string similar to automatically implemented properties. - - - - - Looks up a localized string similar to collection initializer. - - - - - Looks up a localized string similar to default operator. - - - - - Looks up a localized string similar to dynamic. - - - - - Looks up a localized string similar to exception filter. - - - - - Looks up a localized string similar to extension method. - - - - - Looks up a localized string similar to extern alias. - - - - - Looks up a localized string similar to fixed size buffers. - - - - - Looks up a localized string similar to generics. - - - - - Looks up a localized string similar to namespace alias qualifier. - - - - - Looks up a localized string similar to implicitly typed array. - - - - - Looks up a localized string similar to implicitly typed local variable. - - - - - Looks up a localized string similar to iterators. - - - - - Looks up a localized string similar to lambda expression. - - - - - Looks up a localized string similar to module as an attribute target specifier. - - - - - Looks up a localized string similar to named argument. - - - - - Looks up a localized string similar to nullable types. - - - - - Looks up a localized string similar to object initializer. - - - - - Looks up a localized string similar to optional parameter. - - - - - Looks up a localized string similar to partial method. - - - - - Looks up a localized string similar to partial types. - - - - - Looks up a localized string similar to #pragma. - - - - - Looks up a localized string similar to access modifiers on properties. - - - - - Looks up a localized string similar to query expression. - - - - - Looks up a localized string similar to static classes. - - - - - Looks up a localized string similar to switch on boolean type. - - - - - Looks up a localized string similar to type variance. - - - - - Looks up a localized string similar to fixed variable. - - - - - Looks up a localized string similar to foreach iteration variable. - - - - - Looks up a localized string similar to from. - - - - - Looks up a localized string similar to <global namespace>. - - - - - Looks up a localized string similar to group by. - - - - - Looks up a localized string similar to invariantly. - - - - - Looks up a localized string similar to join. - - - - - Looks up a localized string similar to lambda expression. - - - - - Looks up a localized string similar to let. - - - - - Looks up a localized string similar to LIB environment variable. - - - - - Looks up a localized string similar to /LIB option. - - - - - Looks up a localized string similar to method group. - - - - - Looks up a localized string similar to <namespace>. - - - - - Looks up a localized string similar to <null>. - - - - - Looks up a localized string similar to orderby. - - - - - Looks up a localized string similar to <path list>. - - - - - Looks up a localized string similar to /REFERENCEPATH option. - - - - - Looks up a localized string similar to (Location of symbol related to previous error). - - - - - Looks up a localized string similar to (Location of symbol related to previous warning). - - - - - Looks up a localized string similar to select. - - - - - Looks up a localized string similar to using alias. - - - - - Looks up a localized string similar to event. - - - - - Looks up a localized string similar to extern alias. - - - - - Looks up a localized string similar to field. - - - - - Looks up a localized string similar to label. - - - - - Looks up a localized string similar to method. - - - - - Looks up a localized string similar to namespace. - - - - - Looks up a localized string similar to property. - - - - - Looks up a localized string similar to type. - - - - - Looks up a localized string similar to type parameter. - - - - - Looks up a localized string similar to element. - - - - - Looks up a localized string similar to variable. - - - - - Looks up a localized string similar to <text>. - - - - - Looks up a localized string similar to using variable. - - - - - Looks up a localized string similar to : Warning as Error. - - - - - Looks up a localized string similar to where. - - - - - Looks up a localized string similar to Include tag is invalid . - - - - - Looks up a localized string similar to Failed to insert some or all of included XML . - - - - - Looks up a localized string similar to <!-- Badly formed XML comment ignored for member "{0}" -->. - - - - - Looks up a localized string similar to Badly formed XML file "{0}" cannot be included . - - - - - Looks up a localized string similar to Missing file attribute. - - - - - Looks up a localized string similar to Missing path attribute. - - - - - Looks up a localized string similar to No matching elements were found for the following include tag . - - - - - Looks up a localized string similar to Unused extern alias.. - - - - - Looks up a localized string similar to Unnecessary using directive.. - - - - - Looks up a localized string similar to Called GetDeclarationName for a declaration node that can possibly contain multiple variable declarators.. - - - - - Looks up a localized string similar to items: must be non-empty. - - - - - Looks up a localized string similar to Location must be provided in order to provide minimal type qualification.. - - - - - Looks up a localized string similar to Microsoft (R) Visual C# Compiler version {0}. - - - - - Looks up a localized string similar to Copyright (C) Microsoft Corporation. All rights reserved.. - - - - - Looks up a localized string similar to LookupOptions has an invalid combination of options. - - - - - Looks up a localized string similar to Must call SetMethodTestData(ConcurrentDictionary) before calling SetMethodTestData(MethodSymbol, ILBuilder). - - - - - Looks up a localized string similar to Name conflict for name {0}. - - - - - Looks up a localized string similar to Not a C# symbol.. - - - - - Looks up a localized string similar to Operation caused a stack overflow.. - - - - - Looks up a localized string similar to Position is not within syntax tree with full span {0}. - - - - - Looks up a localized string similar to Position must be within span of the syntax tree.. - - - - - Looks up a localized string similar to separator is expected. - - - - - Looks up a localized string similar to Syntax node to be speculated cannot belong to a syntax tree from the current compilation.. - - - - - Looks up a localized string similar to Submission can have at most one syntax tree.. - - - - - Looks up a localized string similar to Submission can only include script code.. - - - - - Looks up a localized string similar to Syntax node is not within syntax tree. - - - - - Looks up a localized string similar to Syntax tree already present. - - - - - Looks up a localized string similar to SyntaxTree '{0}' not found to remove. - - - - - Looks up a localized string similar to SyntaxTreeSemanticModel must be provided in order to provide minimal type qualification.. - - - - - Looks up a localized string similar to The stream cannot be read from.. - - - - - Looks up a localized string similar to The stream cannot be written to.. - - - - - Looks up a localized string similar to This compilation doesn't represent an interactive submission.. - - - - - Looks up a localized string similar to This method can only be used to create tokens - {0} is not a token kind.. - - - - - Looks up a localized string similar to tree must have a root node with SyntaxKind.CompilationUnit. - - - - - Looks up a localized string similar to tree not part of compilation. - - - - - Looks up a localized string similar to trees[{0}]. - - - - - Looks up a localized string similar to trees[{0}] must have root node with SyntaxKind.CompilationUnit.. - - - - - Looks up a localized string similar to Type argument cannot be null. - - - - - Looks up a localized string similar to Use Roslyn.Compilers.CSharp.Syntax.Literal to create numeric literal tokens.. - - - - - Looks up a localized string similar to Use Roslyn.Compilers.CSharp.Syntax.Literal to create character literal tokens.. - - - - - Looks up a localized string similar to Use Roslyn.Compilers.CSharp.Syntax.Identifier or Roslyn.Compilers.CSharp.Syntax.VerbatimIdentifier to create identifier tokens.. - - - - - Looks up a localized string similar to The result of the expression is always 'null' of type '{0}'. - - - - - Looks up a localized string similar to Ambiguous reference in cref attribute: '{0}'. Assuming '{1}', but could have also matched other overloads including '{2}'.. - - - - - Looks up a localized string similar to An instance of analyzer {0} cannot be created from {1} : {2}.. - - - - - Looks up a localized string similar to Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source. - - - - - Looks up a localized string similar to Possibly incorrect assignment to local '{0}' which is the argument to a using or lock statement. The Dispose call or unlocking will happen on the original value of the local.. - - - - - Looks up a localized string similar to Assignment made to same variable; did you mean to assign something else?. - - - - - Looks up a localized string similar to This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.. - - - - - Looks up a localized string similar to '{0}' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are '{1}'. All attributes in this block will be ignored.. - - - - - Looks up a localized string similar to Possible unintended reference comparison; to get a value comparison, cast the left hand side to type '{0}'. - - - - - Looks up a localized string similar to Possible unintended reference comparison; to get a value comparison, cast the right hand side to type '{0}'. - - - - - Looks up a localized string similar to Cannot restore warning 'CS{0}' because it was disabled globally. - - - - - Looks up a localized string similar to The language name '{0}' is invalid.. - - - - - Looks up a localized string similar to '{0}' is not a valid warning number. - - - - - Looks up a localized string similar to XML comment has cref attribute '{0}' that could not be resolved. - - - - - Looks up a localized string similar to Invalid type for parameter {0} in XML comment cref attribute: '{1}'. - - - - - Looks up a localized string similar to Invalid return type in XML comment cref attribute. - - - - - Looks up a localized string similar to XML comment has syntactically incorrect cref attribute '{0}'. - - - - - Looks up a localized string similar to XML comment has cref attribute '{0}' that refers to a type parameter. - - - - - Looks up a localized string similar to Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first. - - - - - Looks up a localized string similar to Passing '{0}' as ref or out or taking its address may cause a runtime exception because it is a field of a marshal-by-reference class. - - - - - Looks up a localized string similar to Call System.IDisposable.Dispose() on allocated instance of {0} before all references to it are out of scope.. - - - - - Looks up a localized string similar to Allocated instance of {0} is not disposed along all exception paths. Call System.IDisposable.Dispose() before all references to it are out of scope.. - - - - - Looks up a localized string similar to Object '{0}' can be disposed more than once.. - - - - - Looks up a localized string similar to The CalleFilePathAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments. - - - - - Looks up a localized string similar to The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerFilePathAttribute.. - - - - - Looks up a localized string similar to The CallerLineNumberAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments. - - - - - Looks up a localized string similar to The CallerFilePathAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute.. - - - - - Looks up a localized string similar to The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute.. - - - - - Looks up a localized string similar to The CallerMemberNameAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments. - - - - - Looks up a localized string similar to Accessing a member on '{0}' may cause a runtime exception because it is a field of a marshal-by-reference class. - - - - - Looks up a localized string similar to Ignoring /win32manifest for module because it only applies to assemblies. - - - - - Looks up a localized string similar to Arrays as attribute arguments is not CLS-compliant. - - - - - Looks up a localized string similar to '{0}' cannot be marked as CLS-compliant because the assembly does not have a CLSCompliant attribute. - - - - - Looks up a localized string similar to '{0}' does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute. - - - - - Looks up a localized string similar to Argument type '{0}' is not CLS-compliant. - - - - - Looks up a localized string similar to '{0}' has no accessible constructors which use only CLS-compliant types. - - - - - Looks up a localized string similar to '{0}': base type '{1}' is not CLS-compliant. - - - - - Looks up a localized string similar to Type of '{0}' is not CLS-compliant. - - - - - Looks up a localized string similar to Identifier '{0}' is not CLS-compliant. - - - - - Looks up a localized string similar to Identifier '{0}' differing only in case is not CLS-compliant. - - - - - Looks up a localized string similar to '{0}' is not CLS-compliant because base interface '{1}' is not CLS-compliant. - - - - - Looks up a localized string similar to '{0}': CLS-compliant interfaces must have only CLS-compliant members. - - - - - Looks up a localized string similar to Return type of '{0}' is not CLS-compliant. - - - - - Looks up a localized string similar to Constraint type '{0}' is not CLS-compliant. - - - - - Looks up a localized string similar to '{0}' cannot be marked as CLS-compliant because it is a member of non-CLS-compliant type '{1}'. - - - - - Looks up a localized string similar to CLSCompliant attribute has no meaning when applied to parameters. Try putting it on the method instead.. - - - - - Looks up a localized string similar to CLS compliance checking will not be performed on '{0}' because it is not visible from outside this assembly. - - - - - Looks up a localized string similar to CLSCompliant attribute has no meaning when applied to return types. Try putting it on the method instead.. - - - - - Looks up a localized string similar to Added modules must be marked with the CLSCompliant attribute to match the assembly. - - - - - Looks up a localized string similar to '{0}': only CLS-compliant members can be abstract. - - - - - Looks up a localized string similar to You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking. - - - - - Looks up a localized string similar to You cannot specify the CLSCompliant attribute on a module that differs from the CLSCompliant attribute on the assembly. - - - - - Looks up a localized string similar to Methods with variable arguments are not CLS-compliant. - - - - - Looks up a localized string similar to Overloaded method '{0}' differing only in ref or out, or in array rank, is not CLS-compliant. - - - - - Looks up a localized string similar to Overloaded method '{0}' differing only by unnamed array types is not CLS-compliant. - - - - - Looks up a localized string similar to CLS-compliant field '{0}' cannot be volatile. - - - - - Looks up a localized string similar to Option '{0}' overrides attribute '{1}' given in a source file or added module. - - - - - Looks up a localized string similar to Comparing with null of type '{0}' always produces 'false'. - - - - - Looks up a localized string similar to '{0}' interface marked with 'CoClassAttribute' not marked with 'ComImportAttribute'. - - - - - Looks up a localized string similar to Comparison made to same variable; did you mean to compare something else?. - - - - - Looks up a localized string similar to Different checksum values given for '{0}'. - - - - - Looks up a localized string similar to Referenced assembly '{0}' targets a different processor.. - - - - - Looks up a localized string similar to The fully qualified name for '{0}' is too long for debug information. Compile without '/debug' option.. - - - - - Looks up a localized string similar to The default value specified for parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments. - - - - - Looks up a localized string similar to Invalid value for '/define'; '{0}' is not a valid identifier. - - - - - Looks up a localized string similar to Delay signing was specified and requires a public key, but no public key was specified. - - - - - Looks up a localized string similar to The best overloaded Add method '{0}' for the collection initializer element is obsolete.. - - - - - Looks up a localized string similar to The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1}. - - - - - Looks up a localized string similar to '{0}' is obsolete. - - - - - Looks up a localized string similar to '{0}' is obsolete: '{1}'. - - - - - Looks up a localized string similar to Expression will always cause a System.NullReferenceException because the default value of '{0}' is null. - - - - - Looks up a localized string similar to XML comment has a duplicate param tag for '{0}'. - - - - - Looks up a localized string similar to XML comment has a duplicate typeparam tag for '{0}'. - - - - - Looks up a localized string similar to The using directive for '{0}' appeared previously in this namespace. - - - - - Looks up a localized string similar to The dynamically dispatched call to method '{0}' may fail at runtime because one or more applicable overloads are conditional methods.. - - - - - Looks up a localized string similar to Empty switch block. - - - - - Looks up a localized string similar to Single-line comment or end-of-line expected. - - - - - Looks up a localized string similar to '{0}' defines operator == or operator != but does not override Object.Equals(object o). - - - - - Looks up a localized string similar to '{0}' defines operator == or operator != but does not override Object.GetHashCode(). - - - - - Looks up a localized string similar to '{0}' overrides Object.Equals(object o) but does not override Object.GetHashCode(). - - - - - Looks up a localized string similar to {0}. See also error CS{1}.. - - - - - Looks up a localized string similar to Explicit interface implementation '{0}' matches more than one interface member. Which interface member is actually chosen is implementation-dependent. Consider using a non-explicit implementation instead.. - - - - - Looks up a localized string similar to Constructor '{0}' is marked external. - - - - - Looks up a localized string similar to Method, operator, or accessor '{0}' is marked external and has no attributes on it. Consider adding a DllImport attribute to specify the external implementation.. - - - - - Looks up a localized string similar to Unable to include XML fragment '{1}' of file '{0}' -- {2}. - - - - - Looks up a localized string similar to Source file '{0}' specified multiple times. - - - - - Looks up a localized string similar to Invalid filename specified for preprocessor directive. Filename is too long or not a valid filename.. - - - - - Looks up a localized string similar to Filter expression is a constant, consider removing the filter. - - - - - Looks up a localized string similar to Introducing a 'Finalize' method can interfere with destructor invocation. Did you intend to declare a destructor?. - - - - - Looks up a localized string similar to Defining an alias named 'global' is ill-advised since 'global::' always references the global namespace and not an alias. - - - - - Looks up a localized string similar to The 'goto case' value is not implicitly convertible to type '{0}'. - - - - - Looks up a localized string similar to Invalid #pragma checksum syntax; should be #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" "XXXX...". - - - - - Looks up a localized string similar to Expected disable or restore. - - - - - Looks up a localized string similar to Unrecognized #pragma directive. - - - - - Looks up a localized string similar to Assignment in conditional expression is always constant; did you mean to use == instead of = ?. - - - - - Looks up a localized string similar to Assembly reference '{0}' is invalid and cannot be resolved. - - - - - Looks up a localized string similar to '{0}' is not a recognized attribute location. All attributes in this block will be ignored.. - - - - - Looks up a localized string similar to Invalid XML include element -- {0}. - - - - - Looks up a localized string similar to '{0}' has the wrong signature to be an entry point. - - - - - Looks up a localized string similar to Invalid number. - - - - - Looks up a localized string similar to Invalid search path '{0}' specified in '{1}' -- '{2}'. - - - - - Looks up a localized string similar to The specified version string does not conform to the recommended format - major.minor.build.revision. - - - - - Looks up a localized string similar to The given expression is never of the provided ('{0}') type. - - - - - Looks up a localized string similar to The given expression is always of the provided ('{0}') type. - - - - - Looks up a localized string similar to Using '{0}' to test compatibility with '{1}' is essentially identical to testing compatibility with '{2}' and will succeed for all non-null values. - - - - - Looks up a localized string similar to The 'l' suffix is easily confused with the digit '1' -- use 'L' for clarity. - - - - - Looks up a localized string similar to '{0}': an entry point cannot be generic or in a generic type. - - - - - Looks up a localized string similar to The entry point of the program is global script code; ignoring '{0}' entry point.. - - - - - Looks up a localized string similar to Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do). - - - - - Looks up a localized string similar to Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do). - - - - - Looks up a localized string similar to Missing XML comment for publicly visible type or member '{0}'. - - - - - Looks up a localized string similar to The predefined type '{0}' is defined in multiple assemblies in the global alias; using definition from '{1}'. - - - - - Looks up a localized string similar to Member '{0}' implements interface member '{1}' in type '{2}'. There are multiple matches for the interface member at run-time. It is implementation dependent which method will be called.. - - - - - Looks up a localized string similar to Member '{1}' overrides '{0}'. There are multiple override candidates at run-time. It is implementation dependent which method will be called.. - - - - - Looks up a localized string similar to Indexing an array with a negative index (array indices always start at zero). - - - - - Looks up a localized string similar to The member '{0}' does not hide an inherited member. The new keyword is not required.. - - - - - Looks up a localized string similar to '{0}' hides inherited member '{1}'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword.. - - - - - Looks up a localized string similar to '{0}' hides inherited member '{1}'. Use the new keyword if hiding was intended.. - - - - - Looks up a localized string similar to The assembly {0} does not contain any analyzers.. - - - - - Looks up a localized string similar to Ignoring /noconfig option because it was specified in a response file. - - - - - Looks up a localized string similar to Feature '{0}' is not part of the standardized ISO C# language specification, and may not be accepted by other compilers. - - - - - Looks up a localized string similar to Member '{0}' overrides obsolete member '{1}'. Add the Obsolete attribute to '{0}'.. - - - - - Looks up a localized string similar to No value for RuntimeMetadataVersion found. No assembly containing System.Object was found nor was a value for RuntimeMetadataVersion specified through options.. - - - - - Looks up a localized string similar to No source files specified.. - - - - - Looks up a localized string similar to The result of the expression is always '{0}' since a value of type '{1}' is never equal to 'null' of type '{2}'. - - - - - Looks up a localized string similar to Obsolete member '{0}' overrides non-obsolete member '{1}'. - - - - - Looks up a localized string similar to '{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.. - - - - - Looks up a localized string similar to '{0}' does not implement the '{1}' pattern. '{2}' is ambiguous with '{3}'.. - - - - - Looks up a localized string similar to '{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.. - - - - - Looks up a localized string similar to Local name '{0}' is too long for PDB. Consider shortening or compiling without /debug.. - - - - - Looks up a localized string similar to Possible mistaken empty statement. - - - - - Looks up a localized string similar to '{0}': new protected member declared in sealed class. - - - - - Looks up a localized string similar to Referenced assembly '{0}' has different culture setting of '{1}'.. - - - - - Looks up a localized string similar to A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly created by assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly.. - - - - - Looks up a localized string similar to The type '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the type defined in '{0}'.. - - - - - Looks up a localized string similar to The type '{1}' in '{0}' conflicts with the imported namespace '{3}' in '{2}'. Using the type defined in '{0}'.. - - - - - Looks up a localized string similar to The namespace '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the namespace defined in '{0}'.. - - - - - Looks up a localized string similar to There is no defined ordering between fields in multiple declarations of partial struct '{0}'. To specify an ordering, all instance fields must be in the same declaration.. - - - - - Looks up a localized string similar to String or numeric literal expected. - - - - - Looks up a localized string similar to Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect. - - - - - Looks up a localized string similar to Type parameter '{0}' has the same name as the type parameter from outer type '{1}'. - - - - - Looks up a localized string similar to Unable to load Analyzer assembly {0} : {1}. - - - - - Looks up a localized string similar to Field '{0}' is never assigned to, and will always have its default value {1}. - - - - - Looks up a localized string similar to Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy. - - - - - Looks up a localized string similar to Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy. - - - - - Looks up a localized string similar to The command line switch '{0}' is not yet implemented in Roslyn and was ignored.. - - - - - Looks up a localized string similar to XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name. - - - - - Looks up a localized string similar to XML comment has a param tag for '{0}', but there is no parameter by that name. - - - - - Looks up a localized string similar to XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name. - - - - - Looks up a localized string similar to XML comment has a typeparam tag for '{0}', but there is no type parameter by that name. - - - - - Looks up a localized string similar to Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.. - - - - - Looks up a localized string similar to XML comment is not placed on a valid language element. - - - - - Looks up a localized string similar to Within cref attributes, nested types of generic types should be qualified.. - - - - - Looks up a localized string similar to Unreachable code detected. - - - - - Looks up a localized string similar to A previous catch clause already catches all exceptions. All non-exceptions thrown will be wrapped in a System.Runtime.CompilerServices.RuntimeWrappedException.. - - - - - Looks up a localized string similar to The event '{0}' is never used. - - - - - Looks up a localized string similar to The field '{0}' is never used. - - - - - Looks up a localized string similar to The field '{0}' is assigned but its value is never used. - - - - - Looks up a localized string similar to This label has not been referenced. - - - - - Looks up a localized string similar to The variable '{0}' is declared but never used. - - - - - Looks up a localized string similar to The variable '{0}' is assigned but its value is never used. - - - - - Looks up a localized string similar to Comparison to integral constant is useless; the constant is outside the range of type '{0}'. - - - - - Looks up a localized string similar to '{0}': a reference to a volatile field will not be treated as volatile. - - - - - Looks up a localized string similar to #warning: '{0}'. - - - - - Looks up a localized string similar to XML comment has badly formed XML -- '{0}'. - - - - - Looks up a localized string similar to Badly formed XML in included comments file -- '{0}'. - - - - - Looks up a localized string similar to Wrong number of type arguments. - - - - - Looks up a localized string similar to Expected a {0} SemanticModel.. - - - - - Looks up a localized string similar to The literal string ']]>' is not allowed in element content.. - - - - - Looks up a localized string similar to Duplicate '{0}' attribute. - - - - - Looks up a localized string similar to End tag '{0}' does not match the start tag '{1}'.. - - - - - Looks up a localized string similar to Expected an end tag for element '{0}'.. - - - - - Looks up a localized string similar to End tag was not expected at this location.. - - - - - Looks up a localized string similar to Expected '>' or '/>' to close tag '{0}'.. - - - - - Looks up a localized string similar to Unexpected character at this location.. - - - - - Looks up a localized string similar to An identifier was expected.. - - - - - Looks up a localized string similar to Incorrect syntax was used in a comment.. - - - - - Looks up a localized string similar to An invalid character was found inside an entity reference.. - - - - - Looks up a localized string similar to The character(s) '{0}' cannot be used at this location.. - - - - - Looks up a localized string similar to Invalid unicode character.. - - - - - Looks up a localized string similar to Whitespace is not allowed at this location.. - - - - - Looks up a localized string similar to The character '<' cannot be used in an attribute value.. - - - - - Looks up a localized string similar to Missing equals sign between attribute and attribute value.. - - - - - Looks up a localized string similar to Reference to undefined entity '{0}'.. - - - - - Looks up a localized string similar to Missing closing quotation mark for string literal.. - - - - - Looks up a localized string similar to Non-ASCII quotations marks may not be used around string literals.. - - - - - Looks up a localized string similar to A string literal was expected, but no opening quotation mark was found.. - - - - - Looks up a localized string similar to Required white space was missing.. - - - - - A Declaration summarizes the declaration structure of a source file. Each entity declaration - in the program that is a container (specifically namespaces, classes, interfaces, structs, - and delegate declarations) is represented by a node in this tree. At the top level, the - compilation unit is treated as a declaration of the unnamed namespace. - - Special treatment is required for namespace declarations, because a single namespace - declaration can declare more than one namespace. For example, in the declaration - - namespace A.B.C {} - - we see that namespaces A and B and C are declared. This declaration is represented as three - declarations. All three of these ContainerDeclaration objects contain a reference to the - syntax tree for the declaration. - - A "single" declaration represents a specific namespace or type declaration at a point in - source code. A "root" declaration is a special single declaration which summarizes the - contents of an entire file's types and namespaces. Each source file is represented as a tree - of single declarations. - - A "merged" declaration merges together one or more declarations for the same symbol. For - example, the root namespace has multiple single declarations (one in each source file) but - there is a single merged declaration for them all. Similarly partial classes may have - multiple declarations, grouped together under the umbrella of a merged declaration. In the - common trivial case, a merged declaration for a single declaration contains only that single - declaration. The whole program, consisting of the set of all declarations in all of the - source files, is represented by a tree of merged declarations. - - - - - A declaration table is a device which keeps track of type and namespace declarations from - parse trees. It is optimized for the case where there is one set of declarations that stays - constant, and a specific root namespace declaration corresponding to the currently edited - file which is being added and removed repeatedly. It maintains a cache of information for - "merging" the root declarations into one big summary declaration; this cache is efficiently - re-used provided that the pattern of adds and removes is as we expect. - - - - - Creates a root declaration that contains a Script class declaration (possibly in a namespace) and namespace declarations. - Top-level declarations in script code are nested in Script class. - - - - - A visitor that generates the part of the documentation comment after the initial type - and colon. - - - - - Matches symbols from an assembly in one compilation to - the corresponding assembly in another. Assumes that only - one assembly has changed between the two compilations. - - - - - Match local declarations to names to generate a map from - declaration to local slot. The names are indexed by slot and the - assumption is that declarations are in the same order as slots. - - - - - A base class for visiting all variable declarators. - - - - - Return a version of the baseline with all definitions mapped to this compilation. - Definitions from the initial generation, from metadata, are not mapped since - the initial generation is always included as metadata. That is, the symbols from - types, methods, ... in the TypesAdded, MethodsAdded, ... collections are replaced - by the corresponding symbols from the current compilation. - - - - - Represents a reference to a generic method instantiation, closed over type parameters, - e.g. MyNamespace.Class.Method{T}() - - - - - Represents a reference to a generic type instantiation that is not nested. - e.g. MyNamespace.A{int} - - - - - Represents a reference to a generic type instantiation that is nested in a non-generic type. - e.g. A.B{int} - - - - - Represents a reference to a generic type instantiation. - Subclasses represent nested and namespace types. - - - - - The behavior of the C# command-line compiler is as follows: - 1) If the /out switch is specified, then the explicit assembly name is used. - 2) Otherwise, - a) if the assembly is executable, then the assembly name is derived from - the name of the file containing the entrypoint; - b) otherwise, the assembly name is derived from the name of the first input - file. - - Since we don't know which method is the entrypoint until well after the - SourceAssemblySymbol is created, in case 2a, its name will not reflect the - name of the file containing the entrypoint. We leave it to our caller to - provide that name explicitly. - - - In cases 1 and 2b, we expect (metadataName == sourceAssembly.MetadataName). - - - - - The compiler-generated implementation type for each fixed-size buffer. - - - - - True if this module is an ENC update. - - - - - Set the underlying implementation type for a given fixed-size buffer field. - - - - - Represents a reference to a field of a generic type instantiation. - e.g. - A{int}.Field - A{int}.B{string}.C.Field - - - - - Represents a generic method of a generic type instantiation, closed over type parameters. - e.g. - A{T}.M{S}() - A.B{T}.C.M{S}() - - - - - Represents a reference to an instantiation of a generic type nested in an instantiation of another generic type. - e.g. - A{int}.B{string} - A.B{int}.C.D{string} - - - - - Represents a method of a generic type instantiation. - e.g. - A{int}.M() - A.B{int}.C.M() - - - - - Represents a reference to a type nested in an instantiation of a generic type. - e.g. - A{int}.B - A.B{int}.C.D - - - - - Used only for testing. - - - - - Returns true if the type can be embedded. If the type is defined in a linked (/l-ed) - assembly, but doesn't meet embeddable type requirements, this function returns false - and reports appropriate diagnostics. - - - - - A diagnostic, along with the location where it occurred. - - - - - Add a diagnostic to the bag. - - - - - - - - - - Adds diagnostics from useSiteDiagnostics into diagnostics and returns True if there were any errors. - - - - Don't call this during a parse--it loads resources - - - Don't call this during a parse--it loads resources - - - Don't call this during a parse--it loads resources - - - - When converting an anonymous function to a delegate type, there are some diagnostics - that will occur regardless of the delegate type - particularly those that do not - depend on the substituted types (e.g. name uniqueness). Even though we need to - produce a diagnostic in such cases, we do not need to abandon overload resolution - - we can choose the overload that is best without regard to such diagnostics. - - True if seeing the ErrorCode should prevent a delegate conversion - from completing successfully. - - - - WARNING: will resolve lazy diagnostics - do not call this before the member lists are completed - or you could trigger infinite recursion. - - - - - An abstract flow pass that takes some shortcuts in analyzing finally blocks, in order to enable - the analysis to take place without tracking exceptions or repeating the analysis of a finally block - for each exit from a try statement. The shortcut results in a slightly less precise - (but still conservative) analysis, but that less precise analysis is all that is required for - the language specification. The most significant shortcut is that we do not track the state - where exceptions can arise. That does not affect the soundness for most analyses, but for those - analyses whose soundness would be affected (e.g. "data flows out"), we track "unassignments" to keep - the analysis sound. - - - - - To scan the whole body, we start outside (before) the region. - - - - - A region analysis walker that computes the set of variables that are always assigned a value - in the region. A variable is "always assigned" in a region if an analysis of the region that - starts with the variable unassigned ends with the variable assigned. - - - - - This class implements the region control flow analysis operations. Region control flow - analysis provides information about statements which enter and leave a region. The analysis - is done lazily. When created, it performs no analysis, but simply caches the arguments. - Then, the first time one of the analysis results is used it computes that one result and - caches it. Each result is computed using a custom algorithm. - - - - - A collection of statements outside the region that jump into the region. - - - - - A collection of statements inside the region that jump to locations outside the region. - - - - - Returns true if and only if the endpoint of the last statement in the region is reachable or the region contains no - statements. - - - - - A collection of return (or yield break) statements found within the region that return from the enclosing method or lambda. - - - - - Returns true iff analysis was successful. Analysis can fail if the region does not properly span a single expression, - a single statement, or a contiguous series of statements within the enclosing block. - - - - - Produce a duplicate of this flow analysis state. - - - - - - Perform control flow analysis, reporting all necessary diagnostics. Returns true if the end of - the body might be reachable.. - - - - - Analyze the body, reporting all necessary diagnostics. Returns true if the end of the - body might be reachable. - - - - - - This class implements the region data flow analysis operations. Region data flow analysis - provides information how data flows into and out of a region. The analysis is done lazily. - When created, it performs no analysis, but simply caches the arguments. Then, the first time - one of the analysis results is used it computes that one result and caches it. Each result - is computed using a custom algorithm. - - - - - A collection of the local variables that are declared within the region. Note that the region must be - bounded by a method's body or a field's initializer, so method parameter symbols are never included - in the result, but lambda parameters might appear in the result. - - - - - A collection of the local variables for which a value assigned outside the region may be used inside the region. - - - - - A collection of the local variables for which a value assigned inside the region may be used outside the region. - Note that every reachable assignment to a ref or out variable will be included in the results. - - - - - A collection of the local variables for which a value is always assigned inside the region. - - - - - A collection of the local variables that are read inside the region. - - - - - A collection of local variables that are written inside the region. - - - - - A collection of the local variables that are read outside the region. - - - - - A collection of local variables that are written outside the region. - - - - - A collection of the non-constant local variables and parameters that have been referenced in anonymous functions - and therefore must be moved to a field of a frame class. - - - - - A collection of the non-constant local variables and parameters that have had their address (or the address of one - of their fields) taken using the '&' operator. - - - If there are any of these in the region, then a method should not be extracted. - - - - - Returns true iff analysis was successful. Analysis can fail if the region does not properly span a single expression, - a single statement, or a contiguous series of statements within the enclosing block. - - - - - Some variables that should be considered initially assigned. Used for region analysis. - - - - - Variables that were used anywhere, in the sense required to suppress warnings about - unused variables. - - - - - Variables that were initialized or written anywhere. - - - - - Map from variables that had their addresses taken, to the location of the first corresponding - address-of expression. - - - Doesn't include fixed statement address-of operands. - - - - - Variables that were captured by anonymous functions. - - - - - The current source assembly. - - - - - A mapping from local variables to the index of their slot in a flow analysis local state. - - - - - A set of address-of expressions for which the operand is not definitely assigned. - - - - - A mapping from the local variable slot to the symbol for the local variable itself. This - is used in the implementation of region analysis (support for extract method) to compute - the set of variables "always assigned" in a region of code. - - - - - Variable slots are allocated to local variables sequentially and never reused. This is - the index of the next slot number to use. - - - - - Tracks variables for which we have already reported a definite assignment error. This - allows us to report at most one such error per variable. - - - - - Reflects the enclosing method or lambda at the current location (in the bound tree). - - - - - A cache for remember which structs are empty. - - - - - true if we should check to ensure that out parameters are assigned on every exit point. - - - - - The topmost method of this analysis. - - - - - Perform data flow analysis, reporting all necessary diagnostics. - - - - - Analyze the body, reporting all necessary diagnostics. - - - - - This reflects the Dev10 compiler's rules for when a variable initialization is considered a "use" - for the purpose of suppressing the warning about unused variables. - - - - - Locals are given slots when their declarations are encountered. We only need give slots - to local variables, out parameters, and the "this" variable of a struct constructs. - Other variables are not given slots, and are therefore not tracked by the analysis. This - returns -1 for a variable that is not tracked, for fields of structs that have the same - assigned status as the container, and for structs that (recursively) contain no data members. - We do not need to track references to - variables that occur before the variable is declared, as those are reported in an - earlier phase as "use before declaration". That allows us to avoid giving slots to local - variables before processing their declarations. - - - - - Force a variable to have a slot. Returns -1 if the variable has an empty struct type. - - - - - Return the slot for a variable, or -1 if it is not tracked (because, for example, it is an empty struct). - - - - - - - Check that the given variable is definitely assigned. If not, produce an error. - - - - - - - Report a given variable as not definitely assigned. Once a variable has been so - reported, we suppress further reports of that variable. - - - - - - - Mark a variable as assigned (or unassigned). - - Node being assigned to. - The value being assigned. - True if target location is considered written to. - Target kind (by-ref or not). - True if target location is considered read from. - - - - Does the struct variable at the given slot have all of its instance fields assigned? - - - - - Called for each primary constructor parameter when we are not in primary constructor. - - - - - Variables declared in a using statement are always considered used, so this is just an assert. - - - - - Produce a duplicate of this flow analysis state. - - - - - - A region analysis walker that computes the set of variables whose values flow into (are used - in) the region. A variable assigned outside is used inside if an analysis that leaves the - variable unassigned on entry to the region would cause the generation of "unassigned" errors - within the region. - - - - - A region analysis walker that computes the set of variables for - which their assigned values flow out of the region. - A variable assigned inside is used outside if an analysis that - treats assignments in the region as unassigning the variable would - cause "unassigned" errors outside the region. - - - - - A small cache for remembering empty struct types for flow analysis. - - - - - Determine if the given type is an empty struct type. - - - - - Determine if the given type is an empty struct type,. "typesWithMembersOfThisType" contains - a list of types that have members (directly or indirectly) of this type. - to remove circularity. - - - - - Get all instance fields of a struct. They are not necessarily returned in order. - - - - - Get all instance fields of a struct. They are not necessarily returned in order. - - - - - - Specialized EmptyStructTypeCache that reports all structs as not empty - - - - - A region analysis walker that records jumps into the region. Works by overriding NoteBranch, which is - invoked by a superclass when the two endpoints of a jump have been identified. - - - - - A region analysis walker that records jumps out of the region. - - - - - The flow analysis pass. This pass reports required diagnostics for unreachable - statements and uninitialized variables (through the call to FlowAnalysisWalker.Analyze), - and inserts a final return statement if the end of a void-returning method is reachable. - - the method to be analyzed - the method's body - the receiver of the reported diagnostics - the rewritten block for the method (with a return statement possibly inserted) - - - - Produce a duplicate of this flow analysis state. - - - - - - Is the code reachable? - - - - - The compilation in which the analysis is taking place. This is needed to determine which - conditional methods will be compiled and which will be omitted. - - - - - The method whose body is being analyzed, or the field whose initializer is being analyzed. - It is used for - references to method parameters. Thus, 'member' should not be used directly, but - 'MethodParameters', 'MethodThisParameter' and 'AnalyzeOutParameters(...)' should be used - instead. - - - - - The bound node of the method or initializer being analyzed. - - - - - The flow analysis state at each label, computed by merging the state from branches to - that label with the state when we fall into the label. Entries are created when the - label is encountered. One case deserves special attention: when the destination of the - branch is a label earlier in the code, it is possible (though rarely occurs in practice) - that we are changing the state at a label that we've already analyzed. In that case we - run another pass of the analysis to allow those changes to propagate. This repeats until - no further changes to the state of these labels occurs. This can result in quadratic - performance in unlikely but possible code such as this: "int x; if (cond) goto l1; x = - 3; l5: print x; l4: goto l5; l3: goto l4; l2: goto l3; l1: goto l2;" - - - - - Set to true after an analysis scan if the analysis was incomplete due to a backward - "goto" branch changing some analysis result. In this case the caller scans again (until - this is false). Since the analysis proceeds by monotonically changing the state computed - at each label, this must terminate. - - - - - See property PendingBranches - - - - - All of the labels seen so far in this forward scan of the body - - - - - If we are tracking exceptions, then by convention the first entry in the pending braches - buffer contains a summary of the states that can arise from exceptions. - - - - - Pending escapes generated in the current scope (or more deeply nested scopes). When jump - statements (goto, break, continue, return) are processed, they are placed in the - pendingBranches buffer to be processed later by the code handling the destination - statement. As a special case, the processing of try-finally statements might modify the - contents of the pendingBranches buffer to take into account the behavior of - "intervening" finally clauses. - - - - - The definite assignment and/or reachability state at the point currently being analyzed. - - - - - Where all diagnostics are deposited. - - - - - A cache of the state at the backward branch point of each loop. This is not needed - during normal flow analysis, but is needed for DataFlowsOut region analysis. - - - - - Subclasses may override EnterRegion to perform any actions at the entry to the region. - - - - - Subclasses may override LeaveRegion to perform any action at the end of the region. - - - - - A pending branch. There are created for a return, break, continue, goto statement, - yield return, yield break, await expression, and if PreciseAbstractFlowPass.trackExceptions - is true for other - constructs that can cause an exception to be raised such as a throw statement or method - invocation. - The idea is that we don't know if the branch will eventually reach its destination - because of an intervening finally block that cannot complete normally. So we store them - up and handle them as we complete processing each construct. At the end of a block, if - there are any pending branches to a label in that block we process the branch. Otherwise - we relay it up to the enclosing construct as a pending branch of the enclosing - construct. - - - - - Perform a single pass of flow analysis. Note that after this pass, - this.backwardBranchChanged indicates if a further pass is required. - - - - - If a method is currently being analyzed returns its parameters, returns an empty array - otherwise. - - - - - If we are not in primary constructor and primary constructor parameters are in scope, - return them. Returns an empty array otherwise. - - - - - If a method is currently being analyzed returns its 'this' parameter, returns null - otherwise. - - - - - Specifies whether or not method's out parameters should be analyzed. If there's more - than one location in the method being analyzed, then the method is partial and we prefer - to report an out parameter in partial method error. - - location to be used - true if the out parameters of the method should be analyzed - - - - Return the flow analysis state associated with a label. - - - - - - - Return to the caller the set of pending return statements. - - - - - - Set the current state to one that indicates that it is unreachable. - - - - - Visit a boolean condition expression. - - - - - - Visit a general expression, where we will only need to determine if variables are - assigned (or not). That is, we will not be needing AssignedWhenTrue and - AssignedWhenFalse. - - - - - - Visit a statement. - - - - - Called at the point in a loop where the backwards branch would go to. - - - - - Called at the point in a loop where the backward branch is placed. - - - - - Used to resolve break statements in each statement form that has a break statement - (loops, switch). - - - - - Used to resolve continue statements in each statement form that supports it. - - - - - Subclasses override this if they want to take special actions on processing a goto - statement, when both the jump and the label have been located. - - - - - To handle a label, we resolve all branches to that label. Returns true if the state of - the label changes as a result. - - Target label - Statement containing the target label - - - - Since branches cannot branch into constructs, only out, we save the pending branches - when visiting more nested constructs. When tracking exceptions, we store the current - state as the exception state for the following code. - - - - - We use this to restore the old set of pending branches after visiting a construct that contains nested statements. - - The old pending branches, which are to be merged with the current ones - - - - Since each language construct must be handled according to the rules of the language specification, - the default visitor reports that the construct for the node is not implemented in the compiler. - - - - - Certain (struct) types are known by the compiler to be immutable. In these cases calling a method on - the type is known (by flow analysis) not to write the receiver. - - - - - - - If the operand is definitely assigned, we may want to perform a read (in addition to - a write) so that the operand can show up as ReadInside/DataFlowsIn. - - - - - A region analysis walker that records reads and writes of all variables, both inside and outside the region. - - - - - When we read a field from a struct, the receiver isn't seen as being read until we get to the - end of the field access expression, because we only read the relevant piece of the struct. - But we want the receiver to be considered to be read in the region in that case. - For example, if an rvalue expression is x.y.z and the region is x.y, we want x to be included - in the ReadInside set. That is implemented here. - - - - - Represents region analysis context attributes such as compilation, region, etc... - - - - Compilation to use - - - Containing symbol if available, null otherwise - - - Bound node, not null - - - Region to be used - - - Region to be used - - - True if the input was bad, such as no first and last nodes - - - - Construct context - - - - - A region analysis walker that computes whether or not the region completes normally. It does this by determining - if the point at which the region ends is reachable. - - - - - An analysis that computes the set of variables that may be used - before being assigned anywhere within a method. - - - - - An analysis that computes the set of variables that may be used - before being assigned anywhere within a method. - - - - - A region analysis walker that records declared variables. - - - - - Specifies the language version. - - - - - C# language version 1.0. - - - - - C# language version 2.0. - - - - - C# language version 3.0. - - Features: LINQ. - - - - - C# language version 4.0. - - Features: dynamic. - - - - - C# language version 5.0. - - Features: async. - - - - - C# language version 6.0. - - - Features: - Using of a static class. - Exception filters. - Autoprop initializers. - - - - - C# language version 6.0 + experimental features. - - - - - The purpose of this rewriter is to replace await-containing catch and finally handlers - with surrogate replacements that keep actual handler code in regular code blocks. - That allows these constructs to be further lowered at the async lowering pass. - - - - - Lower a block of code by performing local rewritings. - The goal is to not have exception handlers that contain awaits in them. - - 1) Await containing finallies: - The general strategy is to rewrite await containing handlers into synthetic handlers. - Synthetic handlers are not handlers in IL sense so it is ok to have awaits in them. - Since synthetic handlers are just blocks, we have to deal with pending exception/branch/return manually - (this is the hard part of the rewrite). - - try{ - code; - }finally{ - handler; - } - - Into ===> - - Exception ex = null; - int pendingBranch = 0; - - try{ - code; // any gotos/returns are rewritten to code that pends the necessary info and goes to finallyLabel - goto finallyLabel; - }catch (ex){ // essentially pend the currently active exception - }; - - finallyLabel: - { - handler; - if (ex != null) throw ex; // unpend the exception - unpend branches/return - } - - 2) Await containing catches: - try{ - code; - }catch (Exeption ex){ - handler; - throw; - } - - - Into ===> - - Object pendingException; - int pendingCatch = 0; - - try{ - code; - }catch (Exception temp){ // essentially pend the currently active exception - pendingException = temp; - pendingCatch = 1; - }; - - switch(pendingCatch): - { - case 1: - { - Exception ex = (Exception)pendingException; - handler; - throw pendingException - } - } - - - - - Rewrites Try/Catch part of the Try/Catch/Finally - - - - - - - Analyses method body for Try blocks with awaits in finallies - Also collects labels that such blocks contain. - - - - - Returns true if a finally of the given try contains awaits - - - - - Returns true if a catch contains awaits - - - - - Returns true if body contains await in a finally block. - - - - - Labels reachable from within this frame without invoking its finally. - null if there are no such labels. - - - - - Async methods have both a return type (void, Task, or Task<T>) and a 'result' type, which is the - operand type of any return expressions in the async method. The result type is void in the case of - Task-returning and void-returning async methods, and T in the case of Task<T>-returning async - methods. - - System.Runtime.CompilerServices provides a collection of async method builders that are used in the - generated code of async methods to create and manipulate the async method's task. There are three - distinct async method builder types, one of each async return type: AsyncVoidMethodBuilder, - AsyncTaskMethodBuilder, and AsyncTaskMethodBuilder<T>. - - AsyncMethodBuilderMemberCollection provides a common mechanism for accessing the well-known members of - each async method builder type. This avoids having to inspect the return style of the current async method - to pick the right async method builder member during async rewriting. - - - - - The builder's constructed type. - - - - - The result type of the constructed task: T for Task<T>, void otherwise. - - - - - Binds an exception to the method builder. - - - - - Marks the method builder as successfully completed, and sets the result if method is Task<T>-returning. - - - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. - - - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. This method can be called from partially trusted code. - - - - - Begins running the builder with the associated state machine. - - - - - Associates the builder with the specified state machine. - - - - - Get the constructed task for a Task-returning or Task<T>-returning async method. - - - - - The method being rewritten. - - - - - The field of the generated async class used to store the async method builder: an instance of - , , or depending on the - return type of the async method. - - - - - A collection of well-known members for the current async method builder. - - - - - The exprReturnLabel is used to label the return handling code at the end of the async state-machine - method. Return expressions are rewritten as unconditional branches to exprReturnLabel. - - - - - The label containing a return from the method when the async method has not completed. - - - - - The field of the generated async class used in generic task returning async methods to store the value - of rewritten return expressions. The return-handling code then uses SetResult on the async method builder - to make the result available to the caller. - - - - - Generate the body for MoveNext(). - - - - - Rewrite an async method into a state machine class. - - The original body of the method - The method's identity - The collection of generated methods that result from this transformation and which must be emitted - Diagnostic bag for diagnostics. - - - - - - The class that represents a translated async method. - - - - - This pass detects and reports diagnostics that do not affect lambda convertability. - This part of the partial class focuses on features that cannot be used in expression trees. - CAVEAT: Errors may be produced for ObsoleteAttribute, but such errors don't affect lambda convertability. - - - This pass detects and reports diagnostics that do not affect lambda convertability. - This part of the partial class focuses on expression and operator warnings. - - - - - This is for when we are taking the address of a field. - Distinguish from . - - - - - This is for when we are dotting into a field. - Distinguish from . - - NOTE: dev11 also calls this on string initializers in fixed statements, - but never accomplishes anything since string is a reference type. This - is probably a bug, but fixing it would be a breaking change. - - - - - Based on OutputContext::IsNonAgileField. - - - - - The constructor of the class that is the translation of an iterator method. - - - - - A synthesized Finally method containing finalization code for a resumable try statement. - Finalization code for such try may run when: - 1) control flow goes out of try scope by dropping through - 2) control flow goes out of try scope by conditionally or unconditionally branching outside of one ore more try/finally frames. - 3) enumerator is disposed by the owner. - 4) enumerator is being disposed after an exception. - - It is easier to manage partial or complete finalization when every finally is factored out as a separate method. - - NOTE: Finally is a private void nonvirtual instance method with no parameters. - It is a valid JIT inlining target as long as JIT may consider inlining profitable. - - - - - The field of the generated iterator class that underlies the Current property. - - - - - Tells us if a particular try contains yield returns - - - - - When this is more that 0, returns are emitted as "methodValue = value; goto exitLabel;" - - - - - The current iterator finally frame in the tree of finally frames. - By default there is a root finally frame. - Root frame does not have a handler, but may contain nested frames. - - - - - Finally state of the next Finally frame if such created. - Finally state is a negative decreasing number starting with -3. (-2 is used for something else). - Root frame has finally state -1. - - The Finally state is the state that we are in when "between states". - Regular states are positive and are the only states that can be resumed to. - The purpose of distinct finally states is to have enough information about - which finally handlers must run when we need to finalize iterator after a fault. - - - - - Produces a Try/Finally if frame has a handler (otherwise a regular block). - Handler goes into the Finally. - If there are nested frames, they are emitted into the try block. - This way the handler for the current frame is guaranteed to run even if - nested handlers throw exceptions. - - { - switch(state) - { - case state1: - case state2: - case state3: - case state4: - try - { - switch(state) - { - case state3: - case state4: - try - { - ... more nested state dispatches if any .... - } - finally - { - // handler for a try where state3 and state4 can be observed - handler_3_4() - } - break; - } - } - finally - { - // handler for a try where state1 and state2 can be observed - handler_1_2() - } - break; - - case state5: - ... another dispatch of nested states to their finallies ... - break; - } - } - - - - - - Analyses method body for yields in try blocks and labels that they contain. - - - - - Returns true if given try or any of its nested trys contain yields - - - - - Returns true if body contains yield returns within try blocks. - - - - - Labels reachable from within this frame without invoking its finally. - null if there are none such labels. - - - - - Rewrite an iterator method into a state machine class. - - The original body of the method - The method's identity - The collection of generated methods that result from this transformation and which must be emitted - Diagnostic bag for diagnostics. - - - - - - The class that represents a translated iterator method. - - - - - Analyses method body for labels. - - - - - Visit the expression, but do so in a way that ensures that its type is precise. That means that any - sometimes-unnecessary conversions (such as an implicit reference conversion) are retained. - - - - - A field of a frame class that represents a variable that has been captured in a lambda. - - - - - A local variable used to store a reference to the frame objects in which captured - local variables have become fields. - - - - - The rewriter for removing lambda expressions from method bodies and introducing closure classes - as containers for captured variables along the lines of the example in section 6.5.3 of the - C# language specification. - - The entry point is the public method . It operates as follows: - - First, an analysis of the whole method body is performed that determines which variables are - captured, what their scopes are, and what the nesting relationship is between scopes that - have captured variables. The result of this analysis is left in . - - Then we make a frame, or compiler-generated class, represented by an instance of - for each scope with captured variables. The generated frames are kept - in . Each frame is given a single field for each captured - variable in the corresponding scope. These are are maintained in . - - Finally, we walk and rewrite the input bound tree, keeping track of the following: - (1) The current set of active frame pointers, in - (2) The current method being processed (this changes within a lambda's body), in - (3) The "this" symbol for the current method in , and - (4) The symbol that is used to access the innermost frame pointer (it could be a local variable or "this" parameter) - - There are a few key transformations done in the rewriting. - (1) Lambda expressions are turned into delegate creation expressions, and the body of the lambda is - moved into a new, compiler-generated method of a selected frame class. - (2) On entry to a scope with captured variables, we create a frame object and store it in a local variable. - (3) References to captured variables are transformed into references to fields of a frame class. - - In addition, the rewriting deposits into a (, ) - pair for each generated method. - - produces its output in two forms. First, it returns a new bound statement - for the caller to use for the body of the original method. Second, it returns a collection of - (, ) pairs for additional methods that the lambda rewriter produced. - These additional methods contain the bodies of the lambdas moved into ordinary methods of their - respective frame classes, and the caller is responsible for processing them just as it does with - the returned bound node. For example, the caller will typically perform iterator method and - asynchronous method transformations, and emit IL instructions into an assembly. - - - - - Perform a first analysis pass in preparation for removing all lambdas from a method body. The entry point is Analyze. - The results of analysis are placed in the fields seenLambda, blockParent, variableBlock, captured, and captures. - - - - - Set to true while we are analyzing the interior of an expression lambda. - - - - - Set to true of any lambda expressions were seen in the analyzed method body. - - - - - For each statement that defines variables, identifies the nearest enclosing statement that defines variables. - - - - - For each captured variable, identifies the statement in which it will be moved to a frame class. This is - normally the block where the variable is introduced, but method parameters are moved - to a frame class within the body of the method. - - - - - The set of captured variables seen in the method body. - - - - - The syntax nodes associated with each captured variable. - - - - - The set of variables that were declared anywhere inside an expression lambda. - - - - - For each lambda in the code, the set of variables that it captures. - - - - - Blocks that are positioned between a block declaring some lifted variables - and a block that contains the lambda that lifts said variables. - If such block itself requires a closure, then it must lift parent frame pointer into the closure - in addition to whatever else needs to be lifted. - - NOTE: This information is computed in addition to the regular analysis of the tree and only needed for rewriting. - If someone only needs diagnostics or information about captures, this information is not necessary. - needs to be called to compute this. - - - - - Optimized locations of lambdas. - - Lambda does not need to be placed in a frame that corresponds to its lexical scope if lambda does not reference any local state in that scope. - It is advantageous to place lambdas higher in the scope tree, ideally in the innermost scope of all scopes that contain variables captured by a given lambda. - Doing so reduces indirections needed when captured locals are accessed. For example locals from the innermost scope can be accessed with no indirection at all. - - NOTE: This information is computed in addition to the regular analysis of the tree and only needed for rewriting. - If someone only needs diagnostics or information about captures, this information is not necessary. - needs to be called to compute this. - - - - - Create the optimized plan for the location of lambda methods and whether scopes need access to parent scopes - - - - - Compute the nesting depth of a given block. - Top-most block (where method locals and parameters are defined) are at the depth 0. - - - - - Rewrite the given node to eliminate lambda expressions. Also returned are the method symbols and their - bound bodies for the extracted lambda bodies. These would typically be emitted by the caller such as - MethodBodyCompiler. See this class' documentation - for a more thorough explanation of the algorithm and its use by clients. - - The bound node to be rewritten - The type of the top-most frame - The "this" parameter in the top-most frame, or null if static method - The containing method of the node to be rewritten - The caller's buffer into which we produce additional methods to be emitted by the caller - Diagnostic bag for diagnostics - A caller-provided analysis of the node's lambdas - - The rewritten tree should include assignments of the original locals to the lifted proxies - - - - Create the frame types. - - - - - Produce a bound expression representing a pointer to a frame of a particular frame type. - - The syntax to attach to the bound nodes produced - The type of frame to be returned - A bound node that computes the pointer to the required frame - - - - Produce a bound expression representing a pointer to a frame of a particular frame class. - Note that for generic frames, the frameClass parameter is the generic definition, but - the resulting expression will be constructed with the current type parameters. - - The syntax to attach to the bound nodes produced - The class type of frame to be returned - A bound node that computes the pointer to the required frame - - - - Introduce a frame around the translation of the given node. - - The node whose translation should be translated to contain a frame - The frame for the translated node - A function that computes the translation of the node. It receives lists of added statements and added symbols - The translated statement, as returned from F - - - - A class that represents the set of variables in a scope that have been - captured by lambdas within that scope. - - - - - A method that results from the translation of a single lambda expression. - - - - - Lower a block of code by performing local rewritings. - - - - - Returns true if the initializer is a field initializer which should be optimized out - - - - - Generates a lowered form of the assignment operator for the given left and right sub-expressions. - Left and right sub-expressions must be in lowered form. - - - - - Generates a lowered form of the assignment operator for the given left and right sub-expressions. - Left and right sub-expressions must be in lowered form. - - - - - Spec section 7.9: if the left operand is int or uint, mask the right operand with 0x1F; - if the left operand is long or ulong, mask the right operand with 0x3F. - - - - - This rather confusing method tries to reproduce the functionality of ExpressionBinder::bindPtrAddMul and - ExpressionBinder::bindPtrMul. The basic idea is that we have a numeric expression, x, and a pointer type, - T*, and we want to multiply x by sizeof(T). Unfortunately, we need to stick in some conversions to make - everything work. - - 1) If x is an int, then convert it to an IntPtr (i.e. a native int). Dev10 offers no explanation (ExpressionBinder::bindPtrMul). - 2) Do overload resolution based on the (possibly converted) type of X and int (the type of sizeof(T)). - 3) If the result type of the chosen multiplication operator is signed, convert the product to IntPtr; - otherwise, convert the product to UIntPtr. - - - - - Rewrites arguments of an invocation according to the receiving method or indexer. - It is assumed that the each argument has already been lowered, but we may need - additional rewriting for the arguments, such as generating a params array, re-ordering - arguments based on argsToParamsOpt map, inserting arguments for optional parameters, etc. - 'optionalParametersMethod' is the method used for values of any optional parameters. - For indexers, this method must be an accessor, and for methods it must be the method - itself. 'optionalParametersMethod' is needed for indexers since the getter and setter - may have distinct optional parameter values. - - - - - Process tempStores and add them as sideeffects to arguments where needed. The return - value tells how many temps are actually needed. For unnecessary temps the corresponding - temp store will be cleared. - - - - - In the expanded form of a compound assignment (or increment/decrement), the LHS appears multiple times. - If we aren't careful, this can result in repeated side-effects. This creates (ordered) temps for all of the - subexpressions that could result in side-effects and returns a side-effect-free expression that can be used - in place of the LHS in the expanded form. - - The LHS sub-expression of the compound assignment (or increment/decrement). - Populated with a list of assignment expressions that initialize the temporary locals. - Populated with a list of temporary local symbols. - True if the compound assignment is a dynamic operation. - - A side-effect-free expression representing the LHS. - The returned node needs to be lowered but its children are already lowered. - - - - - If the condition has a constant value, then just use the selected branch. - e.g. "true ? x : y" becomes "x". - - - - - Helper method to generate a lowered conversion. - - - - - Helper method to generate a lowered conversion from the given rewrittenOperand to the given rewrittenType. - - - If we're converting a default parameter value to the parameter type, then the conversion can actually fail - (e.g. if the default value was specified by an attribute and was, therefore, not checked by the compiler). - Set acceptFailingConversion if you want to see default(rewrittenType) in such cases. - - - - - Helper method to generate a lowered conversion from the given rewrittenOperand to the given rewrittenType with the given conversion kind. - - - Conversion kind must not be a user defined conversion, use the other overload which takes a 'Conversion' parameter for generating synthesized user defined conversions. - - - - - If we have a WinRT type event, we need to encapsulate the adder call - (which returns an EventRegistrationToken) with a call to - WindowsRuntimeMarshal.AddEventHandler or RemoveEventHandler, but these - require us to create a new Func representing the adder and another - Action representing the Remover. - - The rewritten call looks something like: - - WindowsRuntimeMarshal.AddEventHandler<EventHandler> - (new Func<EventHandler, EventRegistrationToken>(@object.add), - new Action<EventRegistrationToken>(@object.remove), handler); - - Where @object is a compiler-generated local temp if needed. - - - TODO: use or delete isDynamic. - - - - - Basically, what we need to know is, if an exception occurred within the fixed statement, would - additional code in the current method be executed before its stack frame was popped? - - - - - If two (or more) fixed statements are nested, then we want to avoid having the outer - fixed statement re-traverse the lowered bound tree of the inner one. We accomplish - this by having each fixed statement cache a set of unmatched gotos that can be - reused by any containing fixed statements. - - - - - Look for gotos without corresponding labels in the lowered body of a fixed statement. - - - Assumes continue, break, etc have already been rewritten to gotos. - - - - - This is the entry point for foreach-loop lowering. It delegates to - RewriteEnumeratorForEachStatement - RewriteSingleDimensionalArrayForEachStatement - RewriteMultiDimensionalArrayForEachStatement - RewriteStringForEachStatement - - - NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE - We are diverging from the C# 4 spec (and Dev10) to follow the C# 5 spec. - The iteration variable will be declared *inside* each loop iteration, - rather than outside the loop. - NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE - - - - - Lower a foreach loop that will enumerate a collection using an enumerator. - - E e = ((C)(x)).GetEnumerator() - try { - while (e.MoveNext()) { - V v = (V)(T)e.Current; - // body - } - } - finally { - // clean up e - } - - - - - Synthesize a no-argument call to a given method, possibly applying a conversion to the receiver. - - If the receiver is of struct type and the method is an interface method, then skip the conversion - and just call the interface method directly - the code generator will detect this and generate a - constrained virtual call. - - A syntax node to attach to the synthesized bound node. - Receiver of method call. - Method to invoke. - Conversion to be applied to the receiver if not calling an interface method on a struct. - Type of the receiver after applying the conversion. - A BoundExpression representing the call. - - - - Lower a foreach loop that will enumerate the characters of a string. - - string s = x; - for (int p = 0; p < s.Length; p = p + 1) { - V v = (V)s.Chars[p]; - // body - } - - - We will follow Dev10 in diverging from the C# 4 spec by ignoring string's - implementation of IEnumerable and just indexing into its characters. - - NOTE: We're assuming that sequence points have already been generated. - Otherwise, lowering to for-loops would generated spurious ones. - - - - - Lower a foreach loop that will enumerate a single-dimensional array. - - A[] a = x; - for (int p = 0; p < a.Length; p = p + 1) { - V v = (V)a[p]; - // body - } - - - We will follow Dev10 in diverging from the C# 4 spec by ignoring Array's - implementation of IEnumerable and just indexing into its elements. - - NOTE: We're assuming that sequence points have already been generated. - Otherwise, lowering to for-loops would generated spurious ones. - - - - - Lower a foreach loop that will enumerate a multi-dimensional array. - - A[...] a = x; - int q_0 = a.GetUpperBound(0), q_1 = a.GetUpperBound(1), ...; - for (int p_0 = a.GetLowerBound(0); p_0 <= q_0; p_0 = p_0 + 1) - for (int p_1 = a.GetLowerBound(1); p_1 <= q_1; p_1 = p_1 + 1) - ... - { V v = (V)a[p_0, p_1, ...]; /* body */ } - - - We will follow Dev10 in diverging from the C# 4 spec by ignoring Array's - implementation of IEnumerable and just indexing into its elements. - - NOTE: We're assuming that sequence points have already been generated. - Otherwise, lowering to nested for-loops would generated spurious ones. - - - - - So that the binding info can return an appropriate SemanticInfo.Converted type for the collection - expression of a foreach node, it is wrapped in a BoundConversion to the collection type in the - initial bound tree. However, we may be able to optimize away (or entirely disregard) the conversion - so we pull out the bound node for the underlying expression. - - - - - Add sequence point |here|: - - foreach (Type var in |expr|) { } - - - Hit once, before looping begins. - - - - - Add sequence point |here|: - - foreach (|Type var| in expr) { } - - - Hit every iteration. - - - - - Add sequence point |here|: - - |foreach| (Type var in expr) { } - - - Hit once, before looping begins. - - - - - Lowers a lock statement to a try-finally block that calls Monitor.Enter and Monitor.Exit - before and after the body, respectively. - - C# 4.0 version - - L locked; - bool flag = false; - try { - locked = `argument`; - Monitor.Enter(locked, ref flag); - `body` - } finally { - if (flag) Monitor.Exit(locked); - } - - Pre-4.0 version - - L locked = `argument`; - Monitor.Enter(locked, ref flag); - try { - `body` - } finally { - Monitor.Exit(locked); - } - - - - - The strategy of this rewrite is to do rewrite "locally". - We analyze arguments of the concat in a shallow fasion assuming that - lowering and optimizations (including this one) is already done for the arguments. - Based on the arguments we select the most appropriate pattern for the current node. - - NOTE: it is not guaranteed that the node that we chose will be the most optimal since we have only - local information - i.e. we look at the arguments, but we do not know about siblings. - When we move to the parent, the node may be rewritten by this or some another optimization. - - Example: - result = ( "abc" + "def" + null ?? expr1 + "moo" + "baz" ) + expr2 - - Will rewrite into: - result = Concat("abcdef", expr2) - - However there will be transient nodes like Concat(expr1 + "moo") that will not be present in the - resulting tree. - - - - - - digs into known concat operators and unwraps their arguments - otherwise returns the expression as-is - - Generally we only need to recognize same node patterns that we create as a result of concatenation rewrite. - - - - - folds two concat operands into one expression if possible - otherwise returns null - - - - - folds two concat constants into one if possible - otherwise returns null. - It is generally always possible to concat constants, unless resulting string would be too large. - - - - - Strangely enough there is such a thing as unary concatenation and it must be rewritten. - - - - - Most of the above optimizations are not applicable in expression trees as the operator - must stay a binary operator. We cannot do much beyond constant folding which is done in binder. - - - - - This rewriter lowers pre-/post- increment/decrement operations (initially represented as - unary operators). We use BoundSequenceExpressions because we need to capture the RHS of the - assignment in a temp variable. - - - This rewriter assumes that it will be run before decimal rewriting (so that it does not have - to lower decimal constants and operations) and call rewriting (so that it does not have to - lower property accesses). - - - - - The rewrites are as follows: suppose the operand x is a variable of type X. The - chosen increment/decrement operator is modelled as a static method on a type T, - which takes a value of type T and returns the result of incrementing or decrementing - that value. - - x++ - X temp = x - x = (X)(T.Increment((T)temp)) - return temp - x-- - X temp = x - x = (X)(T.Decrement((T)temp)) - return temp - ++x - X temp = (X)(T.Increment((T)x)) - x = temp - return temp - --x - X temp = (X)(T.Decrement((T)x)) - x = temp - return temp - - Note: - Dev11 implements dynamic prefix operators incorrectly. - - result = ++x.P is emitted as result = SetMember{"P"}(t, UnaryOperation{Inc}(GetMember{"P"}(x))) - - The difference is that Dev11 relies on SetMember returning the same value as it was given as an argument. - Failing to do so changes the semantics of ++/-- operator which is undesirable. We emit the same pattern for - both dynamic and static operators. - - For example, we might have a class X with user-defined implicit conversions - to and from short, but no user-defined increment or decrement operators. We - would bind x++ as "X temp = x; x = (X)(short)((int)(short)temp + 1); return temp;" - - The unary operator expression representing the increment/decrement. - A bound sequence that uses a temp to acheive the correct side effects and return value. - - - - Transform an expression from a form suitable as an lvalue to a form suitable as an rvalue. - - The children of this node must already be lowered. - Fully lowered node. - - - - Rewrite a using statement into a try finally statement. Two forms are possible: - 1) using (expr) stmt - 2) using (C c = expr) stmt - - The former is handled by RewriteExpressionUsingStatement and the latter is handled by - RewriteDeclarationUsingStatement (called in a loop, once for each local declared). - - - It would be more in line with our usual pattern to rewrite using to try-finally - in the ControlFlowRewriter, but if we don't do it here the BoundMultipleLocalDeclarations - will be rewritten into a form that makes them harder to separate. - - - - - Lower "using (expression) statement" to a try-finally block. - - - - - Lower "using (ResourceType resource = expression) statement" to a try-finally block. - - - Assumes that the local symbol will be declared (i.e. in the LocalsOpt array) of an enclosing block. - Assumes that using statements with multiple locals have already been split up into multiple using statements. - - - - - The dynamic operation factories below return this struct so that the caller - have the option of separating the call-site initialization from its invocation. - - Most callers just call to get the combo but some (object and array initializers) - hoist all call-site initialization code and emit multiple invocations of the same site. - - - - - Corresponds to . - - - - - Corresponds to . - - - - - Rewrite the replacement expression for the hoisted local so all synthesized field are accessed as members - of the appropriate frame. - - - - - A walker that computes the set of local variables of an iterator - method that must be moved to fields of the generated class. - - - - - If a ref variable is to be spilled, sometimes that causes us to need to spill - the thing the ref variable was initialized with. For example, if the variable - was initialized with "structVariable.field", then the struct variable needs to - be spilled. This method adds to the spill set things that need to be spilled - based on the given refInitializer expression. - - - - - True if we need to generate the code to do the bookkeeping so we can "finalize" the state machine - by executing code from its current state through the enclosing finally blocks. This is true for - iterators and false for async. - - - - - Generate return statements from the state machine method body. - - - - - The "state" of the state machine that is the translation of the iterator method. - - - - - Cached "state" of the state machine within the MoveNext method. We work with a copy of - the state to avoid shared mutable state between threads. (Two threads can be executing - in a Task's MoveNext method because an awaited task may complete after the awaiter has - tested whether the subtask is complete but before the awaiter has returned) - - - - - For each distinct label, the set of states that need to be dispatched to that label. - Note that there is a dispatch occurring at every try-finally statement, so this - variable takes on a new set of values inside each try block. - - - - - A mapping from each state of the state machine to the new state that will be used to execute - finally blocks in case the state machine is disposed. The Dispose method computes the new state - and then runs MoveNext. Not used if !this.useFinalizerBookkeeping. - - - - - A try block might have no state (transitions) within it, in which case it does not need - to have a state to represent finalization. This flag tells us whether the current try - block that we are within has a finalizer state. Initially true as we have the (trivial) - finalizer state of -1 at the top level. Not used if !this.useFinalizerBookkeeping. - - - - - If hasFinalizerState is true, this is the state for finalization from anywhere in this - try block. Initially set to -1, representing the no-op finalization required at the top - level. Not used if !this.useFinalizerBookkeeping. - - - - - A pool of fields used to hoist temporary variables. They appear in this set when not in scope, - so that members of this set may be allocated to temps when the temps come into scope. - - - - - A map from the identity of a temp local symbol in the original method to the set of fields - allocated to the temp in the translation. When a temp goes out of scope, it is "freed" up - for allocation to other temps of the same type. - - - - - Fields allocated for temporary variables are given unique names distinguished by a number at the end. - This counter ensures they are unique within a given translated method. - - - - - Used to compute if a struct type is actually empty. - - - - - Translate a statement that declares a given set of locals. Also allocates and frees hoisted temps as - required for the translation. - - The set of locals declared in the original version of this statement - A delegate to return the translation of the body of this statement - - - - Might the given type be, or contain, managed references? This is used to determine which - fields allocated to temporaries should be cleared when the underlying variable goes out of scope, so - that they do not cause unnecessary object retention. - - - - - Allocate a temp of the given type, and note that it should be freed and cleared when the - given local symbol goes out of scope. - - - - - Allocate a field of the state machine of the given type, to serve as a temporary. - - - - - Add a state machine field to the set of fields available for allocation to temps - - - - - The try statement is the most complex part of the state machine transformation. - Since the CLR will not allow a 'goto' into the scope of a try statement, we must - generate the dispatch to the state's label stepwise. That is done by translating - the try statements from the inside to the outside. Within a try statement, we - start with an empty dispatch table (representing the mapping from state numbers - to labels). During translation of the try statement's body, the dispatch table - will be filled in with the data necessary to dispatch once we're inside the try - block. We generate that at the head of the translated try statement. Then, we - copy all of the states from that table into the table for the enclosing construct, - but associate them with a label just before the translated try block. That way - the enclosing construct will generate the code necessary to get control into the - try block for all of those states. - - - - - Represents a synthesized state machine helper field - - - - - Represents a compiler-generated field for a hoisted iterator or async local. - - - - - True if the initial values of locals in the rewritten method need to be preserved. (e.g. enumerable iterator methods) - - - - - Add fields to the state machine class that are unique to async or iterator methods. - - - - - Initialize the state machine class. - - - - - Generate implementation-specific state machine initialization for the replacement method body. - - - - - Generate implementation-specific state machine member method implementations. - - - - - State machine interface method implementation. - - - - - Tracks synthesized fields that are needed in a submission being compiled. - - - For every other submission referenced by this submission we add a field, so that we can access members of the target submission. - A field is also needed for the host object, if provided. - - - - - A helper class for synthesizing quantities of code. - - - - - Thrown by the bound node factory when there is a failure to synthesize code. - An appropriate diagnostic is included that should be reported. Currently - the only diagnostic handled through this mechanism is a missing special/well-known - member. - - - - - Create a bound node factory. Note that the use of the factory to get special or well-known members - that do not exist will result in an exception of type being thrown. - - The top-level method that will contain the code - The syntax node to which generated code should be attributed - The state of compilation of the enclosing type - A bag where any diagnostics should be output - - - The top-level method that will contain the code - The enclosing class - The syntax node to which generated code should be attributed - The state of compilation of the enclosing type - A bag where any diagnostics should be output - - - - Get the symbol for a well-known member. The use of this method to get a well-known member - that does not exist will result in an exception of type MissingPredefinedMember being thrown - containing an appropriate diagnostic for the caller to report. - - The desired well-known member - If true, the method may return null for a missing member without an exception - A symbol for the well-known member, or null if it is missing and isOptions == true - - - - Get the symbol for a special member. The use of this method to get a special member - that does not exist will result in an exception of type MissingPredefinedMember being thrown - containing an appropriate diagnostic for the caller to report. - - The desired special member - A symbol for the special member. - - - - Check for (and assert that there are no) duplicate case labels in the switch. - - - - - - Takes an expression and returns the bound local expression "temp" - and the bound assignment expression "temp = expr". - - - - - Compiles a list of all labels that are targeted by gotos within a - node, but are not declared within the node. - - - - - newPosition represents the position we are in the final SourceText. As we consume and reuse - nodes from the old tree we will update our position in the new text accordingly. - Likewise, when we must lex tokens out of the new tree we will update as well. - - NOTE(cyrusn): We do not need an oldPosition because it is redundant given the - oldTreeCursor. The oldPosition is implicitly defined by the position of the cursor. - - - - - Affected range of a change is the range within which nodes can be affected by a change - and cannot be reused. Because of lookahead effective range of a change is larger than - the change itself. - - - - - THe cursor represents a location in the tree that we can move around to indicate where - we are in the original tree as we're incrementally parsing. When it is at a node or - token, it can either move forward to that entity's next sibling. It can also move down - to a node's first child or first token. - - Once the cursor hits the end of file, it's done. Note: the cursor will skip any other - zero length nodes in the tree. - - - - - An error/warning directive tells the compiler to indicate a syntactic error/warning - at the current location. - - Format: #error Error message string - Resulting message: from the first non-whitespace character after the directive - keyword until the end of the directive (aka EOD) at the line break or EOF. - Resulting span: [first non-whitespace char, EOD) - - Examples (pipes indicate span): - #error |foo| - #error |foo| - #error |foo | - #error |foo baz| - #error |//foo| - #error |/*foo*/| - #error |/*foo| - - The '#' token. - The 'error' or 'warning' token. - True if the error/warning should be recorded. - An ErrorDirective or WarningDirective node. - - - - These aren't acceptable in place of ASCII quotation marks in XML, - but we want to consume them (and produce an appropriate error) if - they occur in a place where a quotation mark is legal. - - - - - ACASEY: This grammar is derived from the behavior and sources of the native compiler. - Tokens start with underscores (I've cheated for _PredefinedTypeToken, which is not actually a - SyntaxKind), "*" indicates "0 or more", "?" indicates "0 or 1", and parentheses are for grouping. - - Cref = CrefType _DotToken CrefMember - | CrefType - | CrefMember - | CrefFirstType _OpenParenToken CrefParameterList? _CloseParenToken - CrefName = _IdentifierToken (_LessThanToken _IdentifierToken (_CommaToken _IdentifierToken)* _GreaterThanToken)? - CrefFirstType = ((_IdentifierToken _ColonColonToken)? CrefName) - | _PredefinedTypeToken - CrefType = CrefFirstType (_DotToken CrefName)* - CrefMember = CrefName (_OpenParenToken CrefParameterList? _CloseParenToken)? - | _ThisKeyword (_OpenBracketToken CrefParameterList _CloseBracketToken)? - | _OperatorKeyword _OperatorToken (_OpenParenToken CrefParameterList? _CloseParenToken)? - | (_ImplicitKeyword | _ExplicitKeyword) _OperatorKeyword CrefParameterType (_OpenParenToken CrefParameterList? _CloseParenToken)? - CrefParameterList = CrefParameter (_CommaToken CrefParameter)* - CrefParameter = (_RefKeyword | _OutKeyword)? CrefParameterType - CrefParameterType = CrefParameterType2 _QuestionToken? _AsteriskToken* (_OpenBracketToken _CommaToken* _CloseBracketToken)* - CrefParameterType2 = (((_IdentifierToken _ColonColonToken)? CrefParameterType3) | _PredefinedTypeToken) (_DotToken CrefParameterType3)* - CrefParameterType3 = _IdentifierToken (_LessThanToken CrefParameterType (_CommaToken CrefParameterType)* _GreaterThanToken)? - - NOTE: type parameters, not type arguments - NOTE: the first production of Cref is preferred to the other two - NOTE: pointer, array, and nullable types only work in parameters - NOTE: CrefParameterType2 and CrefParameterType3 correspond to CrefType and CrefName, respectively. - Since the only difference is that they accept non-identifier type arguments, this is accomplished - using parameters on the parsing methods (rather than whole new methods). - - - - - Parse the custom cref syntax for a named member (method, property, etc), - an indexer, an overloadable operator, or a user-defined conversion. - - - - - Parse a named member (method, property, etc), with optional type - parameters and regular parameters. - - - - - Parse an indexer member, with optional parameters. - - - - - Parse an overloadable operator, with optional parameters. - - - - - Parse a user-defined conversion, with optional parameters. - - - - - Parse a parenthesized parameter list. - - - - - Parse a bracketed parameter list. - - - - - Parse the parameter list (if any) of a cref member (name, indexer, operator, or conversion). - - - - - True if the current token could be the beginning of a cref parameter. - - - - - Parse an element of a cref parameter list. - - - "ref" and "out" work, but "params", "this", and "__arglist" don't. - - - - - Parse an identifier, optionally followed by an angle-bracketed list of type parameters. - - True to give an error when a non-identifier - type argument is seen, false to accept. No change in the shape of the tree. - - - - Parse a type. May include an alias, a predefined type, and/or a qualified name. - - - Pointer, nullable, or array types are only allowed if is false. - Leaves a dot and a name unconsumed if the name is not followed by another dot - and checkForMember is true. - - True to give an error when a non-identifier - type argument is seen, false to accept. No change in the shape of the tree. - True means that the last name should not be consumed - if it is followed by a parameter list. - - - - Parse a type. May include an alias, a predefined type, and/or a qualified name. - - - No pointer, nullable, or array types. - Leaves a dot and a name unconsumed if the name is not followed by another dot - and checkForMember is true. - - True to give an error when a non-identifier - type argument is seen, false to accept. No change in the shape of the tree. - True means that the last name should not be consumed - if it is followed by a parameter list. - - - - Once the name part of a type (including type parameter/argument lists) is parsed, - we need to consume ?, *, and rank specifiers. - - - - - - - Ends at appropriate quotation mark, EOF, or EndOfDocumentationComment. - - - - - Convenience method for checking the mode. - - - - - Ends at appropriate quotation mark, EOF, or EndOfDocumentationComment. - - - - - Set of well-known SyntaxTokens commonly found within XML doc comments. - - - - - Look up a well known SyntaxToken for a given XML element tag or attribute. - This is a performance optimization to avoid creating duplicate tokens for the same content. - - The text of the tag or attribute. - The leading trivia of the token. - The SyntaxToken representing the well-known tag or attribute or null if it's not well-known. - - - - Returns true if the lookahead tokens compose extern alias directive. - - - - - WARNING: it is possible that "list" is really the underlying builder of a SeparateSyntaxListBuilder, - so it is important that we not add anything to the list. - - - - - True if current identifier token is not really some contextual keyword - - - - - - Definitely not a type name. - - - - - Definitely a type name: either a predefined type (int, string, etc.) or an array type name (ending with a bracket). - - - - - Might be a generic (qualified) type name or an expression. - - - - - Might be a non-generic (qualified) type name or an expression. - - - - - A type name with alias prefix (Alias::Name) - - - - - Nullable type (ending with ?). - - - - - Might be a pointer type or a multiplication. - - - - - Parses any statement but a declaration statement. Returns null if the lookahead looks like a declaration. - - - Variable declarations in global code are parsed as field declarations so we need to fallback if we encounter a declaration statement. - - - - - true if the current token can be the first token of a typed identifier (a type name followed by an identifier), - false if it definitely can't be, - null if we need to scan further to find out. - - - - - This method is essentially the same as ScanIdentifier_SlowPath, - except that it can handle XML entities. Since ScanIdentifier - is hot code and since this method does extra work, it seem - worthwhile to separate it from the common case. - - - - - - - Scans a new-line sequence (either a single new-line character or a CR-LF combo). - - A trivia node with the new-line text - - - - Scans all of the whitespace (not new-lines) into a trivia node until it runs out. - - A trivia node with the whitespace text - - - - Lexer entry point for LexMode.XmlDocComment - - - - - Lexer entry point for LexMode.XmlElementTag - - - - - Determines whether this Unicode character can start a XMLName. - - The Unicode character. - - - - Determines if this Unicode character can be part of an XML Name. - - The Unicode character. - - - - Lexer entry point for LexMode.XmlAttributeText - - - - - Lexer entry point for LexerMode.XmlCharacter. - - - - - Scan a single XML character (or entity). Assumes that leading trivia has already - been consumed. - - - - - Lexer entry point for LexerMode.XmlCrefQuote, LexerMode.XmlCrefDoubleQuote, - LexerMode.XmlNameQuote, and LexerMode.XmlNameDoubleQuote. - - - - - Scan a single cref attribute token. Assumes that leading trivia has already - been consumed. - - - Within this method, characters that are not XML meta-characters can be seamlessly - replaced with the corresponding XML entities. - - - - - Given a character, advance the input if either the character or the - corresponding XML entity appears next in the text window. - - - - - - - Convenience property for determining whether we are currently lexing the - value of a cref or name attribute. - - - - - Convenience property for determining whether we are currently lexing the - value of a name attribute. - - - - - Diagnostics that occur within cref attributes need to be - wrapped with ErrorCode.WRN_ErrorOverride. - - - - - Diagnostics that occur within cref attributes need to be - wrapped with ErrorCode.WRN_ErrorOverride. - - - - - Lexer entry point for LexMode.XmlCDataSectionText - - - - - Lexer entry point for LexMode.XmlCommentText - - - - - Lexer entry point for LexMode.XmlProcessingInstructionText - - - - - Collects XML doc comment exterior trivia, and therefore is a no op unless we are in the Start or Exterior of an XML doc comment. - - List in which to collect the trivia - - - - Collects whitespace and new line trivia for XML doc comments. Does not see XML doc comment exterior trivia, and is a no op unless we are in the interior. - - List in which to collect the trivia - - - - Keeps a sliding buffer over the SourceText of a file for the lexer. Also - provides the lexer with the ability to keep track of a current "lexeme" - by leaving a marker and advancing ahead the offset. The lexer can then - decide to "keep" the lexeme by erasing the marker, or abandon the current - lexeme by moving the offset back to the marker. - - - - - In many cases, e.g. PeekChar, we need the ability to indicate that there are - no characters left and we have reached the end of the stream, or some other - invalid or not present character was asked for. Due to perf concerns, things - like nullable or out variables are not viable. Instead we need to choose a - char value which can never be legal. - - In .NET, all characters are represented in 16 bits using the UTF-16 encoding. - Fortunately for us, there are a variety of different bit patterns which - are *not* legal UTF-16 characters. 0xffff (char.MaxValue) is one of these - characters -- a legal Unicode code point, but not a legal UTF-16 bit pattern. - - - - - The current absolute position in the text file. - - - - - The current offset inside the window (relative to the window start). - - - - - The buffer backing the current window. - - - - - Returns the start of the current lexeme relative to the window start. - - - - - Number of characters in the character window. - - - - - The absolute position of the start of the current lexeme in the given - SourceText. - - - - - The number of characters in the current lexeme. - - - - - Start parsing a new lexeme. - - - - - After reading , a consumer can determine - if the InvalidCharacter was in the user's source or a sentinel. - - Comments and string literals are allowed to contain any Unicode character. - - - - - - Advance the current position by one. No guarantee that this - position is valid. - - - - - Advance the current position by n. No guarantee that this position - is valid. - - - - - Grab the next character and advance the position. - - - The next character, if there were no characters - remaining. - - - - - Gets the next character if there are any characters in the - SourceText. May advance the window if we are at the end. - - - The next character if any are available. InvalidCharacterSentinal otherwise. - - - - - Gets the character at the given offset to the current position if - the position is valid within the SourceText. - - - The next character if any are available. InvalidCharacterSentinal otherwise. - - - - - Given that the next character is an ampersand ('&'), attempt to interpret the - following characters as an XML entity. On success, populate the out parameters - with the low and high UTF-16 surrogates for the character represented by the - entity. - - e.g. '<' for &lt;. - e.g. '\uDC00' for &#x10000; (ch == '\uD800'). - True if a valid XML entity was consumed. - - NOTE: Always advances, even on failure. - - - - - If the next characters in the window match the given string, - then advance past those characters. Otherwise, do nothing. - - - - - Because syntax nodes need to be constructed with context information - to allow us to - determine whether or not they can be reused during incremental parsing - the syntax - factory needs a view of some internal parser state. - - - Read-only outside SyntaxParser (not enforced for perf reasons). - Reference type so that the factory stays up-to-date. - - - - - If a method goes from async to non-async, or vice versa, then every occurrence of "await" - within the method (but not within a lambda) needs to be reinterpreted, to determine whether - it is a keyword or an identifier. - - - - - If the end of a query expression statement is commented out, then the following statement may - appear to be part of the query. When this occurs, identifiers within the following statement - may need to be reinterpreted as query keywords. - - - - - Interactive code - global statements, member declarations and expressions allowed. - - - - - Script - global statements and member declarations allowed, but not expressions. - - - - - Converts skippedSyntax node into tokens and adds these as trivia on the target token. - Also adds the first error (in depth-first preorder) found in the skipped syntax tree to the target token. - - - - - This function searches for the given location node within the subtree rooted at root node. - If it finds it, the function computes the offset span of that child node within the root and returns true, - otherwise it returns false. - - Root node - Node to search in the subtree rooted at root node - Offset of the location node within the subtree rooted at child - - - - - NOTE: we are specifically diverging from dev11 to improve the user experience. - Since treating the "async" keyword as an identifier in older language - versions can never result in a correct program, we instead accept it as the a - keyword regardless of the language version and produce an error if the version - is insufficient. - - - - Class which represents the syntax node for identifier name. - - - SyntaxToken representing the keyword for the kind of the identifier name. - - - - Gets the separator at the given index in this list. - - The index. - - - - - WARN WARN WARN: This should be used with extreme caution - the underlying builder does - not give any indication that it is from a separated syntax list but the constraints - (node, token, node, token, ...) should still be maintained. - - - In order to avoid creating a separate pool of SeparatedSyntaxListBuilders, we expose - our underlying SyntaxListBuilder to SyntaxListPool. - - - - - Enumerates all nodes of the tree rooted by this node (including this node). - - - - - Should only be called during construction. - - - This should probably be an extra constructor parameter, but we don't need more constructor overloads. - - - - - Gets the syntax node represented the structure of this trivia, if any. The HasStructure property can be used to - determine if this trivia has structure. - - - A CSharpSyntaxNode derived from StructuredTriviaSyntax, with the structured view of this trivia node. - If this trivia node does not have structure, returns null. - - - Some types of trivia have structure that can be accessed as additional syntax nodes. - These forms of trivia include: - directives, where the structure describes the structure of the directive. - documentation comments, where the structure describes the XML structure of the comment. - skipped tokens, where the structure describes the tokens that were skipped by the parser. - - - - - Provides caching functionality for green nonterminals with up to 3 children. - Example: - When constructing a node with given kind, flags, child1 and child2, we can look up - in the cache whether we already have a node that contains same kind, flags, - child1 and child2 and use that. - - For the purpose of children comparison, reference equality is used as a much cheaper - alternative to the structural/recursive equality. This implies that in order to de-duplicate - a node to a cache node, the children of two nodes must be already de-duplicated. - When adding a node to the cache we verify that cache does contain node's children, - since otherwise there is no reason for the node to be used. - Tokens/nulls are for this purpose considered deduplicated. Indeed most of the tokens - are deduplicated via quick-scanner caching, so we just assume they all are. - - As a result of above, "fat" nodes with 4 or more children or their recursive parents - will never be in the cache. This naturally limits the typical single cache item to be - a relatively simple expression. We do not want the cache to be completely unbounded - on the item size. - While it still may be possible to store a gigantic nested binary expression, - it should be a rare occurance. - - We only consider "normal" nodes to be cacheable. - Nodes with diagnostics/annotations/directives/skipped, etc... have more complicated identity - and are not likely to be repetitive. - - - - - - Returns the string representation of this token, not including its leading and trailing trivia. - - The string representation of this token, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - Provides the base class from which the classes that represent name syntax nodes are derived. This is an abstract class. - - - Provides the base class from which the classes that represent simple name syntax nodes are derived. This is an abstract class. - - - SyntaxToken representing the identifier of the simple name. - - - Class which represents the syntax node for qualified name. - - - NameSyntax node representing the name on the left side of the dot token of the qualified name. - - - SyntaxToken representing the dot. - - - SimpleNameSyntax node representing the name on the right side of the dot token of the qualified name. - - - Class which represents the syntax node for generic name. - - - SyntaxToken representing the name of the identifier of the generic name. - - - TypeArgumentListSyntax node representing the list of type arguments of the generic name. - - - Class which represents the syntax node for type argument list. - - - SyntaxToken representing less than. - - - SeparatedSyntaxList of TypeSyntax node representing the type arguments. - - - SyntaxToken representing greater than. - - - Class which represents the syntax node for alias qualified name. - - - IdentifierNameSyntax node representing the name of the alias - - - SyntaxToken representing colon colon. - - - SimpleNameSyntax node representing the name that is being alias qualified. - - - Provides the base class from which the classes that represent type syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for predefined types. - - - SyntaxToken which represents the keyword corresponding to the predefined type. - - - Class which represents the syntax node for the array type. - - - TypeSyntax node representing the type of the element of the array. - - - SyntaxList of ArrayRankSpecifierSyntax nodes representing the list of rank specifiers for the array. - - - Class which represents the syntax node for pointer type. - - - TypeSyntax node that represents the element type of the pointer. - - - SyntaxToken representing the asterisk. - - - Class which represents the syntax node for a nullable type. - - - TypeSyntax node representing the type of the element. - - - SyntaxToken representing the question mark. - - - ArgumentListSyntax node representing the list of arguments acting as arguments to the base call of the primary constructor. - - - Class which represents a placeholder in the type argument list of an unbound generic type. - - - SyntaxToken representing the omitted type argument. - - - Provides the base class from which the classes that represent expression syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for parenthesized expression. - - - SyntaxToken representing the open parenthesis. - - - ExpressionSyntax node representing the expression enclosed within the parenthesis. - - - SyntaxToken representing the close parenthesis. - - - Class which represents the syntax node for prefix unary expression. - - - SyntaxToken representing the kind of the operator of the prefix unary expression. - - - ExpressionSyntax representing the operand of the prefix unary expression. - - - Class which represents the syntax node for postfix unary expression. - - - ExpressionSyntax representing the operand of the postfix unary expression. - - - SyntaxToken representing the kind of the operator of the postfix unary expression. - - - Class which represents the syntax node for member access expression. - - - ExpressionSyntax node representing the object that the member belongs to. - - - SyntaxToken representing the kind of the operator in the member access expression. - - - SimpleNameSyntax node representing the member being accessed. - - - Class which represents the syntax node for conditional access expression. - - - ExpressionSyntax node representing the object conditionally accessed. - - - SyntaxToken representing the question mark. - - - ExpressionSyntax node representing the access expression to be executed when the object is not null. - - - Class which represents the syntax node for member binding expression. - - - SyntaxToken representing dot. - - - SimpleNameSyntax node representing the member being bound to. - - - Class which represents the syntax node for element binding expression. - - - BracketedArgumentListSyntax node representing the list of arguments of the element binding expression. - - - Class which represents an expression that has a binary operator. - - - ExpressionSyntax node representing the expression on the left of the binary operator. - - - SyntaxToken representing the operator of the binary expression. - - - ExpressionSyntax node representing the expression on the right of the binary operator. - - - Class which represents the syntax node for conditional expression. - - - ExpressionSyntax node representing the condition of the conditional expression. - - - SyntaxToken representing the question mark. - - - ExpressionSyntax node representing the expression to be executed when the condition is true. - - - ExpressionSyntax node representing the expression to be executed when the condition is false. - - - Provides the base class from which the classes that represent instance expression syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for a this expression. - - - SyntaxToken representing the this keyword. - - - Class which represents the syntax node for a base expression. - - - SyntaxToken representing the base keyword. - - - Class which represents the syntax node for a literal expression. - - - SyntaxToken representing the keyword corresponding to the kind of the literal expression. - - - Class which represents the syntax node for MakeRef expression. - - - SyntaxToken representing the MakeRefKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for RefType expression. - - - SyntaxToken representing the RefTypeKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for RefValue expression. - - - SyntaxToken representing the RefValueKeyword. - - - SyntaxToken representing open parenthesis. - - - Typed reference expression. - - - Comma separating the arguments. - - - The type of the value. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for Checked or Unchecked expression. - - - SyntaxToken representing the checked or unchecked keyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for Default expression. - - - SyntaxToken representing the DefaultKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for TypeOf expression. - - - SyntaxToken representing the TypeOfKeyword. - - - SyntaxToken representing open parenthesis. - - - The expression to return type of. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for SizeOf expression. - - - SyntaxToken representing the SizeOfKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for invocation expression. - - - ExpressionSyntax node representing the expression part of the invocation. - - - ArgumentListSyntax node representing the list of arguments of the invocation expression. - - - Class which represents the syntax node for element access expression. - - - ExpressionSyntax node representing the expression which is accessing the element. - - - BracketedArgumentListSyntax node representing the list of arguments of the element access expression. - - - Provides the base class from which the classes that represent argument list syntax nodes are derived. This is an abstract class. - - - SeparatedSyntaxList of ArgumentSyntax nodes representing the list of arguments. - - - Class which represents the syntax node for the list of arguments. - - - SyntaxToken representing open parenthesis. - - - SeparatedSyntaxList of ArgumentSyntax representing the list of arguments. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for bracketed argument list. - - - SyntaxToken representing open bracket. - - - SeparatedSyntaxList of ArgumentSyntax representing the list of arguments. - - - SyntaxToken representing close bracket. - - - Class which represents the syntax node for argument. - - - NameColonSyntax node representing the optional name arguments. - - - SyntaxToken representing the optional ref or out keyword. - - - ExpressionSyntax node representing the argument. - - - Class which represents the syntax node for name colon syntax. - - - IdentifierNameSyntax representing the identifer name. - - - SyntaxToken representing colon. - - - Class which represents the syntax node for cast expression. - - - SyntaxToken representing the open parenthesis. - - - TypeSyntax node representing the type the expression is being casted to. - - - SyntaxToken representing the close parenthesis. - - - ExpressionSyntax node representing the expression that is being casted. - - - Class which represents the syntax node for anonymous method expression. - - - Gets the "async" token. - - - SyntaxToken representing the delegate keyword. - - - List of parameters of the anonymous method expression, or null if there no parameters are specified. - - - BlockSyntax node representing the body of the anonymous method. - - - Class which represents the syntax node for a simple lambda expression. - - - Gets the "async" token. - - - ParameterSyntax node representing the parameter of the lambda expression. - - - SyntaxToken representing equals greater than. - - - SyntaxNode representing the body of the lambda expression. - - - Class which represents the syntax node for parenthesized lambda expression. - - - Gets the "async" token. - - - ParameterListSyntax node representing the list of parameters for the lambda expression. - - - SyntaxToken representing equals greater than. - - - SyntaxNode representing the body of the lambda expression. - - - Class which represents the syntax node for initializer expression. - - - SyntaxToken representing the open brace. - - - SeparatedSyntaxList of ExpressionSyntax representing the list of expressions in the initializer expression. - - - SyntaxToken representing the close brace. - - - Class which represents the syntax node for object creation expression. - - - SyntaxToken representing the new keyword. - - - TypeSyntax representing the type of the object being created. - - - ArgumentListSyntax representing the list of arguments passed as part of the object creation expression. - - - InitializerExpressionSyntax representing the initializer expression for the object being created. - - - NameEqualsSyntax representing the optional name of the property being initialized. - - - ExpressionSyntax representing the value the property is initialized with. - - - Class which represents the syntax node for anonymous object creation expression. - - - SyntaxToken representing the new keyword. - - - SyntaxToken representing the open brace. - - - SeparatedSyntaxList of AnonymousObjectPropertyInitializerSyntax representing the list of object property initializers. - - - SyntaxToken representing the close brace. - - - Class which represents the syntax node for array creation expression. - - - SyntaxToken representing the new keyword. - - - ArrayTypeSyntax node representing the type of the array. - - - InitializerExpressionSyntax node representing the initializer of the array creation expression. - - - Class which represents the syntax node for implicit array creation expression. - - - SyntaxToken representing the new keyword. - - - SyntaxToken representing the open bracket. - - - SyntaxList of SyntaxToken representing the commas in the implicit array creation expression. - - - SyntaxToken representing the close bracket. - - - InitializerExpressionSyntax representing the initializer expression of the implicit array creation expression. - - - Class which represents the syntax node for stackalloc array creation expression. - - - SyntaxToken representing the stackalloc keyword. - - - TypeSyntax node representing the type of the stackalloc array. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Class which represents a placeholder in an array size list. - - - SyntaxToken representing the omitted array size expression. - - - Represents the base class for all statements syntax classes. - - - Gets the modifier list. - - - Gets the identifier. - - - Represents a labeled statement syntax. - - - Gets the identifier. - - - Gets a SyntaxToken that represents the colon succeeding the statement's label. - - - - Represents a goto statement syntax - - - - - Gets a SyntaxToken that represents the goto keyword. - - - - - Gets a constant expression for a goto case statement. - - - - - Gets a SyntaxToken that represents the semi-colon at the end of the statement. - - - - Gets the identifier. - - - - Represents an if statement syntax. - - - - - Gets a SyntaxToken that represents the if keyword. - - - - - Gets a SyntaxToken that represents the open parenthesis before the if statement's condition expression. - - - - - Gets an ExpressionSyntax that represents the condition of the if statement. - - - - - Gets a SyntaxToken that represents the close parenthesis after the if statement's condition expression. - - - - - Gets a StatementSyntax the represents the statement to be executed when the condition is true. - - - - - Gets an ElseClauseSyntax that represents the statement to be executed when the condition is false if such statement exists. - - - - Represents an else statement syntax. - - - - Gets a syntax token - - - - Represents a switch statement syntax. - - - - Gets a SyntaxToken that represents the switch keyword. - - - - - Gets a SyntaxToken that represents the open parenthesis preceding the switch expression. - - - - - Gets an ExpressionSyntax representing the expression of the switch statement. - - - - - Gets a SyntaxToken that represents the close parenthesis succeeding the switch expression. - - - - - Gets a SyntaxToken that represents the open braces preceding the switch sections. - - - - - Gets a SyntaxList of SwitchSectionSyntax's that represents the switch sections of the switch statement. - - - - - Gets a SyntaxToken that represents the open braces succeeding the switch sections. - - - - Represents a switch section syntax of a switch statement. - - - - Gets a SyntaxList of SwitchLabelSyntax's the represents the possible labels that control can transfer to within the section. - - - - - Gets a SyntaxList of StatementSyntax's the represents the statements to be executed when control transfer to a label the belongs to the section. - - - - Represents a switch label within a switch statement. - - - - Gets a SyntaxToken that represents a case or default keywords that belongs to a switch label. - - - - - Gets an ExpressionSyntax that represents the constant expression that gets matched for the case label. For default label the property returns null. - - - - - Gets a SyntaxToken that represents the colon that terminates the switch label. - - - - Gets the attribute declaration list. - - - - Represents an ExternAlias directive syntax, e.g. "extern alias MyAlias;" with specifying "/r:MyAlias=SomeAssembly.dll " on the compiler command line. - - - - SyntaxToken representing the extern keyword. - - - SyntaxToken representing the alias keyword. - - - Gets the identifier. - - - SyntaxToken representing the semicolon token. - - - Member declaration syntax. - - - Gets the optional semicolon token. - - - Class representing one or more attributes applied to a language construct. - - - Gets the open bracket token. - - - Gets the attribute declaration list. - - - Gets the close bracket token. - - - Class representing what language construct an attribute targets. - - - Gets the identifier. - - - Gets the colon token. - - - Attribute syntax. - - - Gets the name. - - - Attribute argument list syntax. - - - Gets the open paren token. - - - Gets the arguments syntax list. - - - Gets the close paren token. - - - Attribute argument syntax. - - - Gets the expression. - - - Class representing an identifier name followed by an equals token. - - - Gets the identifier name. - - - Type parameter list syntax. - - - Gets the < token. - - - Gets the parameter list. - - - Gets the > token. - - - Type parameter syntax. - - - Gets the attribute declaration list. - - - Gets the identifier. - - - Base class for type declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the identifier. - - - Gets the base type list. - - - Gets the open brace token. - - - Gets the close brace token. - - - Gets the optional semicolon token. - - - Base class for type declaration syntax (class, struct, interface). - - - Gets the type keyword token ("class", "struct", "interface"). - - - Gets the type constraint list. - - - Gets the member declarations. - - - Class type declaration syntax. - - - Gets the class keyword token. - - - Struct type declaration syntax. - - - Gets the struct keyword token. - - - Interface type declaration syntax. - - - Gets the interface keyword token. - - - Enum type declaration syntax. - - - Gets the enum keyword token. - - - Gets the members declaration list. - - - Gets the optional semicolon token. - - - Delegate declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the "delegate" keyword. - - - Gets the return type. - - - Gets the identifier. - - - Gets the parameter list. - - - Gets the constraint clause list. - - - Gets the semicolon token. - - - Gets the attribute declaration list. - - - Gets the identifier. - - - Base list syntax. - - - Gets the colon token. - - - Gets the base type references. - - - Type parameter constraint clause. - - - Gets the identifier. - - - Gets the colon token. - - - Gets the constraints list. - - - Base type for type parameter constraint syntax. - - - Constructor constraint syntax. - - - Gets the "new" keyword. - - - Gets the open paren keyword. - - - Gets the close paren keyword. - - - Base type for class or struct constraint syntax. - - - Gets the constraint keyword ("class" or "struct"). - - - Type constraint syntax. - - - Gets the type syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Base type for method declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the parameter list. - - - Gets the optional semicolon token. - - - Method declaration syntax. - - - Gets the return type syntax. - - - Gets the identifier. - - - Gets the constraint clause list. - - - Gets the optional semicolon token. - - - Operator declaration syntax. - - - Gets the return type. - - - Gets the "operator" keyword. - - - Gets the operator token. - - - Conversion operator declaration syntax. - - - Gets the "implicit" or "explicit" token. - - - Gets the "operator" token. - - - Gets the type. - - - Gets the optional semicolon token. - - - Constructor declaration syntax. - - - Gets the identifier. - - - Gets the optional semicolon token. - - - Constructor initializer syntax. - - - Gets the colon token. - - - Gets the "this" or "base" keyword. - - - Destructor declaration syntax. - - - Gets the tilde token. - - - Gets the identifier. - - - Gets the optional semicolon token. - - - Base type for property declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the type syntax. - - - Gets the optional explicit interface specifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the parameter list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the keyword token, or identifier if an erroneous accessor declaration. - - - Gets the optional body block which may be empty, but it is null if there are no braces. - - - Gets the optional semicolon token. - - - Base type for parameter list syntax. - - - Gets the parameter list. - - - Parameter list syntax. - - - Gets the open paren token. - - - Gets the close paren token. - - - Parameter list syntax with surrounding brackets. - - - Gets the open bracket token. - - - Gets the close bracket token. - - - Parameter syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the identifier. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - - A symbol referenced by a cref attribute (e.g. in a <see> or <seealso> documentation comment tag). - For example, the M in <see cref="M" />. - - - - - A symbol reference that definitely refers to a type. - For example, "int", "A::B", "A.B", "A<T>", but not "M()" (has parameter list) or "this" (indexer). - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - A symbol reference to a type or non-type member that is qualified by an enclosing type or namespace. - For example, cref="System.String.ToString()". - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - The unqualified part of a CrefSyntax. - For example, "ToString()" in "object.ToString()". - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - A MemberCrefSyntax specified by a name (an identifier, predefined type keyword, or an alias-qualified name, - with an optional type parameter list) and an optional parameter list. - For example, "M", "M<T>" or "M(int)". - Also, "A::B()" or "string()". - - - - - A MemberCrefSyntax specified by a this keyword and an optional parameter list. - For example, "this" or "this[int]". - - - - - A MemberCrefSyntax specified by an operator keyword, an operator symbol and an optional parameter list. - For example, "operator +" or "operator -[int]". - NOTE: the operator must be overloadable. - - - - Gets the operator token. - - - - A MemberCrefSyntax specified by an implicit or explicit keyword, an operator keyword, a destination type, and an optional parameter list. - For example, "implicit operator int" or "explicit operator MyType(int)". - - - - - A list of cref parameters with surrounding punctuation. - Unlike regular parameters, cref parameters do not have names. - - - - Gets the parameter list. - - - - A parenthesized list of cref parameters. - - - - Gets the open paren token. - - - Gets the close paren token. - - - - A bracketed list of cref parameters. - - - - Gets the open bracket token. - - - Gets the close bracket token. - - - - An element of a BaseCrefParameterListSyntax. - Unlike a regular parameter, a cref parameter has only an optional ref or out keyword and a type - - there is no name and there are no attributes or other modifiers. - - - - Class which represents the syntax node for alias qualified name. - - - IdentifierNameSyntax node representing the name of the alias - - - SyntaxToken representing colon colon. - - - SimpleNameSyntax node representing the name that is being alias qualified. - - - Attribute syntax. - - - - Return the name used in syntax for the attribute. This is typically the class - name without the "Attribute" suffix. (For certain diagnostics, the native - compiler uses the attribute name from syntax rather than the class name.) - - - - Gets the name. - - - Class representing what language construct an attribute targets. - - - Gets the identifier. - - - Gets the colon token. - - - Class type declaration syntax. - - - Gets the class keyword token. - - - - Returns #r directives specified in the compilation. - - - - Gets the attribute declaration list. - - - - Adds C# specific parts to the line directive map. - - - - Gets the modifier list. - - - Delegate declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the "delegate" keyword. - - - Gets the return type. - - - Gets the identifier. - - - Gets the parameter list. - - - Gets the constraint clause list. - - - Gets the semicolon token. - - - - Returns true if the property is allowed by the rules of the - language to be an arbitrary expression, not just a statement expression. - - - True if, for example, this expression statement represents the last expression statement - of the interactive top-level code. - - - - Class which represents the syntax node for generic name. - - - SyntaxToken representing the name of the identifier of the generic name. - - - TypeArgumentListSyntax node representing the list of type arguments of the generic name. - - - Method declaration syntax. - - - Gets the return type syntax. - - - Gets the identifier. - - - Gets the constraint clause list. - - - Gets the optional semicolon token. - - - Gets the optional semicolon token. - - - Provides the base class from which the classes that represent name syntax nodes are derived. This is an abstract class. - - - - Returns the unqualified (right-most) part of a qualified or alias-qualified name, or the name itself if already unqualified. - - The unqualified (right-most) part of a qualified or alias-qualified name, or the name itself if already unqualified. - If called on an instance of returns the value of the property. - If called on an instance of returns the value of the property. - If called on an instance of returns the instance itself. - - - - - This inspection is entirely syntactic. We are not trying to find the alias corresponding to the assembly symbol - containing the explicitly implemented interface symbol - there may be more than one. We just want to know - how the name was qualified in source so that we can make a similar qualification (for uniqueness purposes). - - - - Parameter list syntax. - - - Gets the open paren token. - - - Gets the close paren token. - - - Parameter syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the identifier. - - - Class which represents the syntax node for qualified name. - - - NameSyntax node representing the name on the left side of the dot token of the qualified name. - - - SyntaxToken representing the dot. - - - SimpleNameSyntax node representing the name on the right side of the dot token of the qualified name. - - - Provides the base class from which the classes that represent simple name syntax nodes are derived. This is an abstract class. - - - SyntaxToken representing the identifier of the simple name. - - - Struct type declaration syntax. - - - Gets the struct keyword token. - - - - It's a non terminal Trivia CSharpSyntaxNode that has a tree underneath it. - - - - - Get parent trivia. - - - - Base class for type declaration syntax (class, struct, interface). - - - Gets the type keyword token ("class", "struct", "interface"). - - - Gets the type constraint list. - - - Gets the member declarations. - - - Provides the base class from which the classes that represent type syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for identifier name. - - - SyntaxToken representing the keyword for the kind of the identifier name. - - - Class which represents the syntax node for type argument list. - - - SyntaxToken representing less than. - - - SeparatedSyntaxList of TypeSyntax node representing the type arguments. - - - SyntaxToken representing greater than. - - - Class which represents the syntax node for predefined types. - - - SyntaxToken which represents the keyword corresponding to the predefined type. - - - Class which represents the syntax node for the array type. - - - TypeSyntax node representing the type of the element of the array. - - - SyntaxList of ArrayRankSpecifierSyntax nodes representing the list of rank specifiers for the array. - - - Class which represents the syntax node for pointer type. - - - TypeSyntax node that represents the element type of the pointer. - - - SyntaxToken representing the asterisk. - - - Class which represents the syntax node for a nullable type. - - - TypeSyntax node representing the type of the element. - - - SyntaxToken representing the question mark. - - - ArgumentListSyntax node representing the list of arguments acting as arguments to the base call of the primary constructor. - - - Class which represents a placeholder in the type argument list of an unbound generic type. - - - SyntaxToken representing the omitted type argument. - - - Provides the base class from which the classes that represent expression syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for parenthesized expression. - - - SyntaxToken representing the open parenthesis. - - - ExpressionSyntax node representing the expression enclosed within the parenthesis. - - - SyntaxToken representing the close parenthesis. - - - Class which represents the syntax node for prefix unary expression. - - - SyntaxToken representing the kind of the operator of the prefix unary expression. - - - ExpressionSyntax representing the operand of the prefix unary expression. - - - Class which represents the syntax node for postfix unary expression. - - - ExpressionSyntax representing the operand of the postfix unary expression. - - - SyntaxToken representing the kind of the operator of the postfix unary expression. - - - Class which represents the syntax node for member access expression. - - - ExpressionSyntax node representing the object that the member belongs to. - - - SyntaxToken representing the kind of the operator in the member access expression. - - - SimpleNameSyntax node representing the member being accessed. - - - Class which represents the syntax node for conditional access expression. - - - ExpressionSyntax node representing the object conditionally accessed. - - - SyntaxToken representing the question mark. - - - ExpressionSyntax node representing the access expression to be executed when the object is not null. - - - Class which represents the syntax node for member binding expression. - - - SyntaxToken representing dot. - - - SimpleNameSyntax node representing the member being bound to. - - - Class which represents the syntax node for element binding expression. - - - BracketedArgumentListSyntax node representing the list of arguments of the element binding expression. - - - Class which represents an expression that has a binary operator. - - - ExpressionSyntax node representing the expression on the left of the binary operator. - - - SyntaxToken representing the operator of the binary expression. - - - ExpressionSyntax node representing the expression on the right of the binary operator. - - - Class which represents the syntax node for conditional expression. - - - ExpressionSyntax node representing the condition of the conditional expression. - - - SyntaxToken representing the question mark. - - - ExpressionSyntax node representing the expression to be executed when the condition is true. - - - ExpressionSyntax node representing the expression to be executed when the condition is false. - - - Provides the base class from which the classes that represent instance expression syntax nodes are derived. This is an abstract class. - - - Class which represents the syntax node for a this expression. - - - SyntaxToken representing the this keyword. - - - Class which represents the syntax node for a base expression. - - - SyntaxToken representing the base keyword. - - - Class which represents the syntax node for a literal expression. - - - SyntaxToken representing the keyword corresponding to the kind of the literal expression. - - - Class which represents the syntax node for MakeRef expression. - - - SyntaxToken representing the MakeRefKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for RefType expression. - - - SyntaxToken representing the RefTypeKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for RefValue expression. - - - SyntaxToken representing the RefValueKeyword. - - - SyntaxToken representing open parenthesis. - - - Typed reference expression. - - - Comma separating the arguments. - - - The type of the value. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for Checked or Unchecked expression. - - - SyntaxToken representing the checked or unchecked keyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for Default expression. - - - SyntaxToken representing the DefaultKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for TypeOf expression. - - - SyntaxToken representing the TypeOfKeyword. - - - SyntaxToken representing open parenthesis. - - - The expression to return type of. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for SizeOf expression. - - - SyntaxToken representing the SizeOfKeyword. - - - SyntaxToken representing open parenthesis. - - - Argument of the primary function. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for invocation expression. - - - ExpressionSyntax node representing the expression part of the invocation. - - - ArgumentListSyntax node representing the list of arguments of the invocation expression. - - - Class which represents the syntax node for element access expression. - - - ExpressionSyntax node representing the expression which is accessing the element. - - - BracketedArgumentListSyntax node representing the list of arguments of the element access expression. - - - Provides the base class from which the classes that represent argument list syntax nodes are derived. This is an abstract class. - - - SeparatedSyntaxList of ArgumentSyntax nodes representing the list of arguments. - - - Class which represents the syntax node for the list of arguments. - - - SyntaxToken representing open parenthesis. - - - SeparatedSyntaxList of ArgumentSyntax representing the list of arguments. - - - SyntaxToken representing close parenthesis. - - - Class which represents the syntax node for bracketed argument list. - - - SyntaxToken representing open bracket. - - - SeparatedSyntaxList of ArgumentSyntax representing the list of arguments. - - - SyntaxToken representing close bracket. - - - Class which represents the syntax node for argument. - - - NameColonSyntax node representing the optional name arguments. - - - SyntaxToken representing the optional ref or out keyword. - - - ExpressionSyntax node representing the argument. - - - Class which represents the syntax node for name colon syntax. - - - IdentifierNameSyntax representing the identifer name. - - - SyntaxToken representing colon. - - - Class which represents the syntax node for cast expression. - - - SyntaxToken representing the open parenthesis. - - - TypeSyntax node representing the type the expression is being casted to. - - - SyntaxToken representing the close parenthesis. - - - ExpressionSyntax node representing the expression that is being casted. - - - Class which represents the syntax node for anonymous method expression. - - - Gets the "async" token. - - - SyntaxToken representing the delegate keyword. - - - List of parameters of the anonymous method expression, or null if there no parameters are specified. - - - BlockSyntax node representing the body of the anonymous method. - - - Class which represents the syntax node for a simple lambda expression. - - - Gets the "async" token. - - - ParameterSyntax node representing the parameter of the lambda expression. - - - SyntaxToken representing equals greater than. - - - SyntaxNode representing the body of the lambda expression. - - - Class which represents the syntax node for parenthesized lambda expression. - - - Gets the "async" token. - - - ParameterListSyntax node representing the list of parameters for the lambda expression. - - - SyntaxToken representing equals greater than. - - - SyntaxNode representing the body of the lambda expression. - - - Class which represents the syntax node for initializer expression. - - - SyntaxToken representing the open brace. - - - SeparatedSyntaxList of ExpressionSyntax representing the list of expressions in the initializer expression. - - - SyntaxToken representing the close brace. - - - Class which represents the syntax node for object creation expression. - - - SyntaxToken representing the new keyword. - - - TypeSyntax representing the type of the object being created. - - - ArgumentListSyntax representing the list of arguments passed as part of the object creation expression. - - - InitializerExpressionSyntax representing the initializer expression for the object being created. - - - NameEqualsSyntax representing the optional name of the property being initialized. - - - ExpressionSyntax representing the value the property is initialized with. - - - Class which represents the syntax node for anonymous object creation expression. - - - SyntaxToken representing the new keyword. - - - SyntaxToken representing the open brace. - - - SeparatedSyntaxList of AnonymousObjectPropertyInitializerSyntax representing the list of object property initializers. - - - SyntaxToken representing the close brace. - - - Class which represents the syntax node for array creation expression. - - - SyntaxToken representing the new keyword. - - - ArrayTypeSyntax node representing the type of the array. - - - InitializerExpressionSyntax node representing the initializer of the array creation expression. - - - Class which represents the syntax node for implicit array creation expression. - - - SyntaxToken representing the new keyword. - - - SyntaxToken representing the open bracket. - - - SyntaxList of SyntaxToken representing the commas in the implicit array creation expression. - - - SyntaxToken representing the close bracket. - - - InitializerExpressionSyntax representing the initializer expression of the implicit array creation expression. - - - Class which represents the syntax node for stackalloc array creation expression. - - - SyntaxToken representing the stackalloc keyword. - - - TypeSyntax node representing the type of the stackalloc array. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the identifier. - - - Class which represents a placeholder in an array size list. - - - SyntaxToken representing the omitted array size expression. - - - Represents the base class for all statements syntax classes. - - - Gets the identifier. - - - Represents a labeled statement syntax. - - - Gets the identifier. - - - Gets a SyntaxToken that represents the colon succeeding the statement's label. - - - - Represents a goto statement syntax - - - - - Gets a SyntaxToken that represents the goto keyword. - - - - - Gets a constant expression for a goto case statement. - - - - - Gets a SyntaxToken that represents the semi-colon at the end of the statement. - - - - Gets the identifier. - - - - Represents an if statement syntax. - - - - - Gets a SyntaxToken that represents the if keyword. - - - - - Gets a SyntaxToken that represents the open parenthesis before the if statement's condition expression. - - - - - Gets an ExpressionSyntax that represents the condition of the if statement. - - - - - Gets a SyntaxToken that represents the close parenthesis after the if statement's condition expression. - - - - - Gets a StatementSyntax the represents the statement to be executed when the condition is true. - - - - - Gets an ElseClauseSyntax that represents the statement to be executed when the condition is false if such statement exists. - - - - Represents an else statement syntax. - - - - Gets a syntax token - - - - Represents a switch statement syntax. - - - - Gets a SyntaxToken that represents the switch keyword. - - - - - Gets a SyntaxToken that represents the open parenthesis preceding the switch expression. - - - - - Gets an ExpressionSyntax representing the expression of the switch statement. - - - - - Gets a SyntaxToken that represents the close parenthesis succeeding the switch expression. - - - - - Gets a SyntaxToken that represents the open braces preceding the switch sections. - - - - - Gets a SyntaxList of SwitchSectionSyntax's that represents the switch sections of the switch statement. - - - - - Gets a SyntaxToken that represents the open braces succeeding the switch sections. - - - - Represents a switch section syntax of a switch statement. - - - - Gets a SyntaxList of SwitchLabelSyntax's the represents the possible labels that control can transfer to within the section. - - - - - Gets a SyntaxList of StatementSyntax's the represents the statements to be executed when control transfer to a label the belongs to the section. - - - - Represents a switch label within a switch statement. - - - - Gets a SyntaxToken that represents a case or default keywords that belongs to a switch label. - - - - - Gets an ExpressionSyntax that represents the constant expression that gets matched for the case label. For default label the property returns null. - - - - - Gets a SyntaxToken that represents the colon that terminates the switch label. - - - - - Represents an ExternAlias directive syntax, e.g. "extern alias MyAlias;" with specifying "/r:MyAlias=SomeAssembly.dll " on the compiler command line. - - - - SyntaxToken representing the extern keyword. - - - SyntaxToken representing the alias keyword. - - - Gets the identifier. - - - SyntaxToken representing the semicolon token. - - - Member declaration syntax. - - - Class representing one or more attributes applied to a language construct. - - - Gets the open bracket token. - - - Gets the attribute declaration list. - - - Gets the close bracket token. - - - Attribute argument list syntax. - - - Gets the open paren token. - - - Gets the arguments syntax list. - - - Gets the close paren token. - - - Attribute argument syntax. - - - Gets the expression. - - - Class representing an identifier name followed by an equals token. - - - Gets the identifier name. - - - Type parameter list syntax. - - - Gets the < token. - - - Gets the parameter list. - - - Gets the > token. - - - Type parameter syntax. - - - Gets the attribute declaration list. - - - Gets the identifier. - - - Base class for type declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the identifier. - - - Gets the base type list. - - - Gets the open brace token. - - - Gets the close brace token. - - - Gets the optional semicolon token. - - - Interface type declaration syntax. - - - Gets the interface keyword token. - - - Enum type declaration syntax. - - - Gets the enum keyword token. - - - Gets the members declaration list. - - - Gets the optional semicolon token. - - - Gets the attribute declaration list. - - - Gets the identifier. - - - Base list syntax. - - - Gets the colon token. - - - Gets the base type references. - - - Type parameter constraint clause. - - - Gets the identifier. - - - Gets the colon token. - - - Gets the constraints list. - - - Base type for type parameter constraint syntax. - - - Constructor constraint syntax. - - - Gets the "new" keyword. - - - Gets the open paren keyword. - - - Gets the close paren keyword. - - - Base type for class or struct constraint syntax. - - - Gets the constraint keyword ("class" or "struct"). - - - Type constraint syntax. - - - Gets the type syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Base type for method declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the parameter list. - - - Gets the optional semicolon token. - - - Operator declaration syntax. - - - Gets the return type. - - - Gets the "operator" keyword. - - - Gets the operator token. - - - Conversion operator declaration syntax. - - - Gets the "implicit" or "explicit" token. - - - Gets the "operator" token. - - - Gets the type. - - - Gets the optional semicolon token. - - - Constructor declaration syntax. - - - Gets the identifier. - - - Gets the optional semicolon token. - - - Constructor initializer syntax. - - - Gets the colon token. - - - Gets the "this" or "base" keyword. - - - Destructor declaration syntax. - - - Gets the tilde token. - - - Gets the identifier. - - - Gets the optional semicolon token. - - - Base type for property declaration syntax. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the type syntax. - - - Gets the optional explicit interface specifier. - - - Gets the identifier. - - - Gets the identifier. - - - Gets the parameter list. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - Gets the keyword token, or identifier if an erroneous accessor declaration. - - - Gets the optional body block which may be empty, but it is null if there are no braces. - - - Gets the optional semicolon token. - - - Base type for parameter list syntax. - - - Gets the parameter list. - - - Parameter list syntax with surrounding brackets. - - - Gets the open bracket token. - - - Gets the close bracket token. - - - Gets the attribute declaration list. - - - Gets the modifier list. - - - - A symbol referenced by a cref attribute (e.g. in a <see> or <seealso> documentation comment tag). - For example, the M in <see cref="M" />. - - - - - A symbol reference that definitely refers to a type. - For example, "int", "A::B", "A.B", "A<T>", but not "M()" (has parameter list) or "this" (indexer). - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - A symbol reference to a type or non-type member that is qualified by an enclosing type or namespace. - For example, cref="System.String.ToString()". - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - The unqualified part of a CrefSyntax. - For example, "ToString()" in "object.ToString()". - NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax - will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol - might be a non-type member. - - - - - A MemberCrefSyntax specified by a name (an identifier, predefined type keyword, or an alias-qualified name, - with an optional type parameter list) and an optional parameter list. - For example, "M", "M<T>" or "M(int)". - Also, "A::B()" or "string()". - - - - - A MemberCrefSyntax specified by a this keyword and an optional parameter list. - For example, "this" or "this[int]". - - - - - A MemberCrefSyntax specified by an operator keyword, an operator symbol and an optional parameter list. - For example, "operator +" or "operator -[int]". - NOTE: the operator must be overloadable. - - - - Gets the operator token. - - - - A MemberCrefSyntax specified by an implicit or explicit keyword, an operator keyword, a destination type, and an optional parameter list. - For example, "implicit operator int" or "explicit operator MyType(int)". - - - - - A list of cref parameters with surrounding punctuation. - Unlike regular parameters, cref parameters do not have names. - - - - Gets the parameter list. - - - - A parenthesized list of cref parameters. - - - - Gets the open paren token. - - - Gets the close paren token. - - - - A bracketed list of cref parameters. - - - - Gets the open bracket token. - - - Gets the close bracket token. - - - - An element of a BaseCrefParameterListSyntax. - Unlike a regular parameter, a cref parameter has only an optional ref or out keyword and a type - - there is no name and there are no attributes or other modifiers. - - - - - Defines a set of methods to determine how Unicode characters are treated by the C# compiler. - - - - - Returns true if the Unicode character is a hexadecimal digit. - - The Unicode character. - true if the character is a hexadecimal digit 0-9, A-F, a-f. - - - - Returns true if the Unicode character is a decimal digit. - - The Unicode character. - true if the Unicode character is a decimal digit. - - - - Returns the value of a hexadecimal Unicode character. - - The Unicode character. - - - - Returns the value of a decimal Unicode character. - - The Unicode character. - - - - Returns true if the Unicode character represents a whitespace. - - The Unicode character. - - - - Returns true if the Unicode character is a newline character. - - The Unicode character. - - - - Returns true if the Unicode character can be the starting character of a C# identifier. - - The Unicode character. - - - - Returns true if the Unicode character can be a part of a C# identifier. - - The Unicode character. - - - - Check that the name is a valid identifier. - - - - - Spec section 2.4.2 says that identifiers are compared without regard - to leading "@" characters or unicode formatting characters. As in dev10, - this is actually accomplished by dropping such characters during parsing. - Unfortunately, metadata names can still contain these characters and will - not be referenceable from source if they do (lookup will fail since the - characters will have been dropped from the search string). - See DevDiv #14432 for more. - - - - - Returns true if the Unicode character is a formatting character (Unicode class Cf). - - The Unicode character. - - - - Returns true if the Unicode character is a formatting character (Unicode class Cf). - - The Unicode character. - - - - Some preprocessor keywords are only keywords when they appear after a - hash sign (#). For these keywords, the lexer will produce tokens with - Kind = SyntaxKind.IdentifierToken and ContextualKind set to the keyword - SyntaxKind. - - - This wrinkle is specifically not publicly exposed. - - - - - Member declarations that can appear in global code (other than type declarations). - - - - - Returns true if the node is the alias of an AliasQualifiedNameSyntax - - - - - - - Returns true if the node is the object of an invocation expression. - - - - - Returns true if the node is the object of an element access expression. - - - - - Returns true if the node is in a tree location that is expected to be a type - - - - - - - Returns true if a node is in a tree location that is expected to be either a namespace or type - - - - - - - Is the node the name of a named argument of an invocation, object creation expression, - constructor initializer, or element access, but not an attribute. - - - - - Is the expression the initializer in a fixed statement? - - - - - Displays a value in the C# style. - - - Separate from because we want to link this functionality into - the Formatter project and we don't want it to be public there. - - - - - - Returns a string representation of an object of primitive type. - - A value to display as a string. - Whether or not to quote string literals. - Whether or not to display integral literals in hexadecimal. - A string representation of an object of primitive type (or null if the type is not supported). - - Handles , , , - , , , , , - , , , , , - and null. - - - - - Returns a C# string literal with the given value. - - The value that the resulting string literal should have. - True to put (double) quotes around the string literal. - A string literal with the given value. - - Escapes non-printable characters. - - - - - Returns a C# character literal with the given value. - - The value that the resulting character literal should have. - True to put (single) quotes around the character literal. - A character literal with the given value. - - Escapes non-printable characters. - - - - - Returns a C# character literal with the given value. - - The value that the resulting character literal should have. - True to put (single) quotes around the character literal. - True to include the code point before the character literal. - True to use hexadecimal for the code point. Ignored if is false. - A character literal with the given value. - - - - Displays a symbol in the C# style. - - - - - - Displays a symbol in the C# style, based on a . - - The symbol to be displayed. - The formatting options to apply. If null is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid C#. - - - - - Displays a symbol in the C# style, based on a . - Based on the context, qualify type and member names as little as possible without - introducing ambiguities. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the or . - The formatting options to apply. If null is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid C#. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - The formatting options to apply. If null is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the or . - The formatting options to apply. If null is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Returns a string representation of an object of primitive type. - - A value to display as a string. - Whether or not to quote string literals. - Whether or not to display integral literals in hexadecimal. - A string representation of an object of primitive type (or null if the type is not supported). - - Handles , , , - , , , , , - , , , , , - and null. - - - - - Returns a C# string literal with the given value. - - The value that the resulting string literal should have. - True to put (double) quotes around the string literal. - A string literal with the given value. - - Escapes non-printable characters. - - - - - Returns a C# character literal with the given value. - - The value that the resulting character literal should have. - True to put (single) quotes around the character literal. - A character literal with the given value. - - Escapes non-printable characters. - - - - - Some error messages are particularly confusing if multiple placeholders are substituted - with the same string. For example, "cannot convert from 'Foo' to 'Foo'". Usually, this - occurs because there are two types in different contexts with the same qualified name. - The solution is to provide additional qualification on each symbol - either a source - location, an assembly path, or an assembly identity. - - - Performs the same function as ErrArgFlags::Unique in the native compiler. - - - - - Virtual dispatch based on a symbol's particular class. - - Additional argument type - Result type - - - - Call the correct VisitXXX method in this class based on the particular type of symbol that is passed in. - Return default(TResult) if symbol is null - - - - - The default Visit method called when visiting any and - if visiting specific symbol method VisitXXX is not overridden - - The visited symbol - Additional argument - - - - - Called when visiting an ; Override this method with - specific implementation; Calling default if it's not - overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this method with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Should override this method if - want to visit members of the namespace; Calling - and loop over each member; calling on it Or override this with - specific implementation; Calling if it's not - overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting an ; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting an - Error symbol is created when there is compiler error; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting an ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting an ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Called when visiting a ; Override this with specific - implementation; Calling default if it's not overridden - - The visited symbol - Additional argument - - - - - Returns the System.String that represents the current TypedConstant. - - A System.String that represents the current TypedConstant. - - - - Represents a non-terminal node in the syntax tree. - - - - - Used by structured trivia which has "parent == null", and therefore must know its - SyntaxTree explicitly when created. - - - - - Creates a clone of a red node that can be used as a root of given syntaxTree. - New node has no parents, position == 0, and syntaxTree as specified. - - - - - Returns a non-null SyntaxTree that owns this node. - If this node was created with an explicit non-null SyntaxTree, returns that tree. - Otherwise, if this node has a non-null parent, then returns the parent's SyntaxTree. - Otherwise, returns a newly created SyntaxTree rooted at this node, preserving this node's reference identity. - - - - - The node that contains this node in its Children collection. - - - - - Gets the of the node. - - - - - The language name that this node is syntax of. - - - - - The list of trivia that appears before this node in the source code. - - - - - The list of trivia that appears after this node in the source code. - - - - - Returns the string representation of this node, not including its leading and trailing trivia. - - The string representation of this node, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - - Returns full string representation of this node including its leading and trailing trivia. - - The full string representation of this node including its leading and trailing trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this node to the specified TextWriter. - - - - - Serialize the syntax node into a byte stream. - - - - - Deserialize a syntax node from the byte stream. - - - - - Determines whether this node is structurally equivalent to another. - - - - - Gets a for this node. - - - - - Gets a SyntaxReference for this syntax node. SyntaxReferences can be used to - regain access to a syntax node without keeping the entire tree and source text in - memory. - - - - - Gets a list of all the diagnostics in the sub tree that has this node as its root. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets the first directive of the tree rooted by this node. - - - - - Gets the last directive of the tree rooted by this node. - - - - - Returns child node or token that contains given position. - - - - - Gets the first token of the tree rooted by this node. - - True if zero width tokens should be included, false by - default. - True if skipped tokens should be included, false by default. - True if directives should be included, false by default. - True if documentation comments should be - included, false by default. - - - - - Gets the first token of the tree rooted by this node. - - Only tokens for which this predicate returns true are included. Pass null to include - all tokens. - Steps into trivia if this is not null. Only trivia for which this delegate returns - true are included. - - - - - Gets the last non-zero-width token of the tree rooted by this node. - - True if zero width tokens should be included, false by - default. - True if skipped tokens should be included, false by default. - True if directives should be included, false by default. - True if documentation comments should be - included, false by default. - - - - - Finds a token according to the following rules: - 1) If position matches the End of the node/s FullSpan and the node is CompilationUnit, - then EoF is returned. - - 2) If node.FullSpan.Contains(position) the token that contains given position is - returned. If stepInto is not Nothing, then structured trivia that satisfies the - condition will also be visited during the search. - - 3) Otherwise an IndexOutOfRange is thrown - - - - - Finds a token according to the following rules: - 1) If position matches the End of the node/s FullSpan and the node is CompilationUnit, - then EoF is returned. - - 2) If node.FullSpan.Contains(position) then the token that contains given position is - returned. - - 3) Otherwise an ArgumentOutOfRangeException is thrown - - - - - Finds a token according to the following rules: - 1) If position matches the End of the node/s FullSpan and the node is CompilationUnit, - then EoF is returned. - - 2) If node.FullSpan.Contains(position) then the token that contains given position is - returned. - - 3) Otherwise an ArgumentOutOfRangeException is thrown - - - - - Finds a descendant trivia of this node at the specified position, where the position is - within the span of the node. - - The character position of the trivia relative to the beginning of - the file. - Specifies a function that determines per trivia node, whether to - descend into structured trivia of that node. - - - - - Finds a descendant trivia of this node whose span includes the supplied position. - - The character position of the trivia relative to the beginning of - the file. - Whether to search inside structured trivia. - - - - Determine if this node is structurally equivalent to another. - - - - - - - Represents a which descends an entire graph and - may replace or remove visited SyntaxNodes in depth-first order. - - - - - The parsed representation of a C# source document. - - - - - The options used by the parser to produce the syntax tree. - - - - - Produces a clone of a CSharpSyntaxNode which will have current syntax tree as its parent. - - Caller must guarantee that if the same instance of CSharpSyntaxNode makes multiple calls - to this function, only one result is observable. - - Type of the syntax node. - The original syntax node. - A clone of the original syntax node that has current SyntaxTree as its parent. - - - - Gets the root node of the syntax tree. - - - - - Gets the root node of the syntax tree if it is available. - - - - - Gets the root node of the syntax tree asynchronously. - - - - - Returns the root of the syntax tree strongly typed to . - - - Ensure that is true for this tree prior to invoking this method. - - Throws this exception if is false. - - - - Determines if two trees are the same, disregarding trivia differences. - - The tree to compare against. - If true then the trees are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Stores positions where preprocessor state change. Sorted by position. - The updated state can be found in array at the same index. - - - - - Preprocessor states corresponding to positions in . - - - - - Create a new syntax tree from a syntax node. - - - - - Internal helper for class to create a new syntax tree rooted at the given root node. - This method does not create a clone of the given root, but instead preserves it's reference identity. - - NOTE: This method is only intended to be used from property. - NOTE: Do not use this method elsewhere, instead use method for creating a syntax tree. - - - - - Produces a syntax tree by parsing the source text. - - - - - Produces a syntax tree by parsing the source text. - - - - - Produces a syntax tree by parsing the source file. - - - - - Create a new syntax based off this tree using a new source text. - - If the new source text is a minor change from the current source text an incremental parse will occur - reusing most of the current syntax tree internal data. Otherwise, a full parse will using the new - source text. - - - - - Produces a pessimistic list of spans that denote the regions of text in this tree that - are changed from the text of the old tree. - - The old tree. - The list is pessimistic because it may claim more or larger regions than actually changed. - - - - Gets a list of text changes that when applied to the old tree produce this tree. - - The old tree. - The list of changes may be different than the original changes that produced this tree. - - - - Gets the location in terms of path, line and column for a given span. - - Span within the tree. - Cancallation token. - - that contains path, line and column information. - The values are not affected by line mapping directives (#line). - - - - - Gets the location in terms of path, line and column after applying source line mapping directives (#line). - - Span within the tree. - Cancallation token. - - A valid that contains path, line and column information. - - If the location path is mapped the resulting path is the path specified in the corresponding #line, - otherwise it's . - - A location path is considered mapped if the first #line directive that preceeds it and that - either specifies an explicit file path or is #line default exists and specifies an explicit path. - - - - - Gets a for a . FileLinePositionSpans are used - primarily for diagnostics and source locations. - - The source to convert. - Returns a boolean indicating whether this span is considered hidden or not. - A resulting . - - - - Are there any hidden regions in the tree? - - True if there is at least one hidden region. - - - - Gets a for the specified text span. - - - - - Gets a list of all the diagnostics in the sub tree that has the specified node as its root. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the token and any related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in either the sub tree that has the specified node as its root or - associated with the token and its related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in the syntax tree. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Represents a visitor that visits only the single CSharpSyntaxNode - passed into its Visit method and produces - a value of the type specified by the parameter. - - - The type of the return value this visitor's Visit method. - - - - Called when the visitor visits a IdentifierNameSyntax node. - - - Called when the visitor visits a QualifiedNameSyntax node. - - - Called when the visitor visits a GenericNameSyntax node. - - - Called when the visitor visits a TypeArgumentListSyntax node. - - - Called when the visitor visits a AliasQualifiedNameSyntax node. - - - Called when the visitor visits a PredefinedTypeSyntax node. - - - Called when the visitor visits a ArrayTypeSyntax node. - - - Called when the visitor visits a ArrayRankSpecifierSyntax node. - - - Called when the visitor visits a PointerTypeSyntax node. - - - Called when the visitor visits a NullableTypeSyntax node. - - - Called when the visitor visits a BaseClassWithArgumentsSyntax node. - - - Called when the visitor visits a OmittedTypeArgumentSyntax node. - - - Called when the visitor visits a ParenthesizedExpressionSyntax node. - - - Called when the visitor visits a PrefixUnaryExpressionSyntax node. - - - Called when the visitor visits a PostfixUnaryExpressionSyntax node. - - - Called when the visitor visits a MemberAccessExpressionSyntax node. - - - Called when the visitor visits a ConditionalAccessExpressionSyntax node. - - - Called when the visitor visits a MemberBindingExpressionSyntax node. - - - Called when the visitor visits a ElementBindingExpressionSyntax node. - - - Called when the visitor visits a BinaryExpressionSyntax node. - - - Called when the visitor visits a ConditionalExpressionSyntax node. - - - Called when the visitor visits a ThisExpressionSyntax node. - - - Called when the visitor visits a BaseExpressionSyntax node. - - - Called when the visitor visits a LiteralExpressionSyntax node. - - - Called when the visitor visits a MakeRefExpressionSyntax node. - - - Called when the visitor visits a RefTypeExpressionSyntax node. - - - Called when the visitor visits a RefValueExpressionSyntax node. - - - Called when the visitor visits a CheckedExpressionSyntax node. - - - Called when the visitor visits a DefaultExpressionSyntax node. - - - Called when the visitor visits a TypeOfExpressionSyntax node. - - - Called when the visitor visits a SizeOfExpressionSyntax node. - - - Called when the visitor visits a InvocationExpressionSyntax node. - - - Called when the visitor visits a ElementAccessExpressionSyntax node. - - - Called when the visitor visits a ArgumentListSyntax node. - - - Called when the visitor visits a BracketedArgumentListSyntax node. - - - Called when the visitor visits a ArgumentSyntax node. - - - Called when the visitor visits a NameColonSyntax node. - - - Called when the visitor visits a CastExpressionSyntax node. - - - Called when the visitor visits a AnonymousMethodExpressionSyntax node. - - - Called when the visitor visits a SimpleLambdaExpressionSyntax node. - - - Called when the visitor visits a ParenthesizedLambdaExpressionSyntax node. - - - Called when the visitor visits a InitializerExpressionSyntax node. - - - Called when the visitor visits a ObjectCreationExpressionSyntax node. - - - Called when the visitor visits a AnonymousObjectMemberDeclaratorSyntax node. - - - Called when the visitor visits a AnonymousObjectCreationExpressionSyntax node. - - - Called when the visitor visits a ArrayCreationExpressionSyntax node. - - - Called when the visitor visits a ImplicitArrayCreationExpressionSyntax node. - - - Called when the visitor visits a StackAllocArrayCreationExpressionSyntax node. - - - Called when the visitor visits a QueryExpressionSyntax node. - - - Called when the visitor visits a QueryBodySyntax node. - - - Called when the visitor visits a FromClauseSyntax node. - - - Called when the visitor visits a LetClauseSyntax node. - - - Called when the visitor visits a JoinClauseSyntax node. - - - Called when the visitor visits a JoinIntoClauseSyntax node. - - - Called when the visitor visits a WhereClauseSyntax node. - - - Called when the visitor visits a OrderByClauseSyntax node. - - - Called when the visitor visits a OrderingSyntax node. - - - Called when the visitor visits a SelectClauseSyntax node. - - - Called when the visitor visits a GroupClauseSyntax node. - - - Called when the visitor visits a QueryContinuationSyntax node. - - - Called when the visitor visits a OmittedArraySizeExpressionSyntax node. - - - Called when the visitor visits a GlobalStatementSyntax node. - - - Called when the visitor visits a BlockSyntax node. - - - Called when the visitor visits a LocalDeclarationStatementSyntax node. - - - Called when the visitor visits a VariableDeclarationSyntax node. - - - Called when the visitor visits a VariableDeclaratorSyntax node. - - - Called when the visitor visits a EqualsValueClauseSyntax node. - - - Called when the visitor visits a ExpressionStatementSyntax node. - - - Called when the visitor visits a EmptyStatementSyntax node. - - - Called when the visitor visits a LabeledStatementSyntax node. - - - Called when the visitor visits a GotoStatementSyntax node. - - - Called when the visitor visits a BreakStatementSyntax node. - - - Called when the visitor visits a ContinueStatementSyntax node. - - - Called when the visitor visits a ReturnStatementSyntax node. - - - Called when the visitor visits a ThrowStatementSyntax node. - - - Called when the visitor visits a YieldStatementSyntax node. - - - Called when the visitor visits a WhileStatementSyntax node. - - - Called when the visitor visits a DoStatementSyntax node. - - - Called when the visitor visits a ForStatementSyntax node. - - - Called when the visitor visits a ForEachStatementSyntax node. - - - Called when the visitor visits a UsingStatementSyntax node. - - - Called when the visitor visits a FixedStatementSyntax node. - - - Called when the visitor visits a CheckedStatementSyntax node. - - - Called when the visitor visits a UnsafeStatementSyntax node. - - - Called when the visitor visits a LockStatementSyntax node. - - - Called when the visitor visits a IfStatementSyntax node. - - - Called when the visitor visits a ElseClauseSyntax node. - - - Called when the visitor visits a SwitchStatementSyntax node. - - - Called when the visitor visits a SwitchSectionSyntax node. - - - Called when the visitor visits a SwitchLabelSyntax node. - - - Called when the visitor visits a TryStatementSyntax node. - - - Called when the visitor visits a CatchClauseSyntax node. - - - Called when the visitor visits a CatchDeclarationSyntax node. - - - Called when the visitor visits a CatchFilterClauseSyntax node. - - - Called when the visitor visits a FinallyClauseSyntax node. - - - Called when the visitor visits a CompilationUnitSyntax node. - - - Called when the visitor visits a ExternAliasDirectiveSyntax node. - - - Called when the visitor visits a UsingDirectiveSyntax node. - - - Called when the visitor visits a NamespaceDeclarationSyntax node. - - - Called when the visitor visits a AttributeListSyntax node. - - - Called when the visitor visits a AttributeTargetSpecifierSyntax node. - - - Called when the visitor visits a AttributeSyntax node. - - - Called when the visitor visits a AttributeArgumentListSyntax node. - - - Called when the visitor visits a AttributeArgumentSyntax node. - - - Called when the visitor visits a NameEqualsSyntax node. - - - Called when the visitor visits a TypeParameterListSyntax node. - - - Called when the visitor visits a TypeParameterSyntax node. - - - Called when the visitor visits a ClassDeclarationSyntax node. - - - Called when the visitor visits a StructDeclarationSyntax node. - - - Called when the visitor visits a InterfaceDeclarationSyntax node. - - - Called when the visitor visits a EnumDeclarationSyntax node. - - - Called when the visitor visits a DelegateDeclarationSyntax node. - - - Called when the visitor visits a EnumMemberDeclarationSyntax node. - - - Called when the visitor visits a BaseListSyntax node. - - - Called when the visitor visits a TypeParameterConstraintClauseSyntax node. - - - Called when the visitor visits a ConstructorConstraintSyntax node. - - - Called when the visitor visits a ClassOrStructConstraintSyntax node. - - - Called when the visitor visits a TypeConstraintSyntax node. - - - Called when the visitor visits a FieldDeclarationSyntax node. - - - Called when the visitor visits a EventFieldDeclarationSyntax node. - - - Called when the visitor visits a ExplicitInterfaceSpecifierSyntax node. - - - Called when the visitor visits a MethodDeclarationSyntax node. - - - Called when the visitor visits a OperatorDeclarationSyntax node. - - - Called when the visitor visits a ConversionOperatorDeclarationSyntax node. - - - Called when the visitor visits a ConstructorDeclarationSyntax node. - - - Called when the visitor visits a ConstructorInitializerSyntax node. - - - Called when the visitor visits a DestructorDeclarationSyntax node. - - - Called when the visitor visits a PropertyDeclarationSyntax node. - - - Called when the visitor visits a EventDeclarationSyntax node. - - - Called when the visitor visits a IndexerDeclarationSyntax node. - - - Called when the visitor visits a AccessorListSyntax node. - - - Called when the visitor visits a AccessorDeclarationSyntax node. - - - Called when the visitor visits a ParameterListSyntax node. - - - Called when the visitor visits a BracketedParameterListSyntax node. - - - Called when the visitor visits a ParameterSyntax node. - - - Called when the visitor visits a IncompleteMemberSyntax node. - - - Called when the visitor visits a DeclarationExpressionSyntax node. - - - Called when the visitor visits a SkippedTokensTriviaSyntax node. - - - Called when the visitor visits a DocumentationCommentTriviaSyntax node. - - - Called when the visitor visits a TypeCrefSyntax node. - - - Called when the visitor visits a QualifiedCrefSyntax node. - - - Called when the visitor visits a NameMemberCrefSyntax node. - - - Called when the visitor visits a IndexerMemberCrefSyntax node. - - - Called when the visitor visits a OperatorMemberCrefSyntax node. - - - Called when the visitor visits a ConversionOperatorMemberCrefSyntax node. - - - Called when the visitor visits a CrefParameterListSyntax node. - - - Called when the visitor visits a CrefBracketedParameterListSyntax node. - - - Called when the visitor visits a CrefParameterSyntax node. - - - Called when the visitor visits a XmlElementSyntax node. - - - Called when the visitor visits a XmlElementStartTagSyntax node. - - - Called when the visitor visits a XmlElementEndTagSyntax node. - - - Called when the visitor visits a XmlEmptyElementSyntax node. - - - Called when the visitor visits a XmlNameSyntax node. - - - Called when the visitor visits a XmlPrefixSyntax node. - - - Called when the visitor visits a XmlTextAttributeSyntax node. - - - Called when the visitor visits a XmlCrefAttributeSyntax node. - - - Called when the visitor visits a XmlNameAttributeSyntax node. - - - Called when the visitor visits a XmlTextSyntax node. - - - Called when the visitor visits a XmlCDataSectionSyntax node. - - - Called when the visitor visits a XmlProcessingInstructionSyntax node. - - - Called when the visitor visits a XmlCommentSyntax node. - - - Called when the visitor visits a IfDirectiveTriviaSyntax node. - - - Called when the visitor visits a ElifDirectiveTriviaSyntax node. - - - Called when the visitor visits a ElseDirectiveTriviaSyntax node. - - - Called when the visitor visits a EndIfDirectiveTriviaSyntax node. - - - Called when the visitor visits a RegionDirectiveTriviaSyntax node. - - - Called when the visitor visits a EndRegionDirectiveTriviaSyntax node. - - - Called when the visitor visits a ErrorDirectiveTriviaSyntax node. - - - Called when the visitor visits a WarningDirectiveTriviaSyntax node. - - - Called when the visitor visits a BadDirectiveTriviaSyntax node. - - - Called when the visitor visits a DefineDirectiveTriviaSyntax node. - - - Called when the visitor visits a UndefDirectiveTriviaSyntax node. - - - Called when the visitor visits a LineDirectiveTriviaSyntax node. - - - Called when the visitor visits a PragmaWarningDirectiveTriviaSyntax node. - - - Called when the visitor visits a PragmaChecksumDirectiveTriviaSyntax node. - - - Called when the visitor visits a ReferenceDirectiveTriviaSyntax node. - - - - Represents a visitor that visits only the single CSharpSyntaxNode - passed into its Visit method. - - - - Called when the visitor visits a IdentifierNameSyntax node. - - - Called when the visitor visits a QualifiedNameSyntax node. - - - Called when the visitor visits a GenericNameSyntax node. - - - Called when the visitor visits a TypeArgumentListSyntax node. - - - Called when the visitor visits a AliasQualifiedNameSyntax node. - - - Called when the visitor visits a PredefinedTypeSyntax node. - - - Called when the visitor visits a ArrayTypeSyntax node. - - - Called when the visitor visits a ArrayRankSpecifierSyntax node. - - - Called when the visitor visits a PointerTypeSyntax node. - - - Called when the visitor visits a NullableTypeSyntax node. - - - Called when the visitor visits a BaseClassWithArgumentsSyntax node. - - - Called when the visitor visits a OmittedTypeArgumentSyntax node. - - - Called when the visitor visits a ParenthesizedExpressionSyntax node. - - - Called when the visitor visits a PrefixUnaryExpressionSyntax node. - - - Called when the visitor visits a PostfixUnaryExpressionSyntax node. - - - Called when the visitor visits a MemberAccessExpressionSyntax node. - - - Called when the visitor visits a ConditionalAccessExpressionSyntax node. - - - Called when the visitor visits a MemberBindingExpressionSyntax node. - - - Called when the visitor visits a ElementBindingExpressionSyntax node. - - - Called when the visitor visits a BinaryExpressionSyntax node. - - - Called when the visitor visits a ConditionalExpressionSyntax node. - - - Called when the visitor visits a ThisExpressionSyntax node. - - - Called when the visitor visits a BaseExpressionSyntax node. - - - Called when the visitor visits a LiteralExpressionSyntax node. - - - Called when the visitor visits a MakeRefExpressionSyntax node. - - - Called when the visitor visits a RefTypeExpressionSyntax node. - - - Called when the visitor visits a RefValueExpressionSyntax node. - - - Called when the visitor visits a CheckedExpressionSyntax node. - - - Called when the visitor visits a DefaultExpressionSyntax node. - - - Called when the visitor visits a TypeOfExpressionSyntax node. - - - Called when the visitor visits a SizeOfExpressionSyntax node. - - - Called when the visitor visits a InvocationExpressionSyntax node. - - - Called when the visitor visits a ElementAccessExpressionSyntax node. - - - Called when the visitor visits a ArgumentListSyntax node. - - - Called when the visitor visits a BracketedArgumentListSyntax node. - - - Called when the visitor visits a ArgumentSyntax node. - - - Called when the visitor visits a NameColonSyntax node. - - - Called when the visitor visits a CastExpressionSyntax node. - - - Called when the visitor visits a AnonymousMethodExpressionSyntax node. - - - Called when the visitor visits a SimpleLambdaExpressionSyntax node. - - - Called when the visitor visits a ParenthesizedLambdaExpressionSyntax node. - - - Called when the visitor visits a InitializerExpressionSyntax node. - - - Called when the visitor visits a ObjectCreationExpressionSyntax node. - - - Called when the visitor visits a AnonymousObjectMemberDeclaratorSyntax node. - - - Called when the visitor visits a AnonymousObjectCreationExpressionSyntax node. - - - Called when the visitor visits a ArrayCreationExpressionSyntax node. - - - Called when the visitor visits a ImplicitArrayCreationExpressionSyntax node. - - - Called when the visitor visits a StackAllocArrayCreationExpressionSyntax node. - - - Called when the visitor visits a QueryExpressionSyntax node. - - - Called when the visitor visits a QueryBodySyntax node. - - - Called when the visitor visits a FromClauseSyntax node. - - - Called when the visitor visits a LetClauseSyntax node. - - - Called when the visitor visits a JoinClauseSyntax node. - - - Called when the visitor visits a JoinIntoClauseSyntax node. - - - Called when the visitor visits a WhereClauseSyntax node. - - - Called when the visitor visits a OrderByClauseSyntax node. - - - Called when the visitor visits a OrderingSyntax node. - - - Called when the visitor visits a SelectClauseSyntax node. - - - Called when the visitor visits a GroupClauseSyntax node. - - - Called when the visitor visits a QueryContinuationSyntax node. - - - Called when the visitor visits a OmittedArraySizeExpressionSyntax node. - - - Called when the visitor visits a GlobalStatementSyntax node. - - - Called when the visitor visits a BlockSyntax node. - - - Called when the visitor visits a LocalDeclarationStatementSyntax node. - - - Called when the visitor visits a VariableDeclarationSyntax node. - - - Called when the visitor visits a VariableDeclaratorSyntax node. - - - Called when the visitor visits a EqualsValueClauseSyntax node. - - - Called when the visitor visits a ExpressionStatementSyntax node. - - - Called when the visitor visits a EmptyStatementSyntax node. - - - Called when the visitor visits a LabeledStatementSyntax node. - - - Called when the visitor visits a GotoStatementSyntax node. - - - Called when the visitor visits a BreakStatementSyntax node. - - - Called when the visitor visits a ContinueStatementSyntax node. - - - Called when the visitor visits a ReturnStatementSyntax node. - - - Called when the visitor visits a ThrowStatementSyntax node. - - - Called when the visitor visits a YieldStatementSyntax node. - - - Called when the visitor visits a WhileStatementSyntax node. - - - Called when the visitor visits a DoStatementSyntax node. - - - Called when the visitor visits a ForStatementSyntax node. - - - Called when the visitor visits a ForEachStatementSyntax node. - - - Called when the visitor visits a UsingStatementSyntax node. - - - Called when the visitor visits a FixedStatementSyntax node. - - - Called when the visitor visits a CheckedStatementSyntax node. - - - Called when the visitor visits a UnsafeStatementSyntax node. - - - Called when the visitor visits a LockStatementSyntax node. - - - Called when the visitor visits a IfStatementSyntax node. - - - Called when the visitor visits a ElseClauseSyntax node. - - - Called when the visitor visits a SwitchStatementSyntax node. - - - Called when the visitor visits a SwitchSectionSyntax node. - - - Called when the visitor visits a SwitchLabelSyntax node. - - - Called when the visitor visits a TryStatementSyntax node. - - - Called when the visitor visits a CatchClauseSyntax node. - - - Called when the visitor visits a CatchDeclarationSyntax node. - - - Called when the visitor visits a CatchFilterClauseSyntax node. - - - Called when the visitor visits a FinallyClauseSyntax node. - - - Called when the visitor visits a CompilationUnitSyntax node. - - - Called when the visitor visits a ExternAliasDirectiveSyntax node. - - - Called when the visitor visits a UsingDirectiveSyntax node. - - - Called when the visitor visits a NamespaceDeclarationSyntax node. - - - Called when the visitor visits a AttributeListSyntax node. - - - Called when the visitor visits a AttributeTargetSpecifierSyntax node. - - - Called when the visitor visits a AttributeSyntax node. - - - Called when the visitor visits a AttributeArgumentListSyntax node. - - - Called when the visitor visits a AttributeArgumentSyntax node. - - - Called when the visitor visits a NameEqualsSyntax node. - - - Called when the visitor visits a TypeParameterListSyntax node. - - - Called when the visitor visits a TypeParameterSyntax node. - - - Called when the visitor visits a ClassDeclarationSyntax node. - - - Called when the visitor visits a StructDeclarationSyntax node. - - - Called when the visitor visits a InterfaceDeclarationSyntax node. - - - Called when the visitor visits a EnumDeclarationSyntax node. - - - Called when the visitor visits a DelegateDeclarationSyntax node. - - - Called when the visitor visits a EnumMemberDeclarationSyntax node. - - - Called when the visitor visits a BaseListSyntax node. - - - Called when the visitor visits a TypeParameterConstraintClauseSyntax node. - - - Called when the visitor visits a ConstructorConstraintSyntax node. - - - Called when the visitor visits a ClassOrStructConstraintSyntax node. - - - Called when the visitor visits a TypeConstraintSyntax node. - - - Called when the visitor visits a FieldDeclarationSyntax node. - - - Called when the visitor visits a EventFieldDeclarationSyntax node. - - - Called when the visitor visits a ExplicitInterfaceSpecifierSyntax node. - - - Called when the visitor visits a MethodDeclarationSyntax node. - - - Called when the visitor visits a OperatorDeclarationSyntax node. - - - Called when the visitor visits a ConversionOperatorDeclarationSyntax node. - - - Called when the visitor visits a ConstructorDeclarationSyntax node. - - - Called when the visitor visits a ConstructorInitializerSyntax node. - - - Called when the visitor visits a DestructorDeclarationSyntax node. - - - Called when the visitor visits a PropertyDeclarationSyntax node. - - - Called when the visitor visits a EventDeclarationSyntax node. - - - Called when the visitor visits a IndexerDeclarationSyntax node. - - - Called when the visitor visits a AccessorListSyntax node. - - - Called when the visitor visits a AccessorDeclarationSyntax node. - - - Called when the visitor visits a ParameterListSyntax node. - - - Called when the visitor visits a BracketedParameterListSyntax node. - - - Called when the visitor visits a ParameterSyntax node. - - - Called when the visitor visits a IncompleteMemberSyntax node. - - - Called when the visitor visits a DeclarationExpressionSyntax node. - - - Called when the visitor visits a SkippedTokensTriviaSyntax node. - - - Called when the visitor visits a DocumentationCommentTriviaSyntax node. - - - Called when the visitor visits a TypeCrefSyntax node. - - - Called when the visitor visits a QualifiedCrefSyntax node. - - - Called when the visitor visits a NameMemberCrefSyntax node. - - - Called when the visitor visits a IndexerMemberCrefSyntax node. - - - Called when the visitor visits a OperatorMemberCrefSyntax node. - - - Called when the visitor visits a ConversionOperatorMemberCrefSyntax node. - - - Called when the visitor visits a CrefParameterListSyntax node. - - - Called when the visitor visits a CrefBracketedParameterListSyntax node. - - - Called when the visitor visits a CrefParameterSyntax node. - - - Called when the visitor visits a XmlElementSyntax node. - - - Called when the visitor visits a XmlElementStartTagSyntax node. - - - Called when the visitor visits a XmlElementEndTagSyntax node. - - - Called when the visitor visits a XmlEmptyElementSyntax node. - - - Called when the visitor visits a XmlNameSyntax node. - - - Called when the visitor visits a XmlPrefixSyntax node. - - - Called when the visitor visits a XmlTextAttributeSyntax node. - - - Called when the visitor visits a XmlCrefAttributeSyntax node. - - - Called when the visitor visits a XmlNameAttributeSyntax node. - - - Called when the visitor visits a XmlTextSyntax node. - - - Called when the visitor visits a XmlCDataSectionSyntax node. - - - Called when the visitor visits a XmlProcessingInstructionSyntax node. - - - Called when the visitor visits a XmlCommentSyntax node. - - - Called when the visitor visits a IfDirectiveTriviaSyntax node. - - - Called when the visitor visits a ElifDirectiveTriviaSyntax node. - - - Called when the visitor visits a ElseDirectiveTriviaSyntax node. - - - Called when the visitor visits a EndIfDirectiveTriviaSyntax node. - - - Called when the visitor visits a RegionDirectiveTriviaSyntax node. - - - Called when the visitor visits a EndRegionDirectiveTriviaSyntax node. - - - Called when the visitor visits a ErrorDirectiveTriviaSyntax node. - - - Called when the visitor visits a WarningDirectiveTriviaSyntax node. - - - Called when the visitor visits a BadDirectiveTriviaSyntax node. - - - Called when the visitor visits a DefineDirectiveTriviaSyntax node. - - - Called when the visitor visits a UndefDirectiveTriviaSyntax node. - - - Called when the visitor visits a LineDirectiveTriviaSyntax node. - - - Called when the visitor visits a PragmaWarningDirectiveTriviaSyntax node. - - - Called when the visitor visits a PragmaChecksumDirectiveTriviaSyntax node. - - - Called when the visitor visits a ReferenceDirectiveTriviaSyntax node. - - - - Represents a that descends an entire graph - visiting each CSharpSyntaxNode and its child SyntaxNodes and s in depth-first order. - - - - - A SyntaxReference implementation that lazily translates the result (CSharpSyntaxNode) of the - original syntax reference to a syntax reference for its NamespaceDeclarationSyntax. - - - - - this is a basic do-nothing implementation of a syntax reference - - - - - Creates a new syntax token with all whitespace and end of line trivia replaced with - regularly formatted trivia. - - The token to normalize. - An optional sequence of whitespace characters that defines a - single level of indentation. - If true the replaced trivia is elastic trivia. - - - - Creates a new syntax trivia list with all whitespace and end of line trivia replaced with - regularly formatted trivia. - - The trivia list to normalize. - An optional sequence of whitespace characters that defines a - single level of indentation. - If true the replaced trivia is elastic trivia. - - - - Updates the given SimpleNameSyntax node with the given identifier token. - This function is a wrapper that calls WithIdentifier on derived syntax nodes. - - - - The given simple name updated with the given identifier. - - - - A class containing factory methods for constructing syntax nodes, tokens and trivia. - - - - - A trivia with kind EndOfLineTrivia containing both the carriage return and line feed - characters. - - - - - A trivia with kind EndOfLineTrivia containing a single line feed character. - - - - - A trivia with kind EndOfLineTrivia containing a single carriage return character. - - - - - A trivia with kind WhitespaceTrivia containing a single space character. - - - - - A trivia with kind WhitespaceTrivia containing a single tab character. - - - - - An elastic trivia with kind EndOfLineTrivia containing both the carriage return and line feed characters. - Elastic trivia are used to denote trivia that was not produced by parsing source text, and are usually not - preserved during formatting. - - - - - An elastic trivia with kind EndOfLineTrivia containing a single line feed character. Elastic trivia are used - to denote trivia that was not produced by parsing source text, and are usually not preserved during - formatting. - - - - - An elastic trivia with kind EndOfLineTrivia containing a single carriage return character. Elastic trivia - are used to denote trivia that was not produced by parsing source text, and are usually not preserved during - formatting. - - - - - An elastic trivia with kind WhitespaceTrivia containing a single space character. Elastic trivia are used to - denote trivia that was not produced by parsing source text, and are usually not preserved during formatting. - - - - - An elastic trivia with kind WhitespaceTrivia containing a single tab character. Elastic trivia are used to - denote trivia that was not produced by parsing source text, and are usually not preserved during formatting. - - - - - An elastic trivia with kind WhitespaceTrivia containing no characters. Elastic marker trivia are included - automatically by factory methods when trivia is not specified. Syntax formatting will replace elastic - markers with appropriate trivia. - - - - - Creates a trivia with kind EndOfLineTrivia containing the specified text. - - The text of the trivia. Any text can be specified here, however only carriage return and - line feed characters are recognized by the parser as end of line. - If true, the trivia produced is an elastic trivia. Elastic trivia are used to denote - trivia that was not produced by parsing source text, and are usually not preserved during - formatting. - - - - Creates a trivia with kind WhitespaceTrivia containing the specified text. - - The text of the whitespace. Any text can be specified here, however only specific - whitespace characters are recognized by the parser. - If true, the trivia produced is an elastic trivia. Elastic trivia are used to denote - trivia that was not produced by parsing source text, and are usually not preserved during - formatting. - - - - Creates a trivia with kind either SingleLineCommentTrivia or MultiLineCommentTrivia containing the specified - text. - - The entire text of the comment including the leading '//' token for single line comments - or stop or start tokens for multiline comments. - - - - Creates a trivia with kind DisabledTextTrivia. Disabled text corresponds to any text between directives that - is not considered active. - - - - - Creates a trivia with kind PreprocessingMessageTrivia. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - A representing the specific kind of SyntaxTrivia. One of - WhitespaceTrivia, EndOfLineTrivia, CommentTrivia, - DocumentationCommentExteriorTrivia, DisabledTextTrivia. - - - The actual text of this token. - - - - - Creates a token corresponding to a syntax kind. This method can be used for token syntax kinds whose text - can be inferred by the kind alone. - - A syntax kind value for a token. These have the suffix Token or Keyword. - - - - - Creates a token corresponding to syntax kind. This method can be used for token syntax kinds whose text can - be inferred by the kind alone. - - A list of trivia immediately preceding the token. - A syntax kind value for a token. These have the suffix Token or Keyword. - A list of trivia immediately following the token. - - - - Creates a token corresponding to syntax kind. This method gives control over token Text and ValueText. - - For example, consider the text '<see cref="operator &#43;"/>'. To create a token for the value of - the operator symbol (&#43;), one would call - Token(default(SyntaxTriviaList), SyntaxKind.PlusToken, "&#43;", "+", default(SyntaxTriviaList)). - - A list of trivia immediately preceding the token. - A syntax kind value for a token. These have the suffix Token or Keyword. - The text from which this this token was created (e.g. lexed). - How C# should interpret the text of this token. - A list of trivia immediately following the token. - - - - Creates a missing token corresponding to syntax kind. A missing token is produced by the parser when an - expected token is not found. A missing token has no text and normally has associated diagnostics. - - A syntax kind value for a token. These have the suffix Token or Keyword. - - - - Creates a missing token corresponding to syntax kind. A missing token is produced by the parser when an - expected token is not found. A missing token has no text and normally has associated diagnostics. - - A list of trivia immediately preceding the token. - A syntax kind value for a token. These have the suffix Token or Keyword. - A list of trivia immediately following the token. - - - - Creates a token with kind IdentifierToken containing the specified text. - The raw text of the identifier name, including any escapes or leading '@' - character. - - - - - Creates a token with kind IdentifierToken containing the specified text. - - A list of trivia immediately preceding the token. - The raw text of the identifier name, including any escapes or leading '@' - character. - A list of trivia immediately following the token. - - - - Creates a verbatim token with kind IdentifierToken containing the specified text. - - A list of trivia immediately preceding the token. - The raw text of the identifier name, including any escapes or leading '@' - character as it is in source. - The canonical value of the token's text. - A list of trivia immediately following the token. - - - - Creates a token with kind IdentifierToken containing the specified text. - - A list of trivia immediately preceding the token. - An alternative SyntaxKind that can be inferred for this token in special - contexts. These are usually keywords. - The raw text of the identifier name, including any escapes or leading '@' - character. - The text of the identifier name without escapes or leading '@' character. - A list of trivia immediately following the token. - - - - - Creates a token with kind NumericLiteralToken from a 4-byte signed integer value. - - The 4-byte signed integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 4-byte signed integer value. - - The raw text of the literal. - The 4-byte signed integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 4-byte signed integer value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte signed integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from a 4-byte unsigned integer value. - - The 4-byte unsigned integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 4-byte unsigned integer value. - - The raw text of the literal. - The 4-byte unsigned integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteraToken from the text and corresponding 4-byte unsigned integer value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte unsigned integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from an 8-byte signed integer value. - - The 8-byte signed integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte signed integer value. - - The raw text of the literal. - The 8-byte signed integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte signed integer value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte signed integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from an 8-byte unsigned integer value. - - The 8-byte unsigned integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte unsigned integer value. - - The raw text of the literal. - The 8-byte unsigned integer value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte unsigned integer value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte unsigned integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from a 4-byte floating point value. - - The 4-byte floating point value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 4-byte floating point value. - - The raw text of the literal. - The 4-byte floating point value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 4-byte floating point value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte floating point value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from an 8-byte floating point value. - - The 8-byte floating point value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte floating point value. - - The raw text of the literal. - The 8-byte floating point value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding 8-byte floating point value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte floating point value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind NumericLiteralToken from a decimal value. - - The decimal value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding decimal value. - - The raw text of the literal. - The decimal value to be represented by the returned token. - - - - Creates a token with kind NumericLiteralToken from the text and corresponding decimal value. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The decimal value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind StringLiteralToken from a string value. - - The string value to be represented by the returned token. - - - - Creates a token with kind StringLiteralToken from the text and corresponding string value. - - The raw text of the literal, including quotes and escape sequences. - The string value to be represented by the returned token. - - - - Creates a token with kind StringLiteralToken from the text and corresponding string value. - - A list of trivia immediately preceding the token. - The raw text of the literal, including quotes and escape sequences. - The string value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind CharacterLiteralToken from a character value. - - The character value to be represented by the returned token. - - - - Creates a token with kind CharacterLiteralToken from the text and corresponding character value. - - The raw text of the literal, including quotes and escape sequences. - The character value to be represented by the returned token. - - - - Creates a token with kind CharacterLiteralToken from the text and corresponding character value. - - A list of trivia immediately preceding the token. - The raw text of the literal, including quotes and escape sequences. - The character value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Creates a token with kind BadToken. - - A list of trivia immediately preceding the token. - The raw text of the bad token. - A list of trivia immediately following the token. - - - - Creates a token with kind XmlTextLiteralToken. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The xml text value. - A list of trivia immediately following the token. - - - - Creates a token with kind XmlTextLiteralNewLineToken. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The xml text new line value. - A list of trivia immediately following the token. - - - - Creates a token with kind XmlEntityLiteralToken. - - A list of trivia immediately preceding the token. - The raw text of the literal. - The xml entity value. - A list of trivia immediately following the token. - - - - Creates a trivia with kind DocumentationCommentExteriorTrivia. - - The raw text of the literal. - - - - Creates an empty list of syntax nodes. - - The specific type of the element nodes. - - - - Creates a singleton list of syntax nodes. - - The specific type of the element nodes. - The single element node. - - - - - Creates a list of syntax nodes. - - The specific type of the element nodes. - A sequence of element nodes. - - - - Creates an empty list of tokens. - - - - - Creates a singleton list of tokens. - - The single token. - - - - Creates a list of tokens. - - An array of tokens. - - - - Creates a list of tokens. - - - - - - - Creates a trivia from a StructuredTriviaSyntax node. - - - - - Creates an empty list of trivia. - - - - - Creates a singleton list of trivia. - - A single trivia. - - - - Creates a list of trivia. - - An array of trivia. - - - - Creates a list of trivia. - - A sequence of trivia. - - - - Creates an empty separated list. - - The specific type of the element nodes. - - - - Creates a singleton separated list. - - The specific type of the element nodes. - A single node. - - - - Creates a separated list of nodes from a sequence of nodes, synthesizing comma separators in between. - - The specific type of the element nodes. - A sequence of syntax nodes. - - - - Creates a separated list of nodes from a sequence of nodes and a sequence of separator tokens. - - The specific type of the element nodes. - A sequence of syntax nodes. - A sequence of token to be interleaved between the nodes. The number of tokens must - be one less than the number of nodes. - - - - Creates a separated list from a sequence of nodes and tokens, starting with a node and alternating between additional nodes and separator tokens. - - The specific type of the element nodes. - A sequence of nodes or tokens, alternating between nodes and separator tokens. - - - - Creates a separated list from a , where the list elements start with a node and then alternate between - additional nodes and separator tokens. - - The specific type of the element nodes. - The list of nodes and tokens. - - - - Creates an empty . - - - - - Create a from a sequence of . - - The sequence of nodes and tokens - - - - Create a from one or more . - - The nodes and tokens - - - - Creates an IdentifierNameSyntax node. - - The identifier name. - - - - Create a new syntax tree from a syntax node. - - - - - Produces a syntax tree by parsing the source text. - - - - - Produces a syntax tree by parsing the source text. - - - - - Parse a list of trivia rules for leading trivia. - - - - - Parse a list of trivia rules for leading trivia. - - - - - Parse a list of trivia using the parsing rules for trailing trivia. - - - - - Parse a C# language token. - - The text of the token including leading and trailing trivia. - Optional offset into text. - - - - Parse a sequence of C# language tokens. - - The text of all the tokens. - An integer to use as the starting position of the first token. - Optional offset into text. - Parse options. - - - - Parse a NameSyntax node using the grammar rule for names. - - - - - Parse a TypeNameSyntax node using the grammar rule for type names. - - - - - Parse an ExpressionSyntax node using the lowest precedence grammar rule for expressions. - - The text of the expression. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse a StatementSyntaxNode using grammar rule for statements. - - The text of the statement. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse a CompilationUnitSyntax using the grammar rule for an entire compilation unit (file). To produce a - SyntaxTree instance, use CSharpSyntaxTree.ParseText instead. - - The text of the compilation unit. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - - - - Parse a ParameterListSyntax node. - - The text of the parenthesized parameter list. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse a BracketedParameterListSyntax node. - - The text of the bracketed parameter list. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse an ArgumentListSyntax node. - - The text of the parenthesized argument list. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse a BracketedArgumentListSyntax node. - - The text of the bracketed argument list. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Parse an AttributeArgumentListSyntax node. - - The text of the attribute argument list. - Optional offset into text. - The optional parse options to use. If no options are specified default options are - used. - True if extra tokens in the input should be treated as an error - - - - Helper method for wrapping a string in an SourceText. - - - - - Determines if two trees are the same, disregarding trivia differences. - - The original tree. - The new tree. - - If true then the trees are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Determines if two syntax nodes are the same, disregarding trivia differences. - - The old node. - The new node. - - If true then the nodes are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Determines if two syntax nodes are the same, disregarding trivia differences. - - The old node. - The new node. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Determines if two syntax tokens are the same, disregarding trivia differences. - - The old token. - The new token. - - - - Determines if two lists of tokens are the same, disregarding trivia differences. - - The old token list. - The new token list. - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If true then the nodes are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If true then the nodes are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Gets the containing expression that is actually a language expression and not just typed - as an ExpressionSyntax for convenience. For example, NameSyntax nodes on the right side - of qualified names and member access expressions are not language expressions, yet the - containing qualified names or member access expressions are indeed expressions. - - - - - Gets the containing expression that is actually a language expression and not just typed - as an ExpressionSyntax for convenience. For example, NameSyntax nodes on the right side - of qualified names and member access expressions are not language expressions, yet the - containing qualified names or member access expressions are indeed expressions. - Similarly, if the input node is a cref part that is not independently meaningful, then - the result will be the full cref. - - - - - Converts a generic name expression into one without the generic arguments. - - - - - - - Determines whether the given text is considered a syntactically complete submission. - - - - Creates a new BlockSyntax instance. - - - Creates a new BlockSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new IdentifierNameSyntax instance. - - - Creates a new QualifiedNameSyntax instance. - - - Creates a new QualifiedNameSyntax instance. - - - Creates a new GenericNameSyntax instance. - - - Creates a new GenericNameSyntax instance. - - - Creates a new GenericNameSyntax instance. - - - Creates a new TypeArgumentListSyntax instance. - - - Creates a new TypeArgumentListSyntax instance. - - - Creates a new AliasQualifiedNameSyntax instance. - - - Creates a new AliasQualifiedNameSyntax instance. - - - Creates a new AliasQualifiedNameSyntax instance. - - - Creates a new PredefinedTypeSyntax instance. - - - Creates a new ArrayTypeSyntax instance. - - - Creates a new ArrayTypeSyntax instance. - - - Creates a new ArrayRankSpecifierSyntax instance. - - - Creates a new ArrayRankSpecifierSyntax instance. - - - Creates a new PointerTypeSyntax instance. - - - Creates a new PointerTypeSyntax instance. - - - Creates a new NullableTypeSyntax instance. - - - Creates a new NullableTypeSyntax instance. - - - Creates a new BaseClassWithArgumentsSyntax instance. - - - Creates a new BaseClassWithArgumentsSyntax instance. - - - Creates a new OmittedTypeArgumentSyntax instance. - - - Creates a new OmittedTypeArgumentSyntax instance. - - - Creates a new ParenthesizedExpressionSyntax instance. - - - Creates a new ParenthesizedExpressionSyntax instance. - - - Creates a new PrefixUnaryExpressionSyntax instance. - - - Creates a new PrefixUnaryExpressionSyntax instance. - - - Creates a new PostfixUnaryExpressionSyntax instance. - - - Creates a new PostfixUnaryExpressionSyntax instance. - - - Creates a new MemberAccessExpressionSyntax instance. - - - Creates a new MemberAccessExpressionSyntax instance. - - - Creates a new ConditionalAccessExpressionSyntax instance. - - - Creates a new ConditionalAccessExpressionSyntax instance. - - - Creates a new MemberBindingExpressionSyntax instance. - - - Creates a new MemberBindingExpressionSyntax instance. - - - Creates a new ElementBindingExpressionSyntax instance. - - - Creates a new ElementBindingExpressionSyntax instance. - - - Creates a new BinaryExpressionSyntax instance. - - - Creates a new BinaryExpressionSyntax instance. - - - Creates a new ConditionalExpressionSyntax instance. - - - Creates a new ConditionalExpressionSyntax instance. - - - Creates a new ThisExpressionSyntax instance. - - - Creates a new ThisExpressionSyntax instance. - - - Creates a new BaseExpressionSyntax instance. - - - Creates a new BaseExpressionSyntax instance. - - - Creates a new LiteralExpressionSyntax instance. - - - Creates a new LiteralExpressionSyntax instance. - - - Creates a new MakeRefExpressionSyntax instance. - - - Creates a new MakeRefExpressionSyntax instance. - - - Creates a new RefTypeExpressionSyntax instance. - - - Creates a new RefTypeExpressionSyntax instance. - - - Creates a new RefValueExpressionSyntax instance. - - - Creates a new RefValueExpressionSyntax instance. - - - Creates a new CheckedExpressionSyntax instance. - - - Creates a new CheckedExpressionSyntax instance. - - - Creates a new DefaultExpressionSyntax instance. - - - Creates a new DefaultExpressionSyntax instance. - - - Creates a new TypeOfExpressionSyntax instance. - - - Creates a new TypeOfExpressionSyntax instance. - - - Creates a new SizeOfExpressionSyntax instance. - - - Creates a new SizeOfExpressionSyntax instance. - - - Creates a new InvocationExpressionSyntax instance. - - - Creates a new InvocationExpressionSyntax instance. - - - Creates a new ElementAccessExpressionSyntax instance. - - - Creates a new ElementAccessExpressionSyntax instance. - - - Creates a new ArgumentListSyntax instance. - - - Creates a new ArgumentListSyntax instance. - - - Creates a new BracketedArgumentListSyntax instance. - - - Creates a new BracketedArgumentListSyntax instance. - - - Creates a new ArgumentSyntax instance. - - - Creates a new ArgumentSyntax instance. - - - Creates a new NameColonSyntax instance. - - - Creates a new NameColonSyntax instance. - - - Creates a new NameColonSyntax instance. - - - Creates a new CastExpressionSyntax instance. - - - Creates a new CastExpressionSyntax instance. - - - Creates a new AnonymousMethodExpressionSyntax instance. - - - Creates a new AnonymousMethodExpressionSyntax instance. - - - Creates a new AnonymousMethodExpressionSyntax instance. - - - Creates a new SimpleLambdaExpressionSyntax instance. - - - Creates a new SimpleLambdaExpressionSyntax instance. - - - Creates a new ParenthesizedLambdaExpressionSyntax instance. - - - Creates a new ParenthesizedLambdaExpressionSyntax instance. - - - Creates a new ParenthesizedLambdaExpressionSyntax instance. - - - Creates a new InitializerExpressionSyntax instance. - - - Creates a new InitializerExpressionSyntax instance. - - - Creates a new ObjectCreationExpressionSyntax instance. - - - Creates a new ObjectCreationExpressionSyntax instance. - - - Creates a new ObjectCreationExpressionSyntax instance. - - - Creates a new AnonymousObjectMemberDeclaratorSyntax instance. - - - Creates a new AnonymousObjectMemberDeclaratorSyntax instance. - - - Creates a new AnonymousObjectCreationExpressionSyntax instance. - - - Creates a new AnonymousObjectCreationExpressionSyntax instance. - - - Creates a new ArrayCreationExpressionSyntax instance. - - - Creates a new ArrayCreationExpressionSyntax instance. - - - Creates a new ArrayCreationExpressionSyntax instance. - - - Creates a new ImplicitArrayCreationExpressionSyntax instance. - - - Creates a new ImplicitArrayCreationExpressionSyntax instance. - - - Creates a new ImplicitArrayCreationExpressionSyntax instance. - - - Creates a new StackAllocArrayCreationExpressionSyntax instance. - - - Creates a new StackAllocArrayCreationExpressionSyntax instance. - - - Creates a new QueryExpressionSyntax instance. - - - Creates a new QueryBodySyntax instance. - - - Creates a new QueryBodySyntax instance. - - - Creates a new FromClauseSyntax instance. - - - Creates a new FromClauseSyntax instance. - - - Creates a new FromClauseSyntax instance. - - - Creates a new FromClauseSyntax instance. - - - Creates a new LetClauseSyntax instance. - - - Creates a new LetClauseSyntax instance. - - - Creates a new LetClauseSyntax instance. - - - Creates a new JoinClauseSyntax instance. - - - Creates a new JoinClauseSyntax instance. - - - Creates a new JoinClauseSyntax instance. - - - Creates a new JoinClauseSyntax instance. - - - Creates a new JoinIntoClauseSyntax instance. - - - Creates a new JoinIntoClauseSyntax instance. - - - Creates a new JoinIntoClauseSyntax instance. - - - Creates a new WhereClauseSyntax instance. - - - Creates a new WhereClauseSyntax instance. - - - Creates a new OrderByClauseSyntax instance. - - - Creates a new OrderByClauseSyntax instance. - - - Creates a new OrderingSyntax instance. - - - Creates a new OrderingSyntax instance. - - - Creates a new SelectClauseSyntax instance. - - - Creates a new SelectClauseSyntax instance. - - - Creates a new GroupClauseSyntax instance. - - - Creates a new GroupClauseSyntax instance. - - - Creates a new QueryContinuationSyntax instance. - - - Creates a new QueryContinuationSyntax instance. - - - Creates a new QueryContinuationSyntax instance. - - - Creates a new OmittedArraySizeExpressionSyntax instance. - - - Creates a new OmittedArraySizeExpressionSyntax instance. - - - Creates a new GlobalStatementSyntax instance. - - - Creates a new BlockSyntax instance. - - - Creates a new BlockSyntax instance. - - - Creates a new LocalDeclarationStatementSyntax instance. - - - Creates a new LocalDeclarationStatementSyntax instance. - - - Creates a new LocalDeclarationStatementSyntax instance. - - - Creates a new VariableDeclarationSyntax instance. - - - Creates a new VariableDeclarationSyntax instance. - - - Creates a new VariableDeclaratorSyntax instance. - - - Creates a new VariableDeclaratorSyntax instance. - - - Creates a new VariableDeclaratorSyntax instance. - - - Creates a new EqualsValueClauseSyntax instance. - - - Creates a new EqualsValueClauseSyntax instance. - - - Creates a new ExpressionStatementSyntax instance. - - - Creates a new ExpressionStatementSyntax instance. - - - Creates a new EmptyStatementSyntax instance. - - - Creates a new EmptyStatementSyntax instance. - - - Creates a new LabeledStatementSyntax instance. - - - Creates a new LabeledStatementSyntax instance. - - - Creates a new LabeledStatementSyntax instance. - - - Creates a new GotoStatementSyntax instance. - - - Creates a new GotoStatementSyntax instance. - - - Creates a new GotoStatementSyntax instance. - - - Creates a new BreakStatementSyntax instance. - - - Creates a new BreakStatementSyntax instance. - - - Creates a new ContinueStatementSyntax instance. - - - Creates a new ContinueStatementSyntax instance. - - - Creates a new ReturnStatementSyntax instance. - - - Creates a new ReturnStatementSyntax instance. - - - Creates a new ThrowStatementSyntax instance. - - - Creates a new ThrowStatementSyntax instance. - - - Creates a new YieldStatementSyntax instance. - - - Creates a new YieldStatementSyntax instance. - - - Creates a new WhileStatementSyntax instance. - - - Creates a new WhileStatementSyntax instance. - - - Creates a new DoStatementSyntax instance. - - - Creates a new DoStatementSyntax instance. - - - Creates a new ForStatementSyntax instance. - - - Creates a new ForStatementSyntax instance. - - - Creates a new ForStatementSyntax instance. - - - Creates a new ForEachStatementSyntax instance. - - - Creates a new ForEachStatementSyntax instance. - - - Creates a new ForEachStatementSyntax instance. - - - Creates a new UsingStatementSyntax instance. - - - Creates a new UsingStatementSyntax instance. - - - Creates a new UsingStatementSyntax instance. - - - Creates a new FixedStatementSyntax instance. - - - Creates a new FixedStatementSyntax instance. - - - Creates a new CheckedStatementSyntax instance. - - - Creates a new CheckedStatementSyntax instance. - - - Creates a new UnsafeStatementSyntax instance. - - - Creates a new UnsafeStatementSyntax instance. - - - Creates a new LockStatementSyntax instance. - - - Creates a new LockStatementSyntax instance. - - - Creates a new IfStatementSyntax instance. - - - Creates a new IfStatementSyntax instance. - - - Creates a new IfStatementSyntax instance. - - - Creates a new ElseClauseSyntax instance. - - - Creates a new ElseClauseSyntax instance. - - - Creates a new SwitchStatementSyntax instance. - - - Creates a new SwitchStatementSyntax instance. - - - Creates a new SwitchStatementSyntax instance. - - - Creates a new SwitchSectionSyntax instance. - - - Creates a new SwitchSectionSyntax instance. - - - Creates a new SwitchLabelSyntax instance. - - - Creates a new SwitchLabelSyntax instance. - - - Creates a new TryStatementSyntax instance. - - - Creates a new TryStatementSyntax instance. - - - Creates a new TryStatementSyntax instance. - - - Creates a new CatchClauseSyntax instance. - - - Creates a new CatchClauseSyntax instance. - - - Creates a new CatchClauseSyntax instance. - - - Creates a new CatchDeclarationSyntax instance. - - - Creates a new CatchDeclarationSyntax instance. - - - Creates a new CatchDeclarationSyntax instance. - - - Creates a new CatchFilterClauseSyntax instance. - - - Creates a new CatchFilterClauseSyntax instance. - - - Creates a new FinallyClauseSyntax instance. - - - Creates a new FinallyClauseSyntax instance. - - - Creates a new CompilationUnitSyntax instance. - - - Creates a new CompilationUnitSyntax instance. - - - Creates a new CompilationUnitSyntax instance. - - - Creates a new ExternAliasDirectiveSyntax instance. - - - Creates a new ExternAliasDirectiveSyntax instance. - - - Creates a new ExternAliasDirectiveSyntax instance. - - - Creates a new UsingDirectiveSyntax instance. - - - Creates a new UsingDirectiveSyntax instance. - - - Creates a new UsingDirectiveSyntax instance. - - - Creates a new NamespaceDeclarationSyntax instance. - - - Creates a new NamespaceDeclarationSyntax instance. - - - Creates a new NamespaceDeclarationSyntax instance. - - - Creates a new AttributeListSyntax instance. - - - Creates a new AttributeListSyntax instance. - - - Creates a new AttributeListSyntax instance. - - - Creates a new AttributeTargetSpecifierSyntax instance. - - - Creates a new AttributeTargetSpecifierSyntax instance. - - - Creates a new AttributeSyntax instance. - - - Creates a new AttributeSyntax instance. - - - Creates a new AttributeArgumentListSyntax instance. - - - Creates a new AttributeArgumentListSyntax instance. - - - Creates a new AttributeArgumentSyntax instance. - - - Creates a new AttributeArgumentSyntax instance. - - - Creates a new NameEqualsSyntax instance. - - - Creates a new NameEqualsSyntax instance. - - - Creates a new NameEqualsSyntax instance. - - - Creates a new TypeParameterListSyntax instance. - - - Creates a new TypeParameterListSyntax instance. - - - Creates a new TypeParameterSyntax instance. - - - Creates a new TypeParameterSyntax instance. - - - Creates a new TypeParameterSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new ClassDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new StructDeclarationSyntax instance. - - - Creates a new InterfaceDeclarationSyntax instance. - - - Creates a new InterfaceDeclarationSyntax instance. - - - Creates a new InterfaceDeclarationSyntax instance. - - - Creates a new InterfaceDeclarationSyntax instance. - - - Creates a new EnumDeclarationSyntax instance. - - - Creates a new EnumDeclarationSyntax instance. - - - Creates a new EnumDeclarationSyntax instance. - - - Creates a new EnumDeclarationSyntax instance. - - - Creates a new DelegateDeclarationSyntax instance. - - - Creates a new DelegateDeclarationSyntax instance. - - - Creates a new DelegateDeclarationSyntax instance. - - - Creates a new DelegateDeclarationSyntax instance. - - - Creates a new EnumMemberDeclarationSyntax instance. - - - Creates a new EnumMemberDeclarationSyntax instance. - - - Creates a new EnumMemberDeclarationSyntax instance. - - - Creates a new BaseListSyntax instance. - - - Creates a new BaseListSyntax instance. - - - Creates a new TypeParameterConstraintClauseSyntax instance. - - - Creates a new TypeParameterConstraintClauseSyntax instance. - - - Creates a new TypeParameterConstraintClauseSyntax instance. - - - Creates a new TypeParameterConstraintClauseSyntax instance. - - - Creates a new ConstructorConstraintSyntax instance. - - - Creates a new ConstructorConstraintSyntax instance. - - - Creates a new ClassOrStructConstraintSyntax instance. - - - Creates a new ClassOrStructConstraintSyntax instance. - - - Creates a new TypeConstraintSyntax instance. - - - Creates a new FieldDeclarationSyntax instance. - - - Creates a new FieldDeclarationSyntax instance. - - - Creates a new FieldDeclarationSyntax instance. - - - Creates a new EventFieldDeclarationSyntax instance. - - - Creates a new EventFieldDeclarationSyntax instance. - - - Creates a new EventFieldDeclarationSyntax instance. - - - Creates a new ExplicitInterfaceSpecifierSyntax instance. - - - Creates a new ExplicitInterfaceSpecifierSyntax instance. - - - Creates a new MethodDeclarationSyntax instance. - - - Creates a new MethodDeclarationSyntax instance. - - - Creates a new MethodDeclarationSyntax instance. - - - Creates a new MethodDeclarationSyntax instance. - - - Creates a new OperatorDeclarationSyntax instance. - - - Creates a new OperatorDeclarationSyntax instance. - - - Creates a new OperatorDeclarationSyntax instance. - - - Creates a new ConversionOperatorDeclarationSyntax instance. - - - Creates a new ConversionOperatorDeclarationSyntax instance. - - - Creates a new ConversionOperatorDeclarationSyntax instance. - - - Creates a new ConstructorDeclarationSyntax instance. - - - Creates a new ConstructorDeclarationSyntax instance. - - - Creates a new ConstructorDeclarationSyntax instance. - - - Creates a new ConstructorDeclarationSyntax instance. - - - Creates a new ConstructorInitializerSyntax instance. - - - Creates a new ConstructorInitializerSyntax instance. - - - Creates a new DestructorDeclarationSyntax instance. - - - Creates a new DestructorDeclarationSyntax instance. - - - Creates a new DestructorDeclarationSyntax instance. - - - Creates a new DestructorDeclarationSyntax instance. - - - Creates a new PropertyDeclarationSyntax instance. - - - Creates a new PropertyDeclarationSyntax instance. - - - Creates a new PropertyDeclarationSyntax instance. - - - Creates a new PropertyDeclarationSyntax instance. - - - Creates a new EventDeclarationSyntax instance. - - - Creates a new EventDeclarationSyntax instance. - - - Creates a new EventDeclarationSyntax instance. - - - Creates a new EventDeclarationSyntax instance. - - - Creates a new IndexerDeclarationSyntax instance. - - - Creates a new IndexerDeclarationSyntax instance. - - - Creates a new IndexerDeclarationSyntax instance. - - - Creates a new AccessorListSyntax instance. - - - Creates a new AccessorListSyntax instance. - - - Creates a new AccessorDeclarationSyntax instance. - - - Creates a new AccessorDeclarationSyntax instance. - - - Creates a new AccessorDeclarationSyntax instance. - - - Creates a new ParameterListSyntax instance. - - - Creates a new ParameterListSyntax instance. - - - Creates a new BracketedParameterListSyntax instance. - - - Creates a new BracketedParameterListSyntax instance. - - - Creates a new ParameterSyntax instance. - - - Creates a new ParameterSyntax instance. - - - Creates a new IncompleteMemberSyntax instance. - - - Creates a new IncompleteMemberSyntax instance. - - - Creates a new DeclarationExpressionSyntax instance. - - - Creates a new SkippedTokensTriviaSyntax instance. - - - Creates a new SkippedTokensTriviaSyntax instance. - - - Creates a new DocumentationCommentTriviaSyntax instance. - - - Creates a new DocumentationCommentTriviaSyntax instance. - - - Creates a new TypeCrefSyntax instance. - - - Creates a new QualifiedCrefSyntax instance. - - - Creates a new QualifiedCrefSyntax instance. - - - Creates a new NameMemberCrefSyntax instance. - - - Creates a new NameMemberCrefSyntax instance. - - - Creates a new IndexerMemberCrefSyntax instance. - - - Creates a new IndexerMemberCrefSyntax instance. - - - Creates a new OperatorMemberCrefSyntax instance. - - - Creates a new OperatorMemberCrefSyntax instance. - - - Creates a new OperatorMemberCrefSyntax instance. - - - Creates a new ConversionOperatorMemberCrefSyntax instance. - - - Creates a new ConversionOperatorMemberCrefSyntax instance. - - - Creates a new ConversionOperatorMemberCrefSyntax instance. - - - Creates a new CrefParameterListSyntax instance. - - - Creates a new CrefParameterListSyntax instance. - - - Creates a new CrefBracketedParameterListSyntax instance. - - - Creates a new CrefBracketedParameterListSyntax instance. - - - Creates a new CrefParameterSyntax instance. - - - Creates a new CrefParameterSyntax instance. - - - Creates a new XmlElementSyntax instance. - - - Creates a new XmlElementSyntax instance. - - - Creates a new XmlElementStartTagSyntax instance. - - - Creates a new XmlElementStartTagSyntax instance. - - - Creates a new XmlElementStartTagSyntax instance. - - - Creates a new XmlElementEndTagSyntax instance. - - - Creates a new XmlElementEndTagSyntax instance. - - - Creates a new XmlEmptyElementSyntax instance. - - - Creates a new XmlEmptyElementSyntax instance. - - - Creates a new XmlEmptyElementSyntax instance. - - - Creates a new XmlNameSyntax instance. - - - Creates a new XmlNameSyntax instance. - - - Creates a new XmlNameSyntax instance. - - - Creates a new XmlPrefixSyntax instance. - - - Creates a new XmlPrefixSyntax instance. - - - Creates a new XmlPrefixSyntax instance. - - - Creates a new XmlTextAttributeSyntax instance. - - - Creates a new XmlTextAttributeSyntax instance. - - - Creates a new XmlTextAttributeSyntax instance. - - - Creates a new XmlCrefAttributeSyntax instance. - - - Creates a new XmlCrefAttributeSyntax instance. - - - Creates a new XmlNameAttributeSyntax instance. - - - Creates a new XmlNameAttributeSyntax instance. - - - Creates a new XmlNameAttributeSyntax instance. - - - Creates a new XmlTextSyntax instance. - - - Creates a new XmlTextSyntax instance. - - - Creates a new XmlCDataSectionSyntax instance. - - - Creates a new XmlCDataSectionSyntax instance. - - - Creates a new XmlProcessingInstructionSyntax instance. - - - Creates a new XmlProcessingInstructionSyntax instance. - - - Creates a new XmlProcessingInstructionSyntax instance. - - - Creates a new XmlCommentSyntax instance. - - - Creates a new XmlCommentSyntax instance. - - - Creates a new IfDirectiveTriviaSyntax instance. - - - Creates a new IfDirectiveTriviaSyntax instance. - - - Creates a new ElifDirectiveTriviaSyntax instance. - - - Creates a new ElifDirectiveTriviaSyntax instance. - - - Creates a new ElseDirectiveTriviaSyntax instance. - - - Creates a new ElseDirectiveTriviaSyntax instance. - - - Creates a new EndIfDirectiveTriviaSyntax instance. - - - Creates a new EndIfDirectiveTriviaSyntax instance. - - - Creates a new RegionDirectiveTriviaSyntax instance. - - - Creates a new RegionDirectiveTriviaSyntax instance. - - - Creates a new EndRegionDirectiveTriviaSyntax instance. - - - Creates a new EndRegionDirectiveTriviaSyntax instance. - - - Creates a new ErrorDirectiveTriviaSyntax instance. - - - Creates a new ErrorDirectiveTriviaSyntax instance. - - - Creates a new WarningDirectiveTriviaSyntax instance. - - - Creates a new WarningDirectiveTriviaSyntax instance. - - - Creates a new BadDirectiveTriviaSyntax instance. - - - Creates a new BadDirectiveTriviaSyntax instance. - - - Creates a new DefineDirectiveTriviaSyntax instance. - - - Creates a new DefineDirectiveTriviaSyntax instance. - - - Creates a new DefineDirectiveTriviaSyntax instance. - - - Creates a new UndefDirectiveTriviaSyntax instance. - - - Creates a new UndefDirectiveTriviaSyntax instance. - - - Creates a new UndefDirectiveTriviaSyntax instance. - - - Creates a new LineDirectiveTriviaSyntax instance. - - - Creates a new LineDirectiveTriviaSyntax instance. - - - Creates a new LineDirectiveTriviaSyntax instance. - - - Creates a new PragmaWarningDirectiveTriviaSyntax instance. - - - Creates a new PragmaWarningDirectiveTriviaSyntax instance. - - - Creates a new PragmaWarningDirectiveTriviaSyntax instance. - - - Creates a new PragmaChecksumDirectiveTriviaSyntax instance. - - - Creates a new PragmaChecksumDirectiveTriviaSyntax instance. - - - Creates a new ReferenceDirectiveTriviaSyntax instance. - - - Creates a new ReferenceDirectiveTriviaSyntax instance. - - - - This method is used to keep the code that generates binders in sync - with the code that searches for binders. We don't want the searcher - to skip over any nodes that could have associated binders, especially - if changes are made later. - - "Local binder" is a vague term that refers to binders that represent - scopes for names (e.g. BlockBinders) rather than binders that tweak - default behaviors (e.g. FieldInitializerBinders). Local binders are - created by LocalBinderFactory. - - - - - Given an initializer expression infer the name of anonymous property. - Returns None if unsuccessfull - - - - - An enumerator for diagnostic lists. - - - - - Moves the enumerator to the next diagnostic instance in the diagnostic list. - - Returns true if enumerator moved to the next diagnostic, false if the - enumerator was at the end of the diagnostic list. - - - - The current diagnostic that the enumerator is pointing at. - - - - - This class contains a variety of helper methods for determining whether a - position is within the scope (and not just the span) of a node. In general, - general, the scope extends from the first token up to, but not including, - the last token. For example, the open brace of a block is within the scope - of the block, but the close brace is not. - - - - - A position is considered to be inside a block if it is on or after - the open brace and strictly before the close brace. - - - - - Returns true if position is within the given node and before the first excluded token. - - - - - Used to determine whether it would be appropriate to use the binder for the statement (if any). - Not used to determine whether the position is syntactically within the statement. - - - - - Used to determine whether it would be appropriate to use the binder for the statement (if any). - Not used to determine whether the position is syntactically within the statement. - - - - - Used to determine whether it would be appropriate to use the binder for the statement (if any). - Not used to determine whether the position is syntactically within the statement. - - - - - Determine whether there is any substitution of type parameters that will - make two types identical. - - - - - Determine whether there is any substitution of type parameters that will - make two types identical. - - LHS - RHS - - Substitutions performed so far (or null for none). - Keys are type parameters, values are types (possibly type parameters). - Will be updated with new subsitutions by the callee. - Should be ignored when false is returned. - - True if there exists a type map such that Map(LHS) == Map(RHS). - - Derived from Dev10's BSYMMGR::UnifyTypes. - Two types will not unify if they have different custom modifiers. - - - - - Return true if the given type contains the specified type parameter. - - - - - True if the list has at least one node of the specified kind. - - - - - Tests whether a list contains tokens of a particular kind. - - - The to test for. - Returns true if the list contains a token which matches - -
-
diff --git a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/Microsoft.CodeAnalysis.Common.0.7.4052301-beta.nupkg b/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/Microsoft.CodeAnalysis.Common.0.7.4052301-beta.nupkg deleted file mode 100644 index b48bd06c09..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/Microsoft.CodeAnalysis.Common.0.7.4052301-beta.nupkg and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/ThirdPartyNotices.rtf b/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/ThirdPartyNotices.rtf deleted file mode 100644 index e77a4cad52..0000000000 --- a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/ThirdPartyNotices.rtf +++ /dev/null @@ -1,358 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff39\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Univers};} -{\f41\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};} -{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};} -{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} -{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} -{\f390\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f422\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f423\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;} -{\f426\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f428\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;} -{\f430\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f432\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f435\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;} -{\f436\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f437\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f438\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f439\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;} -{\f440\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f441\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f442\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Univers};} -{\f443\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Univers};}{\f445\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Univers};}{\f446\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Univers};} -{\f449\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Univers};}{\f454\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f452\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f453\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;} -{\f455\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f456\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f459\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;} -{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);} -{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap -\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid2516420 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext1 \slink15 \sqformat \styrsid2516420 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 -\ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid2516420 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar -\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext3 \slink17 \sqformat \styrsid2516420 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid2516420 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar -\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext5 \slink19 \sqformat \styrsid2516420 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid2516420 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext7 \slink21 \sqformat \styrsid2516420 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid2516420 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext9 \slink23 \sqformat \styrsid2516420 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive -\rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid2516420 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink2 \slocked \styrsid2516420 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid2516420 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af39\afs19 -\ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid2516420 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink5 \slocked \styrsid2516420 -Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid2516420 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid2516420 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink8 \slocked \styrsid2516420 Heading 8 Char;}{\* -\cs23 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid2516420 Heading 9 Char;}{\s24\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \slink25 \styrsid2516420 annotation text;}{\*\cs25 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink24 \slocked \styrsid2516420 Comment Text Char;}{\*\cs26 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \styrsid2516420 annotation reference;}{\*\cs27 \additive \rtlch\fcs1 \af0 -\ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid2516420 Hyperlink,Char Char7;}{\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \slink29 \styrsid2516420 header;}{\*\cs29 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink28 \slocked \styrsid2516420 Header Char;}{\s30\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs18\alang1025 \ltrch\fcs0 -\fs18\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \slink31 \ssemihidden \sunhideused \styrsid2516420 Balloon Text;}{\*\cs31 \additive \rtlch\fcs1 \af38\afs18 \ltrch\fcs0 -\fs18\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink30 \slocked \ssemihidden \styrsid2516420 Balloon Text Char;}{\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \slink33 \sunhideused \styrsid1734505 footer;}{\*\cs33 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink32 \slocked \styrsid1734505 Footer Char;}}{\*\listtable{\list\listtemplateid-53848358{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 -\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 -\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0 -\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}} -{\*\listoverridetable{\listoverride\listid752163927\listoverridecount0\ls1}{\listoverride\listid752163927\listoverridecount9{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat -\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel -\listoverridestartat\levelstartat1}\ls2}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid282013\rsid408647\rsid601809\rsid1601216\rsid1734505\rsid1969138\rsid2426331\rsid2456392\rsid2516420\rsid2911943\rsid3095093\rsid3295716\rsid6504186 -\rsid6704546\rsid6772273\rsid6782127\rsid7228328\rsid7342123\rsid9383347\rsid10828784\rsid11500032\rsid14099721\rsid14102507}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} -{\info{\creatim\yr2014\mo3\dy25\hr18\min55}{\revtim\yr2014\mo3\dy25\hr18\min55}{\version1}{\edmins0}{\nofpages3}{\nofwords1458}{\nofchars8316}{\nofcharsws9755}{\vern57435}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw12240\paperh15840\margl720\margr720\margt720\margb720\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin720\dgvorigin720\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot2516420\newtblstyruls\nogrowautofit\remdttm\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal -\nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}\ltrpar \sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar -\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\headerr \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerl \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\footerr \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\headerf \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerf \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} -{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar -\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -\par \hich\af39\dbch\af11\loch\f39 Do Not Translate or Localize -\par -\par \hich\af39\dbch\af11\loch\f39 This file provides information regarding components that are being relicensed to you by Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 -\insrsid2516420 \hich\af39\dbch\af11\loch\f39 under Microsoft's software licensing terms. Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\hich\af39\dbch\af11\loch\f39 reser\hich\af39\dbch\af11\loch\f39 ves all rights not expressly granted herein. -\par -\par \hich\af39\dbch\af11\loch\f39 %% }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION BEGIN HERE -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14102507 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 Copyright (C) Microsoft }{\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Open Technologies, Inc}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 . All rights reserved. -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 -\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 Apache License, Version 2.0 -\par \hich\af39\dbch\af11\loch\f39 Apa\hich\af39\dbch\af11\loch\f39 che License -\par \hich\af39\dbch\af11\loch\f39 Version 2.0, January 2004 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6704546 \hich\af39\dbch\af11\loch\f39 HYPERLINK "http://www.apache.org/licenses/" }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f000000795881f43b1d7f48af2c825dc48527630000 -0000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs27\ul\cf2\insrsid2516420 \hich\af39\dbch\af11\loch\f39 http://www.apache.org/licenses/}}}\sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af39 \ltrch\fcs0 \insrsid2516420 -\par \hich\af39\dbch\af11\loch\f39 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -\par \hich\af39\dbch\af11\loch\f39 1. Definitions. -\par \hich\af39\dbch\af11\loch\f39 "License" shall mean the terms and conditions for use, reprod\hich\af39\dbch\af11\loch\f39 uction, and distribution as defined by Sections 1 through 9 of this document. -\par \hich\af39\dbch\af11\loch\f39 "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -\par \hich\af39\dbch\af11\loch\f39 "Legal Entity" shall mean the union of the acting entity and a\hich\af39\dbch\af11\loch\f39 -ll other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contra -\hich\af39\dbch\af11\loch\f39 c\hich\af39\dbch\af11\loch\f39 t or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -\par \hich\af39\dbch\af11\loch\f39 "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -\par \hich\af39\dbch\af11\loch\f39 "Source" fo\hich\af39\dbch\af11\loch\f39 rm shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -\par \hich\af39\dbch\af11\loch\f39 "Object" form shall mean any form resulting from mechanical transformation or translation of a Sour\hich\af39\dbch\af11\loch\f39 -ce form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -\par \hich\af39\dbch\af11\loch\f39 "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyr\hich\af39\dbch\af11\loch\f39 -ight notice that is included in or attached to the work (an example is provided in the Appendix below). -\par \hich\af39\dbch\af11\loch\f39 "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisi\hich\af39\dbch\af11\loch\f39 -ons, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the in -\hich\af39\dbch\af11\loch\f39 t\hich\af39\dbch\af11\loch\f39 erfaces of, the Work and Derivative Works thereof. -\par \hich\af39\dbch\af11\loch\f39 "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to -\hich\af39\dbch\af11\loch\f39 -Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communic -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -tion sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discuss -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 ng and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -\par \hich\af39\dbch\af11\loch\f39 "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a \hich\af39\dbch\af11\loch\f39 Contribution has been received by Licensor and subsequently incorporated within the Work. -\par \hich\af39\dbch\af11\loch\f39 2. Grant of Copyright License. -\par \hich\af39\dbch\af11\loch\f39 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-ch\hich\af39\dbch\af11\loch\f39 -arge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -\par \hich\af39\dbch\af11\loch\f39 3. Grant of Patent License. -\par \hich\af39\dbch\af11\loch\f39 Subject to \hich\af39\dbch\af11\loch\f39 -the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, imp -\hich\af39\dbch\af11\loch\f39 o\hich\af39\dbch\af11\loch\f39 -rt, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 -Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent inf -\hich\af39\dbch\af11\loch\f39 r\hich\af39\dbch\af11\loch\f39 ingement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -\par \hich\af39\dbch\af11\loch\f39 4. Redistribution. -\par \hich\af39\dbch\af11\loch\f39 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, wi\hich\af39\dbch\af11\loch\f39 -th or without modifications, and in Source or Object form, provided that You meet the following conditions: -\par \hich\af39\dbch\af11\loch\f39 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and -\par \hich\af39\dbch\af11\loch\f39 2. You must cause any modified files to carry prom\hich\af39\dbch\af11\loch\f39 inent notices stating that You changed the files; and -\par \hich\af39\dbch\af11\loch\f39 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices th -\hich\af39\dbch\af11\loch\f39 at do not pertain to any part of the Derivative Works; and -\par \hich\af39\dbch\af11\loch\f39 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such -\hich\af39\dbch\af11\loch\f39 - NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if prov -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 -ded along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You m -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -y add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -\par \hich\af39\dbch\af11\loch\f39 You may add Your o\hich\af39\dbch\af11\loch\f39 -wn copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, a -\hich\af39\dbch\af11\loch\f39 n\hich\af39\dbch\af11\loch\f39 d distribution of the Work otherwise complies with the conditions stated in this License. -\par \hich\af39\dbch\af11\loch\f39 5. Submission of Contributions. -\par \hich\af39\dbch\af11\loch\f39 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall\hich\af39\dbch\af11\loch\f39 - be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding s -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 ch Contributions. -\par \hich\af39\dbch\af11\loch\f39 6. Trademarks. -\par \hich\af39\dbch\af11\loch\f39 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reprod -\hich\af39\dbch\af11\loch\f39 ucing the content of the NOTICE file. -\par \hich\af39\dbch\af11\loch\f39 7. Disclaimer of Warranty. -\par \hich\af39\dbch\af11\loch\f39 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS O\hich\af39\dbch\af11\loch\f39 -F ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -\par \hich\af39\dbch\af11\loch\f39 8. Limitation of Liability. -\par \hich\af39\dbch\af11\loch\f39 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required\hich\af39\dbch\af11\loch\f39 - by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a res -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 -lt of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has -\hich\af39\dbch\af11\loch\f39 b\hich\af39\dbch\af11\loch\f39 een advised of the possibility of such damages. -\par \hich\af39\dbch\af11\loch\f39 9. Accepting Warranty or Additional Liability. -\par \hich\af39\dbch\af11\loch\f39 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other li\hich\af39\dbch\af11\loch\f39 -ability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend -,\hich\af39\dbch\af11\loch\f39 and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -\par \hich\af39\dbch\af11\loch\f39 END OF TERMS AND CONDITIONS -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par \hich\af39\dbch\af11\loch\f39 END\hich\af39\dbch\af11\loch\f39 OF }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid601809\delrsid601809 -\hich\af39\dbch\af11\loch\f39 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100aa5225dfc60600008b1a0000160000007468656d652f7468656d652f -7468656d65312e786d6cec595d8bdb46147d2ff43f08bd3bfe92fcb1c41b6cd9ceb6d94d42eca4e4716c8fadc98e344633de8d0981923c160aa569e943037deb -43691b48a02fe9afd936a54d217fa17746b63c638fbb9b2585a5640d8b343af7ce997bafce1d4997afdc8fa87384134e58dc708b970aae83e3211b9178d2706f -f7bbb99aeb7081e211a22cc60d778eb97b65f7c30f2ea31d11e2083b601ff31dd4704321a63bf93c1fc230e297d814c7706dcc920809384d26f951828ec16f44 -f3a542a1928f10895d274611b8bd311e932176fad2a5bbbb74dea1701a0b2e078634e949d7d8b050d8d1615122f89c0734718e106db830cf881df7f17de13a14 -7101171a6e41fdb9f9ddcb79b4b330a2628bad66d7557f0bbb85c1e8b0a4e64c26836c52cff3bd4a33f3af00546ce23ad54ea553c9fc29001a0e61a52917dda7 -dfaab7dafe02ab81d2438bef76b55d2e1a78cd7f798373d3973f03af40a97f6f03dfed06104503af4029dedfc07b5eb51478065e81527c65035f2d34db5ed5c0 -2b5048497cb8812ef89572b05c6d061933ba6785d77daf5b2d2d9caf50500d5975c929c62c16db6a2d42f758d2058004522448ec88f9148fd110aa3840940c12 -e2ec93490885374531e3305c2815ba8532fc973f4f1da988a01d8c346bc90b98f08d21c9c7e1c3844c45c3fd18bcba1ae4cdcb1fdfbc7cee9c3c7a71f2e89793 -c78f4f1efd9c3a32acf6503cd1ad5e7fffc5df4f3f75fe7afeddeb275fd9f15cc7fffed367bffdfaa51d082b5d85e0d5d7cffe78f1ecd5379ffff9c3130bbc99 -a0810eef930873e73a3e766eb10816a6426032c783e4ed2cfa2122ba45339e701423398bc57f478406fafa1c5164c1b5b019c13b09488c0d787576cf20dc0b93 -9920168fd7c2c8001e30465b2cb146e19a9c4b0b737f164fec9327331d770ba123dbdc018a8dfc766653d05662731984d8a07993a258a0098eb170e4357688b1 -6575770931e27a408609e36c2c9cbbc46921620d499f0c8c6a5a19ed9108f232b711847c1bb139b8e3b418b5adba8d8f4c24dc15885ac8f73135c27815cd048a -6c2efb28a27ac0f791086d247bf364a8e33a5c40a6279832a733c29cdb6c6e24b05e2de9d7405eec693fa0f3c84426821cda7cee23c674649b1d06218aa6366c -8fc4a18efd881f428922e7261336f80133ef10790e7940f1d674df21d848f7e96a701b9455a7b42a107965965872791533a37e7b733a4658490d08bfa1e71189 -4f15f73559f7ff5b5907217df5ed53cbaa2eaaa0371362bda3f6d6647c1b6e5dbc03968cc8c5d7ee369ac53731dc2e9b0decbd74bf976ef77f2fdddbeee7772f -d82b8d06f9965bc574abae36eed1d67dfb9850da13738af7b9daba73e84ca32e0c4a3bf5cc8ab3e7b8690887f24e86090cdc2441cac64998f88488b017a229ec -ef8bae7432e10bd713ee4c19876dbf1ab6fa96783a8b0ed8287d5c2d16e5a3692a1e1c89d578c1cfc6e15143a4e84a75f50896b9576c27ea51794940dabe0d09 -6d329344d942a2ba1c9441520fe610340b09b5b277c2a26e615193ee97a9da6001d4b2acc0d6c9810d57c3f53d30012378a242148f649ed2542fb3ab92f92e33 -bd2d984605c03e625901ab4cd725d7adcb93ab4b4bed0c99364868e566925091513d8c87688417d52947cf42e36d735d5fa5d4a02743a1e683d25ad1a8d6fe8d -c579730d76ebda40635d2968ec1c37dc4ad9879219a269c31dc3633f1c4653a81d2eb7bc884ee0ddd95024e90d7f1e6599265cb4110fd3802bd149d520220227 -0e2551c395cbcfd24063a5218a5bb104827061c9d541562e1a3948ba99643c1ee3a1d0d3ae8dc848a7a7a0f0a95658af2af3f383a5259b41ba7be1e8d819d059 -720b4189f9d5a20ce0887078fb534ca33922f03a3313b255fdad35a685eceaef13550da5e3884e43b4e828ba98a77025e5191d7596c5403b5bac1902aa8564d1 -080713d960f5a01add34eb1a2987ad5df7742319394d34573dd35015d935ed2a66ccb06c036bb13c5f93d7582d430c9aa677f854bad725b7bed4bab57d42d625 -20e059fc2c5df70c0d41a3b69acca026196fcab0d4ecc5a8d93b960b3c85da599a84a6fa95a5dbb5b8653dc23a1d0c9eabf383dd7ad5c2d078b9af549156df3d -f44f136c700fc4a30d2f81675470954af8f09020d810f5d49e24950db845ee8bc5ad0147ce2c210df741c16f7a41c90f72859adfc97965af90abf9cd72aee9fb -e562c72f16daadd243682c228c8a7efacda50bafa2e87cf1e5458d6f7c7d89966fdb2e0d599467eaeb4a5e11575f5f8aa5ed5f5f1c02a2f3a052ead6cbf55625 -572f37bb39afddaae5ea41a5956b57826abbdb0efc5abdfbd0758e14d86b9603afd2a9e52ac520c8799582a45fabe7aa5ea9d4f4aacd5ac76b3e5c6c6360e5a9 -7c2c6201e155bc76ff010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f -7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be -9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980 -ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5b -babac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e -745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f -2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f74 -68656d654d616e616765722e786d6c504b01022d0014000600080000002100aa5225dfc60600008b1a00001600000000000000000000000000d6020000746865 -6d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000d00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cb0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation reference; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; -\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; -\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; -\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; -\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; -\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; -\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; -\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; -\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; -\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; -\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; -\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; -\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; -\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; -\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; -\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; -\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e03a -22779648cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.dll b/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.dll deleted file mode 100644 index c733b7c62f..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.dll and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.xml b/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.xml deleted file mode 100644 index 3dc8a18c54..0000000000 --- a/Packages/Microsoft.CodeAnalysis.Common.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.xml +++ /dev/null @@ -1,20750 +0,0 @@ - - - - Microsoft.CodeAnalysis - - - - - If is set, then will be null. - The only arity in that case will be encoded in the symbol. - - - - - - - - - Case-insensitive operations (mostly comparison) on unicode strings. - - - - - This class seeks to perform one-to-one lowercase Unicode case mappings, which should be culture invariant. - - - - - ToLower implements the one-to-one Unicode lowercase mapping - as descriped in ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt. - The VB spec states that these mappings are used for case-insensitive - comparison - - - If is upper case, then this returns its lower case equivalent. Otherwise, is returned unmodified. - - - - Returns a StringComparer that compares strings according the VB identifier comparison rules. - - - - - Returns a StringComparer that compares strings according the VB identifier comparison rules. - - - - - Determines if two VB identifiers are equal according to the VB identifier comparison rules. - - First identifier to compare - Second identifier to compare - true if the identifiers should be considered the same. - - - - Determines if the string 'value' end with string 'possibleEnd'. - - - - - - - - Compares two VB identifiers according to the VB identifier comparison rules. - - First identifier to compare - Second identifier to compare - -1 if < , 1 if > , 0 if they are equal. - - - - Gets a case-insensitive hash code for VB identifiers. - - identifier to get the hash code for - The hash code for the given identifier - - - - Convert a string to lower case in culture invariant way - - - - - - - In-place convert string in StringBuilder to lower case in culture invariant way - - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Absolute path expected.. - - - - - Looks up a localized string similar to Arrays with more than one dimension cannot be serialized.. - - - - - Looks up a localized string similar to assembly. - - - - - Looks up a localized string similar to Assembly file not found. - - - - - Looks up a localized string similar to Assembly must have at least one module.. - - - - - Looks up a localized string similar to Assembly signing not supported.. - - - - - Looks up a localized string similar to Can't alias a module.. - - - - - Looks up a localized string similar to Can't create a reference to a module.. - - - - - Looks up a localized string similar to Can't create a reference to a submission.. - - - - - Looks up a localized string similar to Can't embed interop types from module.. - - - - - Looks up a localized string similar to class. - - - - - Looks up a localized string similar to Win32 resources, assumed to be in COFF object format, have one or more invalid relocation header values.. - - - - - Looks up a localized string similar to Win32 resources, assumed to be in COFF object format, have an invalid section size.. - - - - - Looks up a localized string similar to Win32 resources, assumed to be in COFF object format, have one or more invalid symbol values.. - - - - - Looks up a localized string similar to Win32 resources, assumed to be in COFF object format, are missing one or both of sections '.rsrc$01' and '.rsrc$02'. - - - - - Looks up a localized string similar to Compilation options must not have errors.. - - - - - Looks up a localized string similar to Compiler Analyzer Failure. - - - - - Looks up a localized string similar to The Compiler Analyzer '{0}' threw an exception with message '{1}'.. - - - - - Looks up a localized string similar to constructor. - - - - - Looks up a localized string similar to delegate. - - - - - Looks up a localized string similar to Empty or invalid file name. - - - - - Looks up a localized string similar to Empty or invalid resource name. - - - - - Looks up a localized string similar to 'end' must not be less than 'start'. - - - - - Looks up a localized string similar to enum. - - - - - Looks up a localized string similar to event. - - - - - Looks up a localized string similar to Expected non-empty public key. - - - - - Looks up a localized string similar to Could not locate the rule set file '{0}'.. - - - - - Looks up a localized string similar to field. - - - - - Looks up a localized string similar to File not found.. - - - - - Looks up a localized string similar to File size exceeds maximum allowed size of a valid metadata file.. - - - - - Looks up a localized string similar to {0}.GetMetadata() must return an instance of {1}.. - - - - - Looks up a localized string similar to Icon stream is not in the expected format.. - - - - - Looks up a localized string similar to <in-memory assembly>. - - - - - Looks up a localized string similar to <in-memory module>. - - - - - Looks up a localized string similar to interface. - - - - - Looks up a localized string similar to Invalid alias.. - - - - - Looks up a localized string similar to Invalid assembly name: '{0}'. - - - - - Looks up a localized string similar to Invalid characters in assembly culture name. - - - - - Looks up a localized string similar to Invalid characters in assembly name. - - - - - Looks up a localized string similar to Invalid compilation options -- submission can't be signed.. - - - - - Looks up a localized string similar to Invalid content type. - - - - - Looks up a localized string similar to Invalid culture name: '{0}'. - - - - - Looks up a localized string similar to Invalid module name specified in metadata module '{0}': '{1}'. - - - - - Looks up a localized string similar to Invalid output kind for submission. DynamicallyLinkedLibrary expected.. - - - - - Looks up a localized string similar to An error occurred while loading the included rule set file {0} - {1}. - - - - - Looks up a localized string similar to Invalid SHA1 hash.. - - - - - Looks up a localized string similar to Invalid size of public key token.. - - - - - Looks up a localized string similar to method. - - - - - Looks up a localized string similar to module. - - - - - Looks up a localized string similar to Module copy can't be used to create an assembly metadata.. - - - - - Looks up a localized string similar to Name cannot be empty.. - - - - - Looks up a localized string similar to Name cannot start with whitespace.. - - - - - Looks up a localized string similar to Name contains invalid characters.. - - - - - Looks up a localized string similar to Output kind not supported.. - - - - - Looks up a localized string similar to parameter. - - - - - Looks up a localized string similar to Path returned by {0}.ResolveMetadataFile must be absolute: '{1}'. - - - - - Looks up a localized string similar to Path returned by {0}.ResolveStrongNameKeyFile must be absolute: '{1}'. - - - - - Looks up a localized string similar to PE image doesn't contain managed metadata.. - - - - - Looks up a localized string similar to PE image not available.. - - - - - Looks up a localized string similar to Previous submission has errors.. - - - - - Looks up a localized string similar to property, indexer. - - - - - Looks up a localized string similar to Reference resolver should return readable non-null stream.. - - - - - Looks up a localized string similar to Resource data provider should return non-null stream. - - - - - Looks up a localized string similar to Resource stream provider should return non-null stream.. - - - - - Looks up a localized string similar to return. - - - - - Looks up a localized string similar to Return type can't be a value type, pointer, by-ref or open generic type. - - - - - Looks up a localized string similar to Return type can't be void, by-ref or open generic type. - - - - - Looks up a localized string similar to The file does not conform to the rule set schema - {0}. - - - - - Looks up a localized string similar to Size has to be positive.. - - - - - Looks up a localized string similar to Then span does not include the end of a line.. - - - - - Looks up a localized string similar to The span does not include the start of a line.. - - - - - Looks up a localized string similar to 'start' must not be negative. - - - - - Looks up a localized string similar to Stream must support read and seek operations.. - - - - - Looks up a localized string similar to struct. - - - - - Looks up a localized string similar to type must be a subclass of SyntaxAnnotation.. - - - - - Looks up a localized string similar to Type must be same as host object type of previous submission.. - - - - - Looks up a localized string similar to type parameter. - - - - - Looks up a localized string similar to Unresolved: . - - - - - Looks up a localized string similar to Value too large to be represented as a 30 bit unsigned integer.. - - - - - Looks up a localized string similar to WindowsRuntime identity can't be retargetable. - - - - - Looks up a localized string similar to References to XML documents are not supported.. - - - - - Constructs and caches already created pseudo-methods. - Every compiled module is supposed to have one of this, created lazily - (multidimensional arrays are not common). - - - - - Acquires an array constructor for a given array type - - - - - Acquires an element getter method for a given array type - - - - - Acquires an element setter method for a given array type - - - - - Acquires an element referencer method for a given array type - - - - - Maps {array type, method kind} tuples to implementing pseudo-methods. - - - - - lazily fetches or creates a new array method. - - - - - "newobj ArrayConstructor" is equivalent of "newarr ElementType" - when working with multidimentsional arrays - - - - - "call ArrayGet" is equivalent of "ldelem ElementType" - when working with multidimentsional arrays - - - - - "call ArrayAddress" is equivalent of "ldelema ElementType" - when working with multidimentsional arrays - - - - - "call ArraySet" is equivalent of "stelem ElementType" - when working with multidimentsional arrays - - - - - Represents a parameter in an array pseudo-method. - - NOTE: It appears that that only number of indeces is used for verification, - types just have to be Int32. - Even though actual arguments can be native ints. - - - - - Represents the "value" parameter of the Set pseudo-method. - - NOTE: unlike index parameters, type of the value parameter must match - the actual element type. - - - - - Base of all array methods. They have a lot in common. - - - - - Block is not reachable or reachability analysis - has not been performed. - - - - - Block can be reached either falling through - from previous block or from branch. - - - - - Block is reachable from try or catch but - finally prevents falling through. - - - - - Returns true if this block has a branch label - and is not a "nop" branch. - - - - - Instructions that are not branches. - - - - - The block contains only the final branch or nothing at all - - - - - Updates position of the current block to account for shorter sizes of previous blocks. - - - - - - If possible, changes the branch code of the current block to the short version and - updates the delta correspondingly. - - Position delta created by previous block size reductions. - - - - replaces branches with more compact code if possible. - * same branch as in the next ===> nop - * branch to the next block ===> nop - * branch to ret block ===> ret - * cond branch over uncond branch ===> flip condition, skip next block - * cond branch to equivalent ===> pop args + nop - - - - - Blocks are identical if: - 1) have same regular instructions - 2) lead to unconditional control transfer (no fall through) - 3) branch with the same instruction to the same label - - - - - Returns reversed branch operation for the current block. - If no reverse opcode can be obtained Nop is returned. - - - - - Abstract Execution state. - If we know something interesting about IL stream we put it here. - - - - - Eval stack's high watermark. - - - - - Current evaluation stack depth. - - - - - Record effects of that currently emitted instruction on the eval stack. - - - - - In some cases we have to get a final IL offset during emit phase, for example for - proper emitting sequence points. The problem is that before the builder is realized we - don't know the actual IL offset, but only {block/offset-in-the-block} pair. - - Thus, whenever we need to mark some IL position we allocate a new marker id, store it - in allocatedILMarkers and reference this IL marker in the entity requiring the IL offset. - - IL markers will be 'materialized' when the builder is realized; the resulting offsets - will be put into allocatedILMarkers array. Note that only markers from reachable blocks - are materialized, the rest will have offset -1. - - - - - Realizes method body. - No more data can be added to the builder after this call. - - - - - Gets all scopes that contain variables. - - Specifies whether scope spans should be reported as edge inclusive - (position at "start + length" is IN the scope). VB EE expects that. - - - - - Gets all scopes that contain variables. - - Specifies whether scope spans should be reported as edge inclusive - (position at "start + length" is IN the scope). VB EE expects that. - - - - - IL opcodes emitted by this builder. - This includes branch instructions that end blocks except if they are fall-through NOPs. - - This count allows compilers to see if emitting a particular statement/expression - actually produced any instructions. - - Example: a label will not result in any code so when emitting debugging information - an extra NOP may be needed if we want to decorate the label with sequence point. - - - - - Marks blocks that are reachable. - - - - - Marks blocks that are recursively reachable from the given block. - - - - - If a label points to a block that does nothing other than passing to block X, - replaces target label's block with block X. - - - - - - Drops blocks that are not reachable - Returns true if any blocks were dropped - - - - - Marks all blocks unreachable. - - - - - Rewrite any block marked as BlockedByFinally as an "infinite loop". - - - Matches the code generated by the native compiler in - ILGENREC::AdjustBlockedLeaveTargets. - - - - - Returns true if the block has the signature of the special - labeled block that follows a complete try/catch or try/finally. - - - - - Returns true if any branches were optimized (that does not include shortening) - We need this because optimizing a branch may result in unreachable code that needs to be eliminated. - - === Example: - - x = 1; - - if (blah) - { - global = 1; - } - else - { - throw null; - } - - return x; - - === rewrites into - - push 1; - - if (blah) - { - global = 1; - ret; - } - else - { - throw null; - } - - // this ret unreachable now! - // even worse - empty stack is assumed thus the ret is illegal. - ret; - - - - - - - Define a sequence point with the given syntax tree and span within it. - - - - - Defines a hidden sequence point. - The effect of this is that debugger will not associate following code - with any source (until it sees a lexically following sequence point). - - This is used for synthetic code that is reachable through labels. - - If such code is not separated from previous sequence point by the means of a hidden sequence point - It looks as a part of the statement that previous sequence point specifies. - As a result, when user steps through the code and goes through a jump to such label, - it will appear as if the jump landed at the beginning of the previous statement. - - NOTE: Also inserted as the first statement of a method that would not otherwise have a leading - sequence point so that step-into will find the method body. - - - - - Define a hidden sequence point at the first statement of - the method so that step-into will find the method body. - - - - - This is called when starting emitting a method for which there is some source. - It is done in case the first sequence point is a hidden point. - Even though hidden points do not have syntax, they need to associate with some document. - - - - - Marks the end of filter condition and start of the actual filter handler. - - - - - See Microsoft.Cci.ILocalScopeProvider.GetIteratorScopes. This is called within an - iterator scope to identify that a field named "<Xyzzy>5__i" is used to represent - a local variable named Xyzzy. The "i" is an integer, which is passed to this method - as the index parameter. - - - - - Puts local variable into current scope. - - - - - Puts local constant into current scope. - - - - - Mark current IL position with a label - - - - - Primary method for emitting string switch jump table - - switch case labels - fall through label for the jump table - Local holding the value to switch on. - This value has already been loaded onto the execution stack. - - Local holding the hash value of the key for emitting - hash table switch. Hash value has already been computed and loaded into keyHash. - This parameter is null if emitting non hash table switch. - - - Delegate to emit string compare call and conditional branch based on the compare result. - - - Delegate to compute string hash consistent with value of keyHash. - - - - - Primary method for emitting integer switch jump table - - switch case labels - fall through label for the jump table - Local holding the value to switch on. - This value has already been loaded onto the execution stack. - - Primitive type code of switch key - - - - Primary method for emitting integer switch jump table - - switch case labels - fall through label for the jump table - Index of the parameter to switch on. - This value has already been loaded onto the execution stack. - - Primitive type code of switch key - - - - Finishes filter condition (and starts actual handler portion of the handler). - Returns the last block of the condition. - - - - - Generates code that creates an instance of multidimensional array - - - - - Generates code that loads an element of a multidimensional array - - - - - Generates code that loads an address of an element of a multidimensional array - - - - - Generates code that stores an element of a multidimensional array - - - - - Contains information about a label. - - - - - Sometimes we need to know if a label is targeted by conditional branches. - For example optimizer can do optimizations of branches into outer try scopes only - if they are unconditional (because there are no conditional Leave opcodes) - - - - - Used when we see a branch, but label is not yet marked. - - - - - Used when label is marked to the code. - - - - - Gets all scopes that contain variables. - - Specifies whether scope spans should be reported as edge inclusive - (position at "start + length" is IN the scope). VB EE expects that. - - - NOTE that edgeInclusive affects only how results are _reported_. - All internal representation is EDGE EXCLUSIVE. - - - - - Returns an ExceptionHandlerRegion for each exception handler clause - beneath the root scope. Each ExceptionHandlerRegion indicates the type - of clause (catch or finally) and the bounds of the try block and clause block. - - - - - Base class for IL scopes where a scope contains IL blocks and other nested - scopes. A scope may represent a scope for variable declarations, an exception - handler clause, or an entire exception handler (multiple clauses). - - - - - Recursively calculates the start and end of the given scope. - Only scopes with locals are actually dumped to the list. - - - - - Recursively calculates the start and end of the given scope. - Only scopes with locals are actually dumped to the list. - - - - - Free any basic blocks owned by this scope or sub-scopes. - - - - - Class that collects content of the scope (blocks, nested scopes, variables etc). - There is one for every opened scope. - - - - - A scope for a single try, catch, or finally clause. If the clause - is a catch clause, ExceptionType will be set. - - - - - A scope for an entire exception handler (a try block with either several - catches or a finally block). Unlike other scopes, this scope contains - nested scopes only, no IL blocks (although nested ExceptionHandlerScopes - for the clauses will contain IL blocks). - - - - - Compares scopes by their start (ascending) and then size (descending). - - - - - These opcodes represent control transfer. - They should not appear inside basic blocks. - - - - - Opcodes that represents a branch to a label. - - - - - Opcodes that represents a branch to a label. - - - - - We need a CCI representation for local constants because they are emitted as locals in - PDB scopes to improve the debugging experience (see LocalScopeProvider.GetConstantsInScope). - - - - - Creates a new LocalDefinition. - - Local symbol, used by edit and continue only, null otherwise. - Name associated with the slot. - Type associated with the slot. - Slot position in the signature. - Contains the synthesized dynamic attributes of the local - True if the local was not declared in source. - Specifies whether slot type should have pinned modifier and whether slot should have byref constraint. - Specifies if the type is Dynamic. - - - - At this level there are two kinds of local variables: - - - Locals - have identities by which consuming code refers to them. - Typical use is a local variable or a compiler generated temp that can be accessed in multiple operations. - Any object can be used as identity. Reference equality is used. - - - Temps - do not have identity. They are borrowed and returned to the free list. - Typical use is a scratch temporary or spilling storage. - - - - - - - Structure that represents a local signature (as in ECMA-335, Partition I, §8.6.1.3 Local signatures). - - - - - Retrieve a local slot by its identity. - - - - - Release a local slot by its identity. - Slot is not associated with identity after this. - - - - - Gets a local slot. - - - - - Frees a local slot. - - - - - An expression that creates an array instance in metadata. Only for use in custom attributes. - - - - - The element type of the array. - - - - - The initial values of the array elements. May be empty. - - - - - An expression that represents a (name, value) pair and that is typically used in method calls, custom attributes and object initializers. - - - - - The name of the parameter or property or field that corresponds to the argument. - - - - - The value of the argument. - - - - - True if the named argument provides the value of a field. - - - - - An expression that results in a System.Type instance. - - - - - The type that will be represented by the System.Type instance. - - - - - Holds on to the method body data. - - - - - This is a list of the using directives that were in scope for this method body. - - - - - This class represents the PermissionSetAttribute specified in source which needs fixup during codegen. - - - PermissionSetAttribute needs fixup when it contains an assignment to the 'File' property as a single named attribute argument. - Fixup performed is ported from SecurityAttributes::FixUpPermissionSetAttribute at ndp\clr\src\vm\securityattributes.cpp. - It involves following steps: - 1) Verifying that the specified file name resolves to a valid path: This is done during binding. - 2) Reading the contents of the file into a byte array. - 3) Convert each byte in the file content into two bytes containing hexa-decimal characters (see method ). - 4) Replacing the 'File = fileName' named argument with 'Hex = hexFileContent' argument, where hexFileContent is the converted output from step 3) above. - - - - - Zero or more positional arguments for the attribute constructor. - - - - - A reference to the constructor that will be used to instantiate this custom attribute during execution (if the attribute is inspected via Reflection). - - - - - Zero or more named arguments that specify values for fields and properties of the attribute. - - - - - The number of positional arguments. - - - - - The number of named arguments. - - - - - The type of the attribute. For example System.AttributeUsageAttribute. - - - - - Exception class to enable generating ERR_PermissionSetAttributeFileReadError while reading the file for PermissionSetAttribute fixup. - - - - - TypeDefinition that represents <PrivateImplementationDetails> class. - The main purpose of this class so far is to contain mapped fields and their types. - - - - - Represents a block in .data - - - - - Simple struct type with explicit size and no members. - - - - - Definition of a simple field mapped to a metadata block - - - - - Just a default implementation of a type definition. - - - - - Represents a sequence point before translation by #line/ExternalSource directives. - - - - - Some features of the compiler (such as anonymous types, pay-as-you-go, NoPIA, ...) - rely on all referenced symbols to go through translate mechanism. Because by default - symbol translator does not translate some of indirectly referenced symbols, such as - type argument, we have to force translation here - - This class provides unified implementation for this functionality. - - - - - Maintains a list of sequence points in a space efficient way. Most of the time sequence points - occur in the same syntax tree, so optimize for that case. Store a sequence point as an offset, and - position in a syntax tree, then translate to CCI format only on demand. - - Use a ArrayBuilder{RawSequencePoint} to create. - - - - - Create a SequencePointList with the raw sequence points from an ArrayBuilder. - A linked list of instances for each syntax tree is created (almost always of length one). - - - - - Get all the sequence points, possibly mapping them using #line/ExternalSource directives, and mapping - file names to debug documents with the given mapping function. - - Function that maps file paths to CCI debug documents - - - - Represents the combination of an IL offset and a source text span. - - - - - Handles storage of strings referenced via tokens in metadata. When items are stored - they are uniquely "associated" with fake token, which is basically a sequential number. - IL gen will use these fake tokens during codegen and later, when actual token values - are known the method bodies will be patched. - To support thse two scenarios we need two maps - Item-->uint, and uint-->Item. (the second is really just a list). - - - - - Class for emitting the switch jump table for switch statements with integral governing type - - - - - Switch key for the jump table - - - - - Primitive type of the switch key - - - - - Fall through label for the jump table - - - - - Integral case labels sorted and indexed by their ConstantValue - - - - - Try to merge with the nextBucket. - If merge results in a better bucket than two original ones, merge and return true. - Else don't merge and return false. - - - - - Switch key for the jump table - - - - - Switch case labels - - - - - Fall through label for the jump table - - - - - Delegate to emit string compare call and conditional branch based on the compare result. - - Key to compare - Case constant to compare the key against - Target label to branch to if key = stringConstant - - - - Delegate to compute string hash code. - This piece is language-specific because VB treats "" and null as equal while C# does not. - - - - - Delegate to emit string compare call - - - - - Delegate to emit string hash - - - - - Local storing the key hash value, used for emitting hash table based string switch. - - - - - Handles storage of items referenced via tokens in metadata (strings or Symbols). - When items are stored they are uniquely "associated" with fake token, which is basically - a sequential number. - IL gen will use these fake tokens during codegen and later, when actual token values are known - the method bodies will be patched. - To support thse two scenarios we need two maps - Item-->uint, and uint-->Item. (the second is really just a list). - - - - - - struct enumerator used in foreach. - - - - - Realizes the array. - - - - - Realizes the array. - - - - - Realizes the array, downcasting each element to a derived type. - - - - - Realizes the array and disposes the builder in one operation. - - - - - Create BitArray with at least the specified number of bits. - - - - - return a bit array with all bits set from index 0 through bitCount-1 - - - - - - - Maky a copy of a bit array. - - - - - - Is the given bit array null? - - - - - Modify this bit vector by bitwise AND-ing each element with the other bit vector. - For the purposes of the intersection, any bits beyond the current length will be treated as zeroes. - Return true if any changes were made to the bits of this bit vector. - - - - - Modify this bit vector by '|'ing each element with the other bit vector. - - - - - - Compute the FNV-1a hash code for a sequence of bytes. - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The sequence of bytes - The FNV-1a hash code for the input sequence - The input sequence was null (IsDefault) - - - - The CachingLookup class provides a convenient representation of an ILookup that is based - upon a potentially slow lookup, and caches lookup results so that subsequent lookups are - fast. Internally a ConcurrentDictionary is used to cache lookup results. The client provides - two delegates to perform lookups: One that maps a key to a IEnumerable of values, and one - that provides all keys. - - The client must provide an IEqualityComparer used for comparing keys. Failed lookups are - cached, but that has the disadvantage that every different failed lookup will consume a - small amount of extra memory. However, that memory can be reclaimed by forcing a full - population of the cache. - - Thread safe. - - - - - Create a CachingLookup. - - A function that takes a key, and returns an IEnumerable of values that - correspond to that key. If no values correspond, the function may either return null or an empty - IEnumerable. - A function that returns an IEnumerable of all keys that have associated values. - A IEqualityComparer used to compare keys. - - - - Does this key have one or more associated values? - - - - - Get the values associated with a key. - - Key to look up. - All values associated with key. Returns an empty IEnumerable if - no values are associated. Never returns null. - - - - Get the number of distinct keys. - Forces a full population of the cache. - - - - - Enumerate all the keys. - Forces a full population of the cache. - - - - - Add the values from all keys to a flat array. - Forces a full population of the cache. - - - - - - Create an instance of the concurrent dictionary. - - The concurrent dictionary - - - - Create a dictionary instance suitable for use as the fully populated map. - - A new, empty dictionary, suitable for use as the fully populated map. - - - - Use the underlying (possibly slow) functions to get the values associated with a key. - - - - - Add a new value with the given key to the given concurrent map. - - The concurrent map to augment. - The key of the new entry. - The added entry. If there was a race, and another thread beat this one, then this returns the previously added entry. - - - - Determines if the given map is fully populated. - - The map to test. - true if the map is fully populated. - - - - Create the fully populated map from an existing map and the key generator. - - The existing map which may be null or a ConcurrentDictionary. - - - - - Fully populate the underlying dictionary. Once this returns, the dictionary is guaranteed - to have every key in it. - - - - - A MultiDictionary that allows only adding, and - preserves the order of values added to the dictionary. - Thread-safe for reading, but not for adding. - - - Always uses the default comparer. - - - - - Each value is either a single V or an . - Null when the dictionary is empty. - Don't access the field directly. - - - - - Add a value to the dictionary. - - - - - Add multiple values to the dictionary. - - - - - Get the number of values assocaited with a key. - - - - - Returns true if one or more items with given key have been added. - - - - - Get all values associated with K, in the order they were added. - Returns empty read-only array if no values were present. - - - - - Get a collection of all the keys. - - - - - The usage is: - var inst = PooledStringBuilder.GetInstance(); - var sb = inst.builder; - ... Do Stuff... - ... sb.ToString() ... - inst.Free(); - - - - - A set of ints that is small, thread-safe and lock free. - Several assumptions have been made that allow it to be small and fast: - 1. Deletes never happen. - 2. The size is small. In dogfooding experiements, 89% had 4 or fewer elements and - 98% had 8 or fewer elements. The largest size was 17. - 3. As a result of assumption 2, linear look-up is good enough. - 4. One value, in this case int.MinValue, is used as a sentinel and may never appear in the set. - - - - - Determine if the given integer appears in the set. - - The value to look up. - true if appears in the set. false otherwise. - - - - Insert the given value into the set. - - The value to insert - true if was added. false if it was already present. - - - - If the given slot is unoccupied, then try to replace it with a new value. - - The slot to examine. - The new value to insert if the slot is unoccupied. - An out param indicating whether the slot was successfully updated. - true if the value in the slot either now contains, or already contained . false otherwise. - - - - Extension methods associated with ConsList. - - - - - Returns the only element of specified sequence if it has exactly one, and default(TSource) otherwise. - Unlike doesn't throw if there is more than one element in the sequence. - - - - - A simple class to implement IGrouping. - - - - - A dictionary that maps strings to all known spellings of that string. Can be used to - efficiently store the set of known type names for a module for both VB and C# while also - answering questions like "do you have a type called Foo" in either a case sensitive or - insensitive manner. - - - - - The collection of extension methods for the type - - - - - Converts a sequence to an immutable array. - - Elemental type of the sequence. - The sequence to convert. - An immutable copy of the contents of the sequence. - If items is null (default) - If the sequence is null, this will throw - - - - Converts a sequence to an immutable array. - - Elemental type of the sequence. - The sequence to convert. - An immutable copy of the contents of the sequence. - If the sequence is null, this will return an empty array. - - - - Converts a sequence to an immutable array. - - Elemental type of the sequence. - The sequence to convert. - An immutable copy of the contents of the sequence. - If the sequence is null, this will return the default (null) array. - - - - Converts an array to an immutable array. The array must not be null. - - - The sequence to convert - - - - - Converts a array to an immutable array. - - - The sequence to convert - - If the sequence is null, this will return the default (null) array. - - - - Converts an array to an immutable array. - - - The sequence to convert - If the array is null, this will return an empty immutable array. - - - - Reads bytes from specified . - - The stream. - Read-only content of the stream. - - - - Maps an immutable array to another immutable array. - - - - The array to map - The mapping delegate - If the items's length is 0, this will return an empty immutable array - - - - Maps an immutable array to another immutable array. - - - - - The sequence to map - The mapping delegate - The extra input used by mapping delegate - If the items's length is 0, this will return an empty immutable array. - - - - Maps an immutable array to another immutable array. - - - - - The sequence to map - The mapping delegate - The extra input used by mapping delegate - If the items's length is 0, this will return an empty immutable array. - - - - Creates a new immutable array based on filtered elements by the predicate. The array must not be null. - - - The array to process - The delegate that defines the conditions of the element to search for. - - - - - Adds all elements of the immutable array into the list; The list must not be null. - - - - - - - - - Casts the immutable array of a Type to an immutable array of its base type. - - - - - - - - - Determines whether this instance and another immutable array are equal. - - - - - The comparer to determine if the two arrays are equal. - True if the two arrays are equal - - - - Returns an empty array if the input array is null (defaut) - - - - - - - - Returns an array of distinct elements, preserving the order in the original array. - If the array has no duplicates, the original array is returned. The original array must not be null. - - - - - - - - - Implements a readonly collection over a set of existing collections. This can be used to - prevent having to copy items from one collection over to another (thus bloating space). - - Note: this is a *collection*, not a *set*. There is no removal of duplicated elements. This - allows us to be able to efficiently do operations like CopyTo, Count, etc. in O(c) time - instead of O(n) (where 'c' is the number of collections and 'n' is the number of elements). - If you have a few collections with many elements in them, then this is an appropriate - collection for you. - - - - - Indicates the reasons why a candidate (or set of candidate) symbols were not considered - correct in SemanticInfo. Higher values take precedence over lower values, so if, for - example, there a symbol with a given name that was inaccessible, and other with the wrong - arity, only the inaccessible one would be reported in the SemanticInfo. - - - - - No CandidateSymbols. - - - - - Only a type or namespace was valid in the given location, but the candidate symbols was - of the wrong kind. - - - - - Only an event was valid in the given location, but the candidate symbols was - of the wrong kind. - - - - - The candidate symbol must be a WithEvents member, but it was not. - - - - - Only an attribute type was valid in the given location, but the candidate symbol was - of the wrong kind. - - - - - The candidate symbol takes a different number of type parameters that was required. - - - - - The candidate symbol existed, but was not allowed to be created in a new expression. - For example, interfaces, static classes, and unconstrained type parameters. - - - - - The candidate symbol existed, but was not allowed to be referenced. For example, the - "get_XXX" method used to implement a property named "XXX" may not be directly - referenced. Similarly, the type "System.Void" can not be directly referenced. - Also occurs if "this" is used in a context (static method or field initializer) - where "this" is not available. - - - - - The candidate symbol had an accessibility modifier (private, protected, ...) that made - it inaccessible. - - - - - The candidate symbol was in a place where a value was required, but was not a value - (e.g., was a a type or namespace). - - - - - The candidate symbol was in a place where a variable (or sometimes, a property) was - required, but was not allowed there because it isn't a symbol that can be assigned to. - For example, the left hand side of an assignment, or a ref or out parameter. - - - - - The candidate symbol was used in a way that an invocable member (method, or variable of - delegate type) was required, but the candidate symbol was not invocable. - - - - - The candidate symbol must be an instance variable, but was used as static, or the - reverse. - - - - - Overload resolution did not choose a method. The candidate symbols are the methods there - were considered during overload resolution (which may or may not be applicable methods). - - - - - Method could not be selected statically. - The candidate symbols are the methods there were considered during overload resolution - (which may or may not be applicable methods). - - - - - Multiple ambiguous symbols were available with the same name. This can occur if "using" - statements bring multiple namespaces into scope, and the same type is available in - multiple. This can also occur if multiple properties of the same name are available in a - multiple interface inheritance situation. - - - - - Indicates why the compiler accepted or rejected the member during overload resolution. - - - - - The candidate member was accepted. - - - - - The candidate member was rejected because it is not supported by the language or cannot - be used given the current set of assembly references. - - - - - The candidate member was rejected because type inference failed. - - - - - The candidate member was rejected because it was considered worse that another member. - - - - - Represents the results of overload resolution for a single member. - - - - - The member considered during overload resolution. - - - - - Indicates why the compiler accepted or rejected the member during overload resolution. - - - - - Returns true if the compiler accepted this member as the sole correct result of overload resolution. - - - - - Summarizes the results of an overload resolution analysis, as described in section 7.5 of - the language specification. Describes whether overload resolution succeeded, and which - method was selected if overload resolution succeeded, as well as detailed information about - each method that was considered. - - - - - True if overload resolution successfully selected a single best method. - - - - - If overload resolution successfully selected a single best method, returns information - about that method. Otherwise returns null. - - - - - If there was a method that overload resolution considered better than all others, - returns information about that method. A method may be returned even if that method was - not considered a successful overload resolution, as long as it was better that any other - potential method considered. - - - - - Returns information about each method that was considered during overload resolution, - and what the results of overload resolution were for that method. - - - - - The compilation object is an immutable representation of a single invocation of the - compiler. Although immutable, a compilation is also on-demand, and will realize and cache - data as necessary. A compilation can produce a new compilation from existing compilation - with the application of small deltas. In many cases, it is more efficient than creating a - new compilation from scratch, as the new compilation can reuse information from the old - compilation. - - - - - Returns true if this is a case sensitive compilation, false otherwise. Case sensitivity - affects compilation features such as name lookup as well as choosing what names to emit - when there are multiple different choices (for example between a virtual method and an - override). - - - - - Gets the source language ("C#" or "Visual Basic"). - - - - - Checks options passed to submission compilation constructor. - Throws an exception if the options are not applicable to submissions. - - - - - Creates a new compilation equivalent to this one with different symbol instances. - - - - - Returns a new compilation with a given event queue. - - - - - Gets a new for the specified syntax tree. - - - - - Returns a new INamedTypeSymbol representing an error type with the given name and arity - in the given optional container. - - - - - Simple assembly name, or null if not specified. - - - The name is used for determining internals-visible-to relationship with referenced assemblies. - - If the compilation represents an assembly the value of is its simple name. - - Unless specifies otherwise the module name - written to metadata is with an extension based upon . - - - - - Creates a compilation with the specified assembly name. - - The new assembly name. - A new compilation. - - - - Gets the options the compilation was created with. - - - - - Creates a new compilation with the specified compilation options. - - The new options. - A new compilation. - - - - True if the compilation represents an interactive submission. - - - - - Gets or allocates a runtime submission slot index for this compilation. - - Non-negative integer if this is a submission and it or a previous submission contains code, negative integer otherwise. - - - - The type object that represents the type of submission result the host requested. - - - - - The type of the host object or null if not specified for this compilation. - - - - - Returns the type of the submission return value. - - - True if the submission has a return value, i.e. if the submission - ends with an expression statement. - - - The compilation doesn't represent a submission - ( return false). - - - Null if the type of the last expression is unknown, - if the type of the last expression statement is - void or if the submission is not an expression statement, or - otherwise the type of the last expression. - - - Note that the return type is if the last - statement is a non-expression statement e.g., - System.Console.WriteLine(); - and if the statement is an expression statement of type void e.g, - System.Console.WriteLine(). However, - is false in the former case and true - in the latter. - - - - - The previous submission compilation, or null if either this - compilation doesn't represent a submission or the submission is the - first submission in a submission chain. - - - - - Returns a new compilation with the given compilation set as the - previous submission. - - - - - Gets the syntax trees (parsed from source code) that this compilation was created with. - - - - - Creates a new compilation with additional syntax trees. - - The new syntax trees. - A new compilation. - - - - Creates a new compilation with additional syntax trees. - - The new syntax trees. - A new compilation. - - - - Creates a new compilation without the specified syntax trees. Preserves metadata info for use with trees - added later. - - The new syntax trees. - A new compilation. - - - - Creates a new compilation without the specified syntax trees. Preserves metadata info for use with trees - added later. - - The new syntax trees. - A new compilation. - - - - Creates a new compilation without any syntax trees. Preserves metadata info for use with - trees added later. - - - - - Creates a new compilation with an old syntax tree replaced with a new syntax tree. - Reuses metadata from old compilation object. - - The new tree. - The old tree. - A new compilation. - - - - Returns true if this compilation contains the specified tree. False otherwise. - - A syntax tree. - - - - The event queue that this compilation was created with. - - - - - Metadata references passed to the compilation constructor. - - - - - Unique metadata references specified via #r directive in the source code of this compilation. - - - - - All reference directives used in this compilation. - - - - - Maps values of #r references to resolved metadata references. - - - - - All metadata references -- references passed to the compilation - constructor as well as references specified via #r directives. - - - - - Creates a metadata reference for this compilation. - - - Optional aliases that can be used to refer to the compilation root namespace via extern alias directive. - - - Embed the COM types from the reference so that the compiled - application no longer requires a primary interop assembly (PIA). - - - - - Creates a new compilation with the specified references. - - - The new references. - - A new compilation. - - - - Creates a new compilation with the specified references. - - The new references. - A new compilation. - - - - Creates a new compilation with the specified references. - - - - - Creates a new compilation with additional metadata references. - - The new references. - A new compilation. - - - - Creates a new compilation with additional metadata references. - - The new references. - A new compilation. - - - - Creates a new compilation without the specified metadata references. - - The new references. - A new compilation. - - - - Creates a new compilation without the specified metadata references. - - The new references. - A new compilation. - - - - Creates a new compilation without any metadata references. - - - - - Creates a new compilation with an old metadata reference replaced with a new metadata - reference. - - The new reference. - The old reference. - A new compilation. - - - - Gets the or for a metadata reference used to create this - compilation. - - The target reference. - - Assembly or module symbol corresponding to the given reference or null if there is none. - - - - - Gets the that corresponds to the assembly symbol. - - The target symbol. - - - - Assembly identities of all assemblies directly referenced by this compilation. - - - Includes identities of references passed in the compilation constructor - as well as those specified via directives in source code. - - - - - The that represents the assembly being created. - - - - - Gets the for the module being created by compiling all of - the source code. - - - - - The root namespace that contains all namespaces and types defined in source code or in - referenced metadata, merged into a single namespace hierarchy. - - - - - Gets the corresponding compilation namespace for the specified module or assembly namespace. - - - - - Returns the Main method that will serves as the entry point of the assembly, if it is - executable (and not a script). - - - - - Get the symbol for the predefined type from the Cor Library referenced by this - compilation. - - - - - Returns true if the type is System.Type. - - - - - Returns true if the specified type is equal to or derives from System.Attribute well-known type. - - - - - The INamedTypeSymbol for the .NET System.Object type, which could have a TypeKind of - Error if there was no COR Library in this Compilation. - - - - - The TypeSymbol for the type 'dynamic' in this Compilation. - - - - - A symbol representing the implicit Script class. This is null if the class is not - defined in the compilation. - - - - - Returns a new ArrayTypeSymbol representing an array type tied to the base types of the - COR Library in this Compilation. - - - - - Returns a new PointerTypeSymbol representing a pointer type tied to a type in this - Compilation. - - - - - Gets the type within the compilation's assembly and all referenced assemblies (other than - those that can only be referenced via an extern alias) using its canonical CLR metadata name. - - Null if the type can't be found. - - Since VB does not have the concept of extern aliases, it considers all referenced assemblies. - - - - - Gets the diagnostics produced during the parsing stage. - - - - - Gets the diagnostics produced during symbol declaration. - - - - - Gets the diagnostics produced during the analysis of method bodies and field initializers. - - - - - Gets all the diagnostics for the compilation, including syntax, declaration, and - binding. Does not include any diagnostics that might be produced during emit, see - . - - - - Bag to which filtered diagnostics will be added. - Diagnostics to be filtered. - True if there were no errors or warnings-as-errors. - - - - Modifies the incoming diagnostic, for example escalating its severity, or discarding it (returning null). - - - The modified diagnostic, or null - - - - Create a stream filled with default win32 resources. - - - - - Constructs the module serialization properties out of the compilation options of this compilation. - - - - - Return true if the compilation contains any code or types. - - - - - Emit the IL for the compiled source code into the specified stream. - - Stream to which the compilation will be written. - Name of the compilation: file name and extension. Null to use the existing output name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - - The name of the PDB file embedded in the PE image. - If not specified, the file name of the source module with an extension changed to "pdb" is used. - Ignored unless is non-null. - - Stream to which the compilation's debug info will be written. Null to forego PDB generation. - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Stream from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. The RES format begins with a null resource entry. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Emit the IL for the compilation into the specified stream. - - Path of the file to which the compilation will be written. - Path of the file to which the compilation's debug info will be written. - Also embedded in the output file. Null to forego PDB generation. - - Path of the file to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Path of the file from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Emits the IL for the symbol declarations into the specified stream. Useful for emitting - information for cross-language modeling of code. This emits what it can even if there - are errors. - - Stream to which the compilation's metadata will be written. - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - Name of the compilation: file name and extension. Null to use the existing output name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - To cancel the emit process. - - - - Emit the differences between the compilation and the previous generation - for Edit and Continue. The differences are expressed as added and changed - symbols, and are emitted as metadata, IL, and PDB deltas. A representation - of the current compilation is returned as an EmitBaseline for use in a - subsequent Edit and Continue. - - - - - This overload is only intended to be directly called by tests that want to pass . - The map is used for storing a list of methods and their associated IL. - - True if emit succeeded. - - - - The compiler needs to define an ordering among different partial class in different syntax trees - in some cases, because emit order for fields in structures, for example, is semantically important. - This function defines an ordering among syntax trees in this compilation. - - - - - Compare two source locations, using their containing trees, and then by Span.First within a tree. - Can be used to get a total ordering on declarations, for example. - - - - - Return the lexically first of two locations. - - - - - Return the lexically first of multiple locations. - - - - - The list of RetargetingAssemblySymbol objects created for this Compilation. - RetargetingAssemblySymbols are created when some other compilation references this one, - but the other references provided are incompatible with it. For example, compilation C1 - references v1 of Lib.dll and compilation C2 references C1 and v2 of Lib.dll. In this - case, in context of C2, all types from v1 of Lib.dll leaking through C1 (through method - signatures, etc.) must be retargeted to the types from v2 of Lib.dll. This is what - RetargetingAssemblySymbol is responsible for. In the example above, modules in C2 do not - reference C1.AssemblySymbol, but reference a special RetargetingAssemblySymbol created - for C1 by ReferenceManager. - - WeakReference is used to allow RetargetingAssemblySymbol to be collected when they become unused. - - Guarded by . - - - - - Adds given retargeting assembly for this compilation into the cache. - must be locked while calling this method. - - - - - Adds cached retargetting symbols into the given list. - must be locked while calling this method. - - - - - Represents compilation options common to C# and VB. - - - - - The kind of assembly generated when emitted. - - - - - Name of the primary module, or null if a default name should be used. - - - The name usually (but not necessarily) includes an extension, e.g. "MyModule.dll". - - If is null the actual name written to metadata - is derived from the name of the compilation () - by appending a default extension for . - - - - - Subsystem version - - - - - The full name of a global implicit class (script class). This class implicitly encapsulates top-level statements, - type declarations, and member declarations. Could be a namespace qualified name. - - - - - The full name of a type that declares static Main method. Must be a valid non-generic namespace-qualified name. - Null if any static Main method is a candidate for an entry point. - - - - - The name of the file containing the key with which to sign the output. - - - To sign the output supply either one of or . - but not both. - - - - - The CSP container containing the key with which to sign the output. - - - - - Turn off strong name signing when you have supplied a key either through - attributes or or . - - - - - Whether bounds checking on integer arithmetic is enforced by default or not. - - - - - Specifies the size of sections in the output file. - - - Valid values are 0, 512, 1024, 2048, 4096 and 8192. - If the value is 0 the file alignment is determined based upon the value of . - - - - - Specifies the preferred base address at which to load the output DLL. - - - - - Specifies which version of the common language runtime (CLR) can run the assembly. - - - - - Specifies the kind of debug information to be emitted. - - - This value is set based on the "/debug", "/debug+", "/debug-" and "/debug:{full|pdbonly}" command line switches. - - - - - Specifies whether or not optimizations should be performed on the output IL. - This is independent of whether or not PDB information is generated. - - - - - Global warning report option - - - - - Global warning level (from 0 to 4). - - - - - Specifies whether building compilation may use multiple threads. - - - - - Import internal/private members from all references regardless of "internals-visible-to" relationship. - - - - - Warning report option for each warning. - - - - - Translates a resolved assembly reference path to an actual . - Null if the compilation can't contain references to metadata other than those explicitly passed to its factory (such as #r directives in sources). - - - - - Resolves paths to metadata references specified in source via #r directives. - Null if the compilation can't contain references to metadata other than those explicitly passed to its factory (such as #r directives in sources). - - - - - Gets the resolver for resolving XML document references for the compilation. - Null if the compilation is not allowed to contain XML file references, such as XML doc comment include tags and permission sets stored in an XML file. - - - - - Gets the resolver for resolving source document references for the compilation. - Null if the compilation is not allowed to contain source file references, such as #line pragmas and #load directives. - - - - - Provides strong name and signature the source assembly. - Null if assembly signing is not supported. - - - - - Used to compare assembly identities. May implement unification and portability policies specific to the target platform. - if not specified. - - - - - A set of strings designating experimental compiler features that are to be enabled. - - - - - Creates a new options instance with the specified general diagnostic option. - - - - - Creates a new options instance with the specified diagnostic-specific options. - - - - - Creates a new options instance with the specified diagnostic-specific options. - - - - - Creates a new options instance with the specified output kind. - - - - - Creates a new options instance with the specified platform. - - - - - Creates a new options instance with optimizations enabled or disabled. - - - - - Performs validation of options compatibilities and generates diagnostics if needed - - - - - Errors collection related to an incompatible set of compilation options - - - - - Represents the possible compilation stages for which it is possible to get diagnostics - (errors). - - - - - Provides information about statements which transfer control in and out of a region. This - information is returned from a call to . - - - - - An enumerator for the set of statements inside the region what are the - destination of branches outside the region. - - - - - An enumerator for the set of statements inside a region that jump to locations outside - the region. - - - - - Indicates whether a region completes normally. Return true if and only if the end of the - last statement in a region is reachable or the region contains no statements. - - - - - An enumerator for the set of return statements found within a region. - - - - - Returns true iff analysis was successful. Analysis can fail if the region does not properly span a single expression, - a single statement, or a contiguous series of statements within the enclosing block. - - - - - Provides information about how data flows into and out of a region. This information is - returned from a call to - . - - - - - An enumerator for the set of local variables that are declared within a region. Note - that the region must be bounded by a method's body or a field's initializer, so - parameter symbols are never included in the result. - - - - - An enumerator for the set of local variables which are assigned a value outside a region - that may be used inside the region. - - - - - An enumerator for the set of local variables which are assigned a value inside a region - that may be used outside the region. - - - - - An enumerator for the set of local variables for which a value is always assigned inside - a region. - - - - - An enumerator for the set of local variables that are read inside a region. - - - - - An enumerator for the set of local variables that are written inside a region. - - - - - An enumerator for the set of the local variables that are read outside a region. - - - - - An enumerator for the set of local variables that are written outside a region. - - - - - An enumerator for the set of the local variables that have been referenced in anonymous - functions within a region and therefore must be moved to a field of a frame class. - - - - - A collection of the non-constant local variables and parameters that have had their - address (or the address of one of their fields) taken. - - - - - Returns true iff analysis was successful. Analysis can fail if the region does not - properly span a single expression, a single statement, or a contiguous series of - statements within the enclosing block. - - - - - Specifies the kind of debug information to be emitted. - - - - - Emit no debug information. - - - Not specifying "/debug" command line switch or specifying "/debug-" command line switch enforces this setting. - - - - - Emit PDB file only. - - - Specifying "/debug:pdbonly" command line switch enforces this setting. - - - - - Emit full debugging information. - - - Specifying "/debug" or "/debug:full" or "/debug+" command line switch enforces this setting. - - - - - Gets a value indicating whether the options require the AMD instruction set. - - - true if the options require the AMD instruction set; otherwise, false. - - - - - The result of the Compilation.Emit method. - - - - - True if the compilation successfully produced an executable. - If false then the diagnostics should include at least one error diagnostic - indicating the cause of the failure. - - - - - A list of all the diagnostics associated with compilations. This include parse errors, declaration errors, - compilation errors, and emitting errors. - - - - - Return tokens for all modified methods. - - - - - Add an item from a previous generation - that has been updated in this generation. - - - - - Represents a module from a previous compilation. Used in Edit and Continue - to emit the differences in a subsequent compilation. - - - - - Creates an from the metadata of the module before editing - and from a function that maps from a method to an array of local names. - - The metadata of the module before editing. - - A function that returns the array of local names given a method index from the module metadata. - - An for the module. - - Only the initial baseline is created using this method; subsequent baselines are created - automatically when emitting the differences in subsequent compilations. - - When an active method (one for which a frame is allocated on a stack) is updated the values of its local variables need to be preserved. - The mapping of local variable names to their slots in the frame is not included in the metadata and thus needs to be provided by - . - - The is only needed for the initial generation. The mapping for the subsequent generations - is carried over through . The compiler assigns slots to named local variables (including named temporary variables) - it the order in which they appear in the source code. This property allows the compiler to reconstruct the local variable mapping - for the initial generation. A subsequent generation may add a new variable in between two variables of the previous generation. - Since the slots of the previous generation variables need to be preserved the only option is to add these new variables to the end. - The slot ordering thus no longer matches the syntax ordering. It is therefore necessary to pass - to the next generation (rather than e.g. create new s from scratch based on metadata produced by subsequent compilations). - - - - - The original metadata of the module. - - - - - Metadata generation ordinal. Zero for - full metadata and non-zero for delta. - - - - - Unique Guid for this delta, or default(Guid) - if full metadata. - - - - - Map from syntax to local variable for methods added or updated - since the initial generation, indexed by method row. - - - - - Local variable names for methods from metadata, - indexed by method row. - - - - - No change to symbol or members. - - - - - No change to symbol but may contain changed symbols. - - - - - Symbol updated. - - - - - Symbol added. - - - - - Returns true if the symbol or some child symbol has changed and needs to be compiled. - - - - - Calculate the set of changes up to top-level types. The result - will be used as a filter when traversing the module. - - - - - Return the symbol that contains this symbol as far - as changes are concerned. For instance, an auto property - is considered the containing symbol for the backing - field and the accessor methods. By default, the containing - symbol is simply Symbol.ContainingSymbol. - - - - - Error type symbols should be replaced with an object of this class - in the translation layer for emit. - - - - - For the name we will use a word "Error" followed by a guid, generated on the spot. - - - - - A fake containing assembly for an ErrorType object. - - - - - For the name we will use a word "Error" followed by a guid, generated on the spot. - - - - - This class is used to store the module serialization properties for a compilation. - - - - - This is only used for testing. - - - - - This is only used for testing. - - - - - This is only used for testing. - - - - - Returns null if member doesn't belong to an embedded NoPia type. - - - - - Common base class for C# and VB PE module builder. - - - - - Used to translate assembly symbols to assembly references in scenarios when the physical assemblies - being emitted don't correspond to the assembly symbols 1:1. This happens, for example, in interactive sessions where - multiple code submissions might be compiled into a single dynamic assembly or into multiple assemblies - depending on properties of the code being emitted. If null we map assembly symbol exactly to its assembly name. - - - - - Captures the set of synthesized definitions that should be added to a type - during emit process. - - - - - Returns null if there are no compiler generated types. - - - - - Returns null if there are no synthesized methods. - - - - - Returns null if there are no synthesized properties. - - - - - Returns null if there are no synthesized fields. - - - - - Builds symbol definition to location map used for emitting token -> location info - into PDB to be consumed by WinMdExp.exe tool (only applicable for /t:winmdobj) - - - - - No change. - - - - - Node value was updated. - - - - - Node was inserted. - - - - - Node was deleted. - - - - - Describes a symbol edit between two compilations. - For example, an addition of a method, an update of a method, removal of a type, etc. - - - - - The type of edit. - - - - - The symbol from the earlier compilation, - or null if the edit represents an addition. - - - - - The symbol from the later compilation, - or null if the edit represents a deletion. - - - - - A map from syntax node in the later compilation to syntax node in the - previous compilation, or null if the edit is not in the active method. - - - The map does not need to map all syntax nodes in the active method, only those syntax nodes - that declare a local or generate a temporary with a scope spanning multiple methods (in C#, - variable declarations, foreach, lock, using, and fixed; in VB, variable declarations, With, - For Each, SyncLock, and Using). - - - - - True if the edit is an update of the active method and local values - should be preserved; false otherwise. - - - - - Initializes an instance of . - - The type of edit. - The symbol from the earlier compilation, - or null if the edit represents an addition. - The symbol from the later compilation, - or null if the edit represents a deletion. - A map from syntax node in the later compilation to syntax - node in the previous compilation, or null if the edit is not in the active method. - True if the edit is an update of the - active method and local values should be preserved; false otherwise. - - - - Gets symbol information about a syntax node. - - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets type information about a syntax node. - - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - If "nameSyntax" resolves to an alias name, return the IAliasSymbol corresponding - to A. Otherwise return null. - - - Name to get alias info for. - A cancellation token that can be used to cancel the - process of obtaining the alias information. - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a name. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the name as a full expression, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The passed in name is interpreted as a stand-alone name, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets the symbol associated with a declaration syntax node. - - - A syntax node that is a declaration. This can be any type - derived from MemberDeclarationSyntax, TypeDeclarationSyntax, EnumDeclarationSyntax, - NamespaceDeclarationSyntax, ParameterSyntax, TypeParameterSyntax, or the alias part of a - UsingDirectiveSyntax - The cancellation token. - The symbol declared by the node or null if the node is not a declaration. - - - - Analyze control-flow within a part of a method body. - - - - - Analyze control-flow within a part of a method body. - - - - - Analyze data-flow within a part of a method body. - - - - - Analyze data-flow within a part of a method body. - - - - - Represents parse options common to C# and VB. - - - - - Specifies whether to parse as regular code files, script files or interactive code. - - - - - Gets a value indicating whether the documentation comments are parsed. - - true if documentation comments are parsed, false otherwise. - - - - Creates a new options instance with the specified source code kind. - - - - - Creates a new options instance with the specified documentation mode. - - - - - Names of defined preprocessor symbols. - - - - - AnyCPU (default) compiles the assembly to run on any platform. - - - - - x86 compiles the assembly to be run by the 32-bit, x86-compatible common language runtime. - - - - - x64 compiles the assembly to be run by the 64-bit common language runtime on a computer that supports the AMD64 or EM64T instruction set. - - - - - Itanium compiles the assembly to be run by the 64-bit common language runtime on a computer with an Itanium processor. - - - - - Compiles your assembly to run on any platform. Your application runs in 32-bit mode on systems that support both 64-bit and 32-bit applications. - - - - - Compiles your assembly to run on a computer that has an Advanced RISC Machine (ARM) processor. - - - - - The symbol that was referred to by the identifier, if any. - - - - - Returns true if this preprocessing symbol is defined at the identifier position. - - - - - Allows asking semantic questions about a tree of syntax nodes in a Compilation. Typically, - an instance is obtained by a call to GetBinding on a Compilation or Compilation. - - - An instance of SemanticModel caches local symbols and semantic information. Thus, it - is much more efficient to use a single instance of SemanticModel when asking multiple - questions about a syntax tree, because information from the first question may be reused. - This also means that holding onto an instance of SemanticModel for a long time may keep a - significant amount of memory from being garbage collected. - - - When an answer is a named symbol that is reachable by traversing from the root of the symbol - table, (that is, from an AssemblySymbol of the Compilation), that symbol will be returned - (i.e. the returned value will be reference-equal to one reachable from the root of the - symbol table). Symbols representing entities without names (e.g. array-of-int) may or may - not exhibit reference equality. However, some named symbols (such as local variables) are - not reachable from the root. These symbols are visible as answers to semantic questions. - When the same SemanticModel object is used, the answers exhibit reference-equality. - - - - - - Gets the source language ("C#" or "Visual Basic"). - - - - - The compilation this model was obtained from. - - - - - The compilation this model was obtained from. - - - - - The syntax tree this model was obtained from. - - - - - The syntax tree this model was obtained from. - - - - - Gets symbol information about a syntax node. - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - Gets symbol information about a syntax node. - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Binds the node in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information - about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets type information about a syntax node. - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - Gets type information about a syntax node. - - The syntax node to get semantic information for. - A cancellation token that can be used to cancel the - process of obtaining the semantic info. - - - - If "nameSyntax" resolves to an alias name, return the IAliasSymbol corresponding - to A. Otherwise return null. - - Name to get alias info for. - A cancellation token that can be used to cancel the - process of obtaining the alias information. - - - - If "nameSyntax" resolves to an alias name, return the IAliasSymbol corresponding - to A. Otherwise return null. - - Name to get alias info for. - A cancellation token that can be used to cancel the - process of obtaining the alias information. - - - - Returns true if this is a speculative semantic model created with any of the TryGetSpeculativeSemanticModel methods. - - - - - If this is a speculative semantic model, returns the original position at which the speculative model was created. - Otherwise, returns 0. - - - - - If this is a speculative semantic model, then returns its parent semantic model. - Otherwise, returns null. - - - - - If this is a speculative semantic model, then returns its parent semantic model. - Otherwise, returns null. - - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a name. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the name as a full expression, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The passed in name is interpreted as a stand-alone name, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a name. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the name as a full expression, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The passed in name is interpreted as a stand-alone name, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Get all of the declaration errors within the syntax tree associated with this - object. Does not get errors involving incorrect syntax, compiling method bodies or initializers. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the - process of obtaining the diagnostics. - The declaration errors for a syntax tree are cached. The first time this method - is called, all declarations are analyzed for diagnostics. Calling this a second time - will return the cached diagnostics. - - - - - Get all of the method body and initializer errors within the syntax tree associated with this - object. Does not get errors involving incorrect syntax or declarations. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the - process of obtaining the diagnostics. - The method body errors for a syntax tree are not cached. The first time this method - is called, all method bodies are analyzed for diagnostics. Calling this a second time - will repeat this work. - - - - - Get all the errors within the syntax tree associated with this object. Includes errors - involving compiling method bodies or initializers, in addition to the errors returned by - GetDeclarationDiagnostics. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the - process of obtaining the diagnostics. - - Because this method must semantically bind all method bodies and initializers to check - for diagnostics, it may take a significant amount of time. Unlike - GetDeclarationDiagnostics, diagnostics for method bodies and initializers are not - cached, any semantic information used to obtain the diagnostics is discarded. - - - - - Gets the symbol associated with a declaration syntax node. - - A syntax node that is a declaration. This can be any type - derived from MemberDeclarationSyntax, TypeDeclarationSyntax, EnumDeclarationSyntax, - NamespaceDeclarationSyntax, ParameterSyntax, TypeParameterSyntax, or the alias part of a - UsingDirectiveSyntax - The cancellation token. - The symbol declared by the node or null if the node is not a declaration. - - - - Gets the symbol associated with a declaration syntax node. - - A syntax node that is a declaration. This can be any type - derived from MemberDeclarationSyntax, TypeDeclarationSyntax, EnumDeclarationSyntax, - NamespaceDeclarationSyntax, ParameterSyntax, TypeParameterSyntax, or the alias part of a - UsingDirectiveSyntax - The cancellation token. - The symbol declared by the node or null if the node is not a declaration. - - - - Gets the symbol associated with a declaration syntax node. Unlike , - this method returns all symbols declared by a given declaration syntax node. Specifically, in the case of field declaration syntax nodes, - which can declare multiple symbols, this method returns all declared symbols. - - A syntax node that is a declaration. This can be any type - derived from MemberDeclarationSyntax, TypeDeclarationSyntax, EnumDeclarationSyntax, - NamespaceDeclarationSyntax, ParameterSyntax, TypeParameterSyntax, or the alias part of a - UsingDirectiveSyntax - The cancellation token. - The symbols declared by the node. - - - - Gets the symbol associated with a declaration syntax node. Unlike , - this method returns all symbols declared by a given declaration syntax node. Specifically, in the case of field declaration syntax nodes, - which can declare multiple symbols, this method returns all declared symbols. - - A syntax node that is a declaration. This can be any type - derived from MemberDeclarationSyntax, TypeDeclarationSyntax, EnumDeclarationSyntax, - NamespaceDeclarationSyntax, ParameterSyntax, TypeParameterSyntax, or the alias part of a - UsingDirectiveSyntax - The cancellation token. - The symbols declared by the node. - - - - Gets the available named symbols in the context of the specified location and optional container. Only - symbols that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - Consider (reduced) extension methods. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - Labels are not considered (see ). - - Non-reduced extension methods are considered regardless of the value of . - - - - - Backing implementation of . - - - - - Gets the available base type members in the context of the specified location. Akin to - calling with the container set to the immediate base type of - the type in which occurs. However, the accessibility rules - are different: protected members of the base type will be visible. - - Consider the following example: - - public class Base - { - protected void M() { } - } - - public class Derived : Base - { - void Test(Base b) - { - b.M(); // Error - cannot access protected member. - base.M(); - } - } - - Protected members of an instance of another type are only accessible if the instance is known - to be "this" instance (as indicated by the "base" keyword). - - The character position for determining the enclosing declaration scope and - accessibility. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. - - Non-reduced extension methods are considered, but reduced extension methods are not. - - - - - Backing implementation of . - - - - - Gets the available named static member symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - Non-reduced extension methods are considered, since they are static methods. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - Essentially the same as filtering instance members out of the results of an analogous call. - - - - - Backing implementation of . - - - - - Gets the available named namespace and type symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - Does not return INamespaceOrTypeSymbol, because there could be aliases. - - - - - Backing implementation of . - - - - - Gets the available named label symbols in the context of the specified location and optional container. - Only members that are accessible and visible from the given location are returned. - - The character position for determining the enclosing declaration scope and - accessibility. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. Even if "container" is - specified, the "position" location is significant for determining which members of "containing" are - accessible. - - - - - Backing implementation of . - - - - - Analyze control-flow within a part of a method body. - - The first node to be included within the analysis. - The last node to be included within the analysis. - An object that can be used to obtain the result of the control flow analysis. - The span is not with a method - body. - - The first and last nodes must be fully inside the same method body. - - - - - Analyze control-flow within a part of a method body. - - The first node to be included within the analysis. - The last node to be included within the analysis. - An object that can be used to obtain the result of the control flow analysis. - The span is not with a method - body. - - The first and last nodes must be fully inside the same method body. - - - - - Analyze control-flow within a part of a method body. - - The statement to be analyzed. - An object that can be used to obtain the result of the control flow analysis. - The span is not with a method - body. - - The statement must be fully inside the same method body. - - - - - Analyze control-flow within a part of a method body. - - The statement to be analyzed. - An object that can be used to obtain the result of the control flow analysis. - The span is not with a method - body. - - The statement must be fully inside the same method body. - - - - - Analyze data-flow within a part of a method body. - - The first node to be included within the analysis. - The last node to be included within the analysis. - An object that can be used to obtain the result of the data flow analysis. - The span is not with a method - body. - - The first and last nodes must be fully inside the same method body. - - - - - Analyze data-flow within a part of a method body. - - The first node to be included within the analysis. - The last node to be included within the analysis. - An object that can be used to obtain the result of the data flow analysis. - The span is not with a method - body. - - The first and last nodes must be fully inside the same method body. - - - - - Analyze data-flow within a part of a method body. - - The statement or expression to be analyzed. - An object that can be used to obtain the result of the data flow analysis. - The statement or expression is not with a method - body or field or property initializer. - - The statement or expression must be fully inside a method body. - - - - - Analyze data-flow within a part of a method body. - - The statement or expression to be analyzed. - An object that can be used to obtain the result of the data flow analysis. - The statement or expression is not with a method - body or field or property initializer. - - The statement or expression must be fully inside a method body. - - - - - If the node provided has a constant value an Optional value will be returned with - HasValue set to true and with Value set to the constant. If the node does not have an - constant value, an Optional will be returned with HasValue set to false. - - - - - If the node provided has a constant value an Optional value will be returned with - HasValue set to true and with Value set to the constant. If the node does not have an - constant value, an Optional will be returned with HasValue set to false. - - - - - When getting information for a symbol that resolves to a method group or property group, - from which a method is then chosen; the chosen method or property is present in Symbol; - all methods in the group that was consulted are placed in this property. - - - - - When getting information for a symbol that resolves to a method group or property group, - from which a method is then chosen; the chosen method or property is present in Symbol; - all methods in the group that was consulted are placed in this property. - - - - - Given a position in the SyntaxTree for this SemanticModel returns the innermost Symbol - that the position is considered inside of. - - - - - Given a position in the SyntaxTree for this SemanticModel returns the innermost Symbol - that the position is considered inside of. - - - - - Resolves the set of provided arguments against set of provided members to determine the - appropriate overload. The arguments are bound as if they were at 'position' within this - semantic model. An CommonOverloadResolutionResult is returned that gives the result of - the compiler's overload resolution analysis. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. This position is used when binding the arguments. - - The set of members to resolve overloads among. - The list of arguments, in order, to use when resolving the - overloads. The arguments are interpreted as if they occurred within the declaration - scope that encloses "position". - If present, the type argument provided. If not provided, - type inference is done. - - This can be used to resolve constructors, properties as well as methods. - - - - - Resolves the set of provided arguments against set of provided members to determine the - appropriate overload. The arguments are bound as if they were at 'position' within this - semantic model. An CommonOverloadResolutionResult is returned that gives the result of - the compiler's overload resolution analysis. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. This position is used when binding the arguments. - - The set of members to resolve overloads among. - The list of arguments, in order, to use when resolving the - overloads. The arguments are interpreted as if they occurred within the declaration - scope that encloses "position". - If present, the type argument provided. If not provided, - type inference is done. - - This can be used to resolve constructors, properties as well as methods. - - - - - Determines if the symbol is accessible from the specified location. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - The symbol that we are checking to see if it accessible. - - True if "symbol is accessible, false otherwise. - - This method only checks accessibility from the point of view of the accessibility - modifiers on symbol and its containing types. Even if true is returned, the given symbol - may not be able to be referenced for other reasons, such as name hiding. - - - - - Determines if the symbol is accessible from the specified location. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - The symbol that we are checking to see if it accessible. - - True if "symbol is accessible, false otherwise. - - This method only checks accessibility from the point of view of the accessibility - modifiers on symbol and its containing types. Even if true is returned, the given symbol - may not be able to be referenced for other reasons, such as name hiding. - - - - - Field-like events can be used as fields in types that can access private - members of the declaring type of the event. - - - Always false for VB events. - - - - - Field-like events can be used as fields in types that can access private - members of the declaring type of the event. - - - Always false for VB events. - - - - - If is an identifier name syntax node, return the corresponding - to it. - - The nameSyntax node to get semantic information for. - - - - If is an identifier name syntax node, return the corresponding - to it. - - The nameSyntax node to get semantic information for. - - - - Takes a Span and returns a set of declarations that overlap that span in this model's tree. - - - - - Resolves references to source documents specified in the source. - - - - - Normalizes specified source path with respect to base file path. - - The source path to normalize. May be absolute or relative. - Path of the source file that contains the (may also be relative), or null if not available. - Normalized path, or null if can't be normalized. The resulting path doesn't need to exist. - - - - Resolves specified path with respect to base file path. - - The path to resolve. May be absolute or relative. - Path of the source file that contains the (may also be relative), or null if not available. - Normalized path, or null if the file can't be resolved. - - - - Opens a that allows reading the content of the specified file. - - Path returned by . - is null. - is not a valid absolute path. - Error reading file . See for details. - - - - Describes the kind of binding to be performed in one of the SemanticModel - speculative binding methods. - - - - - Binds the given expression using the normal expression binding rules - that would occur during normal binding of expressions. - - - - - Binds the given expression as a type or namespace only. If this option - is selected, then the given expression must derive from TypeSyntax. - - - - - Represents subsystem version, see /subsystemversion command line - option for details and valid values. - - The following table lists common subsystem versions of Windows. - - Windows version Subsystem version - - Windows 2000 5.00 - - Windows XP 5.01 - - Windows Vista 6.00 - - Windows 7 6.01 - - Windows 8 Release Preview 6.02 - - - - - Major subsystem version - - - - - Minor subsystem version - - - - - Subsystem version not specified - - - - - Subsystem version: Windows 2000 - - - - - Subsystem version: Windows XP - - - - - Subsystem version: Windows Vista - - - - - Subsystem version: Windows 7 - - - - - Subsystem version: Windows 8 - - - - - Try parse subsystem version in "x.y" format. Note, no spaces are allowed in string representation. - - String to parse - the value if successfully parsed or None otherwise - true if parsed successfully, false otherwise - - - - Create a new instance of subsystem version with specified major and minor values. - - major subsystem version - minor subsystem version - subsystem version with provided major and minor - - - - Subsystem version default for the specified output kind and platform combination - - Output kind - Platform - Subsystem version - - - - True if the subsystem version has a valid value - - - - - The symbol that was referred to by the syntax node, if any. Returns null if the given - expression did not bind successfully to a single symbol. If null is returned, it may - still be that case that we have one or more "best guesses" as to what symbol was - intended. These best guesses are available via the CandidateSymbols property. - - - - - If the expression did not successfully resolve to a symbol, but there were one or more - symbols that may have been considered but discarded, this property returns those - symbols. The reason that the symbols did not successfully resolve to a symbol are - available in the CandidateReason property. For example, if the symbol was inaccessible, - ambiguous, or used in the wrong context. - - - - - If the expression did not successfully resolve to a symbol, but there were one or more - symbols that may have been considered but discarded, this property describes why those - symbol or symbols were not considered suitable. - - - - - The type of the expression represented by the syntax node. For expressions that do not - have a type, null is returned. If the type could not be determined due to an error, than - an IErrorTypeSymbol is returned. - - - - - The type of the expression after it has undergone an implicit conversion. If the type - did not undergo an implicit conversion, returns the same as Type. - - - - - Resolves references to XML documents specified in source code. - - - - - Resolves specified XML reference with respect to base file path. - - The reference path to resolve. May be absolute or relative path. - Path of the source file that contains the (may also be relative), or null if not available. - Path to the XML artifact, or null if the file can't be resolved. - - - - Opens a that allows reading the content of the specified file. - - Path returned by . - is null. - is not a valid absolute path. - Error reading file . See for details. - - - - Parses .RES a file into its constituent resource elements. - Mostly translated from cvtres.cpp. - - - - - Assume that 3 WORDs preceded this string and that they began 32-bit aligned. - Given the string length compute the number of bytes that should be written to end - the buffer on a 32-bit boundary - - - - - - assuming the length of bytes submitted began on a 32-bit boundary, - round up this length as necessary so that it ends at a 32-bit boundary. - - - - - - - compute number of chars needed to end up on a 32-bit boundary assuming that three - WORDS preceded this string. - - - - - - - A proposed replacement for AnalyzerDriver that uses a to drive its analysis. - - - - - Create an analyzer driver. - - The set of analyzers to include in the analysis - A delegate that returns the language-specific kind for a given syntax node - a cancellation token that can be used to abort analysis - - - - The compilation queue to create the compilation with via WithEventQueue. - - - - - An async queue that is fed the diagnostics as they are computed. - - - - - - Returns all diagnostics computed by the analyzers since the last time this was invoked. - - - - - Return a task that completes when the driver is done producing diagnostics. - - - - - - Returns true if all the diagnostics that can be produced by this analyzer are suppressed through options. - - - - - Represents an in-memory analyzer reference image. - - - - - Represents an analyzer assembly reference that contains diagnostic analyzers. - - - Represents a logical location of the analyzer reference, not the content of the reference. - The content might change in time. A snapshot is taken when the compiler queries the reference for its analyzers. - - - - - Full path describing the location of the analyzer reference, or null if the reference has no location. - - - - - Path or name used in error messages to identity the reference. - - - - - Returns true if this reference is an unresolved reference. - - - - - Represents an analyzer reference that can't be resolved. - - - For error reporting only, can't be used to reference an analyzer assembly. - - - - - Executes the given diagnostic analyzers, , on the given and returns the generated diagnostics. - says whether the caller would like the exception thrown by the analyzers to be handled or not. If true - Handles ; False - Not handled. - - - - - Given a set of compiler or generated , returns the effective diagnostics after applying the below filters: - 1) specified for the given . - 2) specified for the given . - 3) Diagnostic suppression through applied . - 4) Pragma directives for the given . - - - - - Returns true if all the diagnostics that can be produced by this analyzer are suppressed through options. - says whether the caller would like the exception thrown by the analyzers to be handled or not. If true - Handles ; False - Not handled. - - - - - Returns true if all the diagnostics that can be produced by this analyzer are suppressed through options. - - - - - Flush any cached data in this to minimize space usage (at the possible expense of time later). - The principal effect of this is to free cached information on events that have a . - - - - - The first event placed into a compilation's event queue. - - - - - The last event placed into a compilation's event queue. - - - - - An event for each declaration in the program (namespace, type, method, field, parameter, etc). - Note that some symbols may have multiple declarations (namespaces, partial types) and may therefore - have multiple events. - - - - - A thread-safe, asynchronously dequeuable queue. - - The type of values kept by the queue. - - - - The number of unconsumed elements in the queue. - - - - - Initializes a new instance of the class. - - - - - Adds an element to the tail of the queue. - - The value to add. - - - - Set the queue to an exception state. Once this has been done, every Enqueue - and Dequeue operation will throw this exception. - - The exception to be associated with this queue. - - - - Gets a value indicating whether the queue has completed. - - - - - Signals that no further elements will be enqueued. - - - - - Gets a task that transitions to a completed state when is called. - - - - - Gets a task whose result is the element at the head of the queue. If the queue - is empty, waits for an element to be enqueued. If is called - before an element becomes available, the returned task is cancelled. If - is called before an element becomes available, the - returned task thrown that exception. - - - - - Place this onto a class to cause it to be considered a diagnostic analyzer when loaded by the command-line compiler. - - - - - An analyzer that is invoked after running all other analyzers on a method body or field initializer. - - - - - Invoked after running all other analyzers on a method body or field initializer. - - The code block of a method or a field initializer - The method or field - A SemanticModel for the compilation unit - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - An analyzer that is invoked when the compiler has analyzed a method body or field initializer, and which can return - an additional analyzer to be used for method body. - - - - - Invoked when the compiler has performed semantic analysis on a method body or field - initializer, and which can return an additional analyzer to be used for the body. - - The code block of a method or a field initializer - The method or field - A SemanticModel for the compilation unit - A delegate to be used to emit diagnostics - A token for cancelling the computation - An analyzer that will be used for the method body, or null - - - - An analyzer that is invoked when the compiler's semantic analysis has completed. - - - - - Called when the compiler's semantic analysis has completed. - - The compilation - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - An analyzer that is invoked when compilation starts, and which can return an additional analyzer to be used for the compilation. - - - - - Called at the beginning of the compilation. - - The compilation - A delegate to be used to emit diagnostics - A token for cancelling the computation - An analyzer that is used for the compilation, or null. - - - - An analyzer that is invoked on each compilation unit. Analyzers that implement this interface - may report diagnostics based on the syntax and semantics of the compilation unit. For performance, - you should consider performing analyses inside of method bodies using . - - - - - Called for each compilation unit in the compilation. - - A SemanticModel for the compilation unit - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - The base interface for types that implement program analyzers that are capable of - producing diagnostics at compile-time. - - - - - Returns a set of descriptors for the diagnostics that this analyzer is capable of producing. - - - - - An analyzer that is invoked on each declared symbol in the compilation. - - - - - Returns the set of symbol kinds for which should be called. - - - - - Called for each declared symbol in the compilation where the symbol's kind is an element of . - - The declared symbol - The compilation in which the symbol is declared - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - An analyzer that is invoked on each syntax node whose Kind is among the kinds return from SyntaxKindsOfInterest. - - either Microsoft.CodeAnalysis.CSharp.SyntaxKind (for C# syntax nodes) - or Microsoft.CodeAnalysis.VisualBasic.SyntaxKind (for VB syntax nodes) - - - - Returns the syntax kinds of syntax nodes for which AnalyzeNode should be called. - - - - - Called for each whose language-specific kind is an element of SyntaxKindsOfInterest. - - A node of a kind of interest - A SemanticModel for the compilation unit - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - An analyzer that is invoked on each syntax tree in the compilation. Implementations - should report diagnostics based primarily on the text of the program (implement - instead if you want to use semantic information). - - - - - Called for each tree in the compilation. - - A tree of the compilation - A delegate to be used to emit diagnostics - A token for cancelling the computation - - - - Represents analyzers stored in an analyzer assembly file. - - - Analyzer are read from the file, owned by the reference, and doesn't change - since the reference is accessed until the reference object is garbage collected. - During this time the file is open and its content is read-only. - - If you need to manage the lifetime of the anayzer reference (and the file stream) explicitly use . - - - - - Returns the defined in the given . - - - - - Adds the defined in this assembly reference - - - - - Abstracts the ability to classify and load messages for error codes. Allows the error - infrastructure to be reused between C# and VB. - - - - - Given an error code, get the severity (warning or error) of the code. - - - - - Load the message for the given error code. If the message contains - "fill-in" placeholders, those should be expressed in standard string.Format notation - and be in the string. - - - - - Get the text prefix (e.g., "CS" for C#) used on error messages. - - - - - Get the warning level for warnings (e.g., 1 through 4 for C#). VB does not have warning - levels and always uses 1. Errors should return 0. - - - - - Type that defines error codes. For testing purposes only. - - - - - Create a simple language speicific diagnostic for given error code. - - - - - Given a message identifier (e.g., CS0219), severity, warning as error and a culture, - get the entire prefix (e.g., "error CS0219: Warning as Error:" for C# or "error BC42024:" for VB) used on error messages. - - - - - Given an error code (like 1234) return the identifier (CS1234 or BC1234). - - - - - Represents a diagnostic, such as a compiler error or a warning, along with the location where it occurred. - - - A diagnostic (such as a compiler error or a warning), along with the location where it occurred. - - - - - Creates a instance. - - A describing the diagnostic - An optional primary location of the diagnostic. If null, will return . - Arguments to the message of the diagnostic - The instance. - - If severity is , will be 1; otherwise 0. - will be false. - - - - - Creates a instance. - - A describing the diagnostic - An optional primary location of the diagnostic. If null, will return . - - An optional set of additional locations related to the diagnostic. - Typically, these are locations of other items referenced in the message. - If null, will return an empty list. - - Arguments to the message of the diagnostic - The instance. - - If severity is , will be 1; otherwise 0. - will be false. - - - - - Creates a instance. - - An identifier for the diagnostic. For diagnostics generated by the compiler, this will be a numeric code with a prefix such as "CS1001". - The category of the diagnostic. For diagnostics generated by the compiler, the category will be "Compiler". - The diagnostic message text. - The diagnostic severity. - True if the diagnostic is enabled by default - The warning level, between 1 and 4 if severity is ; otherwise 0. - True if the diagnostic is a warning and should be treated as an error; otherwise false. - An optional primary location of the diagnostic. If null, will return . - - An optional set of additional locations related to the diagnostic. - Typically, these are locations of other items referenced in the message. - If null, will return an empty list. - - - An optional set of custom tags for the diagnostic. See for some well known tags. - If null, will return an empty list. - - The instance. - - - - Gets the diagnostic identifier. For diagnostics generated by the compiler, this will be a numeric code with a prefix such as "CS1001". - - - - - Gets the category of diagnostic. For diagnostics generated by the compiler, the category will be "Compiler". - - - - - Get the text of the message. - - - - - Gets the . - - - To determine if this is a warning treated as an error, use . - - - - - Gets the warning level. This is an integer between 1 and 4 if severity - is ; otherwise 0. - - - - - Returns true if this diagnostic is enabled by default by the author of the diagnostic. - - - - - Returns true if this is a warning treated as an error; otherwise false. - - - True implies = . - - - - - Gets the primary location of the diagnostic, or if no primary location. - - - - - Gets an array of additional locations related to the diagnostic. - Typically these are the locations of other items referenced in the message. - - - - - Gets an array of custom tags for the diagnostic. - - - - - Create a new instance of this diagnostic with the Location property changed. - - - - - Create a new instance of this diagnostic with the IsWarningAsError property changed. - - - - - Create a new instance of this diagnostic with the Severity property changed. - - - - - Returns true if the diagnostic location (or any additional location) is within the given tree and optional filterSpanWithinTree. - - - - - Provides a description about a that is a trigger for some custom behavior for code analyis clients. - - - - - Create a TriggerDiagnosticDescriptor, which provides description about a that is a trigger for some custom behavior for code analyis clients. - - A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". - Optional custom tags for the diagnostic. See for some well known tags. - - - - A DiagnosticInfo object has information about a diagnostic, but without any attached location information. - - - More specialized diagnostics with additional information (e.g., ambiguity errors) can derive from this class to - provide access to additional information about the error, such as what symbols were involved in the ambiguity. - - - - - The error code, as an integer. - - - - - Returns whether this diagnostic is informational, warning, or error. - For checking if it is a warning treated as an error, use IsWarningsAsError. - - - - - Returns the warning level for a warning, 1 through 4. Errors have warning level 0. - - - - - Returns true if this is a warning treated as an error. - - - True implies = . - - - - - If a derived class has additional information about other referenced symbols, it can - expose the locations of those symbols in a general way, so they can be reported along - with the error. - - - - - Get the message id (for example "CS1001") for the message. This includes both the error number - and a prefix identifying the source. - - - - - Get the text of the message in the given language. - - - - - For a DiagnosticInfo that is lazily evaluated, this method evaluates it - and returns a non-lazy DiagnosticInfo. - - - - - Indicates that the diagnostic is related to some unnecessary source code. - - - - - Indicates that the diagnostic is related to edit and continue. - - - - - Represents a mutable bag of diagnostics. You can add diagnostics to the bag, - and also get all the diagnostics out of the bag (the bag implements - IEnumerable<Diagnostics>. Once added, diagnostics cannot be removed, and no ordering - is guaranteed. - - It is ok to Add diagnostics to the same bag concurrently on multiple threads. - It is NOT ok to Add concurrently with Clear or Free operations. - - The bag is optimized to be efficient when containing zero errors. - - - - Return true if the bag is completely empty - not even containing void diagnostics. - - - This exists for short-circuiting purposes. Use - to get a resolved Tuple(Of NamedTypeSymbol, ImmutableArray(Of Diagnostic)) (i.e. empty after eliminating void diagnostics). - - - - - Returns true if the bag has any diagnostics with Severity=Error. Does not consider warnings or informationals. - - - Resolves any lazy diagnostics in the bag. - - Generally, this should only be called by the creator (modulo pooling) of the bag (i.e. don't use bags to communicate - - if you need more info, pass more info). - - - - - Add a diagnostic to the bag. - - - - - Add multiple diagnostics to the bag. - - - - - Add multiple diagnostics to the bag. - - - - - Add another DiagnosticBag to the bag. - - - - - Add another DiagnosticBag to the bag and free the argument. - - - - - Seal the bag so no further errors can be added, while clearing it and returning the old set of errors. - Return the bag to the pool. - - - - - Generally, this should only be called by the creator (modulo pooling) of the bag (i.e. don't use bags to communicate - - if you need more info, pass more info). - - - - - Using an iterator to avoid copying the list. If perf is a problem, - create an explicit enumerator type. - - - - - Get the underlying concurrent storage, creating it on demand if needed. - NOTE: Concurrent Adding to the bag is supported, but concurrent Clearing is not. - If one thread adds to the bug while another clears it, the scenario is - broken and we cannot do anything about it here. - - - - NOTE: Concurrent Adding to the bag is supported, but concurrent Clearing is not. - If one thread adds to the bug while another clears it, the scenario is - broken and we cannot do anything about it here. - - - - Provides a description about a - - - - - An unique identifier for the diagnostic. - - - - - A short localizable description of the diagnostic. - - - - - A localizable format message string, which can be passed as the first argument to when creating the diagnostic message with this descriptor. - - - - - - The category of the diagnostic (like Design, Naming etc.) - - - - - The default severity of the diagnostic. - - - - - Returns true if the diagnostic is enabled by default. - - - - - Custom tags for the diagnostic. - - - - - Create a DiagnosticDescriptor, which provides description about a . - - A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". - A short localizable description of the diagnostic. For example, for CA1001: "Types that own disposable fields should be disposable". - A localizable format message string, which can be passed as the first argument to when creating the diagnostic message with this descriptor. - For example, for CA1001: "Implement IDisposable on '{0}' because it creates members of the following IDisposable types: '{1}'." - The category of the diagnostic (like Design, Naming etc.). For example, for CA1001: "Microsoft.Design". - Default severity of the diagnostic. - True if the diagnostic is enabled by default. - Optional custom tags for the diagnostic. See for some well known tags. - - - - Formats messages. - - - - - Formats the message using the optional . - - The diagnostic. - The formatter; or null to use the default formatter. - The formatted message. - - - - Describes how severe a diagnostic is. - - - - - Something that is an issue, as determined by some authority, - but is not surfaced through normal means. - There may be different mechanisms that act on these issues. - - - - - Information that does not indicate a problem (i.e. not proscriptive). - - - - - Something suspicious but allowed. - - - - - Something not allowed by the rules of the language or other authority. - - - - - Values for severity that are used internally by the compiler but are not exposed. - - - - - An unknown severity diagnostic is something whose severity has not yet been determined. - - - - - If an unknown diagnostic is resolved and found to be unnecessary then it is - treated as a "Void" diagnostic - - - - - Values for ErrorCode/ERRID that are used internally by the compiler but are not exposed. - - - - - The code has yet to be determined. - - - - - The code was lazily determined and does not need to be reported. - - - - - A diagnostic (such as a compiler error or a warning), along with the location where it occurred. - - - - - Get the information about the diagnostic: the code, severity, message, etc. - - - - - True if the DiagnosticInfo for this diagnostic requires (or required - this property - is immutable) resolution. - - - - - Represents a span of text in a source code file in terms of file name, line number, and offset within line. - However, the file is actually whatever was passed in when asked to parse; there may not really be a file. - - - - - Path, or null if the span represents an invalid value. - - - Path may be if not available. - - - - - True if the is a mapped path. - - - A mapped path is a path specified in source via #line (C#) or #ExternalSource (VB) directives. - - - - - Gets the of the start of the span. - - - - - - Gets the of the end of the span. - - - - - - Gets the span. - - - - - Initializes the instance. - - The file identifier - typically a relative or absolute path. - The start line position. - The end line position. - is null. - - - - Initializes the instance. - - The file identifier - typically a relative or absolute path. - The span. - is null. - - - - Returns true if the span represents a valid location. - - - - - Determines if two FileLinePositionSpan objects are equal. - - - The path is treated as an opaque string, i.e. a case-sensitive comparison is used. - - - - - Determines if two FileLinePositionSpan objects are equal. - - - - - Serves as a hash function for FileLinePositionSpan. - - The hash code. - - The path is treated as an opaque string, i.e. a case-sensitive hash is calculated. - - - - - Returns a that represents FileLinePositionSpan. - - The string representation of FileLinePositionSpan. - Path: (0,0)-(5,6) - - - - A program location in source code. - - - - - Indicates that the implementing type can be serialized via - for diagnostic message purposes. - - - Not appropriate on types that require localization, since localization should - happen after serialization. - - - - - A program location in source code. - - - - - Serializes the location. - - - - - Location kind (None/SourceFile/MetadataFile). - - - - - Returns true if the location represents a specific location in a source code file. - - - - - Returns the path to this location if this is a location from source. - - - - - Returns true if the location is in metadata. - - - - - The syntax tree this location is located in or null if not in a syntax tree. - - - - - Returns the metadata module the location is associated with or null if the module is not available. - - - Might return null even if returns true. The module symbol might not be available anymore, - for example, if the location is serialized and deserialized. - - - - - The location within the syntax tree that this location is associated with. - - - If IsInSource returns False this method returns an empty TextSpan which starts at position 0. - - - - - Gets the location in terms of path, line and column. - - - that contains path, line and column information. - - Returns an invalid span (see ) if the information is not available. - - The values are not affected by line mapping directives (#line in C# or #ExternalSource in VB). - - - - - Gets the location in terms of path, line and column after applying source line mapping directives - (#line in C# or #ExternalSource in VB). - - - that contains file, line and column information, - or an invalid span (see ) if not available. - - - - - A location of kind LocationKind.None. - - - - - Creates an instance of a Location for - - - - - - - - Creates an instance of a Location for - - - - - - - - Specifies the kind of location (source vs. metadata). - - - - - Unspecified location. - - - - - The location represents a position in a source file. - - - - - The location represents a metadata file. - - - - - The location represents a position in an XML file. - - - - - The location in some external file. - - - - - A program location in metadata. - - - - - A class that represents no location at all. Useful for errors in command line options, for example. - - - - - - Describes how to report a warning diagnostic. - - - - - Report a diagnostic by default. - - - - - Report a diagnostic as an error. - - - - - Report a diagnostic as a warning even though /warnaserror is specified. - - - - - Report a diagnostic as an info. - - - - - Report a diagnostic as hidden. - - - - - Suppress a diagnostic. - - - - - A program location in source code. - - - - - A program location in an XML file. - - - - - WARN: This is a test hook - do not take a dependency on this. - - - - - - - - - - A class used to provide XML documentation to the compiler for members from metadata. A - custom implementation of this class should be returned from a DocumentationResolver to provide XML - documentation comments from custom caches or locations. - - - - - Fetches a documentation comment for the given member ID. - - The documentation member ID of the item to fetch. - The preferred culture to receive a comment in. Null if - there is no preference. This is a preference only, and providers may choose to provide - results from another culture if the preferred culture was unavailable. - A cancellation token for the search. - A DocumentationComment. - - - - DocumentationProviders are compared when determining whether an AssemblySymbol can be reused. - Hence, if multiple instances can represent the same documentation, it is imperative that - Equals (and GetHashCode) be overridden to capture this fact. Otherwise, it is possible to end - up with multiple AssemblySymbols for the same assembly, which plays havoc with the type hierarchy. - - - - - DocumentationProviders are compared when determining whether an AssemblySymbol can be reused. - Hence, if multiple instances can represent the same documentation, it is imperative that - GetHashCode (and Equals) be overridden to capture this fact. Otherwise, it is possible to end - up with multiple AssemblySymbols for the same assembly, which plays havoc with the type hierarchy. - - - - - A trivial DocumentationProvider which never returns documentation. - - - - - Used by the DocumentationCommentCompiler(s) to check doc comments for XML parse errors. - As a performance optimization, this class tries to re-use the same underlying XmlTextReader instance - when possible. - - - - - Specifies the different documentation comment processing modes. - - - Order matters: least processing to most processing. - - - - - Treats documentation comments as regular comments. - - - - - Parses documentation comments as structured trivia, but do not report any diagnostics. - - - - - Parses documentation comments as structured trivia and report diagnostics. - - - - - Maps an async/iterator method to the synthesized state machine type that implements the method. - - - - - Generate a ConstantValue of the same integer type as the argument - and offset by the given non-negative amount. Return ConstantValue.Bad - if the generated constant would be outside the valid range of the type. - - - - - Enum that uniquely identifies every event (pair) that we will be logging. - - - - - Logger class for logging ETW events. - - - - - A logger that logs 'start' and 'end' messages for a supplied event along with a number and a string. - - - - - Returns a logger that logs 'start' and 'end' messages for a supplied event along with a number and a string. - The combination of the 'start' and the 'end' message is referred to as a 'block' and each block has a unique 'blockId'. - - A number that uniquely identifies the event being logged. - A number that is logged as part of the 'end' message. - A string that is logged as part of the 'start' message. - A number that uniquely identifies the 'start' and 'end' messages for a particular occurrence of the event in the log. - In other words, each occurrence of the event will result in 'start' and 'end' messages that share the same unique blockId in the log. - A cancellation token - If the operation was cancelled then a 'cancelled' message is logged in place of a 'end' meessage for the event. - - - - Log an event with an optional simple message string. - - - - - Log an event with a message string that will only be created when it is needed. - - - - - Log an event with a message string that will only be created when it is needed. - - - - - Log an event with a message string that will only be created when it is needed. - - - - - Log an event with a message string that will only be created when it is needed. - - - - - Log an event with a message string that will only be created when it is needed. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and an optional message string. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and a message string that will only be created when it is needed. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and a message string that will only be created when it is needed. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and a message string that will only be created when it is needed. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and a message string that will only be created when it is needed. - - - - - Log an event with a 'start' and an 'end' component containing an optional number and a message string that will only be created when it is needed. - - - - - This EventSource exposes our events to ETW. - RoslynCompilerEventSource GUID is {9f93daf9-7fee-5301-ebea-643b538889b4}. - CodeSense.RoslynCompilerEventSource GUID is {08e567fa-f66d-52c7-4e58-d802264cc8db}. - - - - - Use in an exception filter to report a fatal error. - Unless the exception is - it calls . The exception is passed thru (the method returns false). - - False to avoid catching the exception. - - - - Use in an exception filter to report a fatal error. - Calls and passes the exception thru (the method returns false). - - False to avoid catching the exception. - - - - Cache with a fixed size that evictes the least recently used members. - Thread-safe. - - - - - Create cache from an array. The cache capacity will be the size - of the array. All elements of the array will be added to the - cache. If any duplicate keys are found in the array a - will be thrown. - - - - - For testing. Very expensive. - - - - - Expects non-empty cache. Does not lock. - - - - - Doesn't lock. - - - - - Doesn't lock. - - - - - Represent an optional bool as a single byte. - - - - - Structure that describes a member of a type. - - - - - Id/token of containing type, usually value from some enum. - For example from SpecialType enum. - I am not using SpecialType as the type for this field because - VB runtime types are not part of SpecialType. - - So, the implication is that any type ids we use outside of the SpecialType - (either for the VB runtime classes, or types like System.Task etc.) will need - to use IDs that are all mutually disjoint. - - - - - Signature of the field or method, similar to metadata signature, - but with the following exceptions: - 1) Truncated on the left, for methods starts at [ParamCount], for fields at [Type] - 2) Type tokens are not compressed - 3) BOOLEAN | CHAR | I1 | U1 | I2 | U2 | I4 | U4 | I8 | U8 | R4 | R8 | I | U | Void types are encoded by - using VALUETYPE+typeId notation. - 4) array bounds are not included. - 5) modifiers are not included. - 6) (CLASS | VALUETYPE) are omitted after GENERICINST - - - - - Helper class to match signatures in format of - MemberDescriptor.Signature to members. - - - - - Returns true if signature matches signature of the field. - Signature should be in format described in MemberDescriptor. - - - - - Returns true if signature matches signature of the property. - Signature should be in format described in MemberDescriptor. - - - - - Returns true if signature matches signature of the method. - Signature should be in format described in MemberDescriptor. - - - - - Does pretty much the same thing as MetadataDecoder.DecodeType only instead of - producing a type symbol it compares encoded type to the target. - - Signature should be in format described in MemberDescriptor. - - - - - Should return null in case of error. - - - - - Should return null in case of error. - - - - - Should only accept Pointer types. - Should return null in case of error. - - - - - Should return null in case of error. - - - - - Should only accept multi-dimansional arrays. - - - - - Should only accept multi-dimansional arrays. - Should return null in case of error. - - - - If the encoded type is invalid. - An exception from metadata reader. - - - If the encoded type is invalid. - An exception from metadata reader. - - - If the encoded type is invalid. - An exception from metadata reader. - - - An exception from metadata reader. - - - If the encoded type is invalid. - An exception from metadata reader. - - - - According to ECMA spec: - The CMOD_OPT or CMOD_REQD is followed by a metadata token that - indexes a row in the TypeDef table or the TypeRef table. - i.e. No modopt in DecodeType (though it still works in DecodeModifier). - - - - If the encoded local variable type is invalid. - An exception from metadata reader. - - - If the encoded local variable type is invalid. - An exception from metadata reader. - - - If the encoded parameter type is invalid. - - - An exception from metadata reader. - - - - Decodes attribute parameter type from method signature. - - If the encoded parameter type is invalid. - An exception from metadata reader. - - - - Decodes attribute argument type from attribute blob (called FieldOrPropType in the spec). - - If the encoded argument type is invalid. - An exception from metadata reader. - - - If the encoded attribute argument is invalid. - An exception from metadata reader. - - - If the encoded attribute argument is invalid. - An exception from metadata reader. - - - If the encoded attribute argument is invalid. - An exception from metadata reader. - - - If the given is invalid. - An exception from metadata reader. - - - If the encoded named argument is invalid. - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - Find the methods that a given method explicitly overrides. - - - Methods may be on class or interfaces. - Containing classes/interfaces will be supertypes of the implementing type. - - TypeDef handle of the implementing type. - MethodDef handle of the implementing method. - The type symbol for the implementing type. - Array of implemented methods. - - - - Search for the MethodSymbol corresponding to the a given MethodDef token. Search amongst the supertypes - (classes and interfaces) of a designated type. - - - Generally, the type will be a type that explicitly implements an interface and the method will be the - implemented method (i.e. on the interface). - - TypeDef token of the type from which the search should begin. - MethodDef token of the target method. - Corresponding MethodSymbol or null, if none is found. - - - - Enqueue the interfaces implemented and the type extended by a given TypeDef. - - Queue of TypeDefs to search. - Queue of TypeSymbols (representing typeRefs to search). - Handle of the TypeDef for which we want to enqueue supertypes. - An exception from metadata reader. - - - - Helper method for enqueueing a type token in the right queue. - Def -> typeDefsToSearch - Ref -> typeSymbolsToSearch - null -> neither - - - - - Enqueue the interfaces implemented and the type extended by a given TypeDef. - - Queue of TypeDefs to search. - Queue of TypeSymbols (representing typeRefs to search). - Symbol for which we want to enqueue supertypes. - - - - Enqueue the given type as either a def or a ref. - - Queue of TypeDefs to search. - Queue of TypeSymbols (representing typeRefs to search). - Symbol to enqueue. - - - - Search the members of a TypeSymbol to find the one that matches a given MethodDef token. - - Type to search for method. - MethodDef handle of the method to find. - The corresponding MethodSymbol or null. - - - - Search the members of a TypeSymbol to find the one that matches a given FieldDef token. - - Type to search for field. - FieldDef handle of the field to find. - The corresponding FieldSymbol or null. - - - - Given a MemberRef token for a method, we can find a corresponding MethodSymbol by - searching for the name and signature. - - A MemberRef token for a method. - Scope the search to supertypes of the implementing type. - True to only return method symbols, null if the token resolves to a field. - The corresponding MethodSymbol or null. - - - - Given a method symbol, return the MethodDef token, if it is defined in - this module, or a nil token, otherwise. - - The method symbol for which to return a MethodDef token. - A MethodDef token or nil. - - - - Lookup a type defined in this module. - - - - - Lookup a type defined in referenced assembly. - - - - - Produce constructed type symbol. - - - Symbol for generic type. - - - Generic type arguments, including those for nesting types. - - - Flags for arguments. Each item indicates whether corresponding argument refers to NoPia local types. - - - - - - - Produce unbound generic type symbol if the type is a generic type. - - - Symbol for type. - - - - - Returns a symbol that given token resolves to or null of the token represents entity that isn't represented by a symbol, - such as vararg MemberRef. - - - - - Given a MemberRef token, return the TypeSymbol for its Class field. - - - - - Checks whether signatures match where the signatures are either from a property - and an accessor or two accessors. When comparing a property or getter to setter, the - setter signature must be the second argument and 'comparingToSetter' must be true. - - - Signature of the property containing the accessor, or the getter (type, then parameters). - - - Signature of the accessor when comparing property and accessor, - or the setter when comparing getter and setter (return type and then parameters). - - - True when comparing a property or getter to a setter, false otherwise. - - - True if differences in IsByRef for parameters should be treated as significant. - - - True if differences in return type (or value parameter for setter) should be treated as significant. - - True if the accessor signature is appropriate for the containing property. - - - - Check whether an event accessor has an appropriate signature. - - Type of the event containing the accessor. - Signature of the accessor (return type and then parameters). - True if the accessor signature is appropriate for the containing event. - - - - Decodes a serialized type name in its canonical form. The canonical name is its full type name, followed - optionally by the assembly where it is defined, its version, culture and public key token. If the assembly - name is omitted, the type name is in the current assembly otherwise it is in the referenced assembly. The - full type name is the fully qualified metadata type name. - - - - - Decodes a type name. A type name is a string which is terminated by the end of the string or one of the - delimiters '+', ',', '[', ']'. '+' separates nested classes. '[' and ']' - enclosed generic type arguments. ',' separates types. - - - - - Decodes a generic name. This is a type name followed optionally by a type parameter count - - - - - An ImmutableArray representing the single string "System" - - - - - Calculates information about types and namespaces immediately contained within a namespace. - - - Length of the fully-qualified name of this namespace. - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids must be grouped by the - fully-qualified namespace name in case-sensitive manner. - Key of each IGrouping is a fully-qualified namespace name, which starts with the name of - this namespace. There could be multiple groups for each fully-qualified namespace name. - - The groups must be sorted by the keys in a manner consistent with comparer passed in as - nameComparer. Therefore, all types immediately contained within THIS namespace, if any, - must be in several IGrouping at the very beginning of the sequence. - - - Equality comparer to compare namespace names. - - - Output parameter, never null: - A sequence of groups of TypeDef row ids for types immediately contained within this namespace. - - - Output parameter, never null: - A sequence with information about namespaces immediately contained within this namespace. - For each pair: - Key - contains simple name of a child namespace. - Value – contains a sequence similar to the one passed to this function, but - calculated for the child namespace. - - - - - - Extract a simple name of a top level child namespace from potentially qualified namespace name. - - - Parent namespace name length plus the dot. - - - Fully qualified namespace name. - - - Simple name of a top level child namespace, the left-most name following parent namespace name - in the fully qualified name. - - - - - - Determines whether given string can be used as a non-empty metadata identifier (a NUL-terminated UTF8 string). - - - - - True if the string doesn't contain incomplete surrogates. - - - - - Determine if the given namespace and type names combine to produce the given fully qualified name. - - The namespace part of the split name. - The type name part of the split name. - The fully qualified name to compare with. - true if the combination of and equals the fully-qualified name given by - - - - Specifies what symbols to import from metadata. - - - - - Only import public and protected symbols. - - - - - Import public, protected and internal symbols. - - - - - Import all symbols. - - - - - Helper structure to encapsulate/cache various information about metadata name of a type and - name resolution options. - Also, allows us to stop using strings in the APIs that accept only metadata names, - making usage of them less bug prone. - - - - - Full metadata name of a type, includes namespace name for top level types. - - - - - Namespace name for top level types. - - - - - Name of the type without namespace prefix, but possibly with generic arity mangling present. - - - - - Name of the type without namespace prefix and without generic arity mangling. - - - - - Arity of the type inferred based on the name mangling. It doesn't have to match the actual - arity of the type. - - - - - While resolving the name, consider only types with this arity. - (-1) means allow any arity. - If forcedArity >= 0 and useCLSCompliantNameArityEncoding, lookup may - fail because forcedArity doesn't match the one encoded in the name. - - - - - While resolving the name, consider only types following - CLS-compliant generic type names and arity encoding (ECMA-335, section 10.7.2). - I.e. arity is inferred from the name and matching type must have the same - emitted name and arity. - TODO: PERF: Encode this field elsewhere to save 4 bytes - - - - - Individual parts of qualified namespace name. - - - - - Full metadata name of a type, includes namespace name for top level types. - - - - - Namespace name for top level types, empty string for nested types. - - - - - Name of the type without namespace prefix, but possibly with generic arity mangling present. - - - - - Name of the type without namespace prefix and without generic arity mangling. - - - - - Arity of the type inferred based on the name mangling. It doesn't have to match the actual - arity of the type. - - - - - Does name include arity mangling suffix. - - - - - While resolving the name, consider only types following - CLS-compliant generic type names and arity encoding (ECMA-335, section 10.7.2). - I.e. arity is inferred from the name and matching type must have the same - emitted name and arity. - - - - - While resolving the name, consider only types with this arity. - (-1) means allow any arity. - If ForcedArity >= 0 and UseCLSCompliantNameArityEncoding, lookup may - fail because ForcedArity doesn't match the one encoded in the name. - - - - - Individual parts of qualified namespace name. - - - - - A digest of MetadataTypeName's fully qualified name which can be used as the key in a dictionary - - - - - Returns true if the nested type should be imported. - - - - - Returns true if the field should be imported. Visibility - and the value of are considered - - - - - Returns true if the flags represent a field that should be imported. - Visibility and the value of are considered - - - - - Returns true if the method should be imported. Returns false for private methods that are not - explicit interface implementations. For other methods, visibility and the value of - are considered. - - - - - Returns 0 if method name doesn't represent a v-table gap. - Otherwise, returns the gap size. - - - - - All assemblies this assembly references. - - - A concatenation of assemblies referenced by each module in the order they are listed in . - - - - - The number of assemblies referenced by each module in . - - - - - Assembly identity read from Assembly table, or null if the table is empty. - - - - - Using for atomicity. - - - - - - - - A set of helpers for extracting elements from metadata. - This type is not responsible for managing the underlying storage - backing the PE image. - - - - - Using as a type for atomicity. - - - - - If bitmap is not null, each bit indicates whether a TypeDef - with corresponding RowId has been checked if it is a NoPia - local type. If the bit is 1, local type will have an entry - in m_lazyTypeDefToTypeIdentifierMap. - - - - - For each TypeDef that has 1 in m_lazyNoPiaLocalTypeCheckBitMap, - this map stores corresponding TypeIdentifier AttributeInfo. - - - - - Target architecture of the machine. - - - - - Indicates that this PE file makes Win32 calls. See CorPEKind.pe32BitRequired for more information (http://msdn.microsoft.com/en-us/library/ms230275.aspx). - - - - An exception from metadata reader. - - - - Returns the names of linked managed modules. - - An exception from metadata reader. - - - - Returns names of referenced modules. - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - The function groups types defined in the module by their fully-qualified namespace name. - The case-sensitivity of the grouping depends upon the provided StringComparer. - - The sequence is sorted by name by using provided comparer. Therefore, if there are multiple - groups for a namespace name (e.g. because they differ in case), the groups are going to be - adjacent to each other. - - Empty string is used as namespace name for types in the Global namespace. Therefore, all types - in the Global namespace, if any, should be in the first group (assuming a reasonable StringComparer). - - Comparer to sort the groups. - - - A sorted list of TypeDef row ids, grouped by fully-qualified namespace name. - An exception from metadata reader. - - - - Groups together the RowIds of types in a given namespaces. The types considered are - those defined in this module. - - An exception from metadata reader. - - - - Supplements the namespace-to-RowIDs map with the namespaces of forwarded types. - These types will not have associated row IDs (represented as null, for efficiency). - These namespaces are important because we want lookups of missing forwarded types - to succeed far enough that we can actually find the type forwarder and provide - information about the target assembly. - - For example, consider the following forwarded type: - - .class extern forwarder Namespace.Type {} - - If this type is referenced in source as "Namespace.Type", then dev10 reports - - error CS1070: The type name 'Namespace.Name' could not be found. This type has been - forwarded to assembly 'pe2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. - Consider adding a reference to that assembly. - - If we did not include "Namespace" as a child of the global namespace of this module - (the forwarding module), then Roslyn would report that the type "Namespace" was not - found and say nothing about "Name" (because of the diagnostic already attached to - the qualifier). - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - Returns a collection of interfaces implemented by given type. - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - Determine if custom attribute application is - NoPia TypeIdentifier. - - - An index of the target constructor signature in - signaturesOfTypeIdentifierAttribute array, -1 if - this is not NoPia TypeIdentifier. - - - - - Determines if a custom attribute matches a namespace and name. - - Handle of the custom attribute. - The custom attribute's namespace in metadata format (case sensitive) - The custom attribute's type name in metadata format (case sensitive) - Constructor of the custom attribute. - Should case be ignored for name comparison? - true if match is found - - - - Returns MetadataToken for assembly ref matching name - - The assembly name in metadata format (case sensitive) - Matching assembly ref token or nil (0) - - - - Returns MetadataToken for type ref matching resolution scope and name - - The resolution scope token - The namespace name in metadata format (case sensitive) - The type name in metadata format (case sensitive) - Matching type ref token or nil (0) - - - An exception from metadata reader. - - - - Determine if custom attribute matches the target attribute. - - - Handle of the custom attribute. - - The attribute to match. - - An index of the target constructor signature in - signatures array, -1 if - this is not the target attribute. - - - - - Given a token for a constructor, return the token for the constructor's type and the blob containing the - constructor's signature. - - True if the function successfully returns the type and signature. - - - - Given a token for a type, return the type's name and namespace. Only works for top level types. - namespaceHandle will be NamespaceHandle for defs and StringHandle for refs. - - True if the function successfully returns the name and namespace. - - - - For testing purposes only!!! - - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - Returns an array of tokens for type constraints. Null reference if none. - - - - An array of tokens for type constraints. Null reference if none. - - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - An exception from metadata reader. - - - - Returns true if method IL can be retrieved from the the module. - - - - - Returns true if the full image of the module is available. - - - - Invalid metadata. - - - - Extracts information from TypeDef flags. - Returns 0 if the value is invalid. - - - - - Represents an identity of an assembly as defined by CLI metadata specification. - - - May represent assembly definition or assembly reference identity. - - - Represents an identity of an assembly as defined by CLI metadata specification. - - - May represent assembly definition or assembly reference identity. - - - - - Constructs an from its constituent parts. - - The simple name of the assembly. - The version of the assembly. - The name of the culture to associate with the assembly. - The public key or public key token of the assembly. - Indicates whether represents a public key. - Indicates whether the assembly is retargetable. - Specifies the binding model for how this object will be treated in comparisons. - If is null, empty or contains an embedded null character. - is not a value of the enumeration. - contains values that are not greater than or equal to zero and less than or equal to ushort.MaxValue. - is true and is not set. - is false and - contains a value that is not the size of a public key token, 8 bytes. - - - - The simple name of the assembly. - - - - - The version of the assembly. - - - - - The culture name of the assembly, or empty if the culture is neutral. - - - - - The AssemblyNameFlags. - - - - - Specifies assembly binding model for the assembly definition or reference; - that is how assembly references are matched to assembly definitions. - - - - - True if the assembly identity includes full public key. - - - - - Full public key or empty. - - - - - Low 8 bytes of SHA1 hash of the public key, or empty. - - - - - True if the assembly identity has a strong name, ie. either a full public key or a token. - - - - - Gets the value which specifies if the assembly is retargetable. - - - - - Determines whether two instances are equal. - - The operand appearing on the left side of the operator. - The operand appearing on the right side of the operator. - - - - Determines whether two instances are not equal. - - The operand appearing on the left side of the operator. - The operand appearing on the right side of the operator. - - - - Determines whether the specified instance is equal to the current instance. - - The object to be compared with the current instance. - - - - Determines whether the specified instance is equal to the current instance. - - The object to be compared with the current instance. - - - - Returns the hash code for the current instance. - - - - - - Returns true (false) if specified assembly identities are (not) equal - regardless of unification, retargeting or other assembly binding policies. - Returns null if these policies must be consulted to determine name equivalence. - - - - - Retrieves assembly definition identity from given runtime assembly. - - The runtime assembly. - Assembly definition identity. - is null. - - - - Returns the display name of the assembly identity. - - True if the full public key should be included in the name. Otherwise public key token is used. - The display name. - - Characters ',', '=', '"', '\'', '\' occuring in the simple name are escaped by backslash in the display name. - Any character '\t' is replaced by two characters '\' and 't', - Any character '\n' is replaced by two characters '\' and 'n', - Any character '\r' is replaced by two characters '\' and 'r', - The assembly name in the display name is enclosed in double quotes if it starts or ends with - a whitespace character (' ', '\t', '\r', '\n'). - - - - - Returns the display name of the current instance. - - - - - Parses display name filling defaults for any basic properties that are missing. - - Display name. - A full assembly identity. - - Parts of the assembly identity that were specified in the display name, - or 0 if the parsing failed. - - True if display name parsed correctly. - - The simple name has to be non-empty. - A partially specified version might be missing build and/or revision number. The default value for these is 65535. - The default culture is neutral ( is . - If neither public key nor token is specified the identity is considered weak. - - is null. - - - - Compares assembly identities. - Derived types may implement platform specific unification and portability policies. - - - - - A set of possible outcomes of comparison. - - - - - Reference doesn't match definition. - - - - - Strongly named reference matches strongly named definition (strong identity is identity with public key or token), - Or weak reference matches weak definition. - - - - - Reference matches definition except for version (reference version is lower or higher than definition version). - - - - - Compares assembly reference name (possibly partial) with definition identity. - - Partial or full assembly display name. - Full assembly display name. - True if the reference name matches the definition identity. - - - - Compares assembly reference identity with definition identity. - - Reference assembly identity. - Full assembly display name. - True if the reference identity matches the definition identity. - - - - Compares reference assembly identity with definition identity and returns their relationship. - - Reference identity. - Definition identity. - - - - Represents an immutable snapshot of assembly CLI metadata. - - - - - Modules comprising this assembly. The first module is the manifest module. - - - - - Cached assembly symbols. - - - Guarded by . - - - - - Creates a single-module assembly. - - - Manifest module image. - - has the default value. - The PE image format is invalid. - - - - Creates a single-module assembly. - - - Manifest module image. - - The PE image format is invalid. - - - - Creates a single-module assembly. - - Manifest module PE image stream. - False to close the stream upon disposal of the metadata. - The PE image format is invalid. - - - - Creates a single-module assembly. - - Manifest module PE image stream. - False to close the stream upon disposal of the metadata. - The PE image format is invalid. - - - - Creates a single-module assembly. - - - Manifest module. - - This object disposes it when it is itself disposed. - - - - Creates a multi-module assembly. - - - Modules comprising the assembly. The first module is the manifest module of the assembly. - This object disposes the elements of it when it is itself . - is default value. - contains null elements. - is empty or contains a module that doesn't own its image (was created via ). - - - - Creates a multi-module assembly. - - - Modules comprising the assembly. The first module is the manifest module of the assembly. - This object disposes the elements of it when it is itself . - is default value. - contains null elements. - is empty or contains a module that doesn't own its image (was created via ). - - - - Creates a multi-module assembly. - - Modules comprising the assembly. The first module is the manifest module of the assembly. - This object disposes the elements of it when it is itself . - is default value. - contains null elements. - is empty or contains a module that doesn't own its image (was created via ). - - - - Creates a shallow copy of contained modules and wraps them into a new instance of . - - - The resulting copy shares the metadata images and metadata information read from them with the original. - It doesn't own the underlying metadata images and is not responsible for its disposal. - - This is used, for example, when a metadata cache needs to return the cached metadata to its users - while keeping the ownership of the cached metadata object. - - - - - Disposes all modules contained in the assembly. - - - - - Checks if the first module has a single row in Assembly table and that all other modules have none. - - - - - The manifest module of the assembly. - - - - - Returns the metadata kind. - - - - - Finds all modules of an assembly on a specified path and builds an instance of that represents them. - - The full path to the assembly on disk. - is null. - is not an absolute path. - Error reading file . See for details. - - - - Represents immutable assembly or module CLI metadata. - - - - - Retrieves the for this instance. - - - - - Releases any resources associated with this instance. - - - - - Creates a copy of this object. - - - - - The kind of metadata a PE file image contains. - - - - - The PE file is an assembly. - - - - - The PE file is a module. - - - - - Represents an in-memory Portable-Executable image. - - - - - Creates a reference to a single-module assembly image. - - Read-only assembly image. - Provides XML documentation for symbol found in the reference. - Reference aliases. - True if interop types contained in the reference should be embedded to the compilation that uses the reference. - Optional full path used for reference comparison when used in compilation. The file doesn't need to exist. - Display string for error reporting. - - - - Creates a reference to a single-module assembly image. - - Read-only assembly image. - Provides XML documentation for symbol found in the reference. - Reference aliases. - True if interop types contained in the reference should be embedded to the compilation that uses the reference. - Optional full path used for reference comparison when used in compilation. The file doesn't need to exist. - Display string for error reporting. - - - - Creates a reference to a single-module assembly image. - - Stream with assembly image, it should support seek operations. - Provides XML documentation for symbol found in the reference. - Reference alias. - True if interop types contained in the reference should be embedded to the compilation that uses the reference. - Optional full path used for reference comparison when used in compilation. The file doesn't need to exist. - Display string for error reporting. - - - - Creates a reference to a standalone module image. - - Metadata for the standalone module. - - Optional full path used for reference comparison when used in compilation. - The file doesn't need to exist. - If represents a memory mapped file and this parameter is not specified the path to the memory mapped file is used. - - Provides XML documentation for symbol found in the reference. - Display string for error reporting. - - - - Creates a reference to an assembly or a module image. The assembly can comprise multiple modules. - - Assembly or module metadata. - Provides XML documentation for symbol found in the reference. - Reference aliases. - True if interop types contained in the reference should be embedded to the compilation that uses the reference. - - Optional full path used for reference comparison when used in compilation. - The file doesn't need to exist. - If the manifest module of the assembly is a memory mapped file and this parameter is not specified the path to the memory mapped file is used. - - Display string for error reporting. - - - - Returns an instance of the reference with specified aliases. - - The new aliases for the reference. - Alias is invalid for the metadata kind. - - - - Returns an instance of the reference with specified aliases. - - The new aliases for the reference. - Alias is invalid for the metadata kind. - - - - Returns an instance of the reference with specified interop types embedding. - - The new value for . - Interop types can't be embedded from modules. - - - - Returns an instance of the reference with specified documentation provider. - - The new . - is null. - - - - Represents metadata image reference. - - - Represents a logical location of the image, not the content of the image. - The content might change in time. A snapshot is taken when the compiler queries the reference for its metadata. - - - - - Path or name used in error messages to identity the reference. - - - - - Returns true if this reference is an unresolved reference. - - - - - Information about a metadata reference. - - - - - Default properties for a module reference. - - - - - Default properties for an assembly reference. - - - - - Initializes reference properties. - - The image kind - assembly or module. - Assembly aliases. Can't be set for a module. - True to embed interop types from the referenced assembly to the referencing compilation. Must be false for a module. - - - - Returns with specified aliases. - - - is , as modules can't be aliased. - - - - - Returns with specified aliases. - - - is , as modules can't be aliased. - - - - - Returns with set to specified value. - - is , as interop types can't be embedded from modules. - - - - The image kind (assembly or module) the reference refers to. - - - - - Alias that represents a global declaration space. - - - Namespaces in references whose contain are available in global declaration space. - - - - - Aliases for the metadata reference, or default() if no aliases were specified. - - - In C# these aliases can be used in "extern alias" syntax to disambiguate type names. - - - - - True if interop types defined in the referenced metadata should be embedded into the compilation referencing the metadata. - - - - - An extensible mechanism for providing - to services that require them. - - Used to create when - processing interactive code directives that load .NET metadata. - - - - - Maps "metadata about .NET metadata" to . - - Path returned by . - Metadata reference properties. - A corresponding to the and - parameters. - - - - Resolves references to metadata specified in the source (#r directives). - - - - - Represents an immutable snapshot of module CLI metadata. - - This object may allocate significant resources or lock files depending upon how it is constructed. - - - - Create metadata module from a raw memory pointer to metadata directory of a PE image or .cormeta section of an object file. - Only manifest modules are currently supported. - - Pointer to the start of metadata block. - The size of the metadata block. - is null. - is not positive. - doesn't contain valid metadata. - doesn't represent an assembly (manifest module). - - - - Create metadata module from a raw memory pointer to a PE image or an object file. - - Pointer to the DOS header ("MZ") of a portable executable image. - The size of the image pointed to by . - is null. - is not positive. - is not valid portable executable image containing CLI metadata - - - - Create metadata module from a sequence of bytes. - - The portable executable image beginning with the DOS header ("MZ"). - is null. - is not valid portable executable image containing CLI metadata - - - - Create metadata module from a byte array. - - Portable executable image beginning with the DOS header ("MZ"). - is null. - is not valid portable executable image containing CLI metadata - - - - Create metadata module from a stream. - - Stream containing portable executable image. Position zero should contain the first byte of the DOS header ("MZ"). - - False to close the stream upon disposal of the metadata (the responsibility for disposal of the stream is transferred upon entry of the constructor - unless the arguments given are invalid). - - is not valid portable executable image containing CLI metadata - The stream doesn't support seek operations. - is null. - - - - Create metadata module from a stream. - - Stream containing portable executable image. Position zero should contain the first byte of the DOS header ("MZ"). - - Options specifying how sections of the PE image are read from the stream. - Unless is specified, the responsibility for disposal of the stream is transferred upon entry of the constructor - unless the arguments given are invalid. - - is not valid portable executable image containing CLI metadata - The stream doesn't support read and seek operations. - is null. - has an invalid value. - - - - Creates a shallow copy of this object. - - - The resulting copy shares the metadata image and metadata information read from it with the original. - It doesn't own the underlying metadata image and is not responsible for its disposal. - - This is used, for example, when a metadata cache needs to return the cached metadata to its users - while keeping the ownership of the cached metadata object. - - - - - Frees memory and handles allocated for the module. - - - - - Name of the module. - - Module has been disposed. - - - - Version of the module content. - - Invalid metadata. - Module has been disposed. - - - - Returns the for this instance. - - - - - Returns the file names of linked managed modules. - - When an invalid module name is encountered. - Module has been disposed. - - - - Creates metadata module from a file containing a portable executable image. - - Absolute file path. - - The file might remain mapped (and read-locked) until this object is disposed. - The memory map is only created for large files. Small files are read into memory. - - is null. - is not a valid absolute path. - The PE image format is invalid. - Error reading file . See for details. - File not found. - - - - Reference to metadata stored in the standard ECMA-335 metadata format. - - - - - Path or name used in error messages to identity the reference. - - - - - Full path describing the location of the metadata, or null if the metadata have no location. - - - - - Create documentation provider for the reference. - - - Called when the compiler needs to read the documentation for the reference. - This method is called at most once per metadata reference and its result is cached on the reference object. - - - - - XML documentation comments provider for the reference. - - - - - Get metadata representation for the PE file. - - If the PE image format is invalid. - The metadata image content can't be read. - The metadata image is stored in a file that can't be found. - - Called when the needs to read the reference metadata. - - The listed exceptions are caught and converted to compilation diagnostics. - Any other exception is considered an unexpected error in the implementation and is not caught. - - objects may cache information decoded from the PE image. - Reusing instances accross metadata references will result in better performance. - - The calling doesn't take ownership of the objects returned by this method. - The implementation needs to retrieve the object from a provider that manages their lifetime (such as metadata cache). - The object is kept alive by the that called - and by all compilations created from it via calls to With- factory methods on , - other than overloads. A compilation created using - will call to again. - - - - - Represents the value of #r reference along with its source location. - - - - - Represents a metadata reference that can't be resolved. - - - For error reporting only, can't be used to reference a metadata file. - - - - - Converts this identity to . - - A new instance of . - The culture specified in is not available on the current platform. - - - - Policy to be used when matching assembly reference to an assembly definition accross platforms. - - - - - Converts to . - - Major, minor, build or revision number are less than 0 or greater than 0xFFFF. - - - - Managed abstraction of the functionality provided by ICLRMetaHost. - - - - - Gets the corresponding to the current runtime. - That is, the runtime executing currently. - - - - - Describes a command line metadata reference (assembly or netmodule) specification. - - - - - Metadata file path or an assembly display name. - - - - - Metadata reference properties. - - - - - Describes a source file specification stored on command line arguments. - - - - - Resolved absolute path of the source file (does not contain wildcards). - - - Although this path is absolute it may not be normalized. That is, it may contain ".." and "." in the middle. - - - - - True if the file should be treated as a script file. - - - - - The base class for representing command line arguments to a - . - - - - - Directory used to resolve relative paths stored in the arguments. - - - Except for paths stored in , all - paths stored in the properties of this class are resolved and - absolute. This is the directory that relative paths specified on - command line were resolved against. - - - - - Sequence of absolute paths used to search for references. - - - - - Sequence of absolute paths used to search for key files. - - - - - If true, use UTF8 for output. - - - - - Compilation name or null if not specified. - - - - - Name of the output file or null if not specified. - - - - - Path of the PDB file or null if not specified. - - - - - Absolute path of the output directory. - - - - - Absolute path of the documentation comment XML file or null if not specified. - - - - - An absolute path of the App.config file or null if not specified. - - - - - Errors while parsing the command line arguments. - - - - - References to metadata supplied on the command line. - Includes assemblies specified via /r and netmodules specified via /addmodule. - - - - - References to analyzers supplied on the command line. - - - - - If true, prepend the command line header logo during - . - - - - - If true, append the command line help during - - - - - - The path to a Win32 resource. - - - - - The path to a .ico icon file. - - - - - The path to a Win32 manifest file to embed - into the output portable executable (PE) file. - - - - - If true, do not embed any Win32 manifest, including - one specified by or any - default manifest. - - - - - Resources specified as arguments to the compilation. - - - - - Encoding to be used for source files or 'null' for autodetect/default. - - - - - Arguments following script argument separator "--" or null if is false. - - - - - Source file paths. - - - Includes files specified directly on command line as well as files matching patterns specified - on command line using '*' and '?' wildcards or /recurse option. - - - - - Fule path of a log of file paths accessed by the compiler, or null if file logging should be suppressed. - - - Two log files will be created: - One with path and extension ".read" logging the files read, - and second with path and extension ".write" logging the files written to during compilation. - - - - - If true, prints the full path of the file containing errors or - warnings in diagnostics. - - - - - Options to the . - - - - - - Options to the . - - - - - Specify the preferred output language name. - - - - - Resolves metadata references stored in using given file resolver and metadata provider. - - to use for assembly name and relative path resolution. - to read metadata from resolved paths. - Yields resolved metadata references or . - is null. - is null. - - - - Resolves metadata references stored in using given file resolver and metadata provider. - If a non-null diagnostic bag is provided, it catches exceptions that may be generated while reading the metadata file and - reports appropriate diagnostics. - Otherwise, if is null, the exceptions are unhandled. - - - - - Resolves analyzer references stored in using given file resolver. - - Yields resolved or . - - - - Enumerates files in the specified directory and subdirectories whose name matches the given pattern. - - Full path of the directory to enumerate. - File name pattern. May contain wildcards '*' (matches zero or more characters) and '?' (matches any character). - Specifies whether to search the specified only, or all its subdirectories as well. - Sequence of file paths. - - - - Parse a response file into a set of arguments. Errors openening the response file are output into "errors". - - - - - Take a string of lines from a response file, remove comments, - and split into a set of command line arguments. - - - - - Remove all double quote characters from the given string. - - - - - Remove one set of leading and trailing double quote characters, if both are present. - - - - - Split a command line by the same rules as Main would get the commands. - - - Rules for command line parsing, according to MSDN: - - Arguments are delimited by white space, which is either a space or a tab. - - A string surrounded by double quotation marks ("string") is interpreted - as a single argument, regardless of white space contained within. - A quoted string can be embedded in an argument. - - A double quotation mark preceded by a backslash (\") is interpreted as a - literal double quotation mark character ("). - - Backslashes are interpreted literally, unless they immediately precede a - double quotation mark. - - If an even number of backslashes is followed by a double quotation mark, - one backslash is placed in the argv array for every pair of backslashes, - and the double quotation mark is interpreted as a string delimiter. - - If an odd number of backslashes is followed by a double quotation mark, - one backslash is placed in the argv array for every pair of backslashes, - and the double quotation mark is "escaped" by the remaining backslash, - causing a literal double quotation mark (") to be placed in argv. - - - - - Split a string, based on whether "splitHere" returned true on each character. - - - - - Condense double backslashes that precede a quotation mark to single backslashes. - - - - - Add "count" backslashes to a StringBuilder. - - - - - Split a string by a set of separators, taking quotes into account. - - - - - Tries to parse a UInt64 from string in either decimal, octal or hex format. - - The string value. - The result if parsing was successful. - true if parsing was successful, otherwise false. - - - - Tries to parse a UInt16 from string in either decimal, octal or hex format. - - The string value. - The result if parsing was successful. - true if parsing was successful, otherwise false. - - - - Rules for command line parsing, according to MSDN: - - Arguments are delimited by white space, which is either a space or a tab. - - A string surrounded by double quotation marks ("string") is interpreted - as a single argument, regardless of white space contained within. - A quoted string can be embedded in an argument. - - A double quotation mark preceded by a backslash (\") is interpreted as a - literal double quotation mark character ("). - - Backslashes are interpreted literally, unless they immediately precede a - double quotation mark. - - If an even number of backslashes is followed by a double quotation mark, - one backslash is placed in the argv array for every pair of backslashes, - and the double quotation mark is interpreted as a string delimiter. - - If an odd number of backslashes is followed by a double quotation mark, - one backslash is placed in the argv array for every pair of backslashes, - and the double quotation mark is "escaped" by the remaining backslash, - causing a literal double quotation mark (") to be placed in argv. - - - - - Base class for csc.exe, csi.exe, vbc.exe and vbi.exe implementations. - - - - - Resolves metadata references stored in command line arguments and reports errors for those that can't be resolved. - - - - - Returns false if there were unresolved references in arguments, true otherwise. - - - - - Reads content of a source file. - - Source file information. - Storage for diagnostics. - Encoding to use or 'null' for autodetect/default - File content or null on failure. - - - - Reads content of a source file. - - Source file information. - Storage for diagnostics. - Encoding to use or 'null' for autodetect/default - If given opens successfully, set to normalized absolute path of the file, null otherwise. - File content or null on failure. - - - - csc.exe and vbc.exe entry point. - - - - - Given a compilation and a destination directory, determine three names: - 1) The name with which the assembly should be output (default = null, which indicates that the compilation output name should be used). - 2) The path of the assembly/module file (default = destination directory + compilation output name). - 3) The path of the pdb file (default = assembly/module path with ".pdb" extension). - - - C# has a special implementation that implements idiosyncratic behavior of csc. - - - - - Test hook for intercepting File.Open. - - - - - Test hook for intercepting File.Delete. - - - - - Test hook for intercepting File.Move. - - - - - Test hook for intercepting Path.GetTempFileName. - - - - - csi.exe and vbi.exe entry point. - - - - - When overriden by a derived class, this property can override the current thread's - CurrentUICulture property for diagnostic message resource lookups. - - - - - Looks for metadata references among the assembly file references given to the compilation when constructed. - When scripts are included into a project we don't want #r's to reference other assemblies than those - specified explicitly in the project references. - - - - - When compiling to a file all unresolved assembly names have to match one of the file references specified on command line. - - - - - When compiling to a file all relative paths have to match one of the file references specified on command line. - - - - - Represents errors that occur while parsing RuleSet files. - - - - - Represents a set of rules as specified in a rulset file. - - - - - The file path of the ruleset file. - - - - - The global option specified by the IncludeAll tag. - - - - - Individual ruleids and their associated actions. - - - - - List of rulesets included by this ruleset. - - - - - Create a RuleSet. - - - - - Create a RuleSet with a global effective action applied on it. - - - - - Get the effective ruleset after resolving all the included rulesets. - - - - - Get all the files involved in resolving this ruleset. - - - - - Returns true if the action1 is stricter than action2. - - - - - Load the ruleset from the specified file. This ruleset will contain - all the rules resolved from the includes specified in the ruleset file - as well. See also: . - - - A ruleset that contains resolved rules or null if there were errors. - - - - - Get the paths to all files contributing rules to the ruleset from the specified file. - See also: . - - - The full paths to included files, or an empty array if there were errors. - - - - - Parses the ruleset file at the given and returns the following diagnostic options from the parsed file: - 1) A map of from rule ID to option. - 2) A global option for all rules in the ruleset file. - - - - - Represents a Include tag in a RuleSet file. - - - - - The path of the included file. - - - - - The effective action to apply on this included ruleset. - - - - - Create a RuleSetInclude given the includepath and the effective action. - - - - - Gets the RuleSet associated with this ruleset include - - The parent of this ruleset include - - - - Returns a full path to the include file. Relative paths are expanded relative to the current rule set file. - - The parent of this rule set include - - - - This type is responsible for parsing a ruleset xml file and producing a object. - - - - - Static constructor for initializing the schema object to be used for schema validation - - - - - Creates and loads the rule set from a file - - The file path to load the rule set - - - - Load the rule set from the XML node - - The rule set node from which to create a rule set object - The file path to the rule set file - A rule set object with data from the given XML node - - - - Load the rules from the XML node - - The rules node from which to loop through each child rule node - A list of rule objects with data from the given XML node - - - - Load the rule from the XML node - - The rule node from which to create a rule object - The analyzer this rule belongs to - The namespace this rule belongs to - A rule object with data from the given XML node - - - - Load the included rule set from the XML node - - The include node from which to create a RuleSetInclude object - A RuleSetInclude object with data from the given XML node - - - - Reads the action from the given node - - The node to read the action, it can be a rule node or an include node - The rule action - - - - Load the IncludedAll from the XML node - - The IncludeAll node from which to create a IncludeAll object - A IncludeAll object with data from the given XML node - - - - Reads an attribute from a node and validates that it is not empty. - - The XML node that contains the attribute - The name of the attribute to read - The attribute value - - - - Gets the default settings to read the rulset xml file. - - - - - Used for logging all the paths which are "touched" (used) in any way - in the process of compilation. - - - - - Adds a fully-qualified path to the Logger for a read file. - Semantics are undefined after a call to . - - - - - Adds a fully-qualified path to the Logger for a written file. - Semantics are undefined after a call to . - - - - - Adds a fully-qualified path to the Logger for a read and written - file. Semantics are undefined after a call to - . - - - - - Writes all of the paths the TouchedFileLogger to the given - TextWriter in upper case. After calling this method the - logger is in an undefined state. - - - - - Writes all of the paths the TouchedFileLogger to the given - TextWriter in upper case. After calling this method the - logger is in an undefined state. - - - - Assembly portability policy, usually provided through an app.config file. - - - - Loads information from XML with App.config schema. - - The stream doesn't contain a well formed XML. - is null. - - Tries to find supportPortability elements in the given XML: - - - - - - - - - ]]> - - Keeps the stream open. - - - - - Returns true if the identity is a Framework 4.5 or lower assembly. - - - - - Provides strong name and signs source assemblies. - - - - - Creates an instance of . - - - An ordered set of fully qualified paths which are searched when locating a cryptographic key file. - - - - - Resolves assembly strong name key file path. - Internal for testing. - - Normalized key file path or null if not found. - - - - - - - - - - - - - - - - Describes a command line analyzer assembly specification. - - - - - Assembly file path. - - - - - Implementation of SourceText based on a input - - - - - Underlying string on which this SourceText instance is based - - - - - Sha1 checksum of the underlying stream. - - - - - Underlying string which is the source of this SourceText instance - - - - - Initializes an instance of with provided bytes. - - - - Automatically detected, if not specified: BigEndianUnicode, Unicode, UTF8 - (with or without byte order mark). Windows-1252 will be used as a fallback. - This method will throw an InvalidDataException if the stream appears to be a binary file and - a DecoderFallbackException if it can't be decoded. - - - - - The length of the text represented by . - - - - - Returns a character at given position. - - The position to get the character from. - The character. - When position is negative or - greater than length. - - - - Provides a string representation of the StringText located within given span. - - When given span is outside of the text range. - - - - The following encodings will be automatically detected: - BigEndianUnicode, Unicode, UTF8 (with or without byte order mark). - The default windows codepage will be used as a fallback. If the - default windows codepage is 1252 (Western European), we will try to - detect if the stream is binary encoded. Does not close the stream - after decoding. - - If a binary file is - detected. - If the detected - encoding can't decode the stream. - - - - Decodes the file using the supplied if and only - if the file fails the heuristic for detecting a binary file. The heuristic checks - for occurrence of two consecutive NUL (U+0000) characters in the stream, which are - highly unlikely to appear in a text file. Since the heuristic is applied after - the text has been decoded, it can be used with any encoding. - Does not close the stream when finished. - - Data stream - Encoding to use for decode - If the stream is binary encoded - Decoded stream as a text string - - - - Decode the given stream using the given encoding. Does not - close the stream afterwards. - - Data stream - Encoding to use for decode - If the given - encoding is set to use - as its fallback decoder. - Decoded stream as a text string - - - - Read a Unicode string from a memory mapped view. The stream is not closed on exit. - - A view over a memory mapped stream which contains a Unicode string (preceded by a Unicode BOM) - The string - - - - If the MemoryStream was created with publiclyVisible=true, then we can access its buffer - directly and save allocations in StreamReader. The input MemoryStream is not closed on exit. - - If the given encoding is set to use - as its fallback decoder. - - - - Assume that the input is UTF8 encoded with no byte order mark (BOM) - - - - - An SourceText that is a composite of a sequence of ITexts - - - - - Validates the arguments passed to CopyTo against the published contract. - - - - - - True if should bother to proceed with copying. - - - - Immutable representation of a line number and position within a SourceText instance. - - - - - A that represents position 0 at line 0. - - - - - Initializes a new instance of a with the given line and character. - - - The line of the line position. The first line in a file is defined as line 0 (zero based line numbering). - - - The character position in the line. - - or is less than zero. - - - - The line number. The first line in a file is defined as line 0 (zero based line numbering). - - - - - The character position within the line. - - - - - Determines whether two are the same. - - - - - Determines whether two are different. - - - - - Determines whether two are the same. - - The object to compare. - - - - Determines whether two are the same. - - The object to compare. - - - - Provides a hash function for . - - - - - Provides a string representation for . - - 0,10 - - - - Immutable span represented by a pair of line number and index within the line. - - - - - Creates . - - Start position. - End position. - preceeds . - - - - Gets the start position of the span. - - - - - Gets the end position of the span. - - - - - Provides a string representation for . - - (0,0)-(5,6) - - - - An abstraction of source text. - - - - - Constructs a from text in a string. - - Text. - - SHA1 checksum of the binary representation of the text. - Used by the compiler to produce debug information for the corresponding document. - The document won't be debuggable if checksum is not specified. - - is null. - - - - Constructs a from stream content. - - Stream. - - Data encoding to use unless the stream starts with Byte Order Mark specifying the encoding. - UTF8 if not specified. - is null. - doesn't support reading or seeking. - An I/O error occurs. - - Reads from the beginning of the stream. Leaves the stream open. - Attaches SHA1 checksum of the binary content to the . - This information is used by the compiler to produce debug information for the document. - - - - - The length of the text in characters. - - - - - Returns a character at given position. - - The position to get the character from. - The character. - When position is negative or - greater than length. - - - - Copy a range of characters from this SourceText to a destination array. - - - - - The container of this . - - - - - Gets a that contains the characters in the specified span of this text. - - - - - Returns a that has the contents of this text including and after the start position. - - - - - Write this to a text writer. - - - - - Write a span of text to a text writer. - - - - - - - Computes SHA1 hash of the text binary representation. - - - Returns if the binary representation is not available. - - - - - Provides a string representation of the SourceText. - - - - - Gets a string containing the characters in specified span. - - When given span is outside of the text range. - - - - Constructs a new SourceText from this text with the specified changes. - - - - - Constructs a new SourceText from this text with the specified changes. - - - - - Returns a new SourceText with the specified span of characters replaced by the new text. - - - - - Returns a new SourceText with the specified range of characters replaced by the new text. - - - - - Gets the set of that describe how the text changed - between this text an older version. This may be multiple detailed changes - or a single change encompassing the entire text. - - - - - Gets the set of that describe how the text changed - between this text and an older version. This may be multiple detailed changes - or a single change encompassing the entire text. - - - - - The collection of individual text lines. - - - - - An object that contains an instance of an SourceText and raises events when its current instance - changes. - - - - - The current text instance. - - - - - Raised when the current text instance changes. - - - - - Implementation of SourceText based on a input - - - - - Underlying string on which this SourceText instance is based - - - - - Underlying string which is the source of this SourceText instance - - - - - The length of the text represented by . - - - - - Returns a character at given position. - - The position to get the character from. - The character. - When position is negative or - greater than length. - - - - Provides a string representation of the StringBuilderText located within given span. - - When given span is outside of the text range. - - - - Implementation of SourceText based on a input - - - - - Underlying string which is the source of this SourceText instance - - - - - The length of the text represented by . - - - - - Returns a character at given position. - - The position to get the character from. - The character. - When position is negative or - greater than length. - - - - Provides a string representation of the StringText located within given span. - - When given span is outside of the text range. - - - - An SourceText that represents a subrange of another SourceText. - - - - - Describes a single change when a particular span is replaced with a new text. - - - - - The original span of the changed text. - - - - - The new text. - - - - - Initializes a new instance of - - The original span of the changed text. - The new text. - - - - Provides a string representation for . - - - - - Converts a to a . - - - - - - An empty set of changes. - - - - - Represents state for a TextChanged event. - - - - - Initializes an instance of . - - The text before the change. - The text after the change. - A non-empty set of ranges for the change. - - - - Initializes an instance of . - - The text before the change. - The text after the change. - A non-empty set of ranges for the change. - - - - Gets the text before the change. - - - - - Gets the text after the change. - - - - - Gets the set of ranges for the change. - - - - - Represents the change to a span of text. - - - - - The span of text before the edit which is being changed - - - - - Width of the span after the edit. A 0 here would represent a delete - - - - - Initializes a new instance of . - - - - - - - Compares current instance of to another. - - - - - Compares current instance of to another. - - - - - Provides hash code for current instnce of . - - - - - - Determines if two instances of are same. - - - - - Determines if two instances of are different. - - - - - An empty set of changes. - - - - - Collapse a set of s into a single encompassing range. If - the set of ranges provided is empty, an empty range is returned. - - - - - Information about the character boundaries of a single line of text. - - - - - Creates a instance. - - The source text. - The span of the line. - An instance of . - The span does not represent a text line. - - - - Gets the source text. - - - - - Gets the zero-based line number. - - - - - Gets the start position of the line. - - - - - Gets the end position of the line not including the line break. - - - - - Gets the end position of the line including the line break. - - - - - Gets the line span not including the line break. - - - - - Gets the line span including the line break. - - - - - Abstract base class for collections. - - - - - The count of items in the collection - - - - - Gets the item at the specified index. - - - - - The index of the TextLine that encompasses the character position. - - - - - Gets a that encompasses the character position. - - - - - - - Gets a corresponding to a character position. - - - - - Convert a to a . - - - - - Convert a to a position. - - - - - Convert a to . - - - - - Immutable abstract representation of a span of text. For example, in an error diagnostic that reports a - location, it could come from a parsed string, text from a tool editor buffer, etc. - - - - - Creates a TextSpan instance beginning with the position Start and having the Length - specified with length. - - - - - Start point of the Span. - - - - - End of the span. - - - - - Length of the span. - - - - - Determines whether or not the span is empty. - - - - - Determines whether the position lies within the span. - - - The position to check. - - - true if the position is greater than or equal to Start and strictly less - than End, otherwise false. - - - - - Determines whether falls completely within this span. - - - The span to check. - - - true if the specified span falls completely within this span, otherwise false. - - - - - Determines whether overlaps this span. Two spans are considered to overlap - if they have positions in common and neither is empty. Empty spans do not overlap with any - other span. - - - The span to check. - - - true if the spans overlap, otherwise false. - - - - - Returns the overlap with the given span, or null if there is no overlap. - - - The span to check. - - - The overlap of the spans, or null if the overlap is empty. - - - - - Determines whether intersects this span. Two spans are considered to - intersect if they have positions in common or the end of one span - coincides with the start of the other span. - - - The span to check. - - - true if the spans intersect, otherwise false. - - - - - Determines whether intersects this span. - A position is considered to intersect if it is between the start and - end positions (inclusive) of this span. - - - The position to check. - - - true if the position intersects, otherwise false. - - - - - Returns the intersection with the given span, or null if there is no intersection. - - - The span to check. - - - The intersection of the spans, or null if the intersection is empty. - - - - - Creates a new from and positions as opposed to a position and length. - - - - - Determines if two instances of are the same. - - - - - Determines if two instances of are different. - - - - - Determines if current instance of is equal to another. - - - - - Determines if current instance of is equal to another. - - - - - Produces a hash code for . - - - - - Provides a string representation for . - - - - - Compares current instance of with another. - - - - - Holder for common Text Utility functions and values - - - - - Create a new SourceText instance from a function that writes to a TextWriter - - - - - Return startLineBreak = index-1, lengthLineBreak = 2 if there is a \r\n at index-1 - Return startLineBreak = index, lengthLineBreak = 1 if there is a 1-char newline at index - Return startLineBreak = index+1, lengthLineBreak = 0 if there is no newline at index. - - - - - Determine if the character in question is any line break character - - - - - Manages cache of the following information for Portable Executables loaded from files. - - For assemblies - a map from file name and timestamp to: - 1) A weak reference to the corresponding PEAssembly object; - 2) A list of weak references to instances of VB/CS AssemblySymbols based on the PEAssembly object. - - For modules - a map from file name and timestamp to a weak reference to the corresponding PEModule object - - For analyzer assemblies - a map from file name and timestamp to a weak reference to the diagnostic analyzers defined in the assembly. - - - - - Global cache for assemblies imported from files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - - - - - Global cache for net-modules imported from files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - - - - - Global cache for diagnostic analyzers imported from analyzer assembly files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - - - - - Timer triggering compact operation for metadata cache. - - - - - Period at which the timer is firing (30 seconds). - - - - - compactTimer's procedure is in progress. - Used to prevent multiple instances running in parallel. - - - - - compactTimer is on, i.e. will fire. - - This field is changed to 'yes' only by EnableCompactTimer(), - and is changed to 'no' only by CompactCache(). - - - - - Collection count last time the cache was compacted. - - - - - Lock that must be acquired for the duration of read/write operations on MetadataCache. - - Internal for testing. - - - - - Return amount of GC collections occurred so far. - - - - - Called by compactTimer to compact the cache. - - - - - Trigger timer every 30 seconds. - Cache must be locked before calling this method. - - - - - For test purposes only. - - - - - Trigger compact operation for the cache, meant to be used for test purpose only. - Locking the cache prior to calling this method is a good way to get into a deadlock. - - For test purposes only!!! - - - - - Called by compactTimer. - - - - - Called by compactTimer. - - - - - Called by compactTimer. - - - - - Global cache for assemblies imported from files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - Internal accessibility is for test purpose only. - - - - - For test purposes only. - - - - - Global cache for net-modules imported from files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - Internal accessibility is for test purpose only. - - - - - - For test purposes only. - - - - - Global cache for analyzers imported from files. - The cache must be locked for the duration of read/write operations, see CacheLockObject property. - Internal accessibility is for test purpose only. - - - - - For test purposes only. - - - - - This class is meant to be used for test purpose only. - It locks MetadataCache until the instance is disposed. - Upon locking, the cache is swapped with an empty cache, - original cache is restored before the cache is unlocked. - - - - - Clean global metadata caches, meant to be used for test purpose only. - - - - - - - - - - - - - - Represents metadata stored in a file. - - - Metadata image is read from the file, owned by the reference, and doesn't change - since the reference is accessed by the compiler until the reference object is garbage collected. - During this time the file is open and its content is read-only. - - If you need to manage the lifetime of the metadata (and the file stream) explicitly use or - implement a custom subclass of . - - - - - - - - An extensible mechanism for providing - to services that require them. - - Used to create when - processing interactive code directives that load .NET metadata. - - - - - Maps "metadata about .NET metadata" to . - - Path returned by . - Metadata reference properties. - A corresponding to the and - parameters. - - - - Resolves metadata references specified in source code (#r directives). - - - - - Initializes a new instance of the class. - - An ordered set of fully qualified - paths which are searched when resolving assembly names. - Directory used when resolving relative paths. - - - - Initializes a new instance of the class. - - An ordered set of fully qualified - paths which are searched when resolving assembly names. - Directory used when resolving relative paths. - - - - Search paths used when resolving metadata references. - - - All search paths are absolute. - - - - - Directory used for resolution of relative paths. - A full directory path or null if not available. - - - This directory is only used if the base directory isn't implied by the context within which the path is being resolved. - - It is used, for example, when resolving a strong name key file specified in , - or a metadata file path specified in . - - Resolution of a relative path that needs the base directory fails if the base directory is null. - - - - - Resolves a metadata reference that is a path or an assembly name. - - Reference path. - - The base file path to use to resolve relative paths against. - Null to use the as a base for relative paths. - - - Normalized absolute path to the referenced file or null if it can't be resolved. - - - - - Resolves references to source files specified in source code. - - - - - Resolves references to XML files specified in the source. - - - - - Resolves XML document file path. - - - Value of the "file" attribute of an <include> documentation comment element. - - - Path of the source file () or XML document that contains the . - If not null used as a base path of , if is relative. - If is relative is used as the base path of . - - Normalized XML document file path or null if not found. - - - - Represents a value type that can be assigned null. - - - - - - Initializes a new instance to the specified value. - - - - - - Gets a value indicating whether the current object has a value. - - - - - - Gets the value of the current object. - - - - - - Creates a new object initialized to a specified value. - - - - - - Specifies output assembly knids generated by compiler. - - - - - An .exe with an entry point and a console. - - - - - An .exe with an entry point but no console. - - - - - A .dll file. - - - - - A .netmodule file. - - - - - A .winmdobj file. - - - - - An .exe that can run in an app container. - - - Equivalent to a WindowsApplication, but with an extra bit set in the Portable Executable file - so that the application can only be run in an app container. - Also known as a "Windows Store app". - - - - - The base class for language specific assembly managers. - - Language specific representation for a compilation - Language specific representation for an assembly symbol. - - - - Information about an assembly, used as an input for the Binder class. - - - - - Identity of the assembly. - - - - - Identity of assemblies referenced by this assembly. - References should always be returned in the same order. - - - - - The sequence of AssemblySymbols the Binder can choose from. - - - - - Check if provided AssemblySymbol is created for assembly described by this instance. - This method is expected to return true for every AssemblySymbol returned by - AvailableSymbols property. - - - The AssemblySymbol to check. - - Boolean. - - - - Resolve assembly references against assemblies described by provided AssemblyData objects. - In other words, match assembly identities returned by AssemblyReferences property against - assemblies described by provided AssemblyData objects. - - An array of AssemblyData objects to match against. - Used to compare assembly identities. - - For each assembly referenced by this assembly () - a description of how it binds to one of the input assemblies. - - - - - Result of binding an AssemblyRef to an AssemblyDef. - - - - - Failed binding. - - - - - Successful binding. - - - - - Returns true if the reference was matched with the identity of the assembly being built. - - - - - True if the definition index is available (reference was successfully matched with the definition). - - - - - 0 if the reference is equivalent to the definition. - -1 if version of the matched definition is lower than version of the reference, but the reference otherwise matches the definition. - +1 if version of the matched definition is higher than version of the reference, but the reference otherwise matches the definition. - - Undefined unless is true. - - - - - Index into assembly definition list. - Undefined unless is true. - - - - - Private helper class to capture information about AssemblySymbol instance we - should check for suitability. Used by the Bind method. - - - - - An index of the AssemblyData object in the input array. AssemblySymbol instance should - be checked for suitability against assembly described by that object, taking into account - assemblies described by other AssemblyData objects in the input array. - - - - - AssemblySymbol instance to check for suitability. - - - - - Convenience constructor to initialize fields of this structure. - - - - - Result of binding an input assembly and its references. - - - - - Suitable AssemblySymbol instance for the corresponding assembly, - null reference if none is available/found. - - - - - For each AssemblyRef of this AssemblyDef specifies which AssemblyDef matches the reference. - - - Result of resolving assembly references of the corresponding assembly - against provided set of assemblies. Essentially, this is an array returned by - AssemblyData.BindAssemblyReferences method. - - Each element describes the assembly the corresponding reference of the input assembly - is bound to. - - - - - For the given set of AssemblyData objects, do the following: - 1) Resolve references from each assembly against other assemblies in the set. - 2) Choose suitable AssemblySymbol instance for each AssemblyData object. - - The first element (index==0) of the assemblies array represents the assembly being built. - One can think about the rest of the items in assemblies array as assembly references given to the compiler to - - build executable for the assembly being built. - - - - - The set of AssemblyData objects describing assemblies, for which this method should - resolve references and find suitable AssemblySymbols. This array is not modified by the - method. - - - True if the assembly being compiled is indirectly referenced thru some of its own references. - - - The definition index of the COR library. - - - An array of Binding structures describing the result. It has the same amount of items as - the input assemblies array, Binding structure for each input AssemblyData object resides - at the same position. - - Each Binding structure contains the following data: - - - Suitable AssemblySymbol instance for the corresponding assembly, - null reference if none is available/found. Always null for the first element, which corresponds to the assembly being built. - - - Result of resolving assembly references of the corresponding assembly - against provided set of assembly definitions. Essentially, this is an array returned by - AssemblyData.BindAssemblyReferences method. - - - - - Determines if it is possible that gives internals - access to assembly . It does not make a conclusive - determination of visibility because the compilation's strong name key is not supplied. - - - - - Return AssemblySymbols referenced by the input AssemblySymbol. The AssemblySymbols must correspond - to the AssemblyNames returned by AssemblyData.AssemblyReferences property. If reference is not - resolved, null reference should be returned in the corresponding item. - - - The target AssemblySymbol instance. - - An array of AssemblySymbols referenced by the input AssemblySymbol. - Implementers may return cached array, Binder does not mutate it. - - - - - Return collection of assemblies involved in canonical type resolution of - NoPia local types defined within target assembly. In other words, all - references used by previous compilation referencing the target assembly. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Get Assembly used as COR library for the candidate. - - - - - Checks if the properties of are compatible with properties of . - Reports inconsistencies to the given diagnostic bag. - - True if the properties are compatible and hence merged, false if the duplicate reference should not merge it's properties with primary reference. - - - - Called to compare two weakly named identities with the same name. - - - - - Resolves given metadata references to assemblies and modules. - - The compilation whose references are being resolved. - List where to store resolved references. References from #r directives will follow references passed to the compilation constructor. - Maps #r values to successuflly resolved metadata references. Does not contain values that failed to resolve. - Unique metadata references resolved from #r directives. - List where to store information about resolved assemblies to. - List where to store information about resolved modules to. - Diagnostic bag where to report resolution errors. - - Maps index to to an index of a resolved assembly or module in or , respectively. - - - - - Creates or gets metadata for PE reference. - - - If any of the following exceptions: , , , - are thrown while reading the metadata file, the exception is caught and an appropriate diagnostic stored in . - - - - - Decides whether 2 references are interchangeable when used in the same compilation. - PE references are interchangeable if they have the same non-null full path, compilation references if they refer to the same compilation. - - - - - Merges aliases of the first observed reference () with aliases specified for an equivalent reference (). - Empty alias list is considered to be the same as a list containing "global", since in both cases C# allows unqualified access to the symbols. - - - - - Caller is responsible for freeing any allocated ArrayBuilders. - - - - - Caller is responsible for freeing any allocated ArrayBuilders. - - - - - For each given directive return a bound PE reference, or null if the binding fails. - - - - - Used to match AssemblyRef with AssemblyDef. - - Array of definition identities to match against. - Reference identity to resolve. - Assembly identity comparer. - Is it Ok to resolve reference against the compilation we are creating? - - Returns an index the reference is bound. - - - - - If the compilation being built represents an assembly its assembly name. - If the compilation being built represents a module, the name of the - containing assembly or - if not specified (/moduleassemblyname command line option). - - - - - Used to compares assembly identities. - May implement unification and portability policies specific to the target platform. - - - - - Metadata observed by the compiler. - May be shared accoss multiple Reference Managers. - Access only under lock(). - - - - - Once this is non-zero the state of the manager is fully initialized and immutable. - - - - - True if the compilation has a reference that refers back to the assembly being compiled. - - - If we have a circular reference the bound references can't be shared with other compilations. - - - - - A map from a metadata reference to an AssemblySymbol used for it. Do not access - directly, use property instead. - - - - - A map from a net-module metadata reference to the index of the corresponding module - symbol in the source assembly symbol for the current compilation. - - - Subtract one from the index (for the manifest module) to find the corresponding elements - of lazyReferencedModules and lazyReferencedModulesReferences. - - - - - Maps reference string used in #r directive to a resolved metadata reference. - If multiple #r's use the same value as a reference the resolved metadata reference is the same as well. - - - - - Array of unique bound #r references. - - - The references are in the order they appear in syntax trees. This order is currently preserved - as syntax trees are added or removed, but we might decide to share reference manager between compilations - with different order of #r's. It doesn't seem this would be an issue since all #r's within the compilation - has the same "priority" with respect to each other. - - - - - Diagnostics produced during reference resolution and binding. - - - When reporting diagnostics be sure not to include any information that can't be shared among - compilations that share the same reference manager (such as full identity of the compilation, - simple assembly name is ok). - - - - - COR library symbol, or null if the compilation itself is the COR library. - - - If the compilation being built is the COR library we don't want to store its source assembly symbol - here since we wouldn't be able to share the state among subsequent compilations that are derived from it - (each of them has its own source assembly symbol). - - - - - Standalone modules referenced by the compilation (doesn't include the manifest module of the compilation). - - - lazyReferencedModules[i] corresponds to lazyReferencedModulesReferences[i]. - - - - - References of standalone modules referenced by the compilation (doesn't include the manifest module of the compilation). - - - lazyReferencedModules[i] corresponds to lazyReferencedModulesReferences[i]. - - - - - Assemblies referenced directly by the source module of the compilation. - - - - - Unified assemblies referenced directly by the source module of the compilation. - - - - - Call only while holding . - - - - - Call only while holding . - - - - - Must be acquired whenever the following data are about to be modified: - - Compilation.lazyAssemblySymbol - - Compilation.referenceManager - - ReferenceManager state - - - - - - All the above data should be updated at once while holding this lock. - Once lazyAssemblySymbol is set the Compilation.referenceManager field and ReferenceManager - state should not change. - - - - - Enumerates all referenced assemblies. - - - - - A record of the assemblies referenced by a module (their identities, symbols, and unification). - - - - - Identities of referenced assemblies (those that are or will be emitted to metadada). - - - Names[i] is the identity of assembly Symbols[i]. - - - - - Assembly symbols that the identities are resolved against. - - - Names[i] is the identity of assembly Symbols[i]. - Unresolved references are represented as MissingAssemblySymbols. - - - - - A subset of that correspond to references with non-matching (unified) - version along with unification details. - - - - - Assembly symbol referenced by a AssemblyRef for which we couldn't find a matching - compilation reference but we found one that differs in version. - Created only for assemblies that require runtime binding redirection policy, - i.e. not for Framework assemblies. - - - - - Original reference that was unified to the identity of the . - - - - - Representation of a resource whose contents are to be embedded in the output assembly. - - - - - Creates a representation of a resource whose contents are to be embedded in the output assembly. - - Resource name. - The callers will dispose the result after use. - This allows the resources to be opened and read one at a time. - - True if the resource is public. - - Returns a stream of the data to embed. - - - - - Creates a representation of a resource whose file name will be recorded in the assembly. - - Resource name. - File name with an extension to be stored in metadata. - The callers will dispose the result after use. - This allows the resources to be opened and read one at a time. - - True if the resource is public. - - Function returning a stream of the recource content (used to calculate hash). - - - - - Specifies the C# or VB source code kind. - - - - - No scripting. Used for .cs/.vb file parsing. - - - - - Allows top-level statements and declarations. Used for .csx/.vbx file parsing. - - - - - Allows top-level expressions and optional semicolon. - - - - - Specifies the Ids of special runtime types. - - - Only types explicitly mentioned in "Co-located core types" spec - (http://devdiv/sites/docs/Dev11/CLR/Specs/CoreFx/Co-located%20core%20types.docx) - can be in this enum. - The following things should be in sync: - 1) SpecialType enum - 2) names in SpecialTypes.EmittedNames array. - - - - - OIndicated Non-sepecial type (default value). - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Indicates that the type is . - - - - - Count of special types. This is not a count of enum members. - - - - - Checks if a type is considered a "built-in integral" by CLR. - - - - - Checks if a type is a primitive of a fixed size. - - - - - These special types are structs that contain fields of the same type - (e.g. System.Int32 contains a field of type System.Int32). - - - - - Array of names for types from Cor Libraray. - The names should correspond to ids from TypeId enum so - that we could use ids to index into the array - - - - - - Gets the name of the special type as it would appear in metadata. - - - - - The strong name key associated with the identity of this assembly. - This contains the contents of the user-supplied key file exactly as extracted. - - - - - Determines source assembly identity. - - - - - A diagnostic created in the process of determining the key. - - - - - The CSP key container containing the public key used to produce the key, - or null if the key was retrieved from . - - - The original value as specified by or - . - - - - - Original key file path, or null if the key is provided by the . - - - The original value as specified by or - - - - - - Provides strong name and signs source assemblies. - - - - - Contains helper methods for switch statement label constants - - - - - Method used to compare ConstantValues for switch statement case labels - - - - A value that indicates the relative order of the objects being compared. The return value has these meanings: - Less than zero: first instance precedes second in the sort order. - Zero: first instance occurs in the same position in the sort order as second. - Greater than zero: first instance follows second in the sort order. - - - - - Append a default argument (i.e. the default argument of an optional parameter). - Assumed to be non-null. - - - - - Check if the given type is an enum with System.FlagsAttribute. - - - TODO: Can/should this be done using WellKnownAttributes? - - - - - This class associates a symbol with particular format for display. - It can be passed as an argument for an error message in place where symbol display should go, - which allows to defer building strings and doing many other things (like loading metadata) - associated with that until the error message is actually requested. - - - - - None - - - - - ".ctor" instead of "Foo" - - - - - "List`1" instead of "List<T>" ("List(of T)" in VB). Overrides GenericsOptions on - types. - - - - - Append "[Missing]" to missing Metadata types (for testing). - - - - - Include the Script type when qualifying type names. - - - - - Include custom modifiers (e.g. modopt([mscorlib]System.Runtime.CompilerServices.IsConst)) on - the member (return) type and parameters. - - - CONSIDER: custom modifiers are part of the public API, so we might want to move this to SymbolDisplayMemberOptions. - - - - - For a type written as "int[][,]" in C#, then - a) setting this option will produce "int[,][]", and - b) not setting this option will produce "int[][,]". - - - - - Specifies how to display delegates (just the name or the name with the signature). - - - - - Shows only the name of the delegate (e.g. "SomeDelegate"). - - - - - Shows the name and the parameters of the delegate (e.g. "SomeDelegate(int x)"). - - - The format of the parameters will be determined by the other flags passed. - - - - - Shows the name and the signature of the delegate (e.g. "void SomeDelegate(int x)"). - - - The format of the signature will be determined by the other flags passed. - - - - - Specifies how how to display extension methods. - - - - - Displays the extension method as a static method. - For example, Enumerable.ElementAt<TSource>(this IEnumerable<TSource> source, int index). - - - - - Displays the extension method in the form of an instance method. - For example, IEnumerable<TSource>.ElementAt<TSource>(int index). - - - - - Exposes extension methods for displaying symbol descriptions. - - - - - Converts an immutable array of s to a string. - - The array of parts. - The concatenation of the parts into a single string. - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Determines if a flag is set on the enum. - - The value to check. - An enum field that specifies the flag. - Whether the is set on the . - - - - Describes the formatting rules that should be used when displaying symbols. - - - - - Formats a symbol description as in a C# compiler error message. - - - - - Formats a symbol description as in a Visual Basic compiler error message. - - - - - Formats the names of all types and namespaces in a fully qualified style (including the global alias). - - - - - Formats a symbol description in a form that suits . - - - - - A verbose format for displaying symbols (useful for testing). - - - - - this.QualifiedNameOnly = containingSymbol.QualifiedNameOnly + "." + this.Name - - - - - this.QualifiedNameArity = containingSymbol.QualifiedNameArity + "." + this.Name + "`" + this.Arity - - - - - A succinct format for displaying symbols. - - - - - The format used for displaying symbols when visualizing IL. - - - - - Used to normalize explicit interface implementation member names. - Only expected to be applied to interface types (and their type arguments). - - - - - Determines how the global namespace is displayed. - - - - - Determines how types are qualified (e.g. Nested vs Containing.Nested vs Namespace.Containing.Nested). - - - - - Determines how generics (on types and methods) should be described (i.e. the level of detail). - - - - - Determines how fields, properties, events, and methods are displayed. - - - - - Determines how parameters (of methods, properties/indexers, and delegates) are displayed. - - - - - Determines how delegates are displayed (e.g. name vs full signature). - - - - - Determines how extension methods are displayed. - - - - - Determines how properties are displayed. - For example, "Prop" vs "Prop { get; set; }" in C# or "Prop" vs. "ReadOnly Prop" in Visual Basic. - - - - - Determines how local variables are displayed. - - - - - Determines which kind keywords should be included when displaying symbols. - - - - - Determines other characteristics of how symbols are displayed. - - - - - Flags that can only be set within the compiler. - - - - - Constructs a new instance of accepting a variety of optional parameters. - - - The settings that determine how the global namespace is displayed. - - - The settings that determine how types are qualified (e.g. Nested vs Containing.Nested vs Namespace.Containing.Nested). - - - The settings that determine how generics (on types and methods) should be described (i.e. the level of detail). - - - The settings that determine how fields, properties, events, and methods are displayed. - - - The settings that determine how delegates are displayed (e.g. name vs full signature). - - - The settings that determine how extension methods are displayed. - - - The settings that determine how parameters (of methods, properties/indexers, and delegates) are displayed. - - - The settings that determine how properties are displayed. - For eaxmple, "Prop" vs "Prop { get; set; }" in C# or "Prop" vs. "ReadOnly Prop" in Visual Basic. - - - The settings that determine how local variables are displayed. - - - The settings that determine which kind keywords should be included when displaying symbols. - - - The settings that determine other characteristics of how symbols are displayed. - - - - - This version also accepts . - - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object representing how miscellaneous symbols will be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters for how miscellaneous symbols will be formatted. - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object specifying how generic symbols will be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters for how generic symbols will be formatted. - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object specifying how members will be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters for how members will be formatted. - - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - - Creates a copy of the SymbolDisplayFormat but with a set of stripped away from the original object. - - - An object specifying which parameters should not be applied to how members will be formatted. - - - A duplicate of the SymbolDisplayFormat, with a set of stripped away from the original object. - - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object specifying parameters with which symbols belonging to kind keywords should be formatted. - - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters with which symbols belonging to kind keywords should be formatted. - - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - - Creates a copy of the SymbolDisplayFormat but with a set of stripped away from the original object. - - - The settings that determine other characteristics of how symbols are displayed. - - - A duplicate of the SymbolDisplayFormat, with a set of stripped away from the original object. - - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object specifying how parameters should be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters on how parameters should be formatted. - - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - - Creates a copy of the SymbolDisplayFormat but with a set of stripped away from the original object. - - - An object specifying parameters that should not be applied when formatting parameters. - - - A duplicate of the SymbolDisplayFormat, with a set of stripped away from the original object. - - - - - Creates a copy of the SymbolDisplayFormat but with replaced . - - - An object specifying paramers on how namespace symbols should be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with replaced set of . - - - An object specifying parameters on how symbols belonging to locals should be formatted. - - A duplicate of the SymbolDisplayFormat, with a replaced set of . - - - - Creates a copy of the SymbolDisplayFormat but with an additional set of . - - - An object specifying additional parameters on how symbols belonging to locals should be formatted. - - - A duplicate of the SymbolDisplayFormat, with an additional set of . - - - - - Specifies the options for how generics are displayed in the description of a symbol. - - - - - Omits the type parameter list entirely. - - - - - Includes the type parameters. - For example, "Foo<T>" in C# or "Foo(Of T)" in Visual Basic. - - - - - Includes type parameters and constraints. - For example, "where T : new()" in C# or "Of T as New" in Visual Basic. - - - - - Includes in or out keywords before variant type parameters. - For example, "Foo<out T>" in C# or (Foo Of Out T" in Visual Basic. - - - - - Specifies the options for how to display the global namespace in the description of a symbol. - - - Any of these styles may be overridden by . - - - - - Omits the global namespace, unconditionally. - - - - - Omits the global namespace if it is being displayed as a containing symbol (i.e. not on its own). - - - - - Include the global namespace, unconditionally. - - - - - Specifies which kind keywords should be included when displaying symbols. - - - - - Omits all kind keywords. - - - - - Includes the namespace keyword before namespaces. - For example, "namespace System", rather than "System". - - - - - Includes the type keyword before types. - For example, "class C" in C# or "Structure S" in Visual Basic. - - - - - Include the member keyword before members (if one exists). - For example, "event D E" in C# or "Function MyFun()" in Visual Basic. - - - - - Specifies the options for how locals are displayed in the description of a symbol. - - - - - Shows only the name of the local. - For example, "x". - - - - - Shows the type of the local in addition to its name. - For example, "int x" in C# or "x As Integer" in Visual Basic. - - - - - Shows the constant value of the local, if there is one, in addition to its name. - For example "x = 1". - - - - - Specifies the options for how members are displayed in the description of a symbol. - - - - - Includes only the name of the member. - - - - - Includes the (return) type of the method/field/property/event. - - - - - Includes the modifiers of the member. - For example, "static readonly" in C# or "Shared ReadOnly" in Visual Basic. - - - Accessibility modifiers are controlled separately by . - - - - - Includes the accessibility modifiers of the member. - For example, "public" in C# or "Public" in Visual Basic. - - - - - Includes the name of corresponding interface on members that explicitly implement - interface members. - For example, "IFoo.Bar { get; }". - - - This option has no effect in Visual Basic. - - - - - Includes the parameters of methods and properties/indexers. - - - See for finer-grained settings. - - - - - Includes the name of the type containing the member. - - - The format of the containing type is determined by . - - - - - Includes the value of the member if is a constant. - - - - - Specifies miscellaneous options about the format of symbol descriptions. - - - - - Specifies that no miscellaneous options should be applied. - - - - - Uses keywords for predefined types. - For example, "int" instead of "System.Int32" in C# - or "Integer" instead of "System.Integer" in Visual Basic. - - - - - Escapes identifiers that are also keywords. - For example, "@true" instead of "true" in C# or - "[True]" instead of "True" in Visual Basic. - - - - - Displays asterisks between commas in multi-dimensional arrays. - For example, "int[][*,*]" instead of "int[][,]" in C# or - "Integer()(*,*)" instead of "Integer()(*,*) in Visual Basic. - - - - - Displays "?" for erroneous types that lack names (perhaps due to faulty metadata). - - - - - Displays attributes names without the "Attribute" suffix, if possible. - - - Has no effect outside and only applies - if the context location is one where an attribute ca be referenced without the suffix. - - - - - Displays as a normal generic type, rather than with - the special question mark syntax. - - - - - Specifies how parameters are displayed in the description of a (member, property/indexer, or delegate) symbol. - - - - - Omits parameters from symbol descriptions. - - - If this option is combined with , then only - the parentheses will be shown (e.g. M()). - - - - - Includes the this keyword before the first parameter of an extension method in C#. - - - This option has no effect in Visual Basic. - - - - - Includes the params, ref, out, ByRef, ByVal keywords before parameters. - - - - - Includes parameter types in symbol descriptions. - - - - - Includes parameter names in symbol descriptions. - - - - - Includes parameter default values in symbol descriptions. - - Ignored if is not set. - - - - Includes square brackets around optional parameters. - - - - - A single element of a symbol description. For example, a keyword, a punctuation character or - a class name. - - - - - - - - Gets the kind of this display part. - - - - - Gets the symbol associated with this display part, if there is one. - For example, the associated with a class name. - - - - - - Construct a non-formattable (i.e. with a fixed string value). - - The kind of the display part. - An optional associated symbol. - The fixed string value of the part. - - - - Returns the string value of this symbol display part. - - - - - Specifies the kinds of a piece of classified text (SymbolDisplayPart). - - - - The name of an alias. - - - The name of an assembly. - - - The name of a class. - - - The name of a delegate. - - - The name of an enum. - - - The name of an error type. - - - - The name of an event. - - - The name of a field. - - - The name of an interface. - - - A language keyword. - - - The name of a label. - - - A line-break (i.e. whitespace). - - - A numeric literal. - Typically for the default values of parameters and the constant values of fields. - - - A string literal. - Typically for the default values of parameters and the constant values of fields. - - - The name of a local. - - - The name of a method. - - - The name of a module. - - - The name of a namespace. - - - The symbol of an operator (e.g. "+"). - - - The name of a parameter. - - - The name of a property. - - - A punctuation character (e.g. "(", ".", ",") other than an . - - - A single space character. - - - The name of a struct (structure in Visual Basic). - - - A keyword-like part for anonymous types (not actually a keyword). - - - An unclassified part. - Never returned - only set in user-constructed parts. - - - The name of a type parameter. - - - The name of a query range variable.. - - - - Specifies the options for how properties are displayed in symbol descriptions. - - - - - Shows only the names of properties. - - - - - - Indicates whether the property is readable and/or writable. - In C#, this is accomplished by including accessors. - In Visual Basic, this is accomplished by including the ReadOnly or WriteOnly - keyword, as appropriate. - - - - - Specifies how much qualification is used in symbol descriptions. - - - - - Shows only the name of the symbol. - - - - - Shows the name of the symbol and the names of all containing types. - - - - - Shows the name of the symbol the names of all containing types and namespaces. - - - - - Enumeration for common accessibility combinations. - - - - - No accessibility specified. - - - - - We should not see new anonymous types from source after we finished emit phase. - If this field is true, the collection is sealed; in DEBUG it also is used to check the assertion. - - - - - Collection of anonymous type templates is sealed - - - - - Default attribute usage for attribute types: - (a) Valid targets: AttributeTargets.All - (b) AllowMultiple: false - (c) Inherited: true - - - - - Information decoded from well-known custom attributes applied on an assembly. - - - - - Returns data decoded from security attributes or null if there are no security attributes. - - - - - The attribute class. - - - - - The constructor on the attribute class. - - - - - Constructor arguments on the attribute. - - - - - Named (property value) arguments on the attribute. - - - - - Attribute is conditionally omitted if it is a source attribute and both the following are true: - (a) It has at least one applied conditional attribute AND - (b) None of conditional symbols are true at the attribute source location. - - - - - Checks if an applied attribute with the given attributeType matches the namespace name and type name of the given early attribute's description - and the attribute description has a signature with parameter count equal to the given attributeArgCount. - NOTE: We don't allow early decoded attributes to have optional parameters. - - - - - Returns the value of a constructor argument as type . - Throws if no constructor argument exists or the argument cannot be converted to the type. - - - - - Returns named attribute argument with the given as type . - If there is more than one named argument with this name, it returns the last one. - If no named argument is found then the is returned. - - The metadata property or field name. This name is case sensitive (both VB and C#). - SpecialType of the named argument. - Default value for the named argument. - - For user defined attributes VB allows duplicate named arguments and uses the last value. - Dev11 reports an error for pseudo-custom attributes when emitting metadata. We don't. - - - - - Decode the arguments to ObsoleteAttribute. ObsoleteAttribute can have 0,1 or 2 arguments. - - - - - Decode the arguments to DeprecatedAttribute. DeprecatedAttribute can have 3 or 4 arguments. - - - - - Used to determine if two instances are identical, - i.e. they have the same attribute type, attribute constructor and have identical arguments. - - - - - Information decoded from early well-known custom attributes applied on an event. - - - - - Information decoded from well-known custom attributes applied on an event. - - - - - Information decoded from early well-known custom attributes applied on a field. - - - - - Information decoded from well-known custom attributes applied on a field. - - - - - Returns marshalling data or null of MarshalAs attribute isn't applied on the field. - - - - - Information decoded from early well-known custom attributes applied on a method. - - - - - Information decoded from well-known custom attributes applied on a method. - - - - - Returns data decoded from security attributes or null if there are no security attributes. - - - - - Information decoded from well-known custom attributes applied on a module. - - - - - Information decoded from early well-known custom attributes applied on a parameter. - - - - - Information decoded from well-known custom attributes applied on a parameter. - - - - - Returns marshalling data or null of MarshalAs attribute isn't applied on the parameter. - - - - - Information decoded from early well-known custom attributes applied on a property. - - - - - Information decoded from well-known custom attributes applied on a property. - - - - - Information decoded from well-known custom attributes applied on a method return value. - - - - - Returns marshalling data or null of MarshalAs attribute isn't applied on the return value. - - - - - Information decoded from early well-known custom attributes applied on a type. - - - - - Information decoded from well-known custom attributes applied on a type. - - - - - Returns data decoded from security attributes or null if there are no security attributes. - - - - - Represents a bag of custom attributes and the associated decoded well-known attribute data. - - - - - Instance representing sealed custom attribute bag with no attributes. - - - - - Returns a non-sealed custom attribute bag with null initialized , null initialized and uninitialized . - - - - - Sets the early decoded well-known attribute data on the bag in a thread safe manner. - Stored early decoded data is immutable and cannot be updated further. - - Returns true if early decoded data were stored into the bag on this thread. - - - - Sets the decoded well-known attribute data (except the early data) on the bag in a thread safe manner. - Stored decoded data is immutable and cannot be updated further. - - Returns true if decoded data were stored into the bag on this thread. - - - - Sets the bound attributes on the bag in a thread safe manner. - If store succeeds, it seals the bag and makes the bag immutable. - - Returns true if bound attributes were stored into the bag on this thread. - - - - Gets the stored bound attributes in the bag. - - This property can only be accessed on a sealed bag. - - - - Gets the decoded well-known attribute data (except the early data) in the bag. - - This property can only be accessed on the bag after has been invoked. - - - - Gets the early decoded well-known attribute data in the bag. - - This property can only be accessed on the bag after has been invoked. - - - - Return whether early decoded attribute data has been computed and stored on the bag and it is safe to access from this bag. - Return value of true doesn't guarantee that bound attributes or remaining decoded attribute data has also been initialized. - - - - - Return whether all decoded attribute data has been computed and stored on the bag and it is safe to access from this bag. - Return value of true doesn't guarantee that bound attributes have also been initialized. - - - - - Enum representing the current state of attribute binding/decoding for a corresponding CustomAttributeBag. - - - - - Bag has been created, but no decoded data or attributes have been stored. - CustomAttributeBag is in this state during early decoding phase. - - - - - Early decoded attribute data has been computed and stored on the bag, but bound attributes or remaining decoded attribute data is not stored. - Only can be accessed from this bag. - - - - - All decoded attribute data has been computed and stored on the bag, but bound attributes are not yet stored. - Both and can be accessed from this bag. - - - - - Bound attributes have been computed and stored on this bag. - - - - - CustomAttributeBag is completely initialized and immutable. - - - - - Contains common arguments to Symbol.DecodeWellKnownAttribute method in both the language compilers. - - - - - Object to store the decoded data from bound well-known attributes. - Created lazily only when some decoded data needs to be stored, null otherwise. - - - - - Gets or creates the decoded data object. - - - This method must be called only when some decoded data will be stored into it subsequently. - - - - - Returns true if some decoded data has been stored into . - - - - - Gets the stored decoded data. - - - Assumes is true. - - - - - Syntax of the attribute to decode. Might be null when the attribute information is not coming - from syntax. For example, an assembly attribute propagated from added module to the resulting assembly. - - - - - Bound attribute to decode. - - - - - The index of the attribute in the list of attributes to decode. - - - - - Total count of attributes to decode. - - - - - Diagnostic bag. - - - - - Specific part of the symbol to which the attributes apply, or AttributeLocation.None if the attributes apply to the symbol itself. - Used e.g. for return type attributes of a method symbol. - - - - - Contains common arguments to Symbol.EarlyDecodeWellKnownAttribute method in both the language compilers. - - - - - Object to store the decoded data from early bound well-known attributes. - Created lazily only when some decoded data needs to be stored, null otherwise. - - - - - Gets or creates the decoded data object. - - - This method must be called only when some decoded data will be stored into it subsequently. - - - - - Returns true if some decoded data has been stored into . - - - - - Gets the stored decoded data. - - - Assumes is true. - - - - - Binder to bind early well-known attributes. - - - - - Bound type of the attribute to decode. - - - - - Syntax of the attribute to decode. - - - - - Specific part of the symbol to which the attributes apply, or AttributeLocation.None if the attributes apply to the symbol itself. - Used e.g. for return type attributes of a method symbol. - - - - - Base class for storing information decoded from early well-known custom attributes. - - - CONSIDER: Should we remove this class and let the sub-classes derived from WellKnownAttributeData? - - - - - Information decoded from . - - - - - Returns an instance of with all types replaced by types returned by specified translator. - Returns this instance if it doesn't hold on any types. - - - - - Information decoded from . - - - - - True if an error should be thrown for the . Default is false in which case - a warning is thrown. - - - - - The message that will be shown when an error/warning is created for . - - - - - Information decoded from security attributes, i.e. attributes derived from well-known SecurityAttribute, applied on a method/type/assembly. - - - - - Used for retreiving applied source security attributes, i.e. attributes derived from well-known SecurityAttribute. - - - - - Base class for storing information decoded from well-known custom attributes. - - - - - Used to distinguish cases when attribute is applied with null value and when attribute is not applied. - For some well-known attributes, the latter case will return string stored in - field. - - - - - If true, a language may use the modified storage location without - being aware of the meaning of the modification, modopt vs. modreq. - - - - - A type used as a tag that indicates which type of modification applies. - - - - - Represents a using alias (Imports alias in Visual Basic). - - - - - Gets the for the - namespace or type referenced by the alias. - - - - - Represents an array. - - - - - Gets the number of dimensions of this array. A regular single-dimensional array - has rank 1, a two-dimensional array has rank 2, etc. - - - - - Gets the type of the elements stored in the array. - - - - - Gets the list of custom modifiers associated with the array. - Returns an empty list if there are no custom modifiers. - - - - - Represents a .NET assembly, consisting of one or more modules. - - - - - True if the assembly contains interactive code. - - - - - Gets the name of this assembly. - - - - - Gets the merged root namespace that contains all namespaces and types defined in the modules - of this assembly. If there is just one module in this assembly, this property just returns the - GlobalNamespace of that module. - - - - - Gets the modules in this assembly. (There must be at least one.) The first one is the main module - that holds the assembly manifest. - - - - - Gets the set of type identifiers from this assembly. - - - - - Gets the set of namespace names from this assembly. - - - - - Gets a value indicating whether this assembly gives - access to internal symbols - - - - Lookup a type within the assembly using the canonical CLR metadata name of the type. - - Type name. - Symbol for the type or null if type cannot be found or is ambiguous. - - - - Determines if the assembly might contain extension methods. - If false, the assembly does not contain extension methods. - - - - - Returns the type symbol for a forwarded type based its canonical CLR metadata name. - The name should refer to a non-nested type. If type with this name is not forwarded, - null is returned. - - - - - Represents the 'dynamic' type in C#. - - - - - An IErrorTypeSymbol is used when the compiler cannot determine a symbol object to return because - of an error. For example, if a field is declared "Foo x;", and the type "Foo" cannot be - found, an IErrorTypeSymbol is returned when asking the field "x" what it's type is. - - - - - When constructing this type, there may have been symbols that seemed to - be what the user intended, but were unsuitable. For example, a type might have been - inaccessible, or ambiguous. This property returns the possible symbols that the user - might have intended. It will return no symbols if no possible symbols were found. - See the CandidateReason property to understand why the symbols were unsuitable. - - - This only applies if this INamedTypeSymbol has TypeKind TypeKind.Error. - If not, an empty ImmutableArray is returned. - - - - - If CandidateSymbols returns one or more symbols, returns the reason that those - symbols were not chosen. Otherwise, returns None. - - - - - Represents an event. - - - - - The type of the event. - - - - - Returns true if the event is a WinRT type event. - - - - - The 'add' accessor of the event. Null only in error scenarios. - - - - - The 'remove' accessor of the event. Null only in error scenarios. - - - - - The 'raise' accessor of the event. Null if there is no raise method. - - - - - The original definition of the event. If the event is constructed from another - symbol by type substitution, OriginalDefinition gets the original symbol, as it was - defined in source or metadata. - - - - - Returns the overridden event, or null. - - - - - Returns interface properties explicitly implemented by this event. - - - Properties imported from metadata can explicitly implement more than one event. - - - - - Represents a field in a class, struct or enum. - - - - - If this field serves as a backing variable for an automatically generated - property or a field-like event or a Primary Constructor parameter, returns that - property/event/parameter. Otherwise returns null. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns true if this field was declared as "const" (i.e. is a constant declaration). - Also returns true for an enum member. - - - - - Returns true if this field was declared as "readonly". - - - - - Returns true if this field was declared as "volatile". - - - - - Gets the type of this field. - - - - - Returns false if the field wasn't declared as "const", or constant value was omitted or errorneous. - True otherwise. - - - - - Gets the constant value of this field - - - - - Gets the list of custom modifiers, if any, associated with the field. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined in - source or metadata. - - - - - Represents a label in method body - - - - - Gets the immediately containing of this . - - - - - Represents a local variable in method body. - - - - - Gets the type of this local variable. - - - - - Returns true if this local variable was declared as "const" (i.e. is a constant declaration). - Also returns true for an enum member. - - - - - Returns false if the local variable wasn't declared as "const", or constant value was omitted or erroneous. - True otherwise. - - - - - Gets the constant value of this local variable. - - - - - Represents a method or method-like symbol (including constructor, - destructor, operator, or property/event accessor). - - - - - Gets what kind of method this is. There are several different kinds of things in the - C# language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - Returns the arity of this method, or the number of type parameters it takes. - A non-generic method has zero arity. - - - - - Returns whether this method is generic; i.e., does it have any type parameters? - - - - - Returns true if this method is an extension method. - - - - - Returns true if this method is an async method - - - - - Returns whether this method is using CLI VARARG calling convention. This is used for - C-style variable argument lists. This is used extremely rarely in C# code and is - represented using the undocumented “__arglist” keyword. - - Note that methods with “params” on the last parameter are indicated with the “IsParams” - property on ParameterSymbol, and are not represented with this property. - - - - - Returns whether this built-in operator checks for integer overflow. - - - - - Returns true if this method hides base methods by name. This cannot be specified directly - in the C# language, but can be true for methods defined in other languages imported from - metadata. The equivalent of the "hidebyname" flag in metadata. - - - - - Returns true if this method has no return type; i.e., returns "void". - - - - - Gets the return type of the method. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a given type parameter, - then the type parameter itself is consider the type argument. - - - - - Get the type parameters on this method. If the method has not generic, - returns an empty list. - - - - - Gets the parameters of this method. If this method has no parameters, returns - an empty list. - - - - - Returns the method symbol that this method was constructed from. The resulting - method symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined in - source or metadata. - - - - - If this method overrides another method (because it both had the override modifier - and there correctly was a method to override), returns the overridden method. - - - - - If this method can be applied to an object, returns the type of object it is applied to. - - - - - If this method is a reduced extension method, returns the definition of extension - method from which this was reduced. Otherwise, returns null. - - - - - If this method is a reduced extension method, returns a type inferred during reduction process for the type parameter. - - Type parameter of the corresponding method. - Inferred type or Nothing if nothing was inferred. - If this is not a reduced extension method. - If is null. - If doesn't belong to the corresponding method. - - - - If this is an extension method that can be applied to a receiver of the given type, - returns a reduced extension method symbol thus formed. Otherwise, returns null. - - - - - Returns interface methods explicitly implemented by this method. - - - Methods imported from metadata can explicitly implement more than one method, - that is why return type is ImmutableArray. - - - - - Returns the list of custom modifiers, if any, associated with the returned value. - - - - - Returns the list of custom attributes, if any, associated with the returned value. - - - - - Returns a symbol (e.g. property, event, etc.) associated with the method. - - - If this method has of or , - returns the property that this method is the getter or setter for. - If this method has of or , - returns the event that this method is the adder or remover for. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns a constructed method given its type arguments. - - The immediate type arguments to be replaced for type - parameters in the method. - - - - If this is a partial method implementation part, returns the corresponding - definition part. Otherwise null. - - - - - If this is a partial method declaration without a body, and the method is - implemented with a body, returns that implementing definition. Otherwise - null. - - - - - Platform invoke information, or null if the method isn't a P/Invoke. - - - - - If this method is a Lambda method (MethodKind = MethodKind.LambdaMethod) and - there is an anonymous delegate associated with it, returns this delegate. - - Returns null if the symbol is not a lambda or if it does not have an - anonymous delegate associated with it. - - - - - Represents a module within an assembly. Every assembly contains one or more modules. - - - - - Returns a NamespaceSymbol representing the global (root) namespace, with - module extent, that can be used to browse all of the symbols defined in this module. - - - - - Given a namespace symbol, returns the corresponding module specific namespace symbol - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from ReferencedAssemblies and from ReferencedAssemblySymbols - correspond to each other. - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from ReferencedAssemblies and - from ReferencedAssemblySymbols correspond to each other. - - - - - Represents a type other than an array, a pointer, a type parameter. - - - - - Returns the arity of this type, or the number of type parameters it takes. - A non-generic type has zero arity. - - - - - True if this type or some containing type has type parameters. - - - - - True if this is a reference to an unbound generic type. A generic type is - considered unbound if all of the type argument lists in its fully qualified - name are empty. Note that the type arguments of an unbound generic type will be - returned as error types because they do not really have type arguments. An unbound - generic type yields null for its BaseType and an empty result for its Interfaces. - - - - - Returns true if the type is a Script class. - It might be an interactive submission class or a Script class in a csx file. - - - - - Returns true if the type is the implicit class that holds onto invalid global members (like methods or - statements in a non script file). - - - - - Returns collection of names of members declared within this type. - - - - - Returns the type parameters that this type has. If this is a non-generic type, - returns an empty ImmutableArray. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a give type parameters, - then the type parameter itself is consider the type argument. - - - - - Get the original definition of this type symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined in - source or metadata. - - - - - For delegate types, gets the delegate's invoke method. Returns null on - all other kinds of types. Note that is is possible to have an ill-formed - delegate type imported from metadata which does not have an Invoke method. - Such a type will be classified as a delegate but its DelegateInvokeMethod - would be null. - - - - - For enum types, gets the underlying type. Returns null on all other - kinds of types. - - - - - Returns the type symbol that this type was constructed from. This type symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - Returns a constructed type given its type arguments. - - The immediate type arguments to be replaced for type - parameters in the type. - - - - Returns an unbound generic type of this named type. - - - - - Get the instance constructors for this type. - - - - - Get the static constructors for this type. - - - - - Get the both instance and static constructors for this type. - - - - - For implicitly declared delegate types returns the EventSymbol that caused this - delegate type to be generated. - For all other types returns null. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Determines if the symbol might contain extension methods. - If false, the symbol does not contain extension methods. - - - - - Represents either a namespace or a type. - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns Null. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns Null. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name, of any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types that have a particular name and arity - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns null. - - - - Returns true if this symbol is a namespace. If it is not a namespace, it must be a type. - - - - - Returns true if this symbols is a type. If it is not a type, it must be a namespace. - - - - - Represents a namespace. - - - - - Get all the members of this symbol. - - - - - Get all the members of this symbol that have a particular name. - - - - - Get all the members of this symbol that are namespaces. - - - - - Returns whether this namespace is the unnamed, global namespace that is - at the root of all namespaces. - - - - - The kind of namespace: Module, Assembly or Compilation. - Module namespaces contain only members from the containing module that share the same namespace name. - Assembly namespaces contain members for all modules in the containing assembly that share the same namespace name. - Compilation namespaces contain all members, from source or referenced metadata (assemblies and modules) that share the same namespace name. - - - - - The containing compilation for compilation namespaces. - - - - - If a namespace is an assembly or compilation namespace, it may be composed of multiple - namespaces that are merged together. If so, ConstituentNamespaces returns - all the namespaces that were merged. If this namespace was not merged, returns - an array containing only this namespace. - - - - - Represents a parameter of a method or property. - - - - - Whether the parameter passed by value or by reference. - - - - - Returns true if the parameter was declared as a parameter array. - - - - - Returns true if the parameter is optional. - - - - - Returns true if the parameter is the hidden 'this' ('Me' in Visual Basic) parameter. - - - - - Gets the type of the parameter. - - - - - The list of custom modifiers, if any, associated with the parameter. - - - - - Gets the ordinal position of the parameter. The first parameter has ordinal zero. - The 'this' parameter ('Me' in Visual Basic) has ordinal -1. - - - - - Returns true if the parameter specifies a default value to be passed - when no value is provided as an argument to a call. The default value - can be obtained with the DefaultValue property. - - - - - Returns the default value of the parameter. - - - Returns null if the parameter type is a struct and the default value of the parameter - is the default value of the struct type. - - The parameter has no default value. - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined in - source or metadata. - - - - - Represents a pointer type such as "int *". Pointer types - are used only in unsafe code. - - - - - Gets the type of the storage location that an instance of the pointer type points to. - - - - - The list of custom modifiers, if any, associated with the pointer type. - (Some managed languages may represent special information about the pointer type - as a custom modifier on either the pointer type or the element type, or - both.) - - - - - Represents a preprocessing conditional compilation symbol. - - - - - Represents a property or indexer. - - - - - Returns whether the property is really an indexer. - - - - - True if this is a read-only property; that is, a property with no set accessor. - - - - - True if this is a write-only property; that is, a property with no get accessor. - - - - - Returns true if this property is an auto-created WithEvents property that takes place of - a field member when the field is marked as WithEvents. - - - - - The type of the property. - - - - - The parameters of this property. If this property has no parameters, returns - an empty list. Parameters are only present on indexers, or on some properties - imported from a COM interface. - - - - - The 'get' accessor of the property, or null if the property is write-only. - - - - - The 'set' accessor of the property, or null if the property is read-only. - - - - - The original definition of the property. If the property is constructed from another - symbol by type substitution, OriginalDefinition gets the original symbol, as it was - defined in source or metadata. - - - - - Returns the overridden property, or null. - - - - - Returns interface properties explicitly implemented by this property. - - - Properties imported from metadata can explicitly implement more than one property. - - - - - The list of custom modifiers, if any, associated with the type of the property. - - - - - Represents a range variable in a query expression. - - - - - Represents a symbol (namespace, class, method, parameter, etc.) - exposed by the compiler. - - - - - Gets the indicating what kind of symbol it is. - - - - - Gets the source language ("C#" or "Visual Basic"). - - - - - Gets the symbol name. Returns the empty string if unnamed. - - - - - Gets the name of a symbol as it appears in metadata. Most of the time, this - is the same as the Name property, with the following exceptions: - 1) The metadata name of generic types includes the "`1", "`2" etc. suffix that - indicates the number of type parameters (it does not include, however, names of - containing types or namespaces). - 2) The metadata name of explicit interface names have spaces removed, compared to - the name property. - 3) The length of names is limited to not exceed metadata restrictions. - - - - - Gets the for the immediately containing symbol. - - - - - Gets the for the containing assembly. Returns null if the - symbol is shared across multiple assemblies. - - - - - Gets the for the containing module. Returns null if the - symbol is shared across multiple modules. - - - - - Gets the for the containing type. Returns null if the - symbol is not contained within a type. - - - - - Gets the for the nearest enclosing namespace. Returns null if the - symbol isn't contained in a namespace. - - - - - Gets a value indicating whether the symbol is the original definition. Returns false - if the symbol is derived from another symbol, by type substitution for instance. - - - - - Gets a value indicating whether the symbol is static. - - - - - Gets a value indicating whether the symbol is virtual. - - - - - Gets a value indicating whether the symbol is an override of a base class symbol. - - - - - Gets a value indicating whether the symbol is abstract. - - - - - Gets a value indicating whether the symbol is sealed. - - - - - Gets a value indicating whether the symbol is defined externally. - - - - - Returns true if this symbol was automatically created by the compiler, and does not have - an explicit corresponding source code declaration. - - This is intended for symbols that are ordinary symbols in the language sense, and may be - used by code, but that are simply declared implicitly rather than with explicit language - syntax. - - Examples include (this list is not exhaustive): - the default constructor for a class or struct that is created if one is not provided, - the BeginInvoke/Invoke/EndInvoke methods for a delegate, - the generated backing field for an auto property or a field-like event, - the "this" parameter for non-static methods, - the "value" parameter for a property setter, - the parameters on indexer accessor methods (not on the indexer itself), - methods in anonymous types - - - - - Returns true if this symbol can be referenced by its name in code. - - - - - Gets the locations where the symbol was originally defined, either in source or - metadata. Some symbols (for example, partial classes) may be defined in more than one - location. - - - - - Get the syntax node(s) where this symbol was declared in source. Some symbols (for example, - partial classes) may be defined in more than one location. This property should return - one or more syntax nodes only if the symbol was declared in source code and also was - not implicitly declared (see the IsImplicitlyDeclared property). - - Note that for namespace symbol, the declaring syntax might be declaring a nested namespace. - For example, the declaring syntax node for N1 in "namespace N1.N2 {...}" is the entire - NamespaceDeclarationSyntax for N1.N2. For the global namespace, the declaring syntax will - be the CompilationUnitSyntax. - - - The syntax node(s) that declared the symbol. If the symbol was declared in metadata - or was implicitly declared, returns an empty read-only array. - - - - - Gets the attributes for the symbol. Returns an empty - if there are no attributes. - - - - - Gets a indicating the declared accessibility for the symbol. - Returns NotApplicable if no accessibility is declared. - - - - - Gets the for the original definition of the symbol. - If this symbol is derived from another symbol, by type substitution for instance, - this gets the original symbol, as it was defined in source or metadata. - - - - - Returns the Documentation Comment ID for the symbol, or null if the symbol doesn't - support documentation comments. - - - - - Gets the XML (as text) for the comment associated with the symbol. - - Preferred culture or null for the default. - Optionally, expand <include> elements. No impact on non-source documentation comments. - Token allowing cancellation of request. - The XML that would be written to the documentation file for the symbol. - - - - Converts the symbol to a string representation. - - Format or null for the default. - A formatted string representation of the symbol. - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - Formatting rules - null implies - SymbolDisplayFormat.ErrorMessageFormat. - A read-only array of string parts. - - - - Convert a symbol to a string that can be displayed to the user. May be tailored to a - specific location in the source code. - - Binding information (for determining names appropriate to - the context). - A position in the source code (context). - Formatting rules - null implies - SymbolDisplayFormat.MinimallyQualifiedFormat. - A formatted string that can be displayed to the user. - - - - Convert a symbol to an array of string parts, each of which has a kind. May be tailored - to a specific location in the source code. Useful for colorizing the display string. - - Binding information (for determining names appropriate to - the context). - A position in the source code (context). - Formatting rules - null implies - SymbolDisplayFormat.MinimallyQualifiedFormat. - A read-only array of string parts. - - - - Indicates that this symbol uses metadata that cannot be supported by the language. - - Examples include: - - Pointer types in VB - - ByRef return type - - Required custom modifiers - - This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced. - Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature. - - This is set for metadata symbols, as follows: - Type - if a type is unsupported (e.g., a pointer type, etc.) - Method - parameter or return type is unsupported - Field - type is unsupported - Event - type is unsupported - Property - type is unsupported - Parameter - type is unsupported - - - - - Returns the constructed form of the ReducedFrom property, - including the type arguments that were either inferred during reduction or supplied at the call site. - - - - - Synthesized symbol that implements a method body feature (iterator, async, lambda, etc.) - - - - - The symbol whose body lowering produced this synthesized symbol, - or null if the symbol is synthesized based on declaration. - - - - - True if this symbol body needs to be updated when the body is updated. - False if is null. - - - - - Represents a type parameter in a generic type or generic method. - - - - - The ordinal position of the type parameter in the parameter list which declares - it. The first type parameter has ordinal zero. - - - - - The variance annotation, if any, of the type parameter declaration. Type parameters may be - declared as covariant (out), contravariant (in), or neither. - - - - - The type parameter kind of this type parameter. - - - - - The method that declares the type parameter, or null. - - - - - The type that declares the type parameter, or null. - - - - - True if the reference type constraint (class) was specified for the type parameter. - - - - - True if the value type constraint (struct)was specified for the type parameter. - - - - - True if the parameterless constructor constraint (new()) was specified for the type parameter. - - - - - The types that were directly specified as constraints on the type parameter. - - - - - Get the original definition of this type symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined in - source or metadata. - - - - - If this is a type parameter of a reduced extension method, gets the type parameter definition that - this type parameter was reduced from. Otherwise, returns Nothing. - - - - - An enumerated value that identifies whether this type is an array, pointer, enum, and so on. - - - - - The declared base type of this type, or null. The object type, interface types, - and pointer types do not have a base type. The base type of a type parameter - is its effective base class. - - - - - Gets the set of interfaces that this type directly implements. This set does not include - interfaces that are base interfaces of directly implemented interfaces. This does - include the interfaces declared as constraints on type parameters. - - - - - The list of all interfaces of which this type is a declared subtype, excluding this type - itself. This includes all declared base interfaces, all declared base interfaces of base - types, and all declared base interfaces of those results (recursively). This also is the effective - interface set of a type parameter. Each result - appears exactly once in the list. This list is topologically sorted by the inheritance - relationship: if interface type A extends interface type B, then A precedes B in the - list. This is not quite the same as "all interfaces of which this type is a proper - subtype" because it does not take into account variance: AllInterfaces for - ]]> will not include ]]>; - - - - - True if this type is known to be a reference type. It is never the case that - and both return true. However, for an unconstrained type - parameter, and will both return false. - - - - - True if this type is known to be a value type. It is never the case that - and both return true. However, for an unconstrained type - parameter, and will both return false. - - - - - Is this a symbol for an anonymous type (including anonymous VB delegate). - - - - - The original definition of this symbol. If this symbol is constructed from another - symbol by type substitution then gets the original symbol as it was defined in - source or metadata. - - - - - An enumerated value that identifies certain 'special' types such as . - Returns if the type is not special. - - - - - Returns the corresponding symbol in this type or a base type that implements - interfaceMember (either implicitly or explicitly), or null if no such symbol exists - (which might be either because this type doesn't implement the container of - interfaceMember, or this type doesn't supply a member that successfully implements - interfaceMember). - - - Must be a non-null interface property, method, or event. - - - - - A class that provides constants for common language names. - - - - - The common name used from the C# language. - - - - - The common name used for the Visual Basic language. - - - - - Enumeration for possible kinds of method symbols. - - - - - An anonymous method or lambda expression - - - - - Method is a constructor. - - - - - Method is a conversion. - - - - - Method is a delegate invoke. - - - - - Method is a destructor. - - - - - Method is an event add. - - - - - Method is an event raise. - - - - - Method is an event remove. - - - - - Method is an explicit interface implementation. - - - - - Method is an operator. - - - - - Method is an ordinary method. - - - - - Method is a property get. - - - - - Method is a property set. - - - - - An extension method with the "this" parameter removed. - - - - - Method is a static constructor. - - - - - A built-in operator. - - - - - Declare Sub or Function. - - - - - Describes the kind of the namespace extent. - - - - - Information that describes how a method from the underlying Platform is to be invoked. - - - - - Module name. Null if value specified in the attribute is not valid. - - - - - Name of the native entry point or null if not specified (the effective name is the same as the name of the target method). - - - - - Controls whether the field causes the common language runtime - to search an unmanaged DLL for entry-point names other than the one specified. - - - - - Indicates how to marshal string parameters and controls name mangling. - - - - - Indicates whether the callee calls the SetLastError Win32 API function before returning from the attributed method. - - - - - Indicates the calling convention of an entry point. - - - - - Enables or disables best-fit mapping behavior when converting Unicode characters to ANSI characters. - Null if not specified (the setting for the containing type or assembly should be used, ). - - - - - Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI "?" character. - Null if not specified. - - - - - Denotes the kind of reference parameter. - - - - - Indicates a "value" parameter. - - - - - Indicates a "ref" parameter. - - - - - Indicates an "out" parameter. - - - - - Specifies the possible kinds of symbols. - - - - - Symbol is an alias. - - - - - Symbol is an array type. - - - - - Symbol is an assembly. - - - - - Symbol is a dynamic type. - - - - - Symbol that represents an error - - - - - Symbol is an Event. - - - - - Symbol is a field. - - - - - Symbol is a label. - - - - - Symbol is a local. - - - - - Symbol is a method. - - - - - Symbol is a netmodule. - - - - - Symbol is a named type (e.g. class). - - - - - Symbol is a namespace. - - - - - Symbol is a parameter. - - - - - Symbol is a pointer type. - - - - - Symbol is a property. - - - - - Symbol is a range variable of a query expression. - - - - - Symbol is a type parameter. - - - - - Symbol is a preprocessing/conditional compilation constant. - - - - - Represents a constant value used as an argument to a custom attribute. - - - - - The kind of the constant. - - - - - Returns the of the constant, - or null if the type can't be determined (error). - - - - - True if the constant represents a null reference. - - - - - The value for a non-array constant. - - - - - The value for an array. - - - - - TypedConstant isn't computing its own kind from the type symbol because it doesn't - have a way to recognize the well-known type System.Type. - - - - - Represents the kind of a TypedConstant. - - - - - Represents a simple value or a read-only array of . - - - - - True if the constant represents a null literal. - - - - - Enumeration for possible kinds of type symbols. - - - - - Type's kind is undefined. - - - - - Type is an array type. - - - - - Type is a class. - - - - - Type is a delegate. - - - - - Type is dynamic. - - - - - Type is an enumeration. - - - - - Type is an error type. - - - - - Type is an interface. - - - - - Type is a module. - - - - - Type is a pointer. - - - - - Type is a C# struct or VB Structure - - - - - Type is a C# struct or VB Structure - - - - - Type is a type parameter. - - - - - Type is an interactive submission. - - - - - Type layout information. - - - - - Layout kind (Layout flags in metadata). - - - - - Field alignment (PackingSize field in metadata). - - - - - Size of the type. - - - - - Represents the different kinds of type parameters. - - - - - Type parameter of a named type. For example: T in ]]>. - - - - - Type parameter of a method. For example: T in ()]]>. - - - - - Type parameter in a cref attribute in XML documentation comments. For example: T in ]]>. - - - - - An enumeration declaring the kinds of variance supported for generic type parameters. - - - - - Invariant. - - - - - Covariant (out). - - - - - Contravariant (in). - - - - - Specifies the member names known to the compiler (such as .ctor or op_Explicit). - - - - - Name of the enum backing field. - - - - - The name assigned to an instance constructor. - - - - - The name assigned to the static constructor. - - - - - The symbol name assigned to all indexers, other than explicit interface implementations. - - - Will not correspond to the name that appears in metadata. - - - - - The name assigned to the destructor. - - - - - The name assigned to the delegate Invoke method. - - - - - The name assigned to the delegate BeginInvoke method. - - - - - The name assigned to the delegate EndInvoke method. - - - - - The name of an entry point method. - - - - - The default fully qualified name of a Script class. - - - - - The name assigned to Object.ToString method. - - - - - The name assigned to Object.Equals method. - - - - - The name assigned to Object.GetHashCode method. - - - - - The name assigned to an implicit (widening) conversion. - - - - - The name assigned to an explicit (narrowing) conversion. - - - - - The name assigned to the Addition operator. - - - - - The name assigned to the BitwiseAnd operator. - - - - - The name assigned to the BitwiseOr operator. - - - - - The name assigned to the Decrement operator. - - - - - The name assigned to the Division operator. - - - - - The name assigned to the Equality operator. - - - - - The name assigned to the ExclusiveOr operator. - - - - - The name assigned to the False operator. - - - - - The name assigned to the GreaterThan operator. - - - - - The name assigned to the GreaterThanOrEqual operator. - - - - - The name assigned to the Increment operator. - - - - - The name assigned to the Inequality operator. - - - - - The name assigned to the LeftShift operator. - - - - - The name assigned to the UnsignedLeftShift operator. - - - - - The name assigned to the LessThan operator. - - - - - The name assigned to the LessThanOrEqual operator. - - - - - The name assigned to the LogicalNot operator. - - - - - The name assigned to the LogicalOr operator. - - - - - The name assigned to the LogicalAnd operator. - - - - - The name assigned to the Modulus operator. - - - - - The name assigned to the Multiply operator. - - - - - The name assigned to the OnesComplement operator. - - - - - The name assigned to the RightShift operator. - - - - - The name assigned to the UnsignedRightShift operator. - - - - - The name assigned to the Subtraction operator. - - - - - The name assigned to the True operator. - - - - - The name assigned to the UnaryNegation operator. - - - - - The name assigned to the UnaryPlus operator. - - - - - The name assigned to the Concatenate operator. - - - - - The name assigned to the Exponent operator. - - - - - The name assigned to the IntegerDivision operator. - - - - - The name assigned to the Like operator. - - - - - The required name for the GetEnumerator method used in a ForEach statement. - - - - - The required name for the MoveNext method used in a ForEach statement. - - - - - The required name for the Current property used in a ForEach statement. - - - - - The required name for the property used in - a ForEach statement when the collection is a nullable struct. - - - - - The name for the Add method to be invoked for each element in a collection initializer expression - (see C# Specification, �7.6.10.3 Collection initializers). - - - - - The required name for the GetAwaiter method used to obtain an awaiter for a task - (see C# Specification, �7.7.7.1 Awaitable expressions). - - - - - The required name for the IsCompleted property used to determine if a task is already complete - (see C# Specification, �7.7.7.1 Awaitable expressions). - - - - - The required name for the GetResult method used to obtain the outcome of a task once it is complete - (see C# Specification, �7.7.7.1 Awaitable expressions). - - - - - The name of the method used to register a resumption delegate - (see C# Specification, �7.7.7.1 Awaitable expressions). - - - - - Returns the reporting level of the given diagnostic id at the specified position - in the associated syntax tree. - - - - - Gets the position mapped entry in the provided sorted array with the largest position less than or equal to position - - - - - Struct that represents an entry in the warning state map. Sorts by position in the associated syntax tree. - - - - - This is a SyntaxReference implementation that lazily translates the result (SyntaxNode) of the - original syntax reference to another one. - - - - - Creates a new node identical to this node with the specified annotations attached. - - Original node. - Annotations to be added to the new node. - - - - Creates a new node identical to this node with the specified annotations attached. - - Original node. - Annotations to be added to the new node. - - - - Creates a new node identical to this node with the specified annotations removed. - - Original node. - Annotations to be removed from the new node. - - - - Creates a new node identical to this node with the specified annotations removed. - - Original node. - Annotations to be removed from the new node. - - - - Creates a new node identical to this node with the annotions of the specified kind removed. - - Original node. - The kind of annotation to remove. - - - - Gets the number of children contained in the . - - - - Gets the child at the specified index. - The zero-based index of the child to get. - - is less than 0.-or- is equal to or greater than . - - - - internal indexer that does not verify index. - Used when caller has already ensured that index is within bounds. - - - - - internal indexer that does not verify index. - Used when caller has already ensured that index is within bounds. - - - - - Returns the first child in the list. - - The first child in the list. - The list is empty. - - - - Returns the last child in the list. - - The last child in the list. - The list is empty. - - - - Returns a list which contains all children of in reversed order. - - which contains all children of in reversed order - - - Returns an enumerator that iterates through the . - A for the . - - - Determines whether the specified object is equal to the current instance. - true if the specified object is a structure and is equal to the current instance; otherwise, false. - The object to be compared with the current instance. - - - Determines whether the specified structure is equal to the current instance. - true if the specified structure is equal to the current instance; otherwise, false. - The structure to be compared with the current instance. - - - Returns the hash code for the current instance. - A 32-bit signed integer hash code. - - - Indicates whether two structures are equal. - true if is equal to ; otherwise, false. - The structure on the left side of the equality operator. - The structure on the right side of the equality operator. - - - Indicates whether two structures are unequal. - true if is equal to ; otherwise, false. - The structure on the left side of the inequality operator. - The structure on the right side of the inequality operator. - - - Enumerates the elements of a . - - - Advances the enumerator to the next element of the . - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - - - - Gets the element in the collection at the current position of the enumerator. - - - The element in the collection at the current position of the enumerator. - - - - - Gets the element in the collection at the current position of the enumerator. - - - The element in the collection at the current position of the enumerator. - - - - - Advances the enumerator to the next element of the collection. - - - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. - - The collection was modified after the enumerator was created. - - - - Sets the enumerator to its initial position, which is before the first element in the collection. - - The collection was modified after the enumerator was created. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Gets the element in the collection at the current position of the enumerator. - - - The element in the collection at the current position of the enumerator. - - - - - Gets the element in the collection at the current position of the enumerator. - - - The element in the collection at the current position of the enumerator. - - - - - Advances the enumerator to the next element of the collection. - - - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. - - The collection was modified after the enumerator was created. - - - - Sets the enumerator to its initial position, which is before the first element in the collection. - - The collection was modified after the enumerator was created. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Represents the root node of a structured trivia tree (for example, a preprocessor directive - or a documentation comment). From this root node you can traverse back up to the containing - trivia in the outer tree that contains it. - - - - - Returns the parent trivia syntax for this structured trivia syntax. - - The parent trivia syntax for this structured trivia syntax. - - - - The LineDirectiveMap is created to enable translating positions, using the #line directives - in a file. The basic implementation creates an ordered array of line mapping entries, one - for each #line directive in the file (plus one at the beginning). If the file has no - directives, then the array has just one element in in. To map line numbers, a binary search - of the mapping entries is done and nearest line mapping is applied. - - - - - Determines whether the position is considered to be hidden from the debugger or not. - - - - - Combines TranslateSpan and IsHiddenPosition to not search the entries twice when emitting sequence points - - - - - Are there any hidden regions in the map? - - True if there's at least one hidden region in the map. - - - - Enum that describes the state related to the #line or #externalsource directives at a position in source. - - - - - Used in VB when the position is not hidden, but it's not known yet that there is a (nonempty) #ExternalSource - following. - - - - - Used in C# for spans outside of #line directives - - - - - Used in C# for spans inside of "#line linenumber" directive - - - - - Used in VB for spans inside of a "#ExternalSource" directive that followed an unknown span - - - - - Used in VB for spans inside of a "#ExternalSource" directive that followed a hidden span - - - - - Used in C# and VB for spans that are inside of #line hidden (C#) or outside of #ExternalSource (VB) - directives - - - - - The state of the visibility of a line. - - - - - The line is located before any #line directive and there is at least one #line directive present in this syntax tree. - This enum value is used for C# only to enable the consumer to define how to interpret the lines before the first - line directive. - - - - - The line is following a #line hidden directive. - - - - - The line is following a #line default directive or a #line directive with at least a line number. - If there is no line directive at all, Visible is returned for all lines. - - - - - Gets the separator at the given index in this list. - - The index. - - - - - Returns the sequence of just the separator tokens. - - - - - The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements. - - - - - The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements. - - - - - Returns the string representation of the nodes in this list including separators but not including - the first node's leading trivia and the last node or token's trailing trivia. - - - The string representation of the nodes in this list including separators but not including - the first node's leading trivia and the last node or token's trailing trivia. - - - - - Returns the full string representation of the nodes in this list including separators, - the first node's leading trivia, and the last node or token's trailing trivia. - - - The full string representation of the nodes in this list including separators including separators, - the first node's leading trivia, and the last node or token's trailing trivia. - - - - - Creates a new list with the specified node added to the end. - - The node to add. - - - - Creates a new list with the specified nodes added to the end. - - The nodes to add. - - - - Creates a new list with the specified node inserted at the index. - - The index to insert at. - The node to insert. - - - - Creates a new list with the specified nodes inserted at the index. - - The index to insert at. - The nodes to insert. - - - - Creates a new list with the element at the specified index removed. - - The index of the element to remove. - - - - Creates a new list with specified element removed. - - The element to remove. - - - - Creates a new list with the specified element replaced by the new node. - - The element to replace. - The new node. - - - - Creates a new list with the specified element replaced by the new nodes. - - The element to replace. - The new nodes. - - - - Creates a new list with the specified separator token replaced with the new separator. - - The separator token to be replaced. - The new separator token. - - - - A SynatxAnnotation is used to annotate syntax elements with additional information. - - Since syntax elements are immutable, annotating them requires creating new instances of them - with the annotations attached. - - - - - A predefined syntax annotation that indicates whether the syntax element has elastic trivia. - - - - - A list of . - - - - - The number of nodes in the list. - - - - - Gets the node at the specified index. - - The zero-based index of the node to get or set. - The node at the specified index. - - - - The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements. - - - - - The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements. - - - - - Returns the string representation of the nodes in this list, not including - the first node's leading trivia and the last node's trailing trivia. - - - The string representation of the nodes in this list, not including - the first node's leading trivia and the last node's trailing trivia. - - - - - Returns the full string representation of the nodes in this list including - the first node's leading trivia and the last node's trailing trivia. - - - The full string representation of the nodes in this list including - the first node's leading trivia and the last node's trailing trivia. - - - - - Creates a new list with the specified node added at the end. - - The node to add. - - - - Creates a new list with the specified nodes added at the end. - - The nodes to add. - - - - Creates a new list with the specified node inserted at the index. - - The index to insert at. - The node to insert. - - - - Creates a new list with the specified nodes inserted at the index. - - The index to insert at. - The nodes to insert. - - - - Creates a new list with the element at specified index removed. - - The index of the element to remove. - - - - Creates a new list with the element removed. - - The element to remove. - - - - Creates a new list with the specified element replaced with the new node. - - The element to replace. - The new node. - - - - Creates a new list with the specified element replaced with new nodes. - - The element to replace. - The new nodes. - - - - The first node in the list. - - - - - The first node in the list or default if the list is empty. - - - - - The last node in the list. - - - - - The last node in the list or default if the list is empty. - - - - - True if the list has at least one node. - - - - - Get's the enumerator for this list. - - - - - The index of the node in this list, or -1 if the node is not in the list. - - - - - Represents a non-terminal node in the syntax tree. This is the language agnostic equivalent of and . - - - - - Used by structured trivia which has "parent == null", and therefore must know its - SyntaxTree explicitly when created. - - - - - An integer representing the language specific kind of this node. - - - - - The language name that this node is syntax of. - - - - - Returns SyntaxTree that owns the node or null if node does not belong to a - SyntaxTree - - - - - The absolute span of this node in characters, including its leading and trailing trivia. - - - - - The absolute span of this node in characters, not including its leading and trailing trivia. - - - - - Same as accessing on . - - - Slight performance improvement. - - - - - The width of the node in characters, not including leading and trailing trivia. - - - The Width property returns the same value as Span.Length, but is somewhat more efficient. - - - - - The complete width of the node in characters, including leading and trailing trivia. - - The FullWidth property returns the same value as FullSpan.Length, but is - somewhat more efficient. - - - - This works the same as GetRed, but intended to be used in lists - The only difference is that the public parent of the node is not the list, - but the list's parent. (element's grand parent). - - - - - special cased helper for 2 and 3 children lists where child #1 may map to a token - - - - - Returns the string representation of this node, not including its leading and trailing trivia. - - The string representation of this node, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - - Returns full string representation of this node including its leading and trailing trivia. - - The full string representation of this node including its leading and trailing trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this node to the specified TextWriter. - - - - - Gets the full text of this node as an new SourceText instance. - - - - - - Determine whether this node is structurally equivalent to another. - - - - - Determines whether the node represents a language construct that was actually parsed - from the source code. Missing nodes are generated by the parser in error scenarios to - represent constructs that should have been present in the source code in order to - compile successfully but were actually missing. - - - - - Determines whether this node is a descendant of a structured trivia. - - - - - Determines whether this node represents a structured trivia. - - - - - Determines whether a descendant trivia of this node is structured. - - - - - Determines whether this node has any descendant skipped text. - - - - - Determines whether this node has any descendant preprocessor directives. - - - - - Determines whether this node or any of its descendant nodes, tokens or trivia have any diagnostics on them. - - - - - Determines whether this node has any leading trivia. - - - - - Determines whether this node has any trailing trivia. - - - - - Gets a node at given node index without forcing its creation. - If node was not created it would return null. - - - - - This function calculates the offset of a child at given position. It is very common that - some children to the left of the given index already know their positions so we first - check if that is the case. In a worst case the cost is O(n), but it is not generally an - issue because number of children in regular nodes is fixed and small. In a case where - the number of children could be large (lists) this function is overridden with more - efficient implementations. - - - - - Gets a list of all the diagnostics in the sub tree that has this node as its root. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets an SyntaxReference for this syntax node. CommonSyntaxReferences can be used to - regain access to a syntax node without keeping the entire tree and source text in - memory. - - - - - The node that contains this node in its Children collection. - - - - - The list of child nodes and tokens of this node, where each element is a SyntaxNodeOrToken instance. - - - - - Gets node at given node index. - This WILL force node creation if node has not yet been created. - - - - - Gets a list of the child nodes in prefix document order. - - - - - Gets a list of ancestor nodes - - - - - Gets a list of ancestor nodes (including this node) - - - - - Gets the first node of type TNode that matches the predicate. - - - - - Gets a list of descendant nodes in prefix document order. - - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of descendant nodes in prefix document order. - - The span the node's full span must intersect. - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of descendant nodes (including this node) in prefix document order. - - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of descendant nodes (including this node) in prefix document order. - - The span the node's full span must intersect. - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of descendant nodes and tokens in prefix document order. - - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of the descendant nodes and tokens in prefix document order. - - The span the node's full span must intersect. - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of descendant nodes and tokens (including this node) in prefix document order. - - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Gets a list of the descendant nodes and tokens (including this node) in prefix document order. - - The span the node's full span must intersect. - An optional function that determines if the search descends into the argument node's children. - Determines if nodes that are part of structured trivia are included in the list. - - - - Finds the node with the smallest that contains . - is used to determine the behavior in case of a tie (i.e. a node having the same span as its parent). - If is true, then it returns lowest descending node encompassing the given . - Otherwise, it returns the outermost node encompassing the given . - - - TODO: This should probably be reimplemented with - - This exception is thrown if doesn't contain the given span. - - - - Finds a descendant token of this node whose span includes the supplied position. - - The character position of the token relative to the beginning of the file. - - True to return tokens that are part of trivia. If false finds the token whose full span (including trivia) - includes the position. - - - - - Gets the first token of the tree rooted by this node. Skips zero-width tokens. - - The first token or default(SyntaxToken) if it doesn't exist. - - - - Gets the last token of the tree rooted by this node. Skips zero-width tokens. - - The last token or default(SyntaxToken) if it doesn't exist. - - - - Gets a list of the direct child tokens of this node. - - - - - Gets a list of all the tokens in the span of this node. - - - - - Gets a list of all the tokens in the full span of this node. - - - - - The list of trivia that appears before this node in the source code and are attached to a token that is a - descendant of this node. - - - - - The list of trivia that appears after this node in the source code and are attached to a token that is a - descendant of this node. - - - - - Finds a descendant trivia of this node whose span includes the supplied position. - - The character position of the trivia relative to the beginning of the file. - - True to return tokens that are part of trivia. If false finds the token whose full span (including trivia) - includes the position. - - - - - Get a list of all the trivia associated with the descendant nodes and tokens. - - - - - Get a list of all the trivia associated with the descendant nodes and tokens. - - - - - Determines whether this node or any sub node, token or trivia has annotations. - - - - - Determines whether this node has any annotations with the specific annotation kind. - - - - - Determines whether this node has any annotations with any of the specific annotation kinds. - - - - - Determines whether this node has the specific annotation. - - - - - Gets all the annotations with the specified annotation kind. - - - - - Gets all the annotations with the specified annotation kinds. - - - - - Gets all nodes and tokens with an annotation of the specified annotation kind. - - - - - Gets all nodes and tokens with an annotation of the specified annotation kinds. - - - - - Gets all nodes and tokens with the specified annotation. - - - - - Gets all nodes with the specified annotation. - - - - - Gets all nodes with the specified annotation kind. - - - - - - - Gets all tokens with the specified annotation. - - - - - Gets all tokens with the specified annotation kind. - - - - - Gets all trivia with an annotation of the specified annotation kind. - - - - - Gets all trivia with an annotation of the specified annotation kinds. - - - - - Gets all trivia with the specified annotation. - - - - - Copies all SyntaxAnnotations, if any, from this SyntaxNode instance and attaches them to a new instance based on . - - - - If no annotations are copied, just returns . - - - It can also be used manually to preserve annotations in a more complex tree - modification, even if the type of a node changes. - - - - - - Determines if two nodes are the same, disregarding trivia differences. - - The node to compare against. - If true then the nodes are equivalent if the contained nodes and - tokens declaring metadata visible symbolic information are equivalent, ignoring any - differences of nodes inside method bodies or initializer expressions, otherwise all - nodes and tokens must be equivalent. - - - - - Determine if this node is structurally equivalent to another. - - - - - Returns SyntaxTree that owns the node or null if node does not belong to a - SyntaxTree - - - - - Finds a descendant token of this node whose span includes the supplied position. - - The character position of the token relative to the beginning of the file. - - True to return tokens that are part of trivia. - If false finds the token whose full span (including trivia) includes the position. - - - - - Finds a descendant token of this node whose span includes the supplied position. - - The character position of the token relative to the beginning of the file. - - Applied on every structured trivia. Return false if the tokens included in the trivia should be skipped. - Pass null to skip all structured trivia. - - - - - Finds a descendant trivia of this node whose span includes the supplied position. - - The character position of the trivia relative to the beginning of the file. - Whether to search inside structured trivia. - - - - Creates a new tree of nodes with the specified nodes, tokens or trivia replaced. - - - - - Creates a new tree of nodes with the specified node removed. - - - - - Determines if two nodes are the same, disregarding trivia differences. - - The node to compare against. - If true then the nodes are equivalent if the contained nodes and - tokens declaring metadata visible symbolic information are equivalent, ignoring any - differences of nodes inside method bodies or initializer expressions, otherwise all - nodes and tokens must be equivalent. - - - - - Creates a new tree of nodes with the specified nodes, tokens and trivia replaced. - - The type of the root node. - The root node of the tree of nodes. - The nodes to be replaced. - A function that computes a replacement node for the - argument nodes. The first argument is the original node. The second argument is the same - node potentially rewritten with replaced descendants. - The tokens to be replaced. - A function that computes a replacement token for - the argument tokens. The first argument is the original token. The second argument is - the same token potentially rewritten with replaced trivia. - The trivia to be replaced. - A function that computes replacement trivia for - the specified arguments. The first argument is the original trivia. The second argument is - the same trivia with potentially rewritten sub structure. - - - - Creates a new tree of nodes with the specified old node replaced with a new node. - - The type of the root node. - The type of the nodes being replaced. - The root node of the tree of nodes. - The nodes to be replaced; descendants of the root node. - A function that computes a replacement node for the - argument nodes. The first argument is the original node. The second argument is the same - node potentially rewritten with replaced descendants. - - - - Creates a new tree of nodes with the specified old node replaced with a new node. - - The type of the root node. - The type of the replaced node. - The root node of the tree of nodes. - The node to be replaced; a descendant of the root node. - The new node to use in the new tree in place of the old node. - - - - Creates a new tree of nodes with specified old node replaced with a new nodes. - - The type of the root node. - The type of the replaced node. - The root of the tree of nodes. - The node to be replaced; a descendant of the root node and an element of a list member. - A sequence of nodes to use in the tree in place of the old node. - - - - Creates a new tree of nodes with new nodes inserted before the specified node. - - The type of the root node. - The root of the tree of nodes. - The node to insert before; a descendant of the root node an element of a list member. - A sequence of nodes to insert into the tree immediately before the specified node. - - - - Creates a new tree of nodes with new nodes inserted after the specified node. - - The type of the root node. - The root of the tree of nodes. - The node to insert after; a descendant of the root node an element of a list member. - A sequence of nodes to insert into the tree immediately after the specified node. - - - - Creates a new tree of nodes with the specified old token replaced with new tokens. - - The type of the root node. - The root of the tree of nodes. - The token to be replaced; a descendant of the root node and an element of a list member. - A sequence of tokens to use in the tree in place of the specified token. - - - - Creates a new tree of nodes with new tokens inserted before the specified token. - - The type of the root node. - The root of the tree of nodes. - The token to insert before; a descendant of the root node and an element of a list member. - A sequence of tokens to insert into the tree immediately before the specified token. - - - - Creates a new tree of nodes with new tokens inserted after the specified token. - - The type of the root node. - The root of the tree of nodes. - The token to insert after; a descendant of the root node and an element of a list member. - A sequence of tokens to insert into the tree immediately after the specified token. - - - - Creates a new tree of nodes with the specified old triva replaced with new trivia. - - The type of the root node. - The root of the tree of nodes. - The trivia to be replaced; a descendant of the root node. - A sequence of trivia to use in the tree in place of the specified trivia. - - - - Creates a new tree of nodes with new trivia inserted before the specified trivia. - - The type of the root node. - The root of the tree of nodes. - The trivia to insert before; a descendant of the root node. - A sequence of trivia to insert into the tree immediately before the specified trivia. - - - - Creates a new tree of nodes with new trivia inserted after the specified trivia. - - The type of the root node. - The root of the tree of nodes. - The trivia to insert after; a descendant of the root node. - A sequence of trivia to insert into the tree immediately after the specified trivia. - - - - Creates a new tree of nodes with the specified old node replaced with a new node. - - The type of the root node. - The root node of the tree of nodes. - The token to be replaced; descendants of the root node. - A function that computes a replacement token for - the argument tokens. The first argument is the original token. The second argument is - the same token potentially rewritten with replaced trivia. - - - - Creates a new tree of nodes with the specified old token replaced with a new token. - - The type of the root node. - The root node of the tree of nodes. - The token to be replaced. - The new token to use in the new tree in place of the old - token. - - - - Creates a new tree of nodes with the specified trivia replaced with new trivia. - - The type of the root node. - The root node of the tree of nodes. - The trivia to be replaced; descendants of the root node. - A function that computes replacement trivia for - the specified arguments. The first argument is the original trivia. The second argument is - the same trivia with potentially rewritten sub structure. - - - - Creates a new tree of nodes with the specified trivia replaced with new trivia. - - The type of the root node. - The root node of the tree of nodes. - The trivia to be replaced. - The new trivia to use in the new tree in place of the old trivia. - - - - Creates a new tree of nodes with the specified node removed. - - The type of the root node. - The root node from which to remove a descendant node from. - The node to remove. - Options that determine how the node's trivia is treated. - - - - Creates a new tree of nodes with the specified nodes removed. - - The type of the root node. - The root node from which to remove a descendant node from. - The nodes to remove. - Options that determine how the nodes' trivia is treated. - - - - Creates a new syntax node with all whitespace and end of line trivia replaced with - regularly formatted trivia. - - The type of the node. - The node to format. - An optional sequence of whitespace characters that defines a - single level of indentation. - If true the replaced trivia is elastic trivia. - - - - Creates a new node from this node with the leading trivia replaced. - - - - - Creates a new node from this node with the leading trivia replaced. - - - - - Creates a new node from this node with the leading trivia replaced. - - - - - Creates a new node from this node with the trailing trivia replaced. - - - - - Creates a new node from this node with the trailing trivia replaced. - - - - - Creates a new node from this node with the trailing trivia replaced. - - - - - Creates a new tree of nodes with the specified nodes being tracked. - - Use GetCurrentNode on the subtree resulting from this operation, or any transformation of it, - to get the current node corresponding to the original tracked node. - - The root of the subtree containing the nodes to be tracked. - One or more nodes that are descendants of the root node. - - - - Creates a new tree of nodes with the specified nodes being tracked. - - Use GetCurrentNode on the subtree resulting from this operation, or any transformation of it, - to get the current node corresponding to the original tracked node. - - The root of the subtree containing the nodes to be tracked. - One or more nodes that are descendants of the root node. - - - - Gets the nodes within the subtree corresponding to the original tracked node. - Use TrackNodes to start tracking nodes. - - The root of the subtree containing the current node corresponding to the original tracked node. - The node instance originally tracked. - - - - Gets the node within the subtree corresponding to the original tracked node. - Use TrackNodes to start tracking nodes. - - The root of the subtree containing the current node corresponding to the original tracked node. - The node instance originally tracked. - - - - Gets the nodes within the subtree corresponding to the original tracked nodes. - Use TrackNodes to start tracking nodes. - - The root of the subtree containing the current nodes corresponding to the original tracked nodes. - One or more node instances originally tracked. - - - - A wrapper for either a syntax node () or a syntax token (). - - - - - An integer representing the language specific kind of the underlying node or token. - - - - - The language name that this node or token is syntax of. - - - - - Determines whether the underlying node or token represents a language construct that was actually parsed - from source code. Missing nodes and tokens are typically generated by the parser in error scenarios to - represent constructs that should have been present in the source code for the source code to compile - successfully but were actually missing. - - - - - The node that contains the underlying node or token in its Children collection. - - - - - Determines whether this is wrapping a token. - - - - - Determines whether this is wrapping a node. - - - - - Returns the underlying token if this is wrapping a - token. - - - The underlying token if this is wrapping a token. - - - - - Returns the underlying node if this is wrapping a - node. - - - The underlying node if this is wrapping a node. - - - - - The list of child nodes and tokens of the underlying node or token. - - - - - The absolute span of the underlying node or token in characters, not including its leading and trailing - trivia. - - - - - Same as accessing on . - - - Slight performance improvement. - - - - - The absolute span of the underlying node or token in characters, including its leading and trailing trivia. - - - - - Returns the string representation of this node or token, not including its leading and trailing - trivia. - - The string representation of this node or token, not including its leading and trailing - trivia. - The length of the returned string is always the same as Span.Length - - - - Returns the full string representation of this node or token including its leading and trailing trivia. - - The full string representation of this node or token including its leading and trailing - trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this node or token to the specified TextWriter. - - - - - Determines whether the underlying node or token has any leading trivia. - - - - - The list of trivia that appear before the underlying node or token in the source code and are attached to a - token that is a descendant of the underlying node or token. - - - - - Determines whether the underlying node or token has any trailing trivia. - - - - - The list of trivia that appear after the underlying node or token in the source code and are attached to a - token that is a descendant of the underlying node or token. - - - - - Determines whether the underlying node or token or any of its descendant nodes, tokens or trivia have any - diagnostics on them. - - - - - Gets a list of all the diagnostics in either the sub tree that has this node as its root or - associated with this token and its related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Determines whether the underlying node or token has any descendant preprocessor directives. - - - - - Determines whether this node or token (or any sub node, token or trivia) as annotations. - - - - - Determines whether this node or token has annotations of the specified kind. - - - - - Determines whether this node or token has annotations of the specified kind. - - - - - Determines if this node or token has the specific annotation. - - - - - Gets all annotations of the specified annotation kind. - - - - - Gets all annotations of the specified annotation kind. - - - - - Creates a new node or token identical to this one with the specified annotations. - - - - - Creates a new node or token identical to this one with the specified annotations. - - - - - Creates a new node or token identical to this one without the specified annotations. - - - - - Creates a new node or token identical to this one without the specified annotations. - - - - - Creates a new node or token identical to this one without annotations of the specified kind. - - - - - Determines whether the supplied is equal to this - . - - - - - Determines whether two s are equal. - - - - - Determines whether two s are unequal. - - - - - Determines whether the supplied is equal to this - . - - - - - Serves as hash function for . - - - - - Determines if the two nodes or tokens are equivalent. - - - - - Returns a new that wraps the supplied token. - - The input token. - - A that wraps the supplied token. - - - - - Returns the underlying token wrapped by the supplied . - - - The input . - - - The underlying token wrapped by the supplied . - - - - - Returns a new that wraps the supplied node. - - The input node. - - A that wraps the supplied node. - - - - - Returns the underlying node wrapped by the supplied . - - - The input . - - - The underlying node wrapped by the supplied . - - - - - SyntaxTree which contains current SyntaxNodeOrToken. - - - - - Get the location of this node or token. - - - - - A list of structures. - - - - - The underlying field - - - - - The index from the parent's children list of this node. - - - - - Initializes a new instance of the structure. - - The underlying syntax node. - The index. - - - - Gets the underlying syntax node. - - - - - Gets the count of nodes in this list - - - - - Gets the at the specified index. - - - is out of range. - - - - The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements. - - - - - The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements. - - - - - Returns the string representation of the nodes and tokens in this list, not including the first node or token's leading trivia - and the last node or token's trailing trivia. - - - The string representation of the nodes and tokens in this list, not including the first node or token's leading trivia - and the last node or token's trailing trivia. - - - - - Returns the full string representation of the nodes and tokens in this list including the first node or token's leading trivia - and the last node or token's trailing trivia. - - - The full string representation of the nodes and tokens in this list including the first node or token's leading trivia - and the last node or token's trailing trivia. - - - - - Gets the first SyntaxNodeOrToken structure from this list. - - - - - Gets the first SyntaxNodeOrToken structure from this list if present, else default(SyntaxNodeOrToken). - - - - - Gets the last SyntaxNodeOrToken structure from this list. - - - - - Gets the last SyntaxNodeOrToken structure from this list if present, else default(SyntaxNodeOrToken). - - - - - Returns the index from the list for the given . - - The node or token to search for in the list. - The index of the found nodeOrToken, or -1 if it wasn't found - - - - Indicates whether there is any element in the list. - - true if there are any elements in the list, else false. - - - - Copies a given count of elements into the given array at specified offsets. - - The offset to start copying from. - The array to copy the elements into. - The array offset to start writing to. - The count of elements to copy. - - - - Creates a new with the specified node or token added to the end. - - The node or token to add. - - - - Creates a new with the specified nodes or tokens added to the end. - - The nodes or tokens to add. - - - - Creates a new with the specified node or token inserted at the index. - - The index to insert at. - The node or token to insert. - - - - Creates a new with the specified nodes or tokens inserted at the index. - - The index to insert at. - The nodes or tokens to insert. - - - - Creates a new with the element at the specified index removed. - - The index of the element to remove. - - - - Creates a new with the specified element removed. - - The element to remove. - - - - Creates a new with the specified element replaced with a new node or token. - - The element to replace. - The new node or token. - - - - Creates a new with the specified element replaced with a new nodes and tokens. - - The element to replace. - The new nodes and tokens. - - - - Gets the enumerator. - - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Implements the operator ==. - - The left SyntaxNodeOrTokenList - The right SyntaxNodeOrTokenList - - true if both lists equal, else false. - - - - - Implements the operator !=. - - The left SyntaxNodeOrTokenList - The right SyntaxNodeOrTokenList - - true if both lists not equal, else false. - - - - - Indicates whether the current object is equal to another object of the same type. - - An object to compare with this object. - - true if the current object is equal to the parameter; otherwise, - false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Enumerator for lists of SyntaxNodeOrToken structs. - - - - - Advances the enumerator to the next element of the collection. - - - true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. - - The collection was modified after the enumerator was created. - - - - Gets the struct that this enumerator instance is currently pointing to. - - - - - Gets the struct that this enumerator instance is currently pointing to. - - - - - Sets the enumerator to its initial position, which is before the first element in the collection. - - The collection was modified after the enumerator was created. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - A reference to a syntax node. - - - - - The syntax tree that this references a node within. - - - - - The span of the node referenced. - - - - - Retrieves the original referenced syntax node. - This action may cause a parse to happen to recover the syntax node. - - The original referenced syntax node. - - - - Retrieves the original referenced syntax node. - This action may cause a parse to happen to recover the syntax node. - - The original referenced syntax node. - - - - The location of this syntax reference. - - The location of this syntax reference. - - More performant than GetSyntax().GetLocation(). - - - - - None of the trivia associated with the node or token is kept. - - - - - The leading trivia associated with the node or token is kept. - - - - - The trailing trivia associated with the node or token is kept. - - - - - The leading and trailing trivia associated with the node or token is kept. - - - - - Any directives that would become unbalanced are kept. - - - - - All directives are kept - - - - - Ensure that at least one EndOfLine trivia is kept if one was present - - - - - Represents a token in the syntax tree. This is the language agnostic equivalent of and . - - - - - An integer representing the language specific kind of this token. - - - - - The language name that this token is syntax of. - - - - - The kind of token, given its position in the syntax. This differs from when a contextual keyword is used in a place in the syntax that gives it - its keyword meaning. - - - The ContextualKind is relevant only on contextual keyword tokens. ContextualKind differs - from Kind when a token is used in context where the token should be interpreted as a - keyword. - - - - - The node that contains this token in its Children collection. - - - - - The width of the token in characters, not including its leading and trailing trivia. - - - - - The complete width of the token in characters including its leading and trailing trivia. - - - - - The absolute span of this token in characters, not including its leading and trailing trivia. - - - - - Same as accessing on . - - - Slight performance improvement. - - - - - The absolute span of this token in characters, including its leading and trailing trivia. - - - - - Determines whether this token represents a language construct that was actually parsed from source code. - Missing tokens are typically generated by the parser in error scenarios to represent constructs that should - have been present in the source code for the source code to compile successfully but were actually missing. - - - - - Returns the value of the token. For example, if the token represents an integer literal, then this property - would return the actual integer. - - - - - Returns the text representation of the value of the token. For example, if the token represents an integer - literal, then this property would return a string representing the integer. - - - - - Returns the string representation of this token, not including its leading and trailing trivia. - - The string representation of this token, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - - Returns the full string representation of this token including its leading and trailing trivia. - - The full string representation of this token including its leading and trailing trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this token to the specified TextWriter - - - - - - Writes the text of this token to the specified TextWriter, optionally including trivia. - - - - - Determines whether this token has any leading trivia. - - - - - Determines whether this token has any trailing trivia. - - - - - Full width of the leading trivia of this token. - - - - - Full width of the trailing trivia of this token. - - - - - Determines whether this token or any of its descendant trivia have any diagnostics on them. - > - - - - Determines whether this token has any descendant preprocessor directives. - - - - - Determines whether this token is a descendant of a structured trivia. - - - - - Determines whether any of this token's trivia is structured. - - - - - True if this token or its trivia has any annotations. - - - - - True if this token has annotations of the specified annotation kind. - - - - - True if this token has annotations of the specified annotation kinds. - - - - - True if this token has the specified annotation. - - - - - Gets all the annotations of the specified annotation kind. - - - - - Gets all the annotations of the specified annotation kind. - - - - - Gets all the annotations of the specified annotation kind. - - - - - Adds this annotation to a given syntax token, creating a new syntax token of the same type with the - annotation on it. - - - - - Adds this annotation to a given syntax token, creating a new syntax token of the same type with the - annotation on it. - - - - - Creates a new syntax token identical to this one without the specified annotations. - - - - - Creates a new syntax token identical to this one without the specified annotations. - - - - - Creates a new syntax token identical to this one without annotations of the specified kind. - - - - - Copies all SyntaxAnnotations, if any, from this SyntaxToken instance and attaches them to a new instance based on . - - - If no annotations are copied, just returns . - - - - - The list of trivia that appear before this token in the source code. - - - - - The list of trivia that appear after this token in the source code and are attached to this token or any of - its descendants. - - - - - Clones the token and adds the as leading trivia. - - The to add as leading trivia. - A new token with leading trivia. - - - - Clones the token and adds the as trailing trivia. - - The to add as trailing trivia. - A new token with trailing trivia. - - - - Gets a list of all the trivia (both leading and trailing) for this token. - - - - - Determines whether two s are equal. - - - - - Determines whether two s are unequal. - - - - - Determines whether the supplied is equal to this - . - - - - - Determines whether the supplied is equal to this - . - - - - - Serves as hash function for . - - - - - Gets the token that follows this token in the syntax tree. - - The token that follows this token in the syntax tree. - - - - Returns the token after this token in the syntax tree. - - Delegate applied to each token. The token is returned if the predicate returns - true. - Delegate applied to trivia. If this delegate is present then trailing trivia is - included in the search. - - - - Gets the token that precedes this token in the syntax tree. - - The next token that follows this token in the syntax tree. - - - - Returns the token before this token in the syntax tree. - - Delegate applied to each token. The token is returned if the predicate returns - true. - Delegate applied to trivia. If this delegate is present then trailing trivia is - included in the search. - - - - SyntaxTree which contains current SyntaxToken. - - - - - Gets the location for this token. - - - - - Gets a list of all the diagnostics associated with this token and any related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Determines if this token is equivalent to the specified token. - - - - - Represents a read-only list of . - - - Represents a read-only list of . - - - - - Returns the number of tokens in the list. - - - - - Gets the token at the specified index. - - The zero-based index of the token to get. - The token at the specified index. - - is less than 0.-or- is equal to or greater than . - - - - The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements. - - - - - The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements. - - - - - Returns the string representation of the tokens in this list, not including - the first token's leading trivia and the last token's trailing trivia. - - - The string representation of the tokens in this list, not including - the first token's leading trivia and the last token's trailing trivia. - - - - - Returns the full string representation of the tokens in this list including - the first token's leading trivia and the last token's trailing trivia. - - - The full string representation of the tokens in this list including - the first token's leading trivia and the last token's trailing trivia. - - - - - Returns the first token in the list. - - The first token in the list. - The list is empty. - - - - Returns the last token in the list. - - The last token in the list. - The list is empty. - - - - Tests whether the list is non-empty. - - True if the list contains any tokens. - - - - Returns a list which contains all elements of in reversed order. - - which contains all elements of in reversed order - - - - get the green node at the given slot - - - - - get the green node at the given slot - - - - - Creates a new with the specified token added to the end. - - The token to add. - - - - Creates a new with the specified tokens added to the end. - - The tokens to add. - - - - Creates a new with the specified token insert at the index. - - The index to insert the new token. - The token to insert. - - - - Creates a new with the specified tokens insert at the index. - - The index to insert the new tokens. - The tokens to insert. - - - - Creates a new with the token at the specified index removed. - - The index of the token to remove. - - - - Creates a new with the specified token removed. - - The token to remove. - - - - Creates a new with the specified token replaced with a new token. - - The token to replace. - The new token. - - - - Creates a new with the specified token replaced with new tokens. - - The token to replace. - The new tokens. - - - - Returns an enumerator for the tokens in the - - - - - Compares and for equality. - - - - True if the two s are equal. - - - - Compares and for inequality. - - - - True if the two s are not equal. - - - - Compares this with the for equality. - - True if the two objects are equal. - - - - Serves as a hash function for the - - - - - Create a new Token List - - Element of the return Token List - - - - - A structure for enumerating the a - - - - - Advances the enumerator to the next token in the collection. - - true if the enumerator was successfully advanced to the next element; false if the enumerator - has passed the end of the collection. - - - - Gets the current element in the collection. - - - - - reversed enumerable - - - - - The parsed representation of a source document. - - - - - The path of the source document file. - - - If this syntax tree is not associated with a file, this value can be empty. - The path shall not be null. - - The file doesn't need to exist on disk. The path is opaque for the compiler. - The only requirement on the path format is that the implementations of - , and - passed to the compilation that contains the tree understand it. - - Clients must also not assume that the values of this property are unique - within a Compilation. - - The path is used as follows: - - When debug information is emitted, this path is embedded in the debug information. - - When resolving and normalizing relative paths in #r, #load, #line/#ExternalSource, - #pragma checksum, #ExternalChecksum directives, XML doc comment include elements, etc. - - - - - Returns true if this syntax tree has a root with SyntaxKind "CompilationUnit". - - - - - The options used by the parser to produce the syntax tree. - - - - - The options used by the parser to produce the syntax tree. - - - - - The length of the text of the syntax tree. - - - - - Gets the syntax tree's text if it is available. - - - - - Gets the text of the source document. - - - - - Gets the text of the source document asynchronously. - - - - - Gets the root of the syntax tree if it is available. - - - - - Gets the root of the syntax tree if it is available. - - - - - Gets the root node of the syntax tree, causing computation if necessary. - - - - - Gets the root node of the syntax tree, causing computation if necessary. - - - - - Gets the root node of the syntax tree asynchronously. - - - - - Gets the root node of the syntax tree asynchronously. - - - - - Create a new syntax tree based off this tree using a new source text. - - If the new source text is a minor change from the current source text an incremental - parse will occur reusing most of the current syntax tree internal data. Otherwise, a - full parse will occur using the new source text. - - - - - Gets a list of all the diagnostics in the syntax tree. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in the sub tree that has the specified node as its root. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the token and any related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in either the sub tree that has the specified node as its root or - associated with the token and its related trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Gets the location in terms of path, line and column for a given span. - - Span within the tree. - Cancallation token. - - A valid that contains path, line and column information. - The values are not affected by line mapping directives (#line). - - - - - Gets the location in terms of path, line and column after applying source line mapping directives - (#line in C# or #ExternalSource in VB). - - Span within the tree. - Cancallation token. - - A valid that contains path, line and column information. - - If the location path is mapped the resulting path is the path specified in the corresponding #line, - otherwise it's . - - A location path is considered mapped if the first #line directive that preceeds it and that - either specifies an explicit file path or is #line default exists and specifies an explicit path. - - - - - Returns the visibility for the line at the given position. - - The position to check. - The cancellation token. - - - - Gets a FileLinePositionSpan for a TextSpan and the information whether this span is considered to be hidden or not. - FileLinePositionSpans are used primarily for diagnostics and source locations. - This method combines a call to GetLineSpan and IsHiddenPosition. - - - Returns a boolean indicating whether this span is considered hidden or not. - This function is being called only in the context of sequence point creation and therefore interprets the - LineVisibility accordingly (BeforeFirstRemappingDirective -> Visible). - - - - Returns a path for particular location in source that is presented to the user. - - - Used for implementation of - or for embedding source paths in error messages. - - Unlike Dev12 we do account for #line and #ExternalSource directives when determining value for - . - - - - - Returns a line number for particular location in source that is presented to the user. - - - Used for implementation of - or for embedding source line numbers in error messages. - - Unlike Dev12 we do account for #line and #ExternalSource directives when determining value for - . - - - - - Are there any hidden regions in the tree? - - True if there is at least one hidden region. - - - - Returns a list of the changed regions between this tree and the specified tree. The list is conservative for - performance reasons. It may return larger regions than what has actually changed. - - - - - Gets a location for the specified text span. - - - - - Determines if two trees are the same, disregarding trivia differences. - - The tree to compare against. - If true then the trees are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Gets a SyntaxReference for a specified syntax node. SyntaxReferences can be used to - regain access to a syntax node without keeping the entire tree and source text in - memory. - - - - - Gets a list of text changes that when applied to the old tree produce this tree. - - The old tree. - The list of changes may be different than the original changes that produced - this tree. - - - - Verify nodes match source. - - - - - Return the index of the first difference between - the two strings, or -1 if the strings are the same. - - - - - Represents a trivia in the syntax tree. This is the language agnostic equivalent of and . - - - - - An integer representing the language specific kind of this trivia. - - - - - The language name that this trivia is syntax of. - - - - - The parent token that contains this token in its LeadingTrivia or TrailingTrivia collection. - - - - - The width of this trivia in characters. If this trivia is a structured trivia then the returned width will - not include the widths of any leading or trailing trivia present on the child non-terminal node of this - trivia. - - - - - The width of this trivia in characters. If this trivia is a structured trivia then the returned width will - include the widths of any leading or trailing trivia present on the child non-terminal node of this trivia. - - - - - The absolute span of this trivia in characters. If this trivia is a structured trivia then the returned span - will not include spans of any leading or trailing trivia present on the child non-terminal node of this - trivia. - - - - - Same as accessing on . - - - Slight performance improvement. - - - - - The absolute span of this trivia in characters. If this trivia is a structured trivia then the returned span - will include spans of any leading or trailing trivia present on the child non-terminal node of this trivia. - - - - - Determines whether this trivia has any diagnostics on it. If this trivia is a structured trivia then the - returned value will indicate whether this trivia or any of its descendant nodes, tokens or trivia have any - diagnostics on them. - > - - - - Determines whether this trivia is a structured trivia. - - - - - Determines whether this trivia is a descendant of a structured trivia. - - - - - Determines whether this trivia or any of its structure has annotations. - - - - - Determines where this trivia has annotations of the specified annotation kind. - - - - - Determines where this trivia has any annotations of the specified annotation kinds. - - - - - Determines whether this trivia has the specific annotation. - - - - - Get all the annotations of the specified annotation kind. - - - - - Get all the annotations of the specified annotation kinds. - - - - - Determines whether this trivia represents a preprocessor directive. - - - - - Returns the child non-terminal node representing the syntax tree structure under this structured trivia. - - The child non-terminal node representing the syntax tree structure under this structured - trivia. - - - - Returns the string representation of this trivia. If this trivia is structured trivia then the returned string - will not include any leading or trailing trivia present on the StructuredTriviaSyntax node of this trivia. - - The string representation of this trivia. - The length of the returned string is always the same as Span.Length - - - - Returns the full string representation of this trivia. If this trivia is structured trivia then the returned string will - include any leading or trailing trivia present on the StructuredTriviaSyntax node of this trivia. - - The full string representation of this trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this trivia to the specified TextWriter. - - - - - Determines whether two s are equal. - - - - - Determines whether two s are unequal. - - - - - Determines whether the supplied is equal to this - . - - - - - Determines whether the supplied is equal to this - . - - - - - Serves as hash function for . - - - - - Creates a new SyntaxTrivia with the specified annotations. - - - - - Creates a new SyntaxTrivia with the specified annotations. - - - - - Creates a new SyntaxTrivia without the specified annotations. - - - - - Creates a new SyntaxTrivia without the specified annotations. - - - - - Creates a new SyntaxTrivia without annotations of the specified kind. - - - - - Copies all SyntaxAnnotations, if any, from this SyntaxTrivia instance and attaches them to a new instance based on . - - - - - SyntaxTree which contains current SyntaxTrivia. - - - - - Get the location of this trivia. - - - - - Gets a list of all the diagnostics associated with this trivia. - This method does not filter diagnostics based on #pragmas and compiler options - like nowarn, warnaserror etc. - - - - - Determines if this trivia is equivalent to the specified trivia. - - - - - Represents a read-only list of . - - - - - Gets the trivia at the specified index. - - The zero-based index of the trivia to get. - The token at the specified index. - - is less than 0.-or- is equal to or greater than . - - - - The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements. - - - - - The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements. - - - - - Returns the first trivia in the list. - - The first trivia in the list. - The list is empty. - - - - Returns the last trivia in the list. - - The last trivia in the list. - The list is empty. - - - - Does this list have any items. - - - - - - Returns a list which contains all elements of in reversed order. - - which contains all elements of in reversed order - - - - Creates a new with the specified trivia added to the end. - - The trivia to add. - - - - Creates a new with the specified trivia added to the end. - - The trivia to add. - - - - Creates a new with the specified trivia inserted at the index. - - The index in the list to insert the trivia at. - The trivia to insert. - - - - Creates a new with the specified trivia inserted at the index. - - The index in the list to insert the trivia at. - The trivia to insert. - - - - Creates a new with the element at the specified index removed. - - The index identifying the element to remove. - - - - Creates a new with the specified element removed. - - The trivia element to remove. - - - - Creates a new with the specified element replaced with new trivia. - - The trivia element to replace. - The trivia to replace the element with. - - - - Creates a new with the specified element replaced with new trivia. - - The trivia element to replace. - The trivia to replace the element with. - - - - get the green node at the specific slot - - - - - Copy count number of items starting at offset from this list into array starting at arrayOffset. - - - - - - - - - reversed enumerable - - - - - Walks the syntax tree, allowing subclasses to operate on all nodes, token and trivia. The - walker will perform a depth first walk of the tree. - - - - - True if this walker will descend into structured trivia. - - - - - Creates a new walker instance. - - specify how much this walker will descent into - trivia. - - - - Called when the walker visits a node. This method may be overridden if subclasses want - to handle the node. Overrides should call back into this base method if they want the - children of this node to be visited. - - The current node that the walker is visiting. - - - - Called when the walker visits a token. This method may be overridden if subclasses want - to handle the token. Overrides should call back into this base method if they want the - trivia of this token to be visited. - - The current token that the walker is visiting. - - - - Called when the walker visits a trivia syntax. This method may be overridden if - subclasses want to handle the token. Overrides should call back into this base method if - they want the children of this trivia syntax to be visited. - - The current trivia syntax that the walker is visiting. - - - - enum to specify how deep walker should decent into - - - - - descend into only nodes - - - - - descend into nodes and tokens - - - - - descend into nodes, tokens and trivia - - - - - descend into everything - - - - - This is ONLY used id BoundNode.cs Debug method - Dump() - - - - - This is ONLY used for debugging purpose - - - - - Implements VB string escaping. Uses iterators and thus it's implemented in shared code. - - - - - sets as many fields as it can. - - - - True when the input was entirely parsable. - - - - This function defines whether an attribute is optional or not. - - The attribute member. - - - - Ids of well known runtime types. - Values should not intersect with SpecialType enum! - - - - - - Number of well known types in WellKnownType enum - - - - - Array of names for types. - The names should correspond to ids from WellKnownType enum so - that we could use ids to index into the array - - - - - - The XmlCharType class is used for quick character type recognition - which is optimized for the first 127 ascii characters. - - - - - start >= value <= end - - - - - Managed abstraction of the functionality provided by ICLRRuntimeInfo. - - - - - Constructor that wraps an ICLRRuntimeInfo (used internally) - - - - - Gets an interface provided by this runtime, such as ICLRRuntimeHost. - - The interface type to be returned. This must be an RCW interface - The CLSID to be created - - - - Writes the byte 'value' , 'count' number of times. - - value to be written - The number of times the value is going to be written - - - - An object corresponding to a metadata entity such as a type or a field. - - - - - An object corresponding to reference to a metadata entity such as a type or a field. - - - - - A collection of metadata custom attributes that are associated with this definition. - - - - - Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type - of the object implementing IDefinition. The dispatch method does not invoke Dispatch on any child objects. If child traversal - is desired, the implementations of the Visit methods should do the subsequent dispatching. - - - - - Gets the definition object corresponding to this reference within the given context, - or null if the referenced entity isn't defined in the context. - - - - - Returns true if the namespace scope for this method should be forwarded to another method. - Returns non-null if the forwarding should be done directly via UsingNamespace, - null if the forwarding is done via custom debug info. - - - - - Use to create a document when checksum is computed based on actual source stream. - - - - - Use to create a document when checksum is suggested via external checksum pragma/directive - - - - - returns true when checksum was computed base on an actual source stream - as opposed to be suggested via a checksum directive/pragma - - - - - A region representing an exception handler clause. The region exposes the type (catch or - finally) and the bounds of the try block and catch or finally block as needed by - - - - - Handler kind for this SEH info - - - - - If HandlerKind == HandlerKind.Catch, this is the type of expection to catch. If HandlerKind == HandlerKind.Filter, this is System.Object. - Otherwise this is a Dummy.TypeReference. - - - - - Label instruction corresponding to the start of filter decision block - - - - - Label instruction corresponding to the start of try block - - - - - Label instruction corresponding to the end of try block - - - - - Label instruction corresponding to the start of handler block - - - - - Label instruction corresponding to the end of handler block - - - - - An expression that does not change its value at runtime and can be evaluated at compile time. - - - - - The compile time value of the expression. Null to represent a null object reference or a null array. - - - - - An expression that creates an array instance in metadata. Only for use in custom attributes. - - - - - The element type of the array. - - - - - The values of the array elements. May be empty to represent an empty array. - - - - - The number of elements in the array. - - - - - An expression that can be represented directly in metadata. - - - - - Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type - of the object implementing IStatement. The dispatch method does not invoke Dispatch on any child objects. If child traversal - is desired, the implementations of the Visit methods should do the subsequent dispatching. - - - - - The type of value the expression represents. - - - - - An expression that represents a (name, value) pair and that is typically used in method calls, custom attributes and object initializers. - - - - - The name of the parameter or property or field that corresponds to the argument. - - - - - The value of the argument. - - - - - True if the named argument provides the value of a field. - - - - - An expression that results in a System.Type instance. - - - - - The type that will be represented by the System.Type instance. - - - - - Represents an assembly reference with an alias (i.e. an extern alias in C#). - - - - - An alias for the global namespace of the assembly. - - - - - The name of the referenced assembly. - - - - - A metadata custom attribute. - - - - - Zero or more positional arguments for the attribute constructor. - - - - - A reference to the constructor that will be used to instantiate this custom attribute during execution (if the attribute is inspected via Reflection). - - - - - Zero or more named arguments that specify values for fields and properties of the attribute. - - - - - The number of positional arguments. - - - - - The number of named arguments. - - - - - The type of the attribute. For example System.AttributeUsageAttribute. - - - - - Whether attribute allows multiple. - - - - - Represents a file referenced by an assembly. - - - - - True if the file has metadata. - - - - - File name with extension. - - - - - A hash of the file contents. - - - - - A range of CLR IL operations that comprise a lexical scope, specified as an IL offset and a length. - - - - - The offset of the first operation in the scope. - - - - - The length of the scope. Offset+Length equals the offset of the first operation outside the scope, or equals the method body length. - - - - - Returns zero or more local constant definitions that are local to the given scope. - - - - - Returns zero or more local variable definitions that are local to the given scope. - - - - - streamProvider callers will dispose result after use. - and are mutually exclusive. - - - - - Specifies how the caller passes parameters to the callee and who cleans up the stack. - - - - - C/C++ style calling convention for unmanaged methods. The call stack is cleaned up by the caller, - which makes this convention suitable for calling methods that accept extra arguments. - - - - - The convention for calling managed methods with a fixed number of arguments. - - - - - The convention for calling managed methods that accept extra arguments. - - - - - Arguments are passed in registers when possible. This calling convention is not yet supported. - - - - - Win32 API calling convention for calling unmanaged methods via PlatformInvoke. The call stack is cleaned up by the callee. - - - - - C++ member unmanaged method (non-vararg) calling convention. The callee cleans the stack and the this pointer is pushed on the stack last. - - - - - The convention for calling a generic method. - - - - - The convention for calling an instance method with an implicit this parameter (the method does not have an explicit parameter definition for this). - - - - - The convention for calling an instance method that explicitly declares its first parameter to correspond to the this instance. - - - - - An event is a member that enables an object or class to provide notifications. Clients can attach executable code for events by supplying event handlers. - This interface models the metadata representation of an event. - - - - - A list of methods that are associated with the event. - - - - - The method used to add a handler to the event. - - - - - The method used to call the event handlers when the event occurs. May be null. - - - - - True if the event gets special treatment from the runtime. - - - - - This event is special in some way, as specified by the name. - - - - - The method used to add a handler to the event. - - - - - The (delegate) type of the handlers that will handle the event. - - - - - A field is a member that represents a variable associated with an object or class. - This interface models the metadata representation of a field. - - - - - The compile time value of the field. This value should be used directly in IL, rather than a reference to the field. - If the field does not have a valid compile time value, Dummy.Constant is returned. - - - - - Information of the location where this field is mapped to - - - - - This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL. - - - - - This field is mapped to an explicitly initialized (static) memory location. - - - - - This field has associated field marshalling information. - - - - - The field does not have to be serialized when its containing instance is serialized. - - - - - This field can only be read. Initialization takes place in a constructor. - - - - - True if the field gets special treatment from the runtime. - - - - - This field is special in some way, as specified by the name. - - - - - This field is static (shared by all instances of its declaring type). - - - - - Specifies how this field is marshalled when it is accessed from unmanaged code. - - - - - Checked if IsMarshalledExplicitly == true and MarshallingInformation is null - - - - - Offset of the field. - - - - - A reference to a field. - - - - - The type of value that is stored in this field. - - - - - The Field being referred to. - - - - - True, if field is an IContextualNamedEntity, even if field reference implements the interface, - doesn't mean it is contextual. - - - - - An object that represents a local variable or constant. - - - - - The compile time value of the definition, if it is a local constant. - - - - - Custom modifiers associated with local variable definition. - - - - - True if this local definition is readonly and initialized with a compile time constant value. - - - - - True if the value referenced by the local must not be moved by the actions of the garbage collector. - - - - - True if the local contains a managed pointer (for example a reference to a local variable or a reference to a field of an object). - - - - - True if the local variable is of type Dynamic. - - - - - True if the local was not declared in source. - - - - - Should return the synthesized dynamic attributes of the local definition if any. Else null. - - - - - The type of the local. - - - - - Location for reporting diagnostics about the local. - - - Use rather than null. - - - - - Slot index or -1 if not applicable. - - - - - Represents additional info needed by async method implementation methods - (MoveNext() methods) to properly emit necessary PDB data for async debugging. - - - - Original async method transformed into MoveNext() - - - IL offset of catch handler or -1 - - - Set of IL offsets where await operators yield control - - - Set of IL offsets where await operators are to be resumed - - - - A metadata (IL) level represetation of the body of a method or of a property/event accessor. - - - - - Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type - of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal - is desired, the implementations of the Visit methods should do the subsequent dispatching. - - - - - A list exception data within the method body IL. - - - - - True if the locals are initialized by zeroing the stack upon method entry. - - - - - The local variables of the method. - - - - - The definition of the method whose body this is. - If this is the body of an event or property accessor, this will hold the corresponding adder/remover/setter or getter method. - - - - The additional info required by debugger - - - - The maximum number of elements on the evaluation stack during the execution of the method. - - - - - The PDB content for custom debug information is different between Visual Basic and CSharp. - E.g. CS always includes a CustomMetadata Header (MD2) that contains the namespace scope counts, where - as VB only outputs namespace imports into the namespace scopes. CS defines forwards in that header, VB includes - them into the scopes list. - This enum is used to distinguish which style to pick while writing the PDB information. - - - - - Returns true if there is atleast one dynamic local within the MethodBody - - - - - Returns zero or more local (block) scopes into which the CLR IL operations in the given method body is organized. - - - - - Returns zero or more namespace scopes into which the namespace type containing the given method body has been nested. - These scopes determine how simple names are looked up inside the method body. There is a separate scope for each dotted - component in the namespace type name. For istance namespace type x.y.z will have two namespace scopes, the first is for the x and the second - is for the y. - - - - - Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined. - The scopes are returned for the MoveNext method of the object returned by the iterator method. - The index of the scope corresponds to the index of the local. Specifically local scope i corresponds - to the local stored in a field named <localName>5__i of the class used to store the local values in - between calls to MoveNext, where localName is the original name of the local variable. For example, if - the first local to be moved into the class is named "xyzzy", it will be stored in a field named - "<xyzzy>5__1", and the ILocalScope returned from this method at index 1 (i.e. the second one) will - have the scope information for where that variable is in scope. - - - - - If the body was written as an iterator, returns the name of the (nested) - type that implements the iterator's state machine. - - - - - This enum is used to distinguish which style to pick while writing the PDB information. - - - - - This interface models the metadata representation of a method. - - - - - A container for a list of IL instructions providing the implementation (if any) of this method. - - - When emitting metadata-only assemblies this returns null even if returns true. - - - - - If the method is generic then this list contains the type parameters. - - - - - True if this method has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute. - - - - - True if the method does not provide an implementation. - - - - - True if the method can only be overridden when it is also accessible. - - - - - True if the method is a constructor. - - - - - True if the method has an external implementation (i.e. not supplied by this definition). - - - If the method is not external and not abstract it has to provide an IL body. - - - - - True if this method is hidden if a derived type declares a method with the same name and signature. - If false, any method with the same name hides this method. This flag is ignored by the runtime and is only used by compilers. - - - - - The method always gets a new slot in the virtual method table. - This means the method will hide (not override) a base type method with the same name and signature. - - - - - True if the method is implemented via the invocation of an underlying platform method. - - - - - True if the method gets special treatment from the runtime. For example, it might be a constructor. - - - - - True if the method may not be overridden. - - - - - True if the method is special in some way for tools. For example, it might be a property getter or setter. - - - - - True if the method does not require an instance of its declaring type as its first argument. - - - - - True if the method may be overridden (or if it is an override). - - - - - Implementation flags. - - - - - The parameters forming part of this signature. - - - - - Detailed information about the PInvoke stub. Identifies which method to call, which module has the method and the calling convention among other things. - - - - - True if the method calls another method containing security code. If this flag is set, the method - should have System.Security.DynamicSecurityMethodAttribute present in its list of custom attributes. - - - - - Custom attributes associated with the method's return value. - - - - - The return value has associated marshalling information. - - - - - Specifies how the return value is marshalled when the method is called from unmanaged code. - - - - - Checked if ReturnValueIsMarshalledExplicitly == true and ReturnValueMarshallingInformation is null - - - - - Declarative security actions for this method. - - - - - This interface models the metadata representation of a method or property parameter. - - - - - A compile time constant value that should be supplied as the corresponding argument value by callers that do not explicitly specify an argument value for this parameter. - Null if the parameter doesn't have default value. - - - - - True if the parameter has a default value that should be supplied as the argument value by a caller for which the argument value has not been explicitly specified. - - - - - True if the argument value must be included in the marshalled arguments passed to a remote callee. - - - - - This parameter has associated marshalling information. - - - - - True if the argument value must be included in the marshalled arguments passed to a remote callee only if it is different from the default value (if there is one). - - - - - True if the final value assigned to the parameter will be marshalled with the return values passed back from a remote callee. - - - - - Specifies how this parameter is marshalled when it is accessed from unmanaged code. - - - - - Checked if IsMarshalledExplicitly == true and MarshallingInformation is null - - - - - A property is a member that provides access to an attribute of an object or a class. - This interface models the metadata representation of a property. - - - - - A list of methods that are associated with the property. - - - - - A compile time constant value that provides the default value for the property. (Who uses this and why?) - - - - - The method used to get the value of this property. May be absent (null). - - - - - True if this property has a compile time constant associated with that serves as a default value for the property. (Who uses this and why?) - - - - - True if this property gets special treatment from the runtime. - - - - - True if this property is special in some way, as specified by the name. - - - - - The parameters forming part of this signature. - - - - - The method used to set the value of this property. May be absent (null). - - - - - The parameters and return type that makes up a method or property signature. - This interface models the metadata representation of a signature. - - - - - Calling convention of the signature. - - - - - The number of required parameters of the signature. - - - - - The parameters forming part of this signature. - - - - - Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true. - - - - - True if the return value is passed by reference (using a managed pointer). - - - - - The return type of the method or type of the property. - - - - - A member of a type definition, such as a field or a method. - This interface models the metadata representation of a type member. - - - - - The type definition that contains this member. - - - - - Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly. - - - - - A reference to a member of a type, such as a field or a method. - This interface models the metadata representation of a type member reference. - - - - - A reference to the containing type of the referenced type member. - - - - - Represents the specialized event definition. - - - - - The event that has been specialized to obtain this event. When the containing type is an instance of type which is itself a specialized member (i.e. it is a nested - type of a generic type instance), then the unspecialized member refers to a member from the unspecialized containing type. (I.e. the unspecialized member always - corresponds to a definition that is not obtained via specialization.) - - - - - Represents reference specialized field. - - - - - A reference to the field definition that has been specialized to obtain the field definition referred to by this field reference. - When the containing type of the referenced specialized field definition is itself a specialized nested type of a generic type instance, - then the unspecialized field reference refers to the corresponding field definition from the unspecialized containing type definition. - (I.e. the unspecialized field reference always refers to a field definition that is not obtained via specialization.) - - - - - Represents reference specialized method. - - - - - A reference to the method definition that has been specialized to obtain the method definition referred to by this method reference. - When the containing type of the referenced specialized method definition is itself a specialized nested type of a generic type instance, - then the unspecialized method reference refers to the corresponding method definition from the unspecialized containing type definition. - (I.e. the unspecialized method reference always refers to a method definition that is not obtained via specialization.) - - - - - Represents the specialized property definition. - - - - - The property that has been specialized to obtain this property. When the containing type is an instance of type which is itself a specialized member (i.e. it is a nested - type of a generic type instance), then the unspecialized member refers to a member from the unspecialized containing type. (I.e. the unspecialized member always - corresponds to a definition that is not obtained via specialization.) - - - - - A reference to a method. - - - - - True if the call sites that references the method with this object supply extra arguments. - - - - - The number of generic parameters of the method. Zero if the referenced method is not generic. - - - - - True if the method has generic parameters; - - - - - The method being referred to. - - - - - Information about this types of the extra arguments supplied at the call sites that references the method with this object. - - - - - A reference to generic method instantiated with a list of type arguments. - - - - - The type arguments that were used to instantiate this.GenericMethod in order to create this method. - - - - - Returns the generic method of which this method is an instance. - - - - - Represents a global field in symbol table. - - - - - Represents a global method in symbol table. - - - - - The name of the method. - - - - - A visitor base class that traverses the object model in depth first, left to right order. - - - - - Use this routine, rather than ITypeReference.Dispatch, to call the appropriate derived overload of an ITypeReference. - The former routine will call Visit(INamespaceTypeDefinition) rather than Visit(INamespaceTypeReference), etc., - in the case where a definition is used as a reference to itself. - - A reference to a type definition. Note that a type definition can serve as a reference to itself. - - - - Use this routine, rather than IUnitReference.Dispatch, to call the appropriate derived overload of an IUnitReference. - The former routine will call Visit(IAssembly) rather than Visit(IAssemblyReference), etc. - in the case where a definition is used as the reference to itself. - - A reference to a unit. Note that a unit can serve as a reference to itself. - - - - A container for static helper methods that are used for manipulating and computing iterators. - - - - - True if the given enumerable is not null and contains at least one element. - - - - - True if the given enumerable is null or contains no elements - - - - - Returns the number of elements in the given enumerable. A null enumerable is allowed and results in 0. - - - - - A declarative specification of a security action applied to a set of permissions. Used by the CLR loader to enforce security restrictions. - Each security attribute represents a serialized permission or permission set for a specified security action. - The union of the security attributes with identical security action, define the permission set to which the security action applies. - - - - - Information about how values of managed types should be marshalled to and from unmanaged types. - - - - - or a string (ususally a fully-qualified type name of a type implementing the custom marshaller, but Dev11 allows any string). - - - - - An argument string (cookie) passed to the custom marshaller at run time. - - - - - The unmanaged element type of the unmanaged array. - -1 if it should be omitted from the marshal blob. - - - - - Specifies the index of the parameter that contains the value of the Inteface Identifier (IID) of the marshalled object. - -1 if it should be omitted from the marshal blob. - - - - - The unmanaged type to which the managed type will be marshalled. This can be be UnmanagedType.CustomMarshaler, in which case the unmanaged type - is decided at runtime. - - - - - The number of elements in the fixed size portion of the unmanaged array. - -1 if it should be omitted from the marshal blob. - - - - - The zero based index of the parameter in the unmanaged method that contains the number of elements in the variable portion of unmanaged array. - If -1, the variable portion is of size zero, or the caller conveys the size of the variable portion of the array to the unmanaged method in some other way. - - - - - The type to which the variant values of all elements of the safe array must belong. See also SafeArrayElementUserDefinedSubtype. - (The element type of a safe array is VARIANT. The "sub type" specifies the value of all of the tag fields (vt) of the element values. ) - -1 if it should be omitted from the marshal blob. - - - - - A reference to the user defined type to which the variant values of all elements of the safe array must belong. - (The element type of a safe array is VARIANT. The tag fields will all be either VT_DISPATCH or VT_UNKNOWN or VT_RECORD. - The "user defined sub type" specifies the type of value the ppdispVal/ppunkVal/pvRecord fields of the element values may point to.) - - - - - Implemented by any entity that has a name. - - - - - The name of the entity. - - - - - The name of the entity depends on other metadata (tokens, signatures) originated from - PeWriter. - - - - - Method must be called before calling INamedEntity.Name. - - - - - Implemented by an entity that is always a member of a particular parameter list, such as an IParameterDefinition. - Provides a way to determine the position where the entity appears in the parameter list. - - - - - The position in the parameter list where this instance can be found. - - - - - This enum is used internally by BCL. It includes flags that are not in the metadata spec. - - - - - Information that describes how a method from the underlying Platform is to be invoked. - - - - - Module providing the method/field. - - - - - Name of the method providing the implementation. - - - - - Flags that determine marshalling behavior. - - - - - A resource file formatted according to Win32 API conventions and typically obtained from a Portable Executable (PE) file. - See the Win32 UpdateResource method for more details. - - - - - A string that identifies what type of resource this is. Only valid if this.TypeId < 0. - - - - - An integer tag that identifies what type of resource this is. If the value is less than 0, this.TypeName should be used instead. - - - - - The name of the resource. Only valid if this.Id < 0. - - - - - An integer tag that identifies this resource. If the value is less than 0, this.Name should be used instead. - - - - - The language for which this resource is appropriate. - - - - - The code page for which this resource is appropriate. - - - - - The data of the resource. - - - - - Flags for IL No Operation - - - - - No type check needs to be performed for next operation - - - - - No range check needs to be performed for next operation - - - - - No null check needs to be performed for next operation - - - - - An enumeration indicating the section inside the PE File - - - - - Section is unrecognized - - - - - Section for initialized constant data. - - - - - Section for code coverage data. - - - - - Section for initialized writable data. - - - - - Section for IL and Metadata. - - - - - Section for initialized thread local storage. - - - - - Represents a block of data stored at a given offset within a specified section of the PE file. - - - - - Section where the block resides. - - - - - Offset into section where the block resides. - - - - - Size of the block. - - - - - Byte information stored in the block. - - - - - This is a list of the using directives (including aliases) in a lexial scope. - - - This scope is tied to a particular method body, so that partial types can be accommodated. - - - - - Zero or more used namespaces. These correspond to using clauses in C#. - - - - - This is the maximum length of a type or member name in metadata, assuming - the name is in UTF-8 format and not (yet) null-terminated. - - - Source names may have to be shorter still to accommodate mangling. - Used for event names, field names, property names, field names, method def names, - member ref names, type def (full) names, type ref (full) names, exported type - (full) names, parameter names, manifest resource names, and unmanaged method names - (ImplMap table). - - See CLI Part II, section 22. - - - - - This is the maximum length of a path in metadata, assuming the path is in UTF-8 - format and not (yet) null-terminated. - - - Used for file names, module names, and module ref names. - - See CLI Part II, section 22. - - - - - This is the maximum length of a string in the PDB, assuming it is in UTF-8 format - and not (yet) null-terminated. - - - Used for import strings, locals, and local constants. - - - - - True if we should attempt to generate a deterministic output (no timestamps or random data). - - - - - Returns true if writing full metadata, false if writing delta. - - - - - True if writing delta metadata in a minimal format. - - - - - Returns metadata generation ordinal. Zero for - full metadata and non-zero for delta. - - - - - Returns unique Guid for this delta, or default(Guid) - if full metadata. - - - - - Returns Guid of previous delta, or default(Guid) - if full metadata or generation 1 delta. - - - - - Returns true if the metadata stream should be compressed. - - - - - Returns true and the 1-based index of the type definition - if the type definition is recognized. Otherwise returns false. - The index is into the full metadata. - - - - - The 1-based index of the type definition. - The index is into the full metadata. - - - - - The type definition at the 0-based index into the full set. Deltas - are only required to support indexing into current generation. - - - - - The type definitions to be emitted, in row order. These - are just the type definitions from the current generation. - - - - - The 1-based index of the event definition. - The index is into the full metadata. - - - - - The event definitions to be emitted, in row order. These - are just the event definitions from the current generation. - - - - - The 1-based index of the field definition. - The index is into the full metadata. - - - - - The field definitions to be emitted, in row order. These - are just the field definitions from the current generation. - - - - - Returns true and the 1-based index of the method definition - if the method definition is recognized. Otherwise returns false. - The index is into the full metadata. - - - - - The 1-based index of the method definition. - The index is into the full metadata. - - - - - The method definition at the 0-based index into the full set. Deltas - are only required to support indexing into current generation. - - - - - The method definitions to be emitted, in row order. These - are just the method definitions from the current generation. - - - - - The 1-based index of the property definition. - The index is into the full metadata. - - - - - The property definitions to be emitted, in row order. These - are just the property definitions from the current generation. - - - - - The 1-based index of the parameter definition. - The index is into the full metadata. - - - - - The parameter definitions to be emitted, in row order. These - are just the parameter definitions from the current generation. - - - - - The 1-based index of the generic parameter definition. - The index is into the full metadata. - - - - - The generic parameter definitions to be emitted, in row order. These - are just the generic parameter definitions from the current generation. - - - - - The 1-based index of the first field of the type. - - - - - The 1-based index of the first method of the type. - - - - - The 1-based index of the first parameter of the method. - - - - - Return the 1-based index of the assembly reference, adding - the reference to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The assembly references to be emitted, in row order. These - are just the assembly references from the current generation. - - - - - Return the 1-based index of the module reference, adding - the reference to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The module references to be emitted, in row order. These - are just the module references from the current generation. - - - - - Return the 1-based index of the member reference, adding - the reference to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The member references to be emitted, in row order. These - are just the member references from the current generation. - - - - - Return the 1-based index of the method spec, adding - the spec to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The method specs to be emitted, in row order. These - are just the method specs from the current generation. - - - - - Return true and the 1-based index of the type reference - if the reference is available in the current generation. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - Return the 1-based index of the type reference, adding - the reference to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The type references to be emitted, in row order. These - are just the type references from the current generation. - - - - - Return the 1-based index of the type spec, adding - the spec to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The type specs to be emitted, in row order. These - are just the type specs from the current generation. - - - - - Return the 1-based index of the signature index, adding - the signature to the index for this generation if missing. - The index is into the full metadata. However, deltas - are not required to return rows from previous generations. - - - - - The signature indices to be emitted, in row order. These - are just the signature indices from the current generation. - - - - - Offset into full metadata blob stream. - - - - - Offset into full metadata string stream. - - - - - Offset into full metadata user string stream. - - - - - Return a visitor for traversing all references to be emitted. - - - - - Invoked after serializing the method body. - - - - - Invoked after serializing metadata tables. - - - - - Populate EventMap table. - - - - - Populate PropertyMap table. - - - - - Populate EncLog table. - - - - - Populate EncMap table. - - - - - Wraps a virtual string table index. - An override to SerializeIndex does the resolving at the right time. - - - - - Fills in stringIndexMap with data from stringIndex and write to stringWriter. - Releases stringIndex as the stringTable is sealed after this point. - - - - - Sorts strings such that a string is followed immediately by all strings - that are a suffix of it. - - - - - Compute a deterministic Guid and timestamp based on the contents of the stream, and replace - the 16 zero bytes at the given position and one or two 4-byte values with that computed Guid and timestamp. - - Stream of data - Position in the stream of 16 zero bytes to be replaced by a Guid - Position in the stream of four zero bytes to be replaced by a timestamp - Position in the stream of four zero bytes to be replaced by a timestamp, or 0 if there is no second timestamp to be replaced - - - - Compute a random-looking but deterministic Guid from a hash of the stream's data, and produce a "timestamp" from the remaining bits. - - - - - Returns a reference to the unit that defines the given referenced type. If the referenced type is a structural type, such as a pointer or a generic type instance, - then the result is null. - - - - - The Microsoft CLR requires that {namespace} + "." + {name} fit in MAX_CLASS_NAME - (even though the name and namespace are stored separately in the Microsoft - implementation). Note that the namespace name of a nested type is always blank - (since comes from the container). - - We're trying to add the containing namespace of this type to the string heap. - Namespace names are never used on their own - this is the type that is adding the namespace name. - Used only for length checking. - - - - Test the given name to see if it fits in metadata. - - String to test (non-null). - Max length for name. (Expected to be at least 5.) - True if the name is too long. - Internal for test purposes. - - - - Compares quality of assembly references to achieve unique rows in AssemblyRef table. - Metadata spec: "The AssemblyRef table shall contain no duplicates (where duplicate rows are deemd to - be those having the same MajorVersion, MinorVersion, BuildNumber, RevisionNumber, PublicKeyOrToken, - Name, and Culture)". - - - - - Strip off *, &, and []. - - - - - Computes the string representing the strong name of the given assembly reference. - - - - - Visitor to force translation of all symbols that will be referred to - in metadata. Allows us to build the set of types that must be embedded - as local types. - - - - - Special type <Module> - - - - - Represents an exported type. - - - - - Type reference of the exported type. - - - - - This interface models the metadata representation of an array type reference. - - - - - The type of the elements of this array. - - - - - This type of array is a single dimensional array with zero lower bound for index values. - - - - - A possibly empty list of lower bounds for dimension indices. When not explicitly specified, a lower bound defaults to zero. - The first lower bound in the list corresponds to the first dimension. Dimensions cannot be skipped. - - - - - The number of array dimensions. - - - - - A possible empty list of upper bounds for dimension indices. - The first upper bound in the list corresponds to the first dimension. Dimensions cannot be skipped. - An unspecified upper bound means that instances of this type can have an arbitrary upper bound for that dimension. - - - - - Modifies the set of allowed values for a type, or the semantics of operations allowed on those values. - Custom modifiers are not associated directly with types, but rather with typed storage locations for values. - - - - - If true, a language may use the modified storage location without being aware of the meaning of the modification. - - - - - A type used as a tag that indicates which type of modification applies to the storage location. - - - - - Information that describes a method or property parameter, but does not include all the information in a IParameterDefinition. - - - - - The list of custom modifiers, if any, associated with the parameter. Evaluate this property only if IsModified is true. - - - - - True if the parameter is passed by reference (using a managed pointer). - - - - - The CLI spec says that custom modifiers must precede the ByRef type code in the encoding of a parameter. - Unfortunately, the managed C++ compiler emits them in the reverse order. In order to avoid breaking - interop scenarios, we need to support such signatures. When this flag is set, we need to reverse the - emit order. - - - We support before (correct) and after (incorrect, but works), but not in between. - - - - - The type of argument value that corresponds to this parameter. - - - - - This interface models the metadata representation of a function pointer type reference. - - - - - The types and modifiers of extra arguments that the caller will pass to the methods that are pointed to by this pointer. - - - - - The definition of a type parameter of a generic type or method. - - - - - A list of classes or interfaces. All type arguments matching this parameter must be derived from all of the classes and implement all of the interfaces. - - - - - True if all type arguments matching this parameter are constrained to be reference types. - - - - - True if all type arguments matching this parameter are constrained to be value types. - - - - - True if all type arguments matching this parameter are constrained to be value types or concrete classes with visible default constructors. - - - - - Indicates if the generic type or method with this type parameter is co-, contra-, or non variant with respect to this type parameter. - - - - - A reference to the definition of a type parameter of a generic type or method. - - - - - The definition of a type parameter of a generic method. - - - - - The generic method that defines this type parameter. - - - - - A reference to a type parameter of a generic method. - - - - - A reference to the generic method that defines the referenced type parameter. - - - - - A generic type instantiated with a list of type arguments - - - - - The type arguments that were used to instantiate this.GenericType in order to create this type. - - - - - Returns the generic type of which this type is an instance. - Equivalent to Symbol.OriginalDefinition - - - - - The definition of a type parameter of a generic type. - - - - - The generic type that defines this type parameter. - - - - - A reference to a type parameter of a generic type. - - - - - A reference to the generic type that defines the referenced type parameter. - - - - - A reference to a named type, such as an INamespaceTypeReference or an INestedTypeReference. - - - - - The number of generic parameters. Zero if the type is not generic. - - - - - If true, the persisted type name is mangled by appending "`n" where n is the number of type parameters, if the number of type parameters is greater than 0. - - - - - A named type definition, such as an INamespaceTypeDefinition or an INestedTypeDefinition. - - - - - A type definition that is a member of a namespace definition. - - - - - True if the type can be accessed from other assemblies. - - - - - A reference to a type definition that is a member of a namespace definition. - - - - - A reference to the unit that defines the referenced type. - - - - - Fully qualified name of the containing namespace. - - - - - A type definition that is a member of another type definition. - - - - - A type definition that is a member of another type definition. - - - - - A reference to a type definition that is a specialized nested type. - - - - - A reference to the nested type that has been specialized to obtain this nested type reference. When the containing type is an instance of type which is itself a specialized member (i.e. it is a nested - type of a generic type instance), then the unspecialized member refers to a member from the unspecialized containing type. (I.e. the unspecialized member always - corresponds to a definition that is not obtained via specialization.) - - - - - Models an explicit implemenation or override of a base class virtual method or an explicit implementation of an interface method. - - - - - The type that is explicitly implementing or overriding the base class virtual method or explicitly implementing an interface method. - - - - - Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type - of the object implementing IDefinition. The dispatch method does not invoke Dispatch on any child objects. If child traversal - is desired, the implementations of the Visit methods should do the subsequent dispatching. - - - - - A reference to the method whose implementation is being provided or overridden. - - - - - A reference to the method that provides the implementation. - - - - - A type reference that has custom modifiers associated with it. For example a reference to the target type of a managed pointer to a constant. - - - - - Returns the list of custom modifiers associated with the type reference. Evaluate this property only if IsModified is true. - - - - - An unmodified type reference. - - - - - This interface models the metadata representation of a pointer to a location in unmanaged memory. - - - - - The type of value stored at the target memory location. - - - - - This interface models the metadata representation of a managed pointer. - Remark: This should be only used in attributes. For other objects like Local variables etc - there is explicit IsReference field that should be used. - - - - - The type of value stored at the target memory location. - - - - - This interface models the metadata representation of a type. - - - - - The byte alignment that values of the given type ought to have. Must be a power of 2. If zero, the alignment is decided at runtime. - - - - - Returns null for interfaces and System.Object. - - - - - Zero or more events defined by this type. - - - - - Zero or more implementation overrides provided by the class. - - - - - Zero or more fields defined by this type. - - - - - Zero or more parameters that can be used as type annotations. - - - - - The number of generic parameters. Zero if the type is not generic. - - - - - True if this type has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute. - - - - - Zero or more interfaces implemented by this type. - - - - - True if the type may not be instantiated. - - - - - Is type initialized anytime before first access to static field - - - - - Is this imported from COM type library - - - - - True if this type is parameterized (this.GenericParameters is a non empty collection). - - - - - True if the type is an interface. - - - - - True if this type gets special treatment from the runtime. - - - - - True if this type is serializable. - - - - - True if the type has special name. - - - - - True if the type is a Windows runtime type. - - - A type can me marked as a Windows runtime type in source by applying the WindowsRuntimeImportAttribute. - WindowsRuntimeImportAttribute is a pseudo custom attribute defined as an internal class in System.Runtime.InteropServices.WindowsRuntime namespace. - This is needed to mark Windows runtime types which are redefined in mscorlib.dll and System.Runtime.WindowsRuntime.dll. - These two assemblies are special as they implement the CLR's support for WinRT. - - - - - True if the type may not be subtyped. - - - - - Layout of the type. - - - - - Zero or more methods defined by this type. - - - - - Zero or more nested types defined by this type. - - - - - Zero or more properties defined by this type. - - - - - Declarative security actions for this type. Will be empty if this.HasSecurity is false. - - - - - Size of an object of this type. In bytes. If zero, the size is unspecified and will be determined at runtime. - - - - - Default marshalling of the Strings in this class. - - - - - A reference to a type. - - - - - True if the type is an enumeration (it extends System.Enum and is sealed). Corresponds to C# enum. - - - - - True if the type is a value type. - Value types are sealed and extend System.ValueType or System.Enum. - A type parameter for which MustBeValueType (the struct constraint in C#) is true also returns true for this property. - - - - - The type definition being referred to. - - - - - Unless the value of TypeCode is PrimitiveTypeCode.NotPrimitive, the type corresponds to a "primitive" CLR type (such as System.Int32) and - the type code identifies which of the primitive types it corresponds to. - - - - - TypeDefs defined in modules linked to the assembly being emitted are listed in the ExportedTypes table. - - - - - A enumeration of all of the value types that are built into the Runtime (and thus have specialized IL instructions that manipulate them). - - - - - A single bit. - - - - - An usigned 16 bit integer representing a Unicode UTF16 code point. - - - - - A signed 8 bit integer. - - - - - A 32 bit IEEE floating point number. - - - - - A 64 bit IEEE floating point number. - - - - - A signed 16 bit integer. - - - - - A signed 32 bit integer. - - - - - A signed 64 bit integer. - - - - - A signed 32 bit integer or 64 bit integer, depending on the native word size of the underlying processor. - - - - - A pointer to fixed or unmanaged memory. - - - - - A reference to managed memory. - - - - - A string. - - - - - An unsigned 8 bit integer. - - - - - An unsigned 16 bit integer. - - - - - An unsigned 32 bit integer. - - - - - An unsigned 64 bit integer. - - - - - An unsigned 32 bit integer or 64 bit integer, depending on the native word size of the underlying processor. - - - - - A type that denotes the absense of a value. - - - - - Not a primitive type. - - - - - Type is a dummy type. - - - - - Enumerates the different kinds of levels of visibility a type member can have. - - - - - The visibility has not been specified. Use the applicable default. - - - - - The member is visible only within its own assembly. - - - - - The member is visible only within its own type and any subtypes. - - - - - The member is visible only within the intersection of its family (its own type and any subtypes) and assembly. - - - - - The member is visible only within the union of its family and assembly. - - - - - The member is visible only to the compiler producing its assembly. - - - - - The member is visible only within its own type. - - - - - The member is visible everywhere its declaring type is visible. - - - - - A mask that can be used to mask out flag bits when the latter are stored in the same memory word as this enumeration. - - - - - Enumerates the different kinds of variance a generic method or generic type parameter may have. - - - - - Two type or method instances are compatible only if they have exactly the same type argument for this parameter. - - - - - A type or method instance will match another instance if it has a type for this parameter that is the same or a subtype of the type the - other instance has for this parameter. - - - - - A type or method instance will match another instance if it has a type for this parameter that is the same or a supertype of the type the - other instance has for this parameter. - - - - - A mask that can be used to mask out flag bits when the latter are stored in the same memory word as the enumeration. - - - - - Target CPU types. - - - - - The target CPU is unknown or not specified. - - - - - Intel 386. - - - - - ARM Thumb-2 little-endian. - - - - - Intel 64 - - - - - AMD64 (K8) - - - - - The kind of metadata stored in the module. For example whether the module is an executable or a manifest resource file. - - - - - The module is an executable with an entry point and has a console. - - - - - The module is an executable with an entry point and does not have a console. - - - - - The module is a library of executable code that is dynamically linked into an application and called via the application. - - - - - The module is a .winmdobj file. - - - - - The module contains no executable code. Its contents is a resource stream for the modules that reference it. - - - - - The module is a library of executable code but contains no .NET metadata and is specific to a processor instruction set. - - - - - Represents a .NET assembly. - - - - - A list of the files that constitute the assembly. These are not the source language files that may have been - used to compile the assembly, but the files that contain constituent modules of a multi-module assembly as well - as any external resources. It corresonds to the File table of the .NET assembly file format. - - - - - A set of bits and bit ranges representing properties of the assembly. The value of can be set - from source code via the AssemblyFlags assembly custom attribute. The interpretation of the property depends on the target platform. - - - - - The public part of the key used to encrypt the SHA1 hash over the persisted form of this assembly. Empty or null if not specified. - This value is used by the loader to decrypt an encrypted hash value stored in the assembly, which it then compares with a freshly computed hash value - in order to verify the integrity of the assembly. - - - - - The contents of the AssemblySignatureKeyAttribute - - - - - A reference to a .NET assembly. - - - - - Identifies the culture associated with the assembly reference. Typically specified for sattelite assemblies with localized resources. - Empty or null if not specified. - - - - - True if the implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time. - - - - - Type of code contained in an assembly. Determines assembly binding model. - - - - - The hashed 8 bytes of the public key of the referenced assembly. This is empty or null if the referenced assembly does not have a public key. - - - - - The version of the assembly reference. Null means Version(0, 0, 0, 0). - - - - - An object that represents a .NET module. - - - - - Public types defined in other modules making up this assembly and to which other assemblies may refer to via this assembly. - - - - - A list of objects representing persisted instances of types that extend System.Attribute. Provides an extensible way to associate metadata - with this assembly. - - - - - A list of objects representing persisted instances of pairs of security actions and sets of security permissions. - These apply by default to every method reachable from the module. - - - - - A list of the assemblies that are referenced by this module. - - - - - A list of named byte sequences persisted with the assembly and used during execution, typically via .NET Framework helper classes. - - - - - CorLibrary assembly referenced by this module. - - - - - The preferred memory address at which the module is to be loaded at runtime. - - - - - The Assembly that contains this module. If this module is main module then this returns this. - - - - - Flags that control the behavior of the target operating system. CLI implementations are supposed to ignore this, but some operating system pay attention. - - - - - The method that will be called to start execution of this executable module. - - - - - The alignment of sections in the module's image file. - - - - - Returns zero or more strings used in the module. If the module is produced by reading in a CLR PE file, then this will be the contents - of the user string heap. If the module is produced some other way, the method may return an empty enumeration or an enumeration that is a - subset of the strings actually used in the module. The main purpose of this method is to provide a way to control the order of strings in a - prefix of the user string heap when writing out a module as a PE file. - - - - - Returns all top-level (not nested) types defined in the current module. - - - - - True if the module contains only IL and is processor independent. - - - - - The kind of metadata stored in this module. For example whether this module is an executable or a manifest resource file. - - - - - The first part of a two part version number indicating the version of the linker that produced this module. For example, the 8 in 8.0. - - - - - The first part of a two part version number indicating the version of the linker that produced this module. For example, the 0 in 8.0. - - - - - Specifies the target CPU. - - - - - The first part of a two part version number indicating the version of the format used to persist this module. For example, the 1 in 1.0. - - - - - The second part of a two part version number indicating the version of the format used to persist this module. For example, the 0 in 1.0. - - - - - A list of objects representing persisted instances of types that extend System.Attribute. Provides an extensible way to associate metadata - with this module. - - - - - The name of the module. - - - - - A list of the modules that are referenced by this module. - - - - - A globally unique persistent identifier for this module. - - - - - If set, the module contains instructions or assumptions that are specific to the AMD 64 bit instruction set. Setting this flag to - true also sets Requires64bits to true. - - - - - If set, the module must include a machine code stub that transfers control to the virtual execution system. - - - - - If set, the module contains instructions that assume a 32 bit instruction set. For example it may depend on an address being 32 bits. - This may be true even if the module contains only IL instructions because of PlatformInvoke and COM interop. - - - - - True if the module contains only IL and is processor independent. Should there be a choice between launching as a 64-bit or 32-bit - process, this setting will cause the host to launch it as a 32-bit process. - - - - - If set, the module contains instructions that assume a 64 bit instruction set. For example it may depend on an address being 64 bits. - This may be true even if the module contains only IL instructions because of PlatformInvoke and COM interop. - - - - - The size of the virtual memory initially committed for the initial process heap. - - - - - The size of the virtual memory to reserve for the initial process heap. - - - - - The size of the virtual memory initially committed for the initial thread's stack. - - - - - The size of the virtual memory to reserve for the initial thread's stack. - - - - - Identifies the version of the CLR that is required to load this module or assembly. - - - - - True if the instructions in this module must be compiled in such a way that the debugging experience is not compromised. - To set the value of this property, add an instance of System.Diagnostics.DebuggableAttribute to the MetadataAttributes list. - - - - - A list of named byte sequences persisted with the module and used during execution, typically via the Win32 API. - A module will define Win32 resources rather than "managed" resources mainly to present metadata to legacy tools - and not typically use the data in its own code. - - - - - An alternate form the Win32 resources may take. These represent the rsrc$01 and rsrc$02 section data and relocs - from a COFF object file. - - - - - Builds symbol definition to location map used for emitting token -> location info - into PDB to be consumed by WinMdExp.exe tool (only applicable for /t:winmdobj) - - - - - A reference to a .NET module. - - - - - The Assembly that contains this module. May be null if the module is not part of an assembly. - - - - - A unit of metadata stored as a single artifact and potentially produced and revised independently from other units. - Examples of units include .NET assemblies and modules, as well C++ object files and compiled headers. - - - - - A reference to a instance of . - - - - - This represents a single using directive (in the scope of a method body). - It has a name and possibly an alias. - - - A namespace that is used (imported) inside a namespace scope. - - Kind | Example | Alias | TargetName - ----------------+---------------------------+-----------+------------------- - Namespace | using System; | null | "System" - NamespaceAlias | using S = System; | "S" | "System" - ExternNamespace | extern alias LibV1; | "LibV1" | null - TypeAlias | using C = System.Console; | "C" | "System.Console" - - - - - is an assembly-qualified name so the extern alias, if any, can be dropped. - - - - - The name of a namepace that has been aliased. For example the "y.z" of "using x = y.z;" or "using y.z" in C#. - - - - - An alias for a namespace. For example the "x" of "using x = y.z;" in C#. Empty if no alias is present. - - - - - The name of an extern alias that has been used to qualify a name. For example the "Q" of "using x = Q::y.z;" or "using Q::y.z" in C#. - - - - - Indicates whether the import was specified on a project level, or on file level (used for VB only) - - - - - Distinguishes the various kinds of targets. - - - - - Returns an encoded name for this used type or namespace. The encoding is dependent on the . - - - - - NOTE!!! adding duplicates will result in exceptions. - Being concurrent only allows accessing the dictionary without takind locks. - Duplicate keys are still not allowed in the hashtable. - If unsure about adding unique items use APIs such as TryAdd, GetOrAdd, etc... - - - - - A concurrent, simplified HashSet. - - - - - The default concurrency level is 2. That means the collection can cope with up to two - threads making simultaneous modifications without blocking. - Note ConcurrentDictionary's default concurrency level is dynamic, scaling according to - the number of processors. - - - - - Taken from ConcurrentDictionary.DEFAULT_CAPACITY - - - - - The backing dictionary. The values are never used; just the keys. - - - - - Construct a concurrent set with the default concurrency level. - - - - - Construct a concurrent set using the specified equality comparer. - - The equality comparer for values in the set. - - - - Obtain the number of elements in the set. - - The number of elements in the set. - - - - Determine whether the set is empty. - true if the set is empty; otherwise, false. - - - - Determine whether the given value is in the set. - - The value to test. - true if the set contains the specified value; otherwise, false. - - - - Attempts to add a value to the set. - - The value to add. - true if the value was added to the set. If the value already exists, this method returns false. - - - - Attempts to remove a value from the set. - - The value to remove. - true if the value was removed successfully; otherwise false. - - - - Obtain an enumerator that iterates through the elements in the set. - - An enumerator for the set. - - - - a simple Lisp-like immutable list. Good to use when lists are always accessed from the head. - - - - - The issue here is acquiring a lock in the course of evaluating a property - value in the debugger (e.g. in the Locals window). If anything causes that - evaluation to bail, it will do so without releasing the lock, making future - evaluations impossible (leads to a timeout, among other things). One thing - that might cause the evaluation to bail is a call to - Debugger.NotifyOfCrossThreadDependency, which causes the debugger to prompt - the user for confirmation (little swirling red and blue icon) before evaluating - an expression that will involve multiple threads. To prevent this from happening - we make the call ourselved *before* acquiring the lock. Then, when the user - opts to proceed, the evaluation runs without interruption and succeeds. - - - TODO: This probably isn't necessary in Dev11 (see Dev11 548767 and/or Dev11 84313). - - - - - Names of well-known XML attributes and elements. - - - - - This method is necessary to avoid an ambiguity between and . - - - - - This method is necessary to avoid an ambiguity between and . - - - - - Convert a boxed primitive (generally of the backing type of an enum) into a ulong. - - - - - - - This is how VB Anonymous Types combine hash values for fields. - - - - - This is how VB Anonymous Types combine hash values for fields. - PERF: Do not use with enum types because that involves multiple - unnecessary boxing operations. Unfortunately, we can't constrain - T to "non-enum", so we'll use a more restrictive constraint. - - - - - The offset bias value used in the FNV-1a algorithm - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - - - - The generative factor used in the FNV-1a algorithm - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - - - - Compute the FNV-1a hash of a sequence of bytes - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The sequence of bytes - The FNV-1a hash of - - - - Compute the FNV-1a hash of a sequence of bytes - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The sequence of bytes - The FNV-1a hash of - - - - Compute the hashcode of a sub-string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - Note: FNV-1a was developed and tuned for 8-bit sequences. We're using it here - for 16-bit Unicode chars on the understanding that the majority of chars will - fit into 8-bits and, therefore, the algorithm will retain its desirable traits - for generating hash codes. - - The input string - The start index of the first character to hash - The number of characters, beginning with to hash - The FNV-1a hash code of the substring beginning at and ending after characters. - - - - Compute the hashcode of a sub-string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The input string - The start index of the first character to hash - The FNV-1a hash code of the substring beginning at and ending at the end of the string. - - - - Compute the hashcode of a string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The input string - The FNV-1a hash code of - - - - Compute the hashcode of a string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The input string - The FNV-1a hash code of - - - - Compute the hashcode of a sub string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The input string as a char array - The start index of the first character to hash - The number of characters, beginning with to hash - The FNV-1a hash code of the substring beginning at and ending after characters. - - - - Compute the hashcode of a single character using the FNV-1a algorithm - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - Note: In general, this isn't any more useful than "char.GetHashCode". However, - it may be needed if you need to generate the same hash code as a string or - substring with just a single character. - - The character to hash - The FNV-1a hash code of the character. - - - - Combine a string with an existing FNV-1a hash code - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The accumulated hash code - The string to combine - The result of combining with using the FNV-1a algorithm - - - - Combine a char with an existing FNV-1a hash code - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - The accumulated hash code - The new character to combine - The result of combining with using the FNV-1a algorithm - - - - Generic implementation of object pooling pattern with predefined pool size limit. The main - purpose is that limited number of frequently used objects can be kept in the pool for - further recycling. - - Notes: - 1) it is not the goal to keep all returned objects. Pool is not meant for storage. If there - is no space in the pool, extra returned objects will be dropped. - - 2) it is implied that if object was obtained from a pool, the caller will return it back in - a relatively short time. Keeping checked out objects for long durations is ok, but - reduces usefulness of pooling. Just new up your own. - - Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice. - Rationale: - If there is no intent for reusing the object, do not use pool - just use "new". - - - - - Not using because this file is linked into the (debugger) Formatter, - which does not have that type (since it compiles against .NET 2.0). - - - - - Produces an instance. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search. - - - - - Returns objects to the pool. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search in Allocate. - - - - - Removes an object from leak tracking. - - This is called when an object is returned to the pool. It may also be explicitly - called if an object allocated from the pool is intentionally not being returned - to the pool. This can be of use with pooled arrays if the consumer wants to - return a larger array to the pool than was originally allocated. - - - - - Represents a single item or many items. - - - Used when a collection usually contains a single item but sometimes might contain multiple. - - - - - Null or empty. - - - - - "file" - - - - - ".\file" - - - - - "..\file" - - - - - "\dir\file" - - - - - "C:dir\file" - - - - - "C:\file" or "\\machine" (UNC). - - - - - Trims all '.' and whitespaces from the end of the path - - - - - Returns the offset in where the dot that starts an extension is, or -1 if the path doesn't have an extension. - - - Returns 0 for path ".foo". - Returns -1 for path "foo.". - - - - - Returns an extension of the specified path string. - - - The same functionality as but doesn't throw an exception - if there are invalid characters in the path. - - - - - Removes extension from path. - - - Returns "foo" for path "foo.". - Returns "foo.." for path "foo...". - - - - - Returns path with the extenion changed to . - - - Equivalent of - - If is null, returns null. - If path does not end with an extension, the new extension is appended to the path. - If extension is null, equivalent to . - - - - - Returns the position in given path where the file name starts. - - -1 if path is null. - - - - Returns true if the string represents an unqualified file name. - - Path. - True if is a simple file name, false if it is null or includes a directory specification. - - - - Get file name from path. - - Unlike doesn't check for invalid path characters. - - - - Get directory name from path. - - - Unlike it - doesn't check for invalid path characters, - doesn't strip any trailing directory separators (TODO: tomat), - doesn't recognize UNC structure \\computer-name\share\directory-name\file-name (TODO: tomat). - - Prefix of path that represents a directory. - - - - Returns true if given path is absolute and starts with a drive specification ("C:\"). - - - - - Get a prefix of given path which is the root of the path. - - - Root of an absolute path or null if the path isn't absolute or has invalid format (e.g. "\\"). - It may or may not end with a directory separator (e.g. "C:\", "C:\foo", "\\machine\share", etc.) . - - - - - Calculates the length of root of an UNC path. - - - "\\server\share" is root of UNC path "\\server\share\dir1\dir2\file". - - - - - Combines an absolute path with a relative. - - Absolute root path. - Relative path. - - An absolute combined path, or null if is - absolute (e.g. "C:\abc", "\\machine\share\abc"), - relative to the current root (e.g. "\abc"), - or relative to a drive directory (e.g. "C:abc\def"). - - - - - - Combine two paths, the first of which may be absolute. - - First path: absolute, relative, or null. - Second path: relative and non-null. - null, if is null; a combined path, otherwise. - - - - - Determines whether an assembly reference is considered an assembly file path or an assembly name. - used, for example, on values of /r and #r. - - - - - Compares objects based upon their reference identity. - - - - - Used to indicate places where we are hard-coding strings that will later need to be - localized. This way, we can use a "Find All References" to find and fix these. - - - - - Checks if the given name is a sequence of valid CLR names separated by a dot. - - - - - This is basically a lossy cache of strings that is searchable by - strings, string sub ranges, character array ranges or string-builder. - - - - - Represents an ordered sequence of weak references. - - - - - Copies all live references from to . - Assumes that all references prior are alive. - - - - - Returns the number of weak references in this list. - Note that some of them might not point to live objects anymore. - - - - - Full case-insensitive path. - - - - - Last write time (Utc). - - - - - Constructor. - - Full path. - Last write time (Utc). - - - - - - - Resolves relative path and returns absolute path. - The method depends only on values of its parameters and their implementation (for fileExists). - It doesn't itself depend on the state of the current process (namely on the current drive directories) or - the state of file system. - - - Path to resolve. - - - Base file path to resolve CWD-relative paths against. Null if not available. - - - Base directory to resolve CWD-relative paths against if isn't specified. - Must be absolute path. - Null if not available. - - - Sequence of paths used to search for unqualified relative paths. - - - Method that tests existence of a file. - - - The resolved path or null if the path can't be resolved. - - - - - Normalizes an absolute path. - - Path to normalize. - - Normalized path. - - - - Marks given file for automatic deletion when all its handles are closed. - Note that after doing this the file can't be opened again, not even by the same process. - - - - - - - - A binder that used a predetermine list of types and reader functions. - - - - - A class that reads both primitive values and non-cyclical object graphs from a stream that was constructed using - the ObjectWriter class. - - - - - Read a Boolean value from the stream. This value must have been written using . - - - - - Read a Byte value from the stream. This value must have been written using . - - - - - Read a Char value from the stream. This value must have been written using . - - - - - Read a Decimal value from the stream. This value must have been written using . - - - - - Read a Double value from the stream. This value must have been written using . - - - - - Read a Single value from the stream. This value must have been written using . - - - - - Read a Int32 value from the stream. This value must have been written using . - - - - - Read a Int64 value from the stream. This value must have been written using . - - - - - Read a SByte value from the stream. This value must have been written using . - - - - - Read a Int16 value from the stream. This value must have been written using . - - - - - Read a UInt32 value from the stream. This value must have been written using . - - - - - Read a UInt64 value from the stream. This value must have been written using . - - - - - Read a UInt16 value from the stream. This value must have been written using . - - - - - Read a DateTime value from the stream. This value must have been written using the . - - - - - Read a compressed 30-bit integer value from the stream. This value must have been written using . - - - - - Read a value from the stream. The value must have been written using ObjectWriter.WriteValue. - - - - - Read a String value from the stream. This value must have been written using ObjectWriter.WriteString. - - - - - A class that writes both primitive values and non-cyclical object graphs to a stream that may be - later read back using the ObjectReader class. - - - - - Writes a Boolean value to the stream. - - - - - Writes a Byte value to the stream. - - - - - Writes a Char value to the stream. - - - - - Writes a Decimal value to the stream. - - - - - Writes a Double value to the stream. - - - - - Writes a Single value to the stream. - - - - - Writes a Int32 value to the stream. - - - - - Writes a Int64 value to the stream. - - - - - Writes a SByte value to the stream. - - - - - Writes a Int16 value to the stream. - - - - - Writes a UInt32 value to the stream. - - - - - Writes a UInt64 value to the stream. - - - - - Writes a UInt16 value to the stream. - - - - - Writes a DateTime value to the stream. - - - - - Writes a compressed 30 bit integer to the stream. (not 32 bit) - - - - - Writes a String value to the stream. - - - - - Writes any value (primitive or object graph) to the stream. - - - - - A binder that gathers type/reader mappings during object writing - - - - diff --git a/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta.nupkg b/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta.nupkg deleted file mode 100644 index 8ccf242cf1..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta.nupkg and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/ThirdPartyNotices.rtf b/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/ThirdPartyNotices.rtf deleted file mode 100644 index e77a4cad52..0000000000 --- a/Packages/Microsoft.CodeAnalysis.Compilers.0.7.4052301-beta/ThirdPartyNotices.rtf +++ /dev/null @@ -1,358 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff39\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Univers};} -{\f41\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};} -{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};} -{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} -{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} -{\f390\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f422\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f423\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;} -{\f426\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f428\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;} -{\f430\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f432\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f435\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;} -{\f436\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f437\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f438\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f439\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;} -{\f440\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f441\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f442\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Univers};} -{\f443\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Univers};}{\f445\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Univers};}{\f446\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Univers};} -{\f449\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Univers};}{\f454\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f452\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f453\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;} -{\f455\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f456\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f459\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;} -{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);} -{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap -\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid2516420 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext1 \slink15 \sqformat \styrsid2516420 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 -\ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid2516420 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar -\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext3 \slink17 \sqformat \styrsid2516420 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid2516420 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar -\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext5 \slink19 \sqformat \styrsid2516420 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid2516420 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext7 \slink21 \sqformat \styrsid2516420 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid2516420 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext9 \slink23 \sqformat \styrsid2516420 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive -\rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid2516420 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink2 \slocked \styrsid2516420 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid2516420 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af39\afs19 -\ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid2516420 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink5 \slocked \styrsid2516420 -Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid2516420 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid2516420 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink8 \slocked \styrsid2516420 Heading 8 Char;}{\* -\cs23 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid2516420 Heading 9 Char;}{\s24\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \slink25 \styrsid2516420 annotation text;}{\*\cs25 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink24 \slocked \styrsid2516420 Comment Text Char;}{\*\cs26 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \styrsid2516420 annotation reference;}{\*\cs27 \additive \rtlch\fcs1 \af0 -\ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid2516420 Hyperlink,Char Char7;}{\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \slink29 \styrsid2516420 header;}{\*\cs29 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink28 \slocked \styrsid2516420 Header Char;}{\s30\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs18\alang1025 \ltrch\fcs0 -\fs18\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \slink31 \ssemihidden \sunhideused \styrsid2516420 Balloon Text;}{\*\cs31 \additive \rtlch\fcs1 \af38\afs18 \ltrch\fcs0 -\fs18\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink30 \slocked \ssemihidden \styrsid2516420 Balloon Text Char;}{\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \slink33 \sunhideused \styrsid1734505 footer;}{\*\cs33 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink32 \slocked \styrsid1734505 Footer Char;}}{\*\listtable{\list\listtemplateid-53848358{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 -\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 -\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0 -\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}} -{\*\listoverridetable{\listoverride\listid752163927\listoverridecount0\ls1}{\listoverride\listid752163927\listoverridecount9{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat -\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel -\listoverridestartat\levelstartat1}\ls2}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid282013\rsid408647\rsid601809\rsid1601216\rsid1734505\rsid1969138\rsid2426331\rsid2456392\rsid2516420\rsid2911943\rsid3095093\rsid3295716\rsid6504186 -\rsid6704546\rsid6772273\rsid6782127\rsid7228328\rsid7342123\rsid9383347\rsid10828784\rsid11500032\rsid14099721\rsid14102507}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} -{\info{\creatim\yr2014\mo3\dy25\hr18\min55}{\revtim\yr2014\mo3\dy25\hr18\min55}{\version1}{\edmins0}{\nofpages3}{\nofwords1458}{\nofchars8316}{\nofcharsws9755}{\vern57435}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw12240\paperh15840\margl720\margr720\margt720\margb720\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin720\dgvorigin720\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot2516420\newtblstyruls\nogrowautofit\remdttm\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal -\nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}\ltrpar \sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar -\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\headerr \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerl \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\footerr \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\headerf \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerf \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} -{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar -\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -\par \hich\af39\dbch\af11\loch\f39 Do Not Translate or Localize -\par -\par \hich\af39\dbch\af11\loch\f39 This file provides information regarding components that are being relicensed to you by Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 -\insrsid2516420 \hich\af39\dbch\af11\loch\f39 under Microsoft's software licensing terms. Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\hich\af39\dbch\af11\loch\f39 reser\hich\af39\dbch\af11\loch\f39 ves all rights not expressly granted herein. -\par -\par \hich\af39\dbch\af11\loch\f39 %% }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION BEGIN HERE -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14102507 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 Copyright (C) Microsoft }{\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Open Technologies, Inc}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 . All rights reserved. -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 -\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 Apache License, Version 2.0 -\par \hich\af39\dbch\af11\loch\f39 Apa\hich\af39\dbch\af11\loch\f39 che License -\par \hich\af39\dbch\af11\loch\f39 Version 2.0, January 2004 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6704546 \hich\af39\dbch\af11\loch\f39 HYPERLINK "http://www.apache.org/licenses/" }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f000000795881f43b1d7f48af2c825dc48527630000 -0000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs27\ul\cf2\insrsid2516420 \hich\af39\dbch\af11\loch\f39 http://www.apache.org/licenses/}}}\sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af39 \ltrch\fcs0 \insrsid2516420 -\par \hich\af39\dbch\af11\loch\f39 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -\par \hich\af39\dbch\af11\loch\f39 1. Definitions. -\par \hich\af39\dbch\af11\loch\f39 "License" shall mean the terms and conditions for use, reprod\hich\af39\dbch\af11\loch\f39 uction, and distribution as defined by Sections 1 through 9 of this document. -\par \hich\af39\dbch\af11\loch\f39 "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -\par \hich\af39\dbch\af11\loch\f39 "Legal Entity" shall mean the union of the acting entity and a\hich\af39\dbch\af11\loch\f39 -ll other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contra -\hich\af39\dbch\af11\loch\f39 c\hich\af39\dbch\af11\loch\f39 t or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -\par \hich\af39\dbch\af11\loch\f39 "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -\par \hich\af39\dbch\af11\loch\f39 "Source" fo\hich\af39\dbch\af11\loch\f39 rm shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -\par \hich\af39\dbch\af11\loch\f39 "Object" form shall mean any form resulting from mechanical transformation or translation of a Sour\hich\af39\dbch\af11\loch\f39 -ce form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -\par \hich\af39\dbch\af11\loch\f39 "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyr\hich\af39\dbch\af11\loch\f39 -ight notice that is included in or attached to the work (an example is provided in the Appendix below). -\par \hich\af39\dbch\af11\loch\f39 "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisi\hich\af39\dbch\af11\loch\f39 -ons, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the in -\hich\af39\dbch\af11\loch\f39 t\hich\af39\dbch\af11\loch\f39 erfaces of, the Work and Derivative Works thereof. -\par \hich\af39\dbch\af11\loch\f39 "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to -\hich\af39\dbch\af11\loch\f39 -Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communic -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -tion sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discuss -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 ng and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -\par \hich\af39\dbch\af11\loch\f39 "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a \hich\af39\dbch\af11\loch\f39 Contribution has been received by Licensor and subsequently incorporated within the Work. -\par \hich\af39\dbch\af11\loch\f39 2. Grant of Copyright License. -\par \hich\af39\dbch\af11\loch\f39 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-ch\hich\af39\dbch\af11\loch\f39 -arge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -\par \hich\af39\dbch\af11\loch\f39 3. Grant of Patent License. -\par \hich\af39\dbch\af11\loch\f39 Subject to \hich\af39\dbch\af11\loch\f39 -the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, imp -\hich\af39\dbch\af11\loch\f39 o\hich\af39\dbch\af11\loch\f39 -rt, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 -Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent inf -\hich\af39\dbch\af11\loch\f39 r\hich\af39\dbch\af11\loch\f39 ingement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -\par \hich\af39\dbch\af11\loch\f39 4. Redistribution. -\par \hich\af39\dbch\af11\loch\f39 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, wi\hich\af39\dbch\af11\loch\f39 -th or without modifications, and in Source or Object form, provided that You meet the following conditions: -\par \hich\af39\dbch\af11\loch\f39 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and -\par \hich\af39\dbch\af11\loch\f39 2. You must cause any modified files to carry prom\hich\af39\dbch\af11\loch\f39 inent notices stating that You changed the files; and -\par \hich\af39\dbch\af11\loch\f39 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices th -\hich\af39\dbch\af11\loch\f39 at do not pertain to any part of the Derivative Works; and -\par \hich\af39\dbch\af11\loch\f39 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such -\hich\af39\dbch\af11\loch\f39 - NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if prov -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 -ded along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You m -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -y add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -\par \hich\af39\dbch\af11\loch\f39 You may add Your o\hich\af39\dbch\af11\loch\f39 -wn copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, a -\hich\af39\dbch\af11\loch\f39 n\hich\af39\dbch\af11\loch\f39 d distribution of the Work otherwise complies with the conditions stated in this License. -\par \hich\af39\dbch\af11\loch\f39 5. Submission of Contributions. -\par \hich\af39\dbch\af11\loch\f39 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall\hich\af39\dbch\af11\loch\f39 - be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding s -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 ch Contributions. -\par \hich\af39\dbch\af11\loch\f39 6. Trademarks. -\par \hich\af39\dbch\af11\loch\f39 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reprod -\hich\af39\dbch\af11\loch\f39 ucing the content of the NOTICE file. -\par \hich\af39\dbch\af11\loch\f39 7. Disclaimer of Warranty. -\par \hich\af39\dbch\af11\loch\f39 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS O\hich\af39\dbch\af11\loch\f39 -F ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -\par \hich\af39\dbch\af11\loch\f39 8. Limitation of Liability. -\par \hich\af39\dbch\af11\loch\f39 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required\hich\af39\dbch\af11\loch\f39 - by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a res -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 -lt of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has -\hich\af39\dbch\af11\loch\f39 b\hich\af39\dbch\af11\loch\f39 een advised of the possibility of such damages. -\par \hich\af39\dbch\af11\loch\f39 9. Accepting Warranty or Additional Liability. -\par \hich\af39\dbch\af11\loch\f39 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other li\hich\af39\dbch\af11\loch\f39 -ability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend -,\hich\af39\dbch\af11\loch\f39 and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -\par \hich\af39\dbch\af11\loch\f39 END OF TERMS AND CONDITIONS -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par \hich\af39\dbch\af11\loch\f39 END\hich\af39\dbch\af11\loch\f39 OF }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid601809\delrsid601809 -\hich\af39\dbch\af11\loch\f39 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100aa5225dfc60600008b1a0000160000007468656d652f7468656d652f -7468656d65312e786d6cec595d8bdb46147d2ff43f08bd3bfe92fcb1c41b6cd9ceb6d94d42eca4e4716c8fadc98e344633de8d0981923c160aa569e943037deb -43691b48a02fe9afd936a54d217fa17746b63c638fbb9b2585a5640d8b343af7ce997bafce1d4997afdc8fa87384134e58dc708b970aae83e3211b9178d2706f -f7bbb99aeb7081e211a22cc60d778eb97b65f7c30f2ea31d11e2083b601ff31dd4704321a63bf93c1fc230e297d814c7706dcc920809384d26f951828ec16f44 -f3a542a1928f10895d274611b8bd311e932176fad2a5bbbb74dea1701a0b2e078634e949d7d8b050d8d1615122f89c0734718e106db830cf881df7f17de13a14 -7101171a6e41fdb9f9ddcb79b4b330a2628bad66d7557f0bbb85c1e8b0a4e64c26836c52cff3bd4a33f3af00546ce23ad54ea553c9fc29001a0e61a52917dda7 -dfaab7dafe02ab81d2438bef76b55d2e1a78cd7f798373d3973f03af40a97f6f03dfed06104503af4029dedfc07b5eb51478065e81527c65035f2d34db5ed5c0 -2b5048497cb8812ef89572b05c6d061933ba6785d77daf5b2d2d9caf50500d5975c929c62c16db6a2d42f758d2058004522448ec88f9148fd110aa3840940c12 -e2ec93490885374531e3305c2815ba8532fc973f4f1da988a01d8c346bc90b98f08d21c9c7e1c3844c45c3fd18bcba1ae4cdcb1fdfbc7cee9c3c7a71f2e89793 -c78f4f1efd9c3a32acf6503cd1ad5e7fffc5df4f3f75fe7afeddeb275fd9f15cc7fffed367bffdfaa51d082b5d85e0d5d7cffe78f1ecd5379ffff9c3130bbc99 -a0810eef930873e73a3e766eb10816a6426032c783e4ed2cfa2122ba45339e701423398bc57f478406fafa1c5164c1b5b019c13b09488c0d787576cf20dc0b93 -9920168fd7c2c8001e30465b2cb146e19a9c4b0b737f164fec9327331d770ba123dbdc018a8dfc766653d05662731984d8a07993a258a0098eb170e4357688b1 -6575770931e27a408609e36c2c9cbbc46921620d499f0c8c6a5a19ed9108f232b711847c1bb139b8e3b418b5adba8d8f4c24dc15885ac8f73135c27815cd048a -6c2efb28a27ac0f791086d247bf364a8e33a5c40a6279832a733c29cdb6c6e24b05e2de9d7405eec693fa0f3c84426821cda7cee23c674649b1d06218aa6366c -8fc4a18efd881f428922e7261336f80133ef10790e7940f1d674df21d848f7e96a701b9455a7b42a107965965872791533a37e7b733a4658490d08bfa1e71189 -4f15f73559f7ff5b5907217df5ed53cbaa2eaaa0371362bda3f6d6647c1b6e5dbc03968cc8c5d7ee369ac53731dc2e9b0decbd74bf976ef77f2fdddbeee7772f -d82b8d06f9965bc574abae36eed1d67dfb9850da13738af7b9daba73e84ca32e0c4a3bf5cc8ab3e7b8690887f24e86090cdc2441cac64998f88488b017a229ec -ef8bae7432e10bd713ee4c19876dbf1ab6fa96783a8b0ed8287d5c2d16e5a3692a1e1c89d578c1cfc6e15143a4e84a75f50896b9576c27ea51794940dabe0d09 -6d329344d942a2ba1c9441520fe610340b09b5b277c2a26e615193ee97a9da6001d4b2acc0d6c9810d57c3f53d30012378a242148f649ed2542fb3ab92f92e33 -bd2d984605c03e625901ab4cd725d7adcb93ab4b4bed0c99364868e566925091513d8c87688417d52947cf42e36d735d5fa5d4a02743a1e683d25ad1a8d6fe8d -c579730d76ebda40635d2968ec1c37dc4ad9879219a269c31dc3633f1c4653a81d2eb7bc884ee0ddd95024e90d7f1e6599265cb4110fd3802bd149d520220227 -0e2551c395cbcfd24063a5218a5bb104827061c9d541562e1a3948ba99643c1ee3a1d0d3ae8dc848a7a7a0f0a95658af2af3f383a5259b41ba7be1e8d819d059 -720b4189f9d5a20ce0887078fb534ca33922f03a3313b255fdad35a685eceaef13550da5e3884e43b4e828ba98a77025e5191d7596c5403b5bac1902aa8564d1 -080713d960f5a01add34eb1a2987ad5df7742319394d34573dd35015d935ed2a66ccb06c036bb13c5f93d7582d430c9aa677f854bad725b7bed4bab57d42d625 -20e059fc2c5df70c0d41a3b69acca026196fcab0d4ecc5a8d93b960b3c85da599a84a6fa95a5dbb5b8653dc23a1d0c9eabf383dd7ad5c2d078b9af549156df3d -f44f136c700fc4a30d2f81675470954af8f09020d810f5d49e24950db845ee8bc5ad0147ce2c210df741c16f7a41c90f72859adfc97965af90abf9cd72aee9fb -e562c72f16daadd243682c228c8a7efacda50bafa2e87cf1e5458d6f7c7d89966fdb2e0d599467eaeb4a5e11575f5f8aa5ed5f5f1c02a2f3a052ead6cbf55625 -572f37bb39afddaae5ea41a5956b57826abbdb0efc5abdfbd0758e14d86b9603afd2a9e52ac520c8799582a45fabe7aa5ea9d4f4aacd5ac76b3e5c6c6360e5a9 -7c2c6201e155bc76ff010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f -7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be -9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980 -ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5b -babac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e -745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f -2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f74 -68656d654d616e616765722e786d6c504b01022d0014000600080000002100aa5225dfc60600008b1a00001600000000000000000000000000d6020000746865 -6d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000d00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cb0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation reference; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; -\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; -\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; -\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; -\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; -\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; -\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; -\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; -\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; -\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; -\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; -\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; -\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; -\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; -\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; -\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; -\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e03a -22779648cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta.nupkg b/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta.nupkg deleted file mode 100644 index 28d7599c1a..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta.nupkg and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/ThirdPartyNotices.rtf b/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/ThirdPartyNotices.rtf deleted file mode 100644 index e77a4cad52..0000000000 --- a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/ThirdPartyNotices.rtf +++ /dev/null @@ -1,358 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff39\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Univers};} -{\f41\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};} -{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};} -{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} -{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} -{\f390\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f422\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f423\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;} -{\f426\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f428\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;} -{\f430\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f432\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f435\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;} -{\f436\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f437\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f438\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f439\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;} -{\f440\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f441\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f442\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Univers};} -{\f443\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Univers};}{\f445\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Univers};}{\f446\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Univers};} -{\f449\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Univers};}{\f454\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f452\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f453\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;} -{\f455\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f456\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f459\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;} -{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);} -{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap -\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid2516420 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext1 \slink15 \sqformat \styrsid2516420 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 -\ab\af39\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid2516420 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar -\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext3 \slink17 \sqformat \styrsid2516420 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid2516420 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar -\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext5 \slink19 \sqformat \styrsid2516420 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid2516420 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext7 \slink21 \sqformat \styrsid2516420 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\nowidctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid2516420 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\nowidctlpar -\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext9 \slink23 \sqformat \styrsid2516420 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive -\rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid2516420 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af39\afs19 \ltrch\fcs0 \b\fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink2 \slocked \styrsid2516420 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid2516420 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af39\afs19 -\ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid2516420 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink5 \slocked \styrsid2516420 -Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid2516420 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid2516420 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink8 \slocked \styrsid2516420 Heading 8 Char;}{\* -\cs23 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid2516420 Heading 9 Char;}{\s24\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \slink25 \styrsid2516420 annotation text;}{\*\cs25 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink24 \slocked \styrsid2516420 Comment Text Char;}{\*\cs26 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \styrsid2516420 annotation reference;}{\*\cs27 \additive \rtlch\fcs1 \af0 -\ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid2516420 Hyperlink,Char Char7;}{\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \slink29 \styrsid2516420 header;}{\*\cs29 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 \fs19\loch\f39\hich\af39\dbch\af11 -\sbasedon10 \slink28 \slocked \styrsid2516420 Header Char;}{\s30\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs18\alang1025 \ltrch\fcs0 -\fs18\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \slink31 \ssemihidden \sunhideused \styrsid2516420 Balloon Text;}{\*\cs31 \additive \rtlch\fcs1 \af38\afs18 \ltrch\fcs0 -\fs18\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink30 \slocked \ssemihidden \styrsid2516420 Balloon Text Char;}{\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \slink33 \sunhideused \styrsid1734505 footer;}{\*\cs33 \additive \rtlch\fcs1 \af39\afs19 \ltrch\fcs0 -\fs19\loch\f39\hich\af39\dbch\af11 \sbasedon10 \slink32 \slocked \styrsid1734505 Footer Char;}}{\*\listtable{\list\listtemplateid-53848358{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext -\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 -\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 -\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0 -\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0 -\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}} -{\*\listoverridetable{\listoverride\listid752163927\listoverridecount0\ls1}{\listoverride\listid752163927\listoverridecount9{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat -\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel -\listoverridestartat\levelstartat1}\ls2}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid282013\rsid408647\rsid601809\rsid1601216\rsid1734505\rsid1969138\rsid2426331\rsid2456392\rsid2516420\rsid2911943\rsid3095093\rsid3295716\rsid6504186 -\rsid6704546\rsid6772273\rsid6782127\rsid7228328\rsid7342123\rsid9383347\rsid10828784\rsid11500032\rsid14099721\rsid14102507}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} -{\info{\creatim\yr2014\mo3\dy25\hr18\min55}{\revtim\yr2014\mo3\dy25\hr18\min55}{\version1}{\edmins0}{\nofpages3}{\nofwords1458}{\nofchars8316}{\nofcharsws9755}{\vern57435}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw12240\paperh15840\margl720\margr720\margt720\margb720\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin720\dgvorigin720\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot2516420\newtblstyruls\nogrowautofit\remdttm\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal -\nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsep -\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3295716 \chftnsepc -\par }}\ltrpar \sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar -\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\headerr \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerl \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\footerr \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\headerf \ltrpar \pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid408647 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid3095093\charrsid408647 -\par }}{\footerf \ltrpar \pard\plain \ltrpar\s32\ql \li0\ri0\nowidctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 -\fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 -\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} -{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar -\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 \rtlch\fcs1 \af39\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -\par \hich\af39\dbch\af11\loch\f39 Do Not Translate or Localize -\par -\par \hich\af39\dbch\af11\loch\f39 This file provides information regarding components that are being relicensed to you by Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 -\insrsid2516420 \hich\af39\dbch\af11\loch\f39 under Microsoft's software licensing terms. Microsoft}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Corporation}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\hich\af39\dbch\af11\loch\f39 reser\hich\af39\dbch\af11\loch\f39 ves all rights not expressly granted herein. -\par -\par \hich\af39\dbch\af11\loch\f39 %% }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION BEGIN HERE -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14102507 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 Copyright (C) Microsoft }{\rtlch\fcs1 \af39 -\ltrch\fcs0 \insrsid6504186 \hich\af39\dbch\af11\loch\f39 Open Technologies, Inc}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 . All rights reserved. -\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2516420 {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 -\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 \hich\af39\dbch\af11\loch\f39 Apache License, Version 2.0 -\par \hich\af39\dbch\af11\loch\f39 Apa\hich\af39\dbch\af11\loch\f39 che License -\par \hich\af39\dbch\af11\loch\f39 Version 2.0, January 2004 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid6704546 \hich\af39\dbch\af11\loch\f39 HYPERLINK "http://www.apache.org/licenses/" }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid1734505 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f000000795881f43b1d7f48af2c825dc48527630000 -0000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs27\ul\cf2\insrsid2516420 \hich\af39\dbch\af11\loch\f39 http://www.apache.org/licenses/}}}\sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af39 \ltrch\fcs0 \insrsid2516420 -\par \hich\af39\dbch\af11\loch\f39 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -\par \hich\af39\dbch\af11\loch\f39 1. Definitions. -\par \hich\af39\dbch\af11\loch\f39 "License" shall mean the terms and conditions for use, reprod\hich\af39\dbch\af11\loch\f39 uction, and distribution as defined by Sections 1 through 9 of this document. -\par \hich\af39\dbch\af11\loch\f39 "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -\par \hich\af39\dbch\af11\loch\f39 "Legal Entity" shall mean the union of the acting entity and a\hich\af39\dbch\af11\loch\f39 -ll other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contra -\hich\af39\dbch\af11\loch\f39 c\hich\af39\dbch\af11\loch\f39 t or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -\par \hich\af39\dbch\af11\loch\f39 "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -\par \hich\af39\dbch\af11\loch\f39 "Source" fo\hich\af39\dbch\af11\loch\f39 rm shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -\par \hich\af39\dbch\af11\loch\f39 "Object" form shall mean any form resulting from mechanical transformation or translation of a Sour\hich\af39\dbch\af11\loch\f39 -ce form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -\par \hich\af39\dbch\af11\loch\f39 "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyr\hich\af39\dbch\af11\loch\f39 -ight notice that is included in or attached to the work (an example is provided in the Appendix below). -\par \hich\af39\dbch\af11\loch\f39 "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisi\hich\af39\dbch\af11\loch\f39 -ons, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the in -\hich\af39\dbch\af11\loch\f39 t\hich\af39\dbch\af11\loch\f39 erfaces of, the Work and Derivative Works thereof. -\par \hich\af39\dbch\af11\loch\f39 "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to -\hich\af39\dbch\af11\loch\f39 -Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communic -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -tion sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discuss -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 ng and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -\par \hich\af39\dbch\af11\loch\f39 "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a \hich\af39\dbch\af11\loch\f39 Contribution has been received by Licensor and subsequently incorporated within the Work. -\par \hich\af39\dbch\af11\loch\f39 2. Grant of Copyright License. -\par \hich\af39\dbch\af11\loch\f39 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-ch\hich\af39\dbch\af11\loch\f39 -arge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -\par \hich\af39\dbch\af11\loch\f39 3. Grant of Patent License. -\par \hich\af39\dbch\af11\loch\f39 Subject to \hich\af39\dbch\af11\loch\f39 -the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, imp -\hich\af39\dbch\af11\loch\f39 o\hich\af39\dbch\af11\loch\f39 -rt, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 -Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent inf -\hich\af39\dbch\af11\loch\f39 r\hich\af39\dbch\af11\loch\f39 ingement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -\par \hich\af39\dbch\af11\loch\f39 4. Redistribution. -\par \hich\af39\dbch\af11\loch\f39 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, wi\hich\af39\dbch\af11\loch\f39 -th or without modifications, and in Source or Object form, provided that You meet the following conditions: -\par \hich\af39\dbch\af11\loch\f39 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and -\par \hich\af39\dbch\af11\loch\f39 2. You must cause any modified files to carry prom\hich\af39\dbch\af11\loch\f39 inent notices stating that You changed the files; and -\par \hich\af39\dbch\af11\loch\f39 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices th -\hich\af39\dbch\af11\loch\f39 at do not pertain to any part of the Derivative Works; and -\par \hich\af39\dbch\af11\loch\f39 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such -\hich\af39\dbch\af11\loch\f39 - NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if prov -\hich\af39\dbch\af11\loch\f39 i\hich\af39\dbch\af11\loch\f39 -ded along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You m -\hich\af39\dbch\af11\loch\f39 a\hich\af39\dbch\af11\loch\f39 -y add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -\par \hich\af39\dbch\af11\loch\f39 You may add Your o\hich\af39\dbch\af11\loch\f39 -wn copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, a -\hich\af39\dbch\af11\loch\f39 n\hich\af39\dbch\af11\loch\f39 d distribution of the Work otherwise complies with the conditions stated in this License. -\par \hich\af39\dbch\af11\loch\f39 5. Submission of Contributions. -\par \hich\af39\dbch\af11\loch\f39 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall\hich\af39\dbch\af11\loch\f39 - be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding s -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 ch Contributions. -\par \hich\af39\dbch\af11\loch\f39 6. Trademarks. -\par \hich\af39\dbch\af11\loch\f39 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reprod -\hich\af39\dbch\af11\loch\f39 ucing the content of the NOTICE file. -\par \hich\af39\dbch\af11\loch\f39 7. Disclaimer of Warranty. -\par \hich\af39\dbch\af11\loch\f39 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS O\hich\af39\dbch\af11\loch\f39 -F ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or -\hich\af39\dbch\af11\loch\f39 \hich\af39\dbch\af11\loch\f39 redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -\par \hich\af39\dbch\af11\loch\f39 8. Limitation of Liability. -\par \hich\af39\dbch\af11\loch\f39 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required\hich\af39\dbch\af11\loch\f39 - by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a res -\hich\af39\dbch\af11\loch\f39 u\hich\af39\dbch\af11\loch\f39 -lt of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has -\hich\af39\dbch\af11\loch\f39 b\hich\af39\dbch\af11\loch\f39 een advised of the possibility of such damages. -\par \hich\af39\dbch\af11\loch\f39 9. Accepting Warranty or Additional Liability. -\par \hich\af39\dbch\af11\loch\f39 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other li\hich\af39\dbch\af11\loch\f39 -ability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend -,\hich\af39\dbch\af11\loch\f39 and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -\par \hich\af39\dbch\af11\loch\f39 END OF TERMS AND CONDITIONS -\par \hich\af39\dbch\af11\loch\f39 ========================================= -\par \hich\af39\dbch\af11\loch\f39 END\hich\af39\dbch\af11\loch\f39 OF }{\rtlch\fcs1 \af39 \ltrch\fcs0 \caps\dbch\af0\insrsid601809\charrsid601809 .NET Compiler Platform}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid601809\delrsid601809 -\hich\af39\dbch\af11\loch\f39 }{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid14102507 \hich\af39\dbch\af11\loch\f39 NOTICES AND INFORMATION}{\rtlch\fcs1 \af39 \ltrch\fcs0 \insrsid2516420 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100aa5225dfc60600008b1a0000160000007468656d652f7468656d652f -7468656d65312e786d6cec595d8bdb46147d2ff43f08bd3bfe92fcb1c41b6cd9ceb6d94d42eca4e4716c8fadc98e344633de8d0981923c160aa569e943037deb -43691b48a02fe9afd936a54d217fa17746b63c638fbb9b2585a5640d8b343af7ce997bafce1d4997afdc8fa87384134e58dc708b970aae83e3211b9178d2706f -f7bbb99aeb7081e211a22cc60d778eb97b65f7c30f2ea31d11e2083b601ff31dd4704321a63bf93c1fc230e297d814c7706dcc920809384d26f951828ec16f44 -f3a542a1928f10895d274611b8bd311e932176fad2a5bbbb74dea1701a0b2e078634e949d7d8b050d8d1615122f89c0734718e106db830cf881df7f17de13a14 -7101171a6e41fdb9f9ddcb79b4b330a2628bad66d7557f0bbb85c1e8b0a4e64c26836c52cff3bd4a33f3af00546ce23ad54ea553c9fc29001a0e61a52917dda7 -dfaab7dafe02ab81d2438bef76b55d2e1a78cd7f798373d3973f03af40a97f6f03dfed06104503af4029dedfc07b5eb51478065e81527c65035f2d34db5ed5c0 -2b5048497cb8812ef89572b05c6d061933ba6785d77daf5b2d2d9caf50500d5975c929c62c16db6a2d42f758d2058004522448ec88f9148fd110aa3840940c12 -e2ec93490885374531e3305c2815ba8532fc973f4f1da988a01d8c346bc90b98f08d21c9c7e1c3844c45c3fd18bcba1ae4cdcb1fdfbc7cee9c3c7a71f2e89793 -c78f4f1efd9c3a32acf6503cd1ad5e7fffc5df4f3f75fe7afeddeb275fd9f15cc7fffed367bffdfaa51d082b5d85e0d5d7cffe78f1ecd5379ffff9c3130bbc99 -a0810eef930873e73a3e766eb10816a6426032c783e4ed2cfa2122ba45339e701423398bc57f478406fafa1c5164c1b5b019c13b09488c0d787576cf20dc0b93 -9920168fd7c2c8001e30465b2cb146e19a9c4b0b737f164fec9327331d770ba123dbdc018a8dfc766653d05662731984d8a07993a258a0098eb170e4357688b1 -6575770931e27a408609e36c2c9cbbc46921620d499f0c8c6a5a19ed9108f232b711847c1bb139b8e3b418b5adba8d8f4c24dc15885ac8f73135c27815cd048a -6c2efb28a27ac0f791086d247bf364a8e33a5c40a6279832a733c29cdb6c6e24b05e2de9d7405eec693fa0f3c84426821cda7cee23c674649b1d06218aa6366c -8fc4a18efd881f428922e7261336f80133ef10790e7940f1d674df21d848f7e96a701b9455a7b42a107965965872791533a37e7b733a4658490d08bfa1e71189 -4f15f73559f7ff5b5907217df5ed53cbaa2eaaa0371362bda3f6d6647c1b6e5dbc03968cc8c5d7ee369ac53731dc2e9b0decbd74bf976ef77f2fdddbeee7772f -d82b8d06f9965bc574abae36eed1d67dfb9850da13738af7b9daba73e84ca32e0c4a3bf5cc8ab3e7b8690887f24e86090cdc2441cac64998f88488b017a229ec -ef8bae7432e10bd713ee4c19876dbf1ab6fa96783a8b0ed8287d5c2d16e5a3692a1e1c89d578c1cfc6e15143a4e84a75f50896b9576c27ea51794940dabe0d09 -6d329344d942a2ba1c9441520fe610340b09b5b277c2a26e615193ee97a9da6001d4b2acc0d6c9810d57c3f53d30012378a242148f649ed2542fb3ab92f92e33 -bd2d984605c03e625901ab4cd725d7adcb93ab4b4bed0c99364868e566925091513d8c87688417d52947cf42e36d735d5fa5d4a02743a1e683d25ad1a8d6fe8d -c579730d76ebda40635d2968ec1c37dc4ad9879219a269c31dc3633f1c4653a81d2eb7bc884ee0ddd95024e90d7f1e6599265cb4110fd3802bd149d520220227 -0e2551c395cbcfd24063a5218a5bb104827061c9d541562e1a3948ba99643c1ee3a1d0d3ae8dc848a7a7a0f0a95658af2af3f383a5259b41ba7be1e8d819d059 -720b4189f9d5a20ce0887078fb534ca33922f03a3313b255fdad35a685eceaef13550da5e3884e43b4e828ba98a77025e5191d7596c5403b5bac1902aa8564d1 -080713d960f5a01add34eb1a2987ad5df7742319394d34573dd35015d935ed2a66ccb06c036bb13c5f93d7582d430c9aa677f854bad725b7bed4bab57d42d625 -20e059fc2c5df70c0d41a3b69acca026196fcab0d4ecc5a8d93b960b3c85da599a84a6fa95a5dbb5b8653dc23a1d0c9eabf383dd7ad5c2d078b9af549156df3d -f44f136c700fc4a30d2f81675470954af8f09020d810f5d49e24950db845ee8bc5ad0147ce2c210df741c16f7a41c90f72859adfc97965af90abf9cd72aee9fb -e562c72f16daadd243682c228c8a7efacda50bafa2e87cf1e5458d6f7c7d89966fdb2e0d599467eaeb4a5e11575f5f8aa5ed5f5f1c02a2f3a052ead6cbf55625 -572f37bb39afddaae5ea41a5956b57826abbdb0efc5abdfbd0758e14d86b9603afd2a9e52ac520c8799582a45fabe7aa5ea9d4f4aacd5ac76b3e5c6c6360e5a9 -7c2c6201e155bc76ff010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f -7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be -9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980 -ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5b -babac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e -745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f -2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f74 -68656d654d616e616765722e786d6c504b01022d0014000600080000002100aa5225dfc60600008b1a00001600000000000000000000000000d6020000746865 -6d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000d00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cb0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdpriority0 \lsdlocked0 annotation reference; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; -\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; -\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; -\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; -\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; -\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; -\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; -\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; -\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; -\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; -\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; -\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; -\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; -\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; -\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; -\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; -\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e03a -22779648cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.dll b/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.dll deleted file mode 100644 index add9f9580f..0000000000 Binary files a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.dll and /dev/null differ diff --git a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.xml b/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.xml deleted file mode 100644 index a256d7a976..0000000000 --- a/Packages/Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta/lib/net45/Microsoft.CodeAnalysis.VisualBasic.xml +++ /dev/null @@ -1,79433 +0,0 @@ - - - - -Microsoft.CodeAnalysis.VisualBasic - - - - - - Does expression refer to a physical memory location that can be modified? - - Note, Dev10 uses SXF_LVALUE flag on bound nodes to represent this concept. - - - - - Gets the Binder.DelegateResolutionResult for the given targetType. - - - One needs to call GetConversionClassification before in order to fill the cache. - - Type of the target. - The Binder.DelegateResolutionResult for the conversion - of the AddressOf operand to the target type - - - - - Gets the conversion classification. - - The destination type to convert to. - - - - returns name used to lookup the method/property in the group. - - - - - returns the container of the first member in the group. - - - - - Suppresses RValue validation when constructing the node. - Must be used _only_ when performing lambda inference where RValue inconsistency on this node is intentinally allowed. - If such node makes into a regular bound tree it will be eventually rewritten (all Yields are rewritten at some point) - and that will trigger validation. - - - - - Updates property access kind. To clear the access kind, - 'newAccessKind' should be Unknown. Otherwise, the current - access kind should be Unknown or equal to 'newAccessKind'. - - - - - Updates access kind. To clear the access kind, - 'newAccessKind' should be Unknown. Otherwise, the current - access kind should be Unknown or equal to 'newAccessKind'. - - - - - Updates property access kind. To clear the access kind, - 'newAccessKind' should be Unknown. Otherwise, the current - access kind should be Unknown or equal to 'newAccessKind'. - - - - - If the access includes a set, the type of the expression - is the type of the setter value parameter. Otherwise, the - type of the expression is the return type of the getter. - - - - - Gets a value indicating whether this do loop is a DoTopLoop or not. In syntax error cases - where both conditions are used, priority is given to the first one. - It's recommended to consistently use this property instead of checking the TopConditionOpt and BottomConditionOpt - directly. - - - true if this loop is a DoTopLoop; otherwise, false. - - - - - Gets a value indicating whether the condition of this do loop is "until" or not. In syntax error cases - where both conditions are used, priority is given to the first one. - It's recommended to consistently use this property instead of checking TopConditionIsUntil and BottomConditionIsUntil - directly. - - - true if this loop is a DoTopLoop; otherwise, false. - - - - - Gets the optional bound condition expression for this do loop statement. In syntax error cases - where both conditions are used, priority is given to the first one. - It's recommended to consistently use this property instead of accessing TopConditionOpt or BottomConditionOpt - directly. - - - - Returns the placeholder used in this With statement to - substitute the expression in initial binding - - - - A draft version of initializers which will be used in this With statement. - Initializers are expressinos which are used to capture expression in the current - With statement; they can be empty in some cases like if the expression is a local - variable of value type. - - Note, the initializers returned by this property are 'draft' because they are - generated based on initial bound tree, the real initializers will be generated - in lowering based on lowered expression form. - - - - - A draft version of placeholder substitute which will be used in this With statement. - - Note, the placeholder substitute returned by this property is 'draft' because it is - generated based on initial bound tree, the real substitute will be generated in lowering - based on lowered expression form. - - - - - Should this lambda be treated as a single line lambda? - - - - - Is this a function lambda - - - - - Should delegate relaxation behavior be allowed for this lambda. - - - - - target.ReturnType is ignored and must be Void, only parameter types are taken into consideration. - - - - - This class is used to cache various information about a lambda in the course of binding an expression/statement - containing the lambda. Even though the members are public, they shouldn't be accessed directly by any code - outside of the UnboundLambda class. - - - - - Should this lambda be treated as a single line lambda? - - - - - Analyses method body for error conditions such as definite assignments, unreachable code etc... - - This analysis is done when doing the full compile or when responding to GetCompileDiagnostics. - This method assume that the trees are already bound and will not do any rewriting/lowering - It is possible and common for this analysis to be done in the presence of errors. - - - - - Mutate 'self' flow analysis state to reflect the fact that there is a control-flow - convergence with the 'other' flow analysis state. Return true if and only if the - state has changed as a result of the Join. - - - - - Mutate 'self' flow analysis state to reflect the fact that there is a control-flow - sequence with the 'other' flow analysis state - in other words, this occurs and then - the other. - - - - - Produce a duplicate of this flow analysis state. - - - - - - - BlockLevel is used to keep track of the lexical nesting level of label and goto statements. - The other most block has a path of {} - - - - - - The state associated with a label includes the statement itself, the local state and the nesting. - - - - - - A pending branch. There are created for a return, break, continue, or goto statement. The - idea is that we don't know if the branch will eventually reach its destination because of an - intervening finally block that cannot complete normally. So we store them up and handle them - as we complete processing each construct. At the end of a block, if there are any pending - branches to a label in that block we process the branch. Otherwise we relay it up to the - enclosing construct as a pending branch of the enclosing construct. - - - - Start of the region being analyzed, or Nothing if it is not a region based analysis - - - End of the region being analyzed, or Nothing if it is not a region based analysis - - - Current region span, valid only for region based analysis - - - Tells whether we are analyzing the position before, during, or after the region - - - - A cache of the state at the backward branch point of each loop. This is not needed - during normal flow analysis, but is needed for region analysis. - - - - Checks if the text span passed is inside the region - - - - Subclasses may override EnterRegion to perform any actions at the entry to the region. - - - - - Subclasses may override LeaveRegion to perform any action at the end of the region. - - - - - If invalid region is dynamically detected this string contains text description of the reason. - - Currently only the following case can cause the region to be invalidated: - - - We have declaration of several variables using 'As New' having object - initializer with implicit receiver; if region included such a receiver, - it should include the whole declaration. Example: - Dim a, b As New Clazz(...) With { .X = [| .Y |] } - - - Part of With statement expression which was not captured into locals and - was not evaluated during With statement body execution. Example: - initializer with implicit receiver; if region included such a receiver, - it should include the whole declaration. Example: - Dim sArray() As StructType = ... - With sArray([| 0 |]) - End With - - - - - - The compilation in which the analysis is taking place. This is needed to determine which - conditional methods will be compiled and which will be omitted. - - - - - The symbol of method whose body is being analyzed or field or property whose - initializer is being analyzed - - - - - The bound code of the method or initializer being analyzed - - - - - The flow analysis state at each label, computed by merging the state from branches to - that label with the state when we fall into the label. Entries are created when the - label is encountered. One case deserves special attention: when the destination of the - branch is a label earlier in the code, it is possible (though rarely occurs in practice) - that we are changing the state at a label that we've already analyzed. In that case we - run another pass of the analysis to allow those changes to propagate. This repeats until - no further changes to the state of these labels occurs. This can result in quadratic - performance in unlikely but possible code such as this: "int x; if (cond) goto l1; x = - 3; l5: print x; l4: goto l5; l3: goto l4; l2: goto l3; l1: goto l2;" - - - - All of the labels seen so far in this forward scan of the body - - - - Set to true after an analysis scan if the analysis was incomplete due to a backward - "goto" branch changing some analysis result. In this case the caller scans again (until - this is false). Since the analysis proceeds by monotonically changing the state computed - at each label, this must terminate. - - - - Actual storage for PendingBranches - - - The definite assignment and/or reachability state at the point currently being analyzed. - - - - 'Me' parameter, relevant for methods, fields, properties, otherwise Nothing - - - - - Used only in the data flows out walker, we track unassignments as well as assignments - - - - - The current lexical nesting in the BoundTree. - - - - - - Where all diagnostics are deposited. - - - - Indicates whether or not support of constant expressions (boolean and nothing) - is enabled in this analyzer. In general, constant expressions support is enabled in analysis - exposed to public API consumer and disabled when used from command-line compiler. - - - - Construct an object for outside-region analysis - - - - - Construct an object for region-aware analysis - - - - Set conditional state - - - Set unconditional state - - - Split state - - - Intersect and unsplit state - - - - Pending escapes generated in the current scope (or more deeply nested scopes). When jump - statements (goto, break, continue, return) are processed, they are placed in the - Me._pendingBranches buffer to be processed later by the code handling the destination - statement. As a special case, the processing of try-finally statements might modify the - contents of the Me._pendingBranches buffer to take into account the behavior of - "intervening" finally clauses. - - - - - Perform a single pass of flow analysis. Note that after this pass, - this.backwardBranchChanged indicates if a further pass is required. - - False if the region is invalid - - - False if the region is invalid - - - - If analysis is being performed in a context of a method returns method's parameters, - otherwise returns an empty array - - - - - Specifies whether or not method's ByRef parameters should be analyzed. If there's more than one location in - the method being analyzed, then the method is partial and we prefer to report an out parameter in partial - method error. - Note: VB doesn't support "out" so it doesn't warn for unassigned parameters. However, check variables passed - byref are assigned so that data flow analysis detects parameters flowing out. - - true if the out parameters of the method should be analyzed - - - - Method symbol or nothing - TODO: Need to try and get rid of this property - - - - - If analysis is being performed in a context of a method returns method's return type, - otherwise returns Nothing - - - - - Return the flow analysis state associated with a label. - - - - - - - - Set the current state to one that indicates that it is unreachable. - - - - - Called at the point in a loop where the backwards branch would go to. - - - - - - - Called at the point in a loop where the backward branch is placed. - - - - - - - Used to resolve exit statements in each statement form that has an Exit statement - (loops, switch). - - - - - Used to resolve continue statements in each statement form that supports it. - - - - - - Subclasses override this if they want to take special actions on processing a goto - statement, when both the jump and the label have been located. - - - - - To handle a label, we resolve all pending forward references to branches to that label. Returns true if the state of - the label changes as a result. - - - - - - - When branching into constructs that don't support jumps into/out of (i.e. lambdas), - we save the pending branches when visiting more nested constructs. - - - - - We use this to restore the old set of pending branches and labels after visiting a construct that contains nested statements. - - The old pending branches/labels, which are to be merged with the current ones - - - - We look at all pending branches and attempt to resolve the branches with labels if the nesting of the - block is the nearest common parent to the branch and the label. Because the code is evaluated recursively - outward we only need to check if the current nesting is a prefix of both the branch and the label nesting. - - - - - Report an unimplemented language construct. - - - - - - - - Visit a node. - - - - - Visit a node, process - - - - - Visit a boolean condition expression. - - - - - Visit a general expression, where we will only need to determine if variables are - assigned (or not). That is, we will not be needing AssignedWhenTrue and - AssignedWhenFalse. - - - - - Since each language construct must be handled according to the rules of the language specification, - the default visitor reports that the construct for the node is not implemented in the compiler. - - - - Bound field access passed may require tracking if it is an access to a non-shared structure field - - - - If a receiver is included in cases where the receiver will not be - evaluated (an instance for a shared method for instance), we - still want to visit the receiver but treat it as unreachable code. - - - - - A region analysis walker that computes the set of variables that are always assigned a value in the region. - A variable is "always assigned" in a region if an analysis of the - region that starts with the variable unassigned ends with the variable - assigned. - - - - - This class implements the region control flow analysis operations. Region control flow analysis provides - information about statements which enter and leave a region. The analysis done lazily. When created, it performs - no analysis, but simply caches the arguments. Then, the first time one of the analysis results is used it - computes that one result and caches it. Each result is computed using a custom algorithm. - - - - - A collection of statements outside the region that jump into the region. - - - - - A collection of statements inside the region that jump to locations outside the region. - - - - - Returns true if and only if the last statement in the region can complete normally or the region contains no - statements. - - - - - A collection of return, exit sub, exit function, exit operator and exit property statements found within the region that return to the enclosing method. - - - - Produce a duplicate of this flow analysis state. - - - - Perform control flow analysis, reporting all necessary diagnostics. Returns true if the end of - the body might be reachable.. - - - - - - - This class implements the region data flow analysis operations. Region data flow analysis provides information - how data flows into and out of a region. The analysis is done lazily. When created, it performs no analysis, but - simply caches the arguments. Then, the first time one of the analysis results is used it computes that one - result and caches it. Each result is computed using a custom algorithm. - - - - - A collection of the local variables that are declared within the region. Note that the region must be - bounded by a method's body or a field's initializer, so parameter symbols are never included in the result. - - - - - A collection of the local variables for which a value assigned outside the region may be used inside the region. - - - - - A collection of the local variables for which a value assigned inside the region may be used outside the region. - - - - - A collection of the local variables for which a value is always assigned inside the region. - - - - - A collection of the local variables that are read inside the region. - - - - - A collection of local variables that are written inside the region. - - - - - A collection of the local variables that are read outside the region. - - - - - A collection of local variables that are written inside the region. - - - - - A collection of the local variables that have been referenced in anonymous functions - and therefore must be moved to a field of a frame class. - - - - - Intersect bit arrays taking into account 'all bits set' flag - - receiver will be changed as a result - - - - Union bit arrays taking into account 'all bits set' flag - - receiver will be changed as a result - - - - Produce a duplicate of this flow analysis state. - - - - - - Collection of 0, 1 or more slots. Allows returning of several slots by some - DataFlowPass methods to handle cases where implicit receiver represents - several variables, like in: - Dim a, b, c As New C(...) With {...} - - Because such constructions are very rare in real user code, the collection only - allocates an array builder for storing several values if there are indeed more - than one slot to be stored. Because the collection may optionally create an - array builder, collection's Free() method must be called when appropriate. - - Note that the collection is mutable, so one can add or modify the values. - If some collection elements get replaced with 'SlotKind.NotTracked' collection - does NOT "shrink", i.e. once allocated the array builder is not freed even if - all the elements are set to 'SlotKind.NotTracked'. - - Collection cannot store 'SlotKind.Unreachable' (0) which has a special meaning. - - - - - AmbiguousLocalsPseudoSymbol is a pseudo-symbol used in flow analysis representing - a symbol of the implicit receiver in case Dim statement defines more than one variable, - but uses the same object initializer for all of them, like: - Dim a,b As New C() With { .X = .Y } - - - - Represents variable symbol combined with the containing variable slot - - - - Special slot for untracked variables - - - - - Special slot for tracking whether code is reachable - - - - - Special slot for tracking the implicit local for the function return value - - - - - The first available slot for variables - - - - - - Some variables that should be considered initially assigned. Used for region analysis. - - - - - Defines whether or not fields of intrinsic type should be tracked. Such fields should - not be tracked for error reporting purposes, but should be tracked for region flow analysis - - - - - Variables that were used anywhere, in the sense required to suppress warnings about unused variables. - - - - - Variables that were initialized or written anywhere. - - - - - A mapping from local variables to the index of their slot in a flow analysis local state. - WARNING: if variable identifier maps into SlotKind.NotTracked, it may mean that VariableIdentifier - is a structure without traceable fields. This mapping is created in MakeSlotImpl(...) - - - - - A mapping from the local variable slot to the symbol for the local variable itself. This is used in the - implementation of region analysis (support for extract method) to compute the set of variables "always - assigned" in a region of code. - - - - - Variable slots are allocated to local variables sequentially and never reused. This is - the index of the next slot number to use. - - - - - Tracks variables for which we have already reported a definite assignment error. This - allows us to report at most one such error per variable. - - - - - Did we see [On Error] or [Resume] statement? Used to suppress some diagnostics. - - - - - Perform data flow analysis, reporting all necessary diagnostics. - - - - - Locals are given slots when their declarations are encountered. We only need give slots to local variables, and - the "Me" variable of a structure constructs. Other variables are not given slots, and are therefore not tracked - by the analysis. This returns SlotKind.NotTracked for a variable that is not tracked, for fields of structs - that have the same assigned status as the container, and for structs that (recursively) contain no data members. - We do not need to track references to variables that occur before the variable is declared, as those are reported - in an earlier phase as "use before declaration". That allows us to avoid giving slots to local variables before - processing their declarations. - - - - - Return the slot for a variable, or SlotKind.NotTracked if it is not tracked (because, for example, it is an empty struct). - - - - - Force a variable to have a slot. - - - - - - Calculates the flag of being already reported; for structure types - the slot may be reported if ALL the children are reported - - - Marks slot as reported, propagates 'reported' flag to the children if necessary - - - Unassign a slot for a regular variable - - - Assign a slot for a regular variable in a given state. - - - Assign a slot for a regular variable. - - - Hash structure fields as we may query them many times - - - - Check that the given variable is definitely assigned. If not, produce an error. - - - - Version of CheckAssigned for bound field access - - - Check node for being assigned, return the value of unassigned slot in unassignedSlot - - - - Property controls Roslyn data flow analysis features which are disabled in command-line - compiler mode to maintain backward compatibility (mostly diagnostics not reported by Dev11), - but *enabled* in flow analysis API - - - - - Specifies if the analysis should process compiler generated locals. - - Note that data flow API should never report compiler generated variables - as well as those should not generate any diagnostics (like being unassigned, etc...). - - But when the analysis is used for iterators or anync captures it should process - compiler generated locals as well... - - - - - Report a given variable as not definitely assigned. Once a variable has been so - reported, we suppress further reports of that variable. - - - - - Mark a variable as assigned (or unassigned). - - - - - A variable declared with As New can be considered assigned before the initializer is executed in case the variable - is a value type. The reason is that in this case the initialization happens in place (not in a temporary) and - the variable already got the object creation expression assigned. - - - - - A region analysis walker that computes the set of variables whose values flow into (are used in) - the region. - An variable assigned outside is used inside if an analysis - that leaves the variable unassigned on entry to the region would cause the - generation of "unassigned" errors within the region. - - - - - A region analysis walker that computes the set of variables for - which their assigned values flow out of the region. - A variable assigned inside is used outside if an analysis that - treats assignments in the region as un-assigning the variable would - cause "unassigned" errors outside the region. - - - - - A region analysis walker that records jumps into the region. Works by overriding NoteBranch, which is - invoked by a superclass when the two endpoints of a jump have been identified. - - - - - - A region analysis walker that records jumps out of the region. - - - - - Region being analyzed: start node - - - Region being analyzed: end node - - - Region itself - - - - The flow analysis pass. This pass reports required diagnostics for unreachable - statements and uninitialized variables (through the call to FlowAnalysisWalker.Analyze). - - the method to be analyzed - the method's body - the receiver of the reported diagnostics - - - - A region analysis walker that records reads and writes of all variables, both inside and outside the region. - - - - - Represents analysis context attributes such as compilation, region, etc... - - - - Current compilation - - - Method, field or property symbol - - - Bound node defining the root of the bound subtree to be analyzed - - - Region being analyzed: start node - - - Region being analyzed: end node - - - Region itself - - - True if the input was bad, such as no first and last nodes - - - - Construct context from model and region - - 'boundNode' defines a bound sub-tree to be analyzed and is being used in - both region-based and not region based analysis processes. - - The last three parameters define a region. In most cases firstInRegion and lastInRegion - are being used for identifying when we should enter or leave the region. - - Text span is also being passed to define the region which is used in few places. Those - places can be rewritten to use first/last bound nodes, but simple [region.Contains(...)] - check simplifies the code significantly. (Note, C# implementation uses the same logic, - but calculates the region's text span based on first/last node; in VB to perform such - calculation would have to traverse bound subtree under first/last nodes to detect - region boundaries; we avoid this additional cost by passing the original text span as - a separate parameter because we do have it anyways) - - - - - Construct context wiht Failed flag - - - - - A region analysis walker that computes whether or not the region completes normally. It does this by determining - if the point at which the region ends is reachable. - - - - - An analysis that computes the set of variables that may be used - before being assigned anywhere within a method. - - - - - - A region analysis walker that records declared variables. - - - - - A BoundForLoopStatement node has a list of control variables (from the attached next statement). - When binding the control variable of a for/for each loop that is nested in another for/for each loop, it must be - checked that the control variable has not been used by a containing for/for each loop. Because bound nodes do not - know their parents and we try to avoid passing around a stack of variables, we just walk the bound tree after the - initial binding to report this error. - In addition, it must be checked that the control variables of the next statement match the loop. Because the inner - most loop contains the next with control variables from outer binders, checking this here is also convenient. - - There are two diagnostics reported by this walker: - 1. BC30069: For loop control variable '{0}' already in use by an enclosing For loop. - 2. BC30070: Next control variable does not match For loop control variable '{0}'. - - - - - Checks if the control variable was already used in an enclosing for loop - - - - - Checks if the control variables from the next statement match the control variable of the enclosing - for loop. - Some loops may contain a next with multiple variables. - - - - - Gets the referenced symbol of the bound expression. - Used for matching variables between For and Next statements. - - The bound expression. - - - - Turns the bound initializers into a list of bound assignment statements - - - - - Builds a constructor body. - - - Lowers initializers to fields assignments if not lowered yet and the first statement of the body isn't - a call to another constructor of the containing class. - - - Bound block including - - call to a base constructor - - field initializers and top-level code - - remaining constructor statements (empty for a submission) - - - - - Rewrites GlobalStatementInitializers to ExpressionStatements and gets the initializers for fields and properties. - - - Initializers for fields and properties cannot be rewritten to their final form at this place because they might need - to be rewritten to replace their placeholder expressions to the final locals or temporaries (e.g. in case of a field - declaration with "AsNew" and multiple variable names. The final rewriting will during local rewriting. - The statement list returned by this function can be copied into all constructors without reprocessing it. - - - - - Determines if this constructor calls another constructor of the constructor's containing class. - - - - - A walker that computes the set of local variables of an iterator - method that must be moved to fields of the generated class. - - - - - Binder used for attributes - - - - Root syntax node - - - Field or property declaration statement syntax node - - - - Some nodes have special binder's for their contents - - - - - Binding info for attribute syntax and expressions that are part of a attribute. - - - - - Creates an AttributeSemanticModel that allows asking semantic questions about an attribute node. - - - - - Creates a speculative AttributeSemanticModel that allows asking semantic questions about an attribute node that did not appear in the original source code. - - - - - Backstop that forms the end of the binder chain. Does nothing, and should never actually get hit. Provides - asserts that methods never get called. - - - - - Returns true if the node is in a position where an unbound type - such as (C(of)) is allowed. - - - - - Causes lookups to assume that the given set of classes are having their - bases being resolved, so lookups should not check for base classes. - - - - - A Binder object represents a general location from where binding is happening, and provides - virtual methods for looking up unqualified names, reporting errors, and also other - operations that need to know about where binding happened from (accessibility checking, - etc.) It also contains most of the methods related to general binding of constructs, - although some large sections are factored into their own classes. - - Yes, Binder is a big grab bag of features. The reason for this is that binders are threaded - through essentially ALL binding functions. So, basically Binder has all the features that - need to be threaded through binding. - - Binder objects form a linked list and each binder links to its containing binder. Each - binder only handles operations that it knows how to handles, and passes on other calls to - its containing binder. This maintains separation of concerns and allows binders to be strung - together in various configurations to enable different binding scenarios (e.g., debugger - expression evaluator). - - In general, binder objects should be constructed via the BinderBuilder class. - - Binder class has GetBinder methods that return binders for scopes nested into the current - binder scope. One should not expect to get a binder from the functions unless a syntax that - originates a scope is passed as the argument. Also, the functions do not cross lambda - boundaries, if binder's scope contains a lambda expression, binder will not return any - binders for nodes contained in the lambda body. In order to get them, the lambda must be - bound to BoundLambda node, which exposes LambdaBinder, which can be asked for binders in the - lambda body (but it will not descend into nested lambdas). Currently, only - , - and have special implementation of GetBinder functions, - the rest just delegate to containing binder. - - - - - If the binding context requires specific binding options, then modify the given - lookup options accordingly. - - - - - Lookup the given name in the binder and containing binders. - Returns the result of the lookup. See the definition of LookupResult for details. - - - This method is virtual, but usually there is no need to override it. It - calls the virtual LookupInSingleBinder, which should be overridden instead, - for each binder in turn, and merges the results. - Overriding this method is needed only in limited scenarios, for example for - a binder that binds query [Into] clause and has implicit qualifier. - - - - - Lookup in just a single binder, without delegating to containing binder. The original - binder passed in is used for accessibility checking and so forth. - - - - - Collect extension methods with the given name that are in scope in this binder. - The passed in ArrayBuilder must be empty. Extension methods from the same containing type - must be grouped together. - - - - - Lookup all names of extension methods that are available from a single binder, without delegating - to containing binder. The original binder passed in is used for accessibility checking - and so forth. - Names that are available are inserted into "nameSet". This is a hashSet that accumulates - names, and should be created with the VB identifierComparer. - - - - - Lookups labels by label names, returns a label or Nothing - - - - - Lookup all names that are available from a single binder, without delegating - to containing binder. The original binder passed in is used for accessibility checking - and so forth. - Names that are available are inserted into "nameSet". This is a hashSet that accumulates - names, and should be created with the VB identifierComparer. - - - - - Determine if "sym" is accessible from the location represented by this binder. For protected - access, use the qualifier type "accessThroughType" if not Nothing (if Nothing just check protected - access with no qualifier). - - - - - Determine if "sym" is accessible from the location represented by this binder. For protected - access, use the qualifier type "accessThroughType" if not Nothing (if Nothing just check protected - access with no qualifier). - - - - - Some nodes have special binder's for their contents - - - - - Some nodes have special binder's for their contents - - - - - The member containing the binding context - - - - - Tells whether binding is happening in a query context. - - - - - Tells whether binding is happening in a lambda context. - - - - - Returns true if the node is in a position where an unbound type - such as (C(of)) is allowed. - - - - - The type containing the binding context - - - - - Returns true if the binder is binding top-level script code. - - - - - The namespace or type containing the binding context - - - - - Get the built-in MSCORLIB type identified. If it's not available (an error type), then report the - error with the given syntax and diagnostic bag. If the node and diagBag are Nothing, then don't report the error (not recommended). - - Type to get - Where to report the error, if any. - - - - This is a layer on top of the Compilation version that generates a diagnostic if the well-known - type isn't found. - - - - - This is a layer on top of the assembly version that generates a diagnostic if the well-known - member isn't found. - - - - - This is a layer on top of the Compilation version that generates a diagnostic if the well-known - member isn't found. - - - - - Get the source module. - - - - - Get the compilation. - - - - - Get an error symbol. - - - - - Get the Location associated with a given TextSpan. - - - - - Get a SyntaxReference associated with a given syntax node. - - - - - Returns the syntax tree. - - - - - Called in member lookup right before going into the base class of a type. Results a set of named types whose - bases classes are currently in the process of being resolved, so we shouldn't look into their bases - again to prevent/detect circular references. - - Nothing if no bases being resolved, otherwise the set of bases being resolved. - - - - Called during member lookup before going into the base class of a type. If returns - true, the base class is ignored. Primarily used for binding Imports. - - - - - Current Option Strict mode. - - - - - True if Option Infer On is in effect. False if Option Infer Off is in effect. - - - - - True if Option Explicit On is in effect. False if Option Explicit Off is in effect. - Note that even if Option Explicit Off is in effect, there are places (field initializers) - where implicit variable declaration is not permitted. See the ImplicitVariablesDeclarationAllowedHere - property also. - - - - - True if Option Compare Text is in effect. False if Option Compare Binary is in effect. - - - - - True if integer overflow checking is off. - - - - - True if implicit variable declaration is available within this binder, and the binder - has already finished binding all possible implicit declarations inside (and is not accepting) - any more. - - - - - True if implicit variable declaration is allow by the language here. Differs from OptionExplicit - in that it is only try if this binder is associated with a region that allows implicit variable - declaration (field initializers and attributes don't, for example). - - - - - Declare an implicit local variable. The type of the local is determined - by the type character (if any) on the variable. - - - - - Get all implicitly declared variables that were declared in this method body. - - - - - Disallow additonal local variable declaration and report delayed shadowing diagnostics. - - - - - - Get the label that a Exit XXX statement should branch to, or Nothing if we are - not inside a context that would be exited by that kind of statement. The passed in kind - is the SyntaxKind for the exit statement that would target the label (e.g. SyntaxKind.ExitDoStatement). - - - - - Get the label that a Continue XXX statement should branch to, or Nothing if we are - not inside a context that would be exited by that kind of statement. The passed in kind - is the SyntaxKind for the exit statement that would target the label (e.g. SyntaxKind.ContinueDoStatement). - - - - - Get the label that a Return statement should branch to, or Nothing if we are - not inside a context that would be exited by that kind of statement. This method - is equivalent to calling with the appropriate exit - . - - - - - Get the special local symbol with the same name as the enclosing function. - - - - - Create a diagnostic at a particular syntax node and place it in a diagnostic bag. - - - - - Issue an error or warning for a symbol if it is Obsolete. If there is not enough - information to report diagnostics, then store the symbols so that diagnostics - can be reported at a later stage. - - - - - Returns the type of construct being bound (BaseTypes, MethodSignature, - etc.) to allow the Binder to provide different behavior in certain cases. - Currently, this property is only used by ShouldCheckConstraints. - - - - - Returns true if the binder is performing early decoding of a - (well-known) attribute. - - - - - Return True if type constraints should be checked when binding. - - - - - Returns True if the binder, or any containing binder, has xmlns Imports. - - - - - Add { prefix, namespace } pairs from the explicitly declared namespaces in the - XmlElement hierarchy. The order of the pairs is the order the xmlns attributes - are declared on each element, and from innermost to outermost element. - - - - - This method reports use site errors if a required attribute constructor is missing. - Some attributes are considered to be optional (e.g. the CompilerGeneratedAttribute). In this case the use site - errors will be ignored. - - - - - This method reports use site errors if a required attribute constructor is missing. - Some attributes are considered to be optional (e.g. the CompilerGeneratedAttribute). In this case the use site - errors will be ignored. - - - - - Returns a placeholder substitute for a With statement placeholder specified or Nothing if not found - - Note: 'placeholder' is needed to make sure the binder can check that the placeholder is - associated with the stement. - - - - - Indicates that this binder is being used to answer SemanticModel questions (i.e. not - for batch compilation). - - - Imports touched by a binder with this flag set are not consider "used". - - - - - Binder to be used for binding New With { ... } expressions. - - - - - If set, the state of the binder shouldn't be modified by subsequent binding operations, - which could be performed by SemanicModel in context of this binder. - - - - - Having this binder, which is created for each field initializer within AnonymousObjectCreationExpressionSyntax - gives us the following advantages: - - We no longer rely on transient state of AnonymousTypeField objects to detect out of order field references - within initializers. This way we can be sure that result of binding performed by SemanticModel is consistent - with result of initial binding of the entire node. - - AnonymousTypeCreationBinder overrides CreateAnonymousObjectCreationExpression in such a way that it mutates - its state. That overriden method shouldn't be called while we are binding each initializer (by queries, for example), - it should be called only by AnonymousTypeCreationBinder itself after all initializers are bound and we are producing - the resulting node. So having an extra binder in between takes care of that. - - - - - Gets but does not fully validate a symbol's attributes. Returns binding errors but not attribute usage and attribute specific errors. - - - - - Walk a custom attribute argument bound node and return a TypedConstant. Verify that the expression is a constant expression. - - - - - - This function must return a BoundConversion node in case of non-identity conversion. - - - - - This function must return a BoundConversion node in case of explicit or non-identity conversion. - - - - - This function must return a BoundConversion node in case of non-identity conversion. - - - - - Returns True if error or warning was reported. - - This function is invoked on the occassion of a Narrowing or NoConversion. - It looks at the conversion. If the conversion could have been helped by variance in - some way, it reports an error/warning message to that effect and returns true. This - message is a substitute for whatever other conversion-failed message might have been displayed. - - Note: these variance-related messages will NOT show auto-correct suggestion of using CType. That's - because, in these cases, it's more likely than not that CType will fail, so it would be a bad suggestion - - - - - Handle expression reclassification, if any applicable. - - If function returns True, the "argument" parameter has been replaced - with result of reclassification (possibly an error node) and appropriate - diagnostic, if any, has been reported. - - If function returns false, the "argument" parameter must be unchanged and no - diagnostic should be reported. - - conversionSemantics can be one of these: - SyntaxKind.CTypeKeyword, SyntaxKind.DirectCastKeyword, SyntaxKind.TryCastKeyword - - - - - Structure is used to store all information which is needed to construct and classify a Delegate creation - expression later on. - - - - - Binds the AddressOf expression. - - The AddressOf expression node. - The diagnostics. - - - - Binds the delegate creation expression. - This comes in form of e.g. - Dim del as new DelegateType(AddressOf methodName) - - Type of the delegate. - The argument list. - Syntax node to attach diagnostics to in case the argument list is nothing. - The diagnostics. - - - - Resolves the target method for the delegate and classifies the conversion - - The bound AddressOf expression itself. - The delegate type to assign the result of the AddressOf operator to. - - - - - Resolves the method for delegate invoke with all or relaxed arguments / return types. It also determines - the method conversion kind. - - The AddressOf expression. - The delegate invoke method. - Ignore method's return type for the purpose of calculating 'methodConversions'. - The diagnostics. - The resolved method if any. - - - - Resolves the method for delegate invoke with all or relaxed arguments / return types. It also determines - the method conversion kind. - - The AddressOf expression. - The delegate invoke method. - Ignore method's return type for the purpose of calculating 'methodConversions'. - The diagnostics. - if set to true use zero argument relaxation. - The resolved method if any. - - - - Determines the method conversion for delegates based on the arguments. - - The resolution result. - The delegate invoke method. - - - - Classifies the address of conversion. - - The bound AddressOf expression. - The target type to convert this AddressOf expression to. - - - - Checks if a parameter is a ParamArray and reports this as an error. - - The containing type. - The current parameter token. - The flags of this parameter. - The diagnostics. - - - - Reclassifies the bound address of operator into a delegate creation expression (if there is no delegate - relaxation required) or into a bound lambda expression (which gets a delegate creation expression later on) - - The AddressOf expression. - The delegate resolution result. - Type of the target. - The diagnostics. - - - - Build a lambda that has a shape of the [delegateInvoke] and calls - the only method from the [methodGroup] passing all parameters of the lambda - as arguments for the call. - Note, that usually the receiver of the [methodGroup] should be captured before entering the - relaxation lambda in order to prevent its reevaluation every time the lambda is invoked and - prevent its mutation. - - !!! Therefore, it is not common to call this overload directly. !!! - - - Location to use for various synthetic nodes and symbols. - The Invoke method to "implement". - The method group with the only method in it. - Delegate relaxation to store withing the new BoundLambda node. - - - - - Report a diagnostic, and also produce an error expression with error type. - - - - - Report a diagnostic, and also produce an error expression with error type. - - - - - Report a diagnostic, and also produce an error expression with error type. - - - - - Report a diagnostic, and also produce an error expression with error type. - - - - - The dispatcher method that handles syntax nodes for all stand-alone expressions. - - - - - Create a BoundBadExpression node for the given syntax node. No symbols or bound nodes are associated with it. - - - - - Create a BoundBadExpression node for the given childexpression, which is preserved as a sub-expression. - No ResultKind is associated - - - - - Create a BoundBadExpression node for the given childexpression, which is preserved as a sub-expression. - A ResultKind explains why the node is bad. - - - - - Create a BoundBadExpression node for the given child expression, which is preserved as a sub-expression. Symbols - associated with the child node are not given a result kind. - - - - - This function is only needed for SemanticModel to perform binding for erroneous cases. - - - - - BindValue evaluates the node and returns a BoundExpression. BindValue snaps expressions to values. For now that means that method groups - become invocations. - - - - - Adjusts receiver of a call or a member access. - * will turn Unknown property access into Get property access - * will turn TypeOrValueExpression into a value expression - - - - - Adjusts receiver of a call or a member access if it is a value - * will turn Unknown property access into Get property access - - - - - BindRValue evaluates the node and returns a BoundExpression. - It ensures that the expression is a value that can be used on the right hand side of an assignment. - If not, it reports an error. - - Note that this function will reclassify all expressions to have their "default" type, i.e. - Anonymous Delegate for a lambda, default array type for an array literal, will report an error - for an AddressOf, etc. So, if you are in a context where there is a known target type for the - expression, do not use this function. Instead, use BindValue followed by - ApplyImplicitConversion/ApplyConversion. - - - - - Determine whether field access should be treated as LValue. - - - - - Return MethodKind corresponding to the method the code being interpreted is going to end up in. - - - - Process the result of dominant type inference, generate diagnostics - - - - True if inside in binding arguments of constructor - call with {'Me'/'MyClass'/'MyBase'}.New(...) from anothir constructor - - - - - Can we access MyBase in this location. If False is returned, - also returns the error id associated with that. - - - - - Can we access Me in this location. If False is returned, - also returns the error id associated with that. - - - - - Can we access MyClass in this location. If False is returned, - also returns the error id associated with that. - - - - - Second part of BindSimpleName. - It is a separate function so that it could be called directly - when we have already looked up for the name. - - - - - Method binds member access in case when we got hold - of a bound node representing the left expression - - - The method is protected, so that it can be called from other - binders overriding TryBindMemberAccessWithLeftOmitted - - - - - Returns a bound node for left part of member access node with omitted left syntax. - In particular it handles member access inside With statement. - - By default the method delegates the work to it's containing binder or returns Nothing. - - - Specifies the binder which requests an access to the bound node for omitted left. - - - NOTE: in some cases, like for binding inside anonymous object creation expression, this - method returns bound node for the whole expression rather than only for omitted left part. - - - - - Given a localSymbol and a syntaxNode where the symbol is used, safely return the symbol's type. - - The local symbol - The syntax node that references the symbol - diagnostic bag if errors are to be reported - Returns the symbol's type or an ErrorTypeSymbol if the local is referenced before its definition or if the symbol is still being bound. - This method safely returns a local symbol's type by checking for circular references or references before declaration. - - - - Report diagnostics relating to access shared/nonshared symbols. Returns true if an ERROR (but not a warning) - was reported. Also replaces receiver as a type with DefaultPropertyInstance when appropriate. - - - - - Returns a bound node for left part of dictionary access node with omitted left syntax. - In particular it handles dictionary access inside With statement. - - By default the method delegates the work to it's containing binder or returns Nothing. - - - - - Handle ArrayCreationExpressionSyntax - new integer(n)(,) {...} - new integer() {...} - - - - - Binds CollectionInitializeSyntax. i.e. { expr, ... } from an ArrayCreationExpressionSyntax - - The collection initializer syntax - The type of array. - This is in/out. It comes in with sizes from explicit bounds but will be updated based on the number of initializers for dimensions without bounds - Where to put errors - - - - Binds CollectionInitializeSyntax. i.e. { expr, ... } from an ArrayCreationExpressionSyntax - - The collection initializer syntax - This is in/out. It comes in with sizes from explicit bounds but will be updated based on the number of initializers for dimensions without bounds - When the inferred type is Object() indicates that the dominant type algorithm computed this type. - The number of candidates found during inference - The inferred element type - Where to put errors - - - - Bind the array bounds and return the sizes for each dimension. - - The bounds - Where to put the errors - The bounds if they are constants, if argument is not specified this info is not returned - - - - The Imports binder handles binding of Imports statements in files, and also the project-level imports. - - - - - Checks use site error and returns True in case the alias should still be created for the - type with this site error. In current implementation checks for errors ##36924, 36925 - - - - - Used to store the bound field and property initializers and the associated list of - bound assignment statements because they are reused for multiple constructors - - - - - Indicate the fact that binding of initializers produced a tree with errors. - This property does not indicate whether or not a diagnostic was produced during the - binding of the initializers. - - - - - Binds all field initializers of a . - - The named type symbol where the field initializers are declared. - Script constructor or Nothing if not binding top-level statements. - The initializers itself. For each partial type declaration there is an array of - field initializers - The structure storing the list of processed field initializers. - The diagnostics. - - - - Bind an initializer for an implicitly allocated array field (for example: Private F(2) As Object). - - - - - Binds the field initializer. A bound field initializer contains the bound field access and bound init value. - - The field symbol. - The syntax node for the optional initialization. - The array of bound initializers to add the newly bound ones to. - The diagnostics. - - - - Checks for errors in the constant initialization of a field, and only returns a BoundFieldOrPropertyInitializer for - decimals and dates because they aren't compile time constant in CLR. Other data type end up directly in metadata and - do not cause a BoundFieldOrPropertyInitializer node. - - The field symbol. - The syntax node for the optional initialization. - The array of bound initializers to add the newly bound ones to. - - - - Binds constant initialization value of the field. - - The symbol. - The initialization syntax. - The diagnostics. - - - - Binds a constant local's value. - - The local symbol. - The local symbol's type. It is passed in because this method is called while the type is being resolved and before it is set. - - - - Binds a parameter's default value syntax - - - - - Returns if all the rules for a "Me.New" or "MyBase.New" constructor call are satisfied: - a) In instance constructor body - b) First statement of that constructor - c) "Me", "MyClass", or "MyBase" is the receiver. - - - - - Bind a Me.New(...), MyBase.New (...), MyClass.New(...) constructor call. - (NOT a normal constructor call like New Type(...)). - - - - - Bind an invocation expression representing an array access, - delegate invocation, or default member. - - - - - Returns a BoundPropertyGroup if the expression represents a valid - default property access. If there is a default property but the property - access is invalid, a BoundBadExpression is returned. If there is no - default property for the expression type, Nothing is returned. - - Note, that default Query Indexer may be a method, not a property. - - - - - Tests whether or not the method or property group should be bound without arguments. - In case of method group it may also update the group by filtering out all subs - - - - - Optimizes some runtime library calls through replacing them with a literal if possible. - VB Spec 11.2 defines the following runtime functions as being constant: - - Microsoft.VisualBasic.Strings.ChrW - - Microsoft.VisualBasic.Strings.Chr, if the constant value is between 0 and 128 - - Microsoft.VisualBasic.Strings.AscW, if the constant string is not empty - - Microsoft.VisualBasic.Strings.Asc, if the constant string is not empty - - The method. - The arguments of the method call. - The syntax node for report errors. - The diagnostics. - Set to true if there are conversion errors (e.g. Asc("")). Otherwise it's not written to. - The constant value that replaces this node, or nothing. - - - -Figure out the set of best candidates in the following preference order: - 1) Applicable - 2) TypeInferenceFailed - 3) ArgumentMismatch, GenericConstraintsViolated - 4) ArgumentCountMismatch - 5) BadGenericArity - 6) Ambiguous - 7) HasUseSiteError - 8) HasUnsupportedMetadata - - Also return the set of unique symbols behind the set. - - Returns type symbol for the common type, if any. - Otherwise returns ErrorTypeSymbol.UnknownResultType. - - - - - Should be kept in sync with OverloadResolution.MatchArguments. Anything that - OverloadResolution.MatchArguments flags as an error should be detected by - this function as well. - - - - - Should be in sync with OverloadResolution.MatchArgumentToByRefParameter - - - - - Should be in sync with OverloadResolution.MatchArgumentToByValParameter. - - - - - Should be kept in sync with OverloadResolution.MatchArguments, which populates - data this function operates on. - - - - - Return true if the node is an immediate child of a call statement. - - - - - If we are inside a lambda in a constructor and are passing ByRef a non-LValue field, which - would be an LValue field, if it were referred to in the constructor outside of a lambda, - we need to report an error because the operation will result in a simulated pass by - ref (through a temp, without a copy back), which might be not the intent. - - - - - Collects expressions that are effective return values of the lambda body. - In iterators those would be arguments of Yield statements. - - - - - Used by Add*LookupSymbolsInfo* to determine whether the symbol is of interest. - Distinguish from , which performs an analogous task for LookupSymbols*. - - - Does not consider - that is left to the caller. - - - - - This class handles binding of members of namespaces and types. - The key member is Lookup, which handles looking up a name - in a namespace or type, by name and arity, and produces a - lookup result. - - - - - Lookup a member name in a namespace or type, returning a LookupResult that - summarizes the results of the lookup. See LookupResult structure for a detailed - discussing of the meaning of the results. The supplied binder is used for accessibility - checked and base class suppression. - - - - - Lookup a member name in a namespace, returning a LookupResult that - summarizes the results of the lookup. See LookupResult structure for a detailed - discussing of the meaning of the results. The supplied binder is used for accessibility - checked and base class suppression. - - - - - Lookup an immediate (without decending into modules) member name in a namespace, - returning a LookupResult that summarizes the results of the lookup. - See LookupResult structure for a detailed discussion of the meaning of the results. - The supplied binder is used for accessibility checks and base class suppression. - - - - - Lookup a member name in modules of a namespace, - returning a LookupResult that summarizes the results of the lookup. - See LookupResult structure for a detailed discussion of the meaning of the results. - The supplied binder is used for accessibility checks and base class suppression. - - - - - Lookup a member name in a type, returning a LookupResult that - summarizes the results of the lookup. See LookupResult structure for a detailed - discussing of the meaning of the results. The supplied binder is used for accessibility - checked and base class suppression. - - - - - Lookup a member name in a module, class, struct, enum, or delegate, returning a LookupResult that - summarizes the results of the lookup. See LookupResult structure for a detailed - discussing of the meaning of the results. The supplied binder is used for accessibility - checks and base class suppression. - - - - - This function generalizes the idea of producing a set of non-conflicting - WinRT members of a given type based on the results of some arbitrary lookup - closure (which produces a LookupResult signifying success as IsGood). - - A non-conflicting WinRT member lookup looks for all members of projected - WinRT interfaces which are implemented by a given type, discarding any - which have equal signatures. - - If is true then - this function lookups up members with the given , - , and . Otherwise, it looks for default properties. - - - - - Lookup a member name in a submission chain. - - - We start with the current submission class and walk the submission chain back to the first submission. - The search has two phases - 1) We are looking for any symbol matching the given name, arity, and options. If we don't find any the search is over. - If we find an overloadable symbol(s) (a method or a property) we start looking for overloads of this kind - (lookingForOverloadsOfKind) of symbol in phase 2. - 2) If a visited submission contains a matching member of a kind different from lookingForOverloadsOfKind we stop - looking further. Otherwise, if we find viable overload(s) we add them into the result. Overloads modifier is ignored. - - - - - Include the InternalXmlHelper.Value extension property in the LookupResult - if the container implements IEnumerable(Of XElement), the name is "Value", - and the arity is 0. - - - - - Checks if two interfaces have a base-derived relationship - - - - - Merges two lookup results while eliminating symbols that are shadowed. - Note that the final result may contain unrelated and possibly conflicting symbols as - this helper is not intended to catch ambiguities. - - - If is not Nothing and False filters out all Event symbols, and if is not Nothing - and True filters out all non-Event symbols, nos not have any effect otherwise. - Is used for special handling of Events inside COM interfaces. - - - - - first.Where(t IsNot Nothing).Concat(second.Where(t IsNot Nothing)) - - - - - - - - - - if any symbol in the list Shadows. This implies that name is not visible through the base. - - - - - Lookup a member name in a type without considering inheritance, returning a LookupResult that - summarizes the results of the lookup. See LookupResult structure for a detailed - discussing of the meaning of the results. - - - - - Binds the object collection or member initializer from a object creation. - E.g. "new CollType() From {...}" or "new AType() With {...}" - - The type of the created object expression. - The object creation expression syntax. - The diagnostics. - - - - Bind the ObjectInitializer. - During the binding we basically bind the member access for each initializer, as well as the value that will be assigned. - The main information stored in the bound node is a list of assignment operators (that may contain placeholders), as - well as the information whether expression creates a temporary or not. - - - - - Binds a object collection initializer. - During the binding of this node we are binding calls to Add methods of the created object. Once the "collection" - type passed the requirements (same as for each collection requirements + must have accessible Add method), all - diagnostics are handled by the overload resolution. - The bound node contains a list of call expressions (that may contain placeholders). - - - - - Binds a call expression for a given top level object collection initializer. - - - - - Validate and apply appropriate conversion for the target argument of Is/IsNot expression. - - - - - This helper is used to wrap nullable argument into something that would return null string if argument is null. - - Unlike conversion to a string where nullable nulls result in an exception, - concatenation requires that nullable nulls are treated as null strings. - Note that conversion is treated as explicit conversion. - - - - - This function builds a bound tree representing an overloaded short circuiting expression - after determining that the necessary semantic conditions are met. - - An expression of the form: - - x AndAlso y (where the type of x is X and the type of y is Y) - - is an overloaded short circuit operation if X and Y are user-defined types and an - applicable operator And exists after applying normal operator resolution rules. - - Given an applicable And operator declared in type T, the following must be true: - - - The return type and parameter types must be T. - - T must contain a declaration of operator IsFalse. - - If these conditions are met, the expression "x AndAlso y" is translated into: - - !T.IsFalse(temp = x) ? T.And(temp, y) : temp - - The temporary is necessary for evaluating x only once. Similarly, "x OrElse y" is - translated into: - - !T.IsTrue(temp = x) ? T.Or(temp, y) : temp - - - - - Returns Symbol for String type. - - - - - Get symbol for a special type, reuse symbols for operand types to avoid type - lookups and construction of new instances of symbols. - - - - - Get symbol for a Nullable type of particular type, reuse symbols for operand types to avoid type - lookups and construction of new instances of symbols. - - - - - §11.12.2 Object Operands - The value Nothing is treated as the default value of the type of - the other operand in a binary operator expression. In a unary operator expression, - or if both operands are Nothing in a binary operator expression, - the type of the operation is Integer or the only result type of the operator, - if the operator does not result in Integer. - - - - - Bind a Query Expression. - This is the entry point. - - - - - Given a result of binding of initial set of collection range variables, the source, - bind the rest of the operators in the enumerator. - - There is a special method to bind an operator of each kind, the common thing among them is that - all of them take the result we have so far, the source, and return result of an application - of one or two following operators. - Some of the methods also take operators enumerator in order to be able to do a necessary look-ahead - and in some cases even to advance the enumerator themselves. - Join and From operators absorb following Select or Let, that is when the process of binding of - a single operator actually handles two and advances the enumerator. - - - - - Bind query expression that starts with From keyword, as opposed to the one that starts with Aggregate. - - From {collection range variables} [{other operators}] - - - - - Bind query expression that starts with Aggregate keyword, as opposed to the one that starts with From. - - Aggregate {collection range variables} [{other operators}] Into {aggregation range variables} - - If Into clause has one item, a single value is produced. If it has multiple items, values are - combined into an instance of an Anonymous Type. - - - - - Given result of binding preceding query operators, the source, bind the following Aggregate operator. - - {Preceding query operators} Aggregate {collection range variables} [{other operators}] Into {aggregation range variables} - - Depending on how many items we have in the INTO clause, - we will interpret Aggregate operator as follows: - - FROM a in AA FROM a in AA - AGGREGATE b in a.BB => LET count = (FROM b IN a.BB).Count() - INTO Count() - - FROM a in AA FROM a in AA - AGGREGATE b in a.BB => LET Group = (FROM b IN a.BB) - INTO Count(), Select a, Count=Group.Count(), Sum=Group.Sum(b=>b) - Sum(b) - - - - - - Apply implicit Select operator at the end of the query to - ensure that at least one query operator is called. - - Basically makes query like: - From a In AA - into: - From a In AA Select a - - - - - Given result of binding preceding query operators, the source, bind the following Select operator. - - {Preceding query operators} Select {expression range variables} - - From a In AA Select b ==> AA.Select(Function(a) b) - - From a In AA Select b, c ==> AA.Select(Function(a) New With {b, c}) - - - - - Given result of binding preceding query operators, the source, bind the following Let operator. - - {Preceding query operators} Let {expression range variables} - - Ex: From a In AA Let b ==> AA.Select(Function(a) New With {a, b}) - - Ex: From a In AA Let b, c ==> AA.Select(Function(a) New With {a, b}).Select(Function({a, b}) New With {a, b, c}) - - Note, that preceding Select operator can introduce unnamed range variable, which is dropped by the Let - - Ex: From a In AA Select a + 1 Let b ==> AA.Select(Function(a) a + 1).Select(Function(unnamed) b) - - Also, depending on the amount of expression range variables declared by the Let, and the following query operators, - translation can produce a nested, as opposed to flat, compound variable. - - Ex: From a In AA Let b, c, d ==> AA.Select(Function(a) New With {a, b}). - Select(Function({a, b}) New With {{a, b}, c}). - Select(Function({{a, b}, c}) New With {a, b, c, d}) - - - - - In some scenarios, it is safe to leave compound variable in nested form when there is an - operator down the road that does its own projection (Select, Group By, ...). - All following operators have to take an Anonymous Type in both cases and, since there is no way to - restrict the shape of the Anonymous Type in method's declaration, the operators should be - insensitive to the shape of the Anonymous Type. - - - - - In some scenarios, it is safe to leave compound variable in nested form when there is an - operator down the road that does its own projection (Select, Group By, ...). - All following operators have to take an Anonymous Type in both cases and, since there is no way to - restrict the shape of the Anonymous Type in method's declaration, the operators should be - insensitive to the shape of the Anonymous Type. - - - - - Given result of binding preceding query operators, if any, bind the following From operator. - - [{Preceding query operators}] From {collection range variables} - - Ex: From a In AA ==> AA - - Ex: From a In AA, b in BB ==> AA.SelectMany(Function(a) BB, Function(a, b) New With {a, b}) - - Ex: {source with range variable 'd'} From a In AA, b in BB ==> source.SelectMany(Function(d) AA, Function(d, a) New With {d, a}). - SelectMany(Function({d, a}) BB, - Function({d, a}, b) New With {d, a, b}) - - Note, that preceding Select operator can introduce unnamed range variable, which is dropped by the From - - Ex: From a In AA Select a + 1 From b in BB ==> AA.Select(Function(a) a + 1). - SelectMany(Function(unnamed) BB, - Function(unnamed, b) b) - - Also, depending on the amount of collection range variables declared by the From, and the following query operators, - translation can produce a nested, as opposed to flat, compound variable. - - Ex: From a In AA From b In BB, c In CC, d In DD ==> AA.SelectMany(Function(a) BB, Function(a, b) New With {a, b}). - SelectMany(Function({a, b}) CC, Function({a, b}, c) New With {{a, b}, c}). - SelectMany(Function({{a, b}, c}) DD, - Function({{a, b}, c}, d) New With {a, b, c, d}) - - If From operator translation results in a SelectMany call and the From is immediately followed by a Select or a Let operator, - they are absorbed by the From translation. When this happens, operatorsEnumerator is advanced appropriately. - - Ex: From a In AA From b In BB Select a + b ==> AA.SelectMany(Function(a) BB, Function(a, b) a + b) - - Ex: From a In AA From b In BB Let c ==> AA.SelectMany(Function(a) BB, Function(a, b) new With {a, b, c}) - - - - - - See comments for BindFromClause method, this method actually does all the work. - - - - - Given result of binding preceding query operators, the outer, bind the following Join operator. - - [{Preceding query operators}] Join {collection range variable} - [{additional joins}] - On {condition} - - Ex: From a In AA Join b in BB On Key(a) Equals Key(b) ==> AA.Join(BB, Function(a) Key(a), Function(b) Key(b), - Function(a, b) New With {a, b}) - - Ex: From a In AA AA.Join( - Join b in BB BB.Join(CC, Function(b) Key(b), Function(c) Key(c), - Join c in CC ==> Function(b, c) New With {b, c}), - On Key(c) Equals Key(b) Function(a) Key(a), Function({b, c}) Key(b), - On Key(a) Equals Key(b) Function(a, {b, c}) New With {a, b, c}) - - - Also, depending on the amount of collection range variables in scope, and the following query operators, - translation can produce a nested, as opposed to flat, compound variable. - - Ex: From a In AA AA.Join(BB, Function(a) Key(a), Function(b) Key(b), - Join b in BB Function(a, b) New With {a, b}). - On Key(a) Equals Key(b) Join(CC, Function({a, b}) Key(a, b), Function(c) Key(c), - Join c in CC ==> Function({a, b}, c) New With {{a, b}, c}). - On Key(c) Equals Key(a, b) Join(DD, Function({{a, b}, c}) Key(a, b, c), Function(d) Key(d), - Join d in DD Function({{a, b}, c}, d) New With {a, b, c, d}) - On Key(a, b, c) Equals Key(d) - - If Join is immediately followed by a Select or a Let operator, they are absorbed by the translation. - When this happens, operatorsEnumerator is advanced appropriately. - - Ex: From a In AA Join b in BB On Key(a) Equals Key(b) ==> AA.Join(BB, Function(a) Key(a), Function(b) Key(b), - Select a + b Function(a, b) a + b) - - Ex: From a In AA Join b in BB On Key(a) Equals Key(b) ==> AA.Join(BB, Function(a) Key(a), Function(b) Key(b), - Let c Function(a, b) New With {a, b, c}) - - - - - - Given result of binding preceding query operators, the outer, bind the following Group Join operator. - - [{Preceding query operators}] Group Join {collection range variable} - [{additional joins}] - On {condition} - Into {aggregation range variables} - - Ex: From a In AA Group Join b in BB AA.GroupJoin(BB, Function(a) Key(a), Function(b) Key(b), - On Key(a) Equals Key(b) ==> Function(a, group_b) New With {a, group_b.Count()}) - Into Count() - - Also, depending on the amount of collection range variables in scope, and the following query operators, - translation can produce a nested, as opposed to flat, compound variable (see BindInnerJoinClause for an example). - - Note, that type of the group must be inferred from the set of available GroupJoin operators in order to be able to - interpret the aggregation range variables. - - - - - Given result of binding preceding query operators, the source, bind the following Group By operator. - - [{Preceding query operators}] Group [{items expression range variables}] - By {keys expression range variables} - Into {aggregation range variables} - - Ex: From a In AA Group By Key(a) AA.GroupBy(Function(a) Key(a), - Into Count() ==> Function(key, group_a) New With {key, group_a.Count()}) - - Ex: From a In AA Group Item(a) AA.GroupBy(Function(a) Key(a), - By Key(a) ==> Function(a) Item(a), - Into Count() Function(key, group_a) New With {key, group_a.Count()}) - - Note, that type of the group must be inferred from the set of available GroupBy operators in order to be able to - interpret the aggregation range variables. - - - - - Returns Nothing if items were omitted. - - - - - Infer type of the group for a Group By operator from the set of available GroupBy methods. - - In short, given already bound itemsLambda and keysLambda, this method performs overload - resolution over the set of available GroupBy operator methods using fake Into lambda: - Function(key, group As typeToBeInferred) New With {group} - - If resolution succeeds, the type inferred for the best candidate is our result. - - - - - Infer type of the group for a Group Join operator from the set of available GroupJoin methods. - - In short, given already bound inner source and the join key lambdas, this method performs overload - resolution over the set of available GroupJoin operator methods using fake Into lambda: - Function(outerVar, group As typeToBeInferred) New With {group} - - If resolution succeeds, the type inferred for the best candidate is our result. - - - - - This is a helper method to create a BoundQueryLambda for an Into clause - of a Group By or a Group Join operator. - - - - - Given result of binding preceding query operators, the source, bind the following Where operator. - - {Preceding query operators} Where {expression} - - Ex: From a In AA Where a > 0 ==> AA.Where(Function(a) a > b) - - - - - - Given result of binding preceding query operators, the source, bind the following Skip While operator. - - {Preceding query operators} Skip While {expression} - - Ex: From a In AA Skip While a > 0 ==> AA.SkipWhile(Function(a) a > b) - - - - - - Given result of binding preceding query operators, the source, bind the following Take While operator. - - {Preceding query operators} Take While {expression} - - Ex: From a In AA Skip While a > 0 ==> AA.TakeWhile(Function(a) a > b) - - - - - - This helper method does all the work to bind Where, Take While and Skip While query operators. - - - - - Given result of binding preceding query operators, the source, bind the following Distinct operator. - - {Preceding query operators} Distinct - - Ex: From a In AA Distinct ==> AA.Distinct() - - - - - - Given result of binding preceding query operators, the source, bind the following Skip operator. - - {Preceding query operators} Skip {expression} - - Ex: From a In AA Skip 10 ==> AA.Skip(10) - - - - - - Given result of binding preceding query operators, the source, bind the following Take operator. - - {Preceding query operators} Take {expression} - - Ex: From a In AA Take 10 ==> AA.Take(10) - - - - - - This helper method does all the work to bind Take and Skip query operators. - - - - - Given result of binding preceding query operators, the source, bind the following Order By operator. - - {Preceding query operators} Order By {orderings} - - Ex: From a In AA Order By a ==> AA.OrderBy(Function(a) a) - - Ex: From a In AA Order By a.Key1, a.Key2 Descending ==> AA.OrderBy(Function(a) a.Key1).ThenByDescending(Function(a) a.Key2) - - - - - - This is a top level binder used to bind bodies of query lambdas. - It also contains a bunch of helper methods to bind bodies of a particular kind. - - - - - Bind body of a lambda representing Select operator selector in context of this binder. - - - - - Bind Select like selector based on the set of expression range variables in context of this binder. - - - - - Bind ExpressionRangeVariableSyntax in context of this binder. - - - - - Bind Let operator selector for a particular ExpressionRangeVariableSyntax. - Takes care of "carrying over" of previously declared range variables as well as introduction of the new one. - - - - - Bind body of a lambda representing first Select operator selector for an aggregate clause in context of this binder. - - - - - Bind Join/From selector that absorbs following Select/Let in context of this binder. - - - - - Bind Join/Let like and mixed selector in context of this binder. - - Join like selector: Function(a, b) New With {a, b} - - Let like selector: Function(a) New With {a, letExpressionRangeVariable} - - Mixed selector: Function(a, b) New With {a, b, letExpressionRangeVariable} - - - - - Bind key selectors for a Join/Group Join operator. - - - - - Helper visitor to determine what join sides are referenced by an expression. - - - - - Helper visitor to report query specific errors for an operand of an Equals expression. - - - - - Knows how to bind FunctionAggregationSyntax and GroupAggregationSyntax - within particular [Into] clause. - - Also implements Lookup/LookupNames methods to make sure that lookup without - container type, uses type of the group as the container type. - - - - - Given aggregationVariables, bind Into selector in context of this binder. - - - - - Bind AggregationRangeVariableSyntax in context of this binder. - - - - - Same as IntoClauseBinder, but disallows references to GroupAggregationSyntax. - - - - - Bind CollectionRangeVariableSyntax, applying AsQueryable/AsEnumerable/Cast(Of Object) calls and - Select with implicit type conversion as appropriate. - - - - - Apply "conversion" to the source based on the target AsClause Type of the CollectionRangeVariableSyntax. - Returns implicit BoundQueryClause or the source, in case of an early failure. - - - - - Convert source expression to queryable type by inferring control variable type - and applying AsQueryable/AsEnumerable or Cast(Of Object) calls. - - In case of success, returns possibly "converted" source and non-Nothing controlVariableType. - In case of failure, returns passed in source and Nothing as controlVariableType. - - - - - Given query operator source, infer control variable type from available - 'Select' methods. - - Returns inferred type or Nothing. - - - - - Given a set of 'Select' methods, infer control variable type. - - Returns inferred type or Nothing. - - - - - Given a method, infer control variable type. - - Returns inferred type or Nothing. - - - - - Return method group or Nothing in case nothing was found. - Note, returned group might have ResultKind = "Inaccessible". - - - - - [methodGroup] can be Nothing if lookup didn't find anything. - - - - - The dispatcher method that handles syntax nodes for all stand-alone statements. - - - - - Check presence of [On Error]/[Resume] statements and report diagnostics based on presence of other - "incompatible" statements. - Report Async/Await diagnostics, which depends on surrounding context. - - - - Defines max allowed rank of the array - Currently set to 32 because of COM+ array type limits - - - - Decodes a set of local declaration modifier flags and reports any errors with the flags. - - The syntax list of the modifiers. - returns True if any errors are reported - - - - Compute the type of a local symbol using the type character, as clause and equals value expression. - 1. Try to compute the type based on the identifier/modified identifier and as clause. If there is a type then we're done. - 2. If OptionInfer is on then evaluate the expression and use that to infer the type. - - ComputeVariableType will only bind the value if the symbol does not have an explicit type. - - The local symbol - The symbols modified identifier is there is one - The optional as clause - The optional initializing expression - The bound initializing expression - The bound as clause type - - - - - - Infer the type of a for-from-to control variable. - - - - - Infer the type of a for-each control variable. - - - - - Infer the type of a variable declared with an initializing expression. - - - - - Verifies that declaration of a local symbol does not cause name clashes. - - - - - Should be called on the binder, at which the check should begin. - - - - - Binds a list of statements and puts in a scope. - - - - - Binds a list of statements and puts in a scope. - - - - - Binds all the common part for ForTo and ForEach loops except the loop body and the next variables. - - The node. - The control variable syntax. - The declared or inferred local symbol. - The control variable. - The diagnostics. - true if there were errors; otherwise false - - - - Binds loop body and the next variables for ForTo and ForEach loops. - - - The binding of the loop body and the next variables cannot happen before the local type inference has - completed, which happens in the specialized binding functions for for each and for loops. Otherwise we would - loose the diagnostics from the type inference. - - The loop body. - The next variables. - - - - Can return Nothing in case of failure. - - - - - Verifies for control variable declaration and outputs diagnostics as needed. - - The variable declarator. - The diagnostics. - - - - This function tries to bind the given controlVariableSyntax. - If it was an identifier of a valid target, the bound node is written to controlVariable and true is returned. - If something else was bound, that is not legal as a control variable (e.g. a property), a BoundBadNode is written - to controlVariable and false is returned. - If nothing declared was found, false is returned and controlVariable is set to nothing. In this case it's safe to - create a new local for the loop node. - - - - - If the control variable was bound to a non bad expression, this function checks if the - bound expression is a variable and reports diagnostics appropriately. - It reports the errors from 10.9.3 2.2 - - The control variable. - The diagnostics. - - - - Verifies that the collection is either a string, and array or matches the design pattern criteria and reports - diagnostics appropriately. - - The collection of the for each statement. - If the collection meets all criteria, currentType contains the type of the element from - the collection that get's returned by the current property. - if set to true, the collection is enumerable (matches design pattern, IEnumerable - or IEnumerable(Of T); otherwise (string or arrays) it's set to false. - The diagnostics. - The collection which might have been converted to IEnumerable or IEnumerable(Of T) if needed. - - - - Checks if the type of the collection matches the for each collection design pattern. - - - The rules are that the collection type must have an accessible GetEnumerator method that takes no parameters and - returns a type that has both: - - an accessible MoveNext method that takes no parameters and returns a Boolean - - an accessible Current property that takes no parameters and is not WriteOnly - - NOTE: this function ONLY checks for a function named "GetEnumerator" with the appropriate properties. - In the spec $10.9 it has these conditions: a type C is a "collection type" if one of - (1) it satisfies MatchesForEachCollectionDesignPattern (i.e. has a method named GetEnumerator() which - returns a type with MoveNext/Current); or - (2) it implements System.Collections.Generic.IEnumerable(Of T); or - (3) it implements System.Collections.IEnumerable. - - This function ONLY checks for part (1). Callers are expected to check for (2)/(3) themselves. The - scenario where something satisfies (2/3) but not (1) is - Class C - Implements IEnumerable - Function g1() as IEnumerator implements IEnumerable.GetEnumerator : End Function - - Clearly this class does not have a method _named_ GetEnumerator, but it does implement IEnumerable. - - The type of the for each collection. - The bound collection expression. - Return type of the property named "Current" if found. - A bound call to GetEnumerator on the collection if found. - A bound placeholder value for the collection local if GetEnumerator - was bound successful - A bound call to MoveNext on the instance returned by GetEnumerator if found. - A bound property access for "Current" on the instance returned by GetEnumerator if found. - A placeholder for the collection expression. - An empty diagnostic bag to capture diagnostics that have to be reported if the - collection matches the design pattern and that can be used instead of the generic error message in case non of the - for each collection criteria match. - If all required methods have been successfully looked up and bound, true is being returned; otherwise false. - - - - - Creates a BoundCall or BoundPropertyAccess from a MethodOrPropertyGroup. - - - This is not a general purpose helper! - - The syntax node. - The method or property group. - The diagnostics. - - - - Checks if a given symbol is a function that takes no parameters. - - - - - Checks if a given symbol is a property that is readable. - - - - - Returns the lookup result if at least one found symbol matches the requirements that are verified - by using the given symbolChecker. Extension methods will be considered in this check. - - The name of the method or property to look for. - The container to look in. - The symbol checker which performs additional checks. - - - - Determines whether derivedType is, inherits from or implements the given interface. - - The possible derived type. - Type of the interface. - - A list of matching interfaces. - - true if derivedType is, inherits from or implements the interface; otherwise, false. - - - - - Initially binding using blocks. - A Using statement names a resource that is supposed to be disposed on completion. - The resource can be an expression or a list of local variables with initializers. - the type of the resource must implement System.IDispose - A using statement of the form: - using Expression - list_of_statements - end using - - when the resource is a using locally declared variable no temporary is generated but the variable is read-only - A using statement of the form: - using v as new myDispose - list_of_statements - end using - It is also possible to use multiple variable resources: - using v1 as new myDispose, v2 as myDispose = new myDispose() - list_of_statements - end using - - - - Check the given type of and report WRN_MutableGenericStructureInUsing if needed. - This function should only be called for a type of a using variable. - - - - Binds a sync lock block. - A SyncLock come in the following form: - - SyncLock <expression> - <body> - End SyncLock - - The node. - The diagnostics. - - - - Bind a type name using the given binder. Returns a type symbol if the binding bound to something, - or an error symbol if the binding failed. In either case, errors may be reported via the - context. For example, if an inaccessible type or type with the wrong arity was found, the best possible - type is returned, but an error is also generated. - - The syntax to bind. - Place to put diagnostics. If no reasonable type was found, an undefined type - diagnostic is placed in here. Other diagnostics (both related to the type being bound, or - type arguments thereof) can be placed here also. - The best type that can be found, or and ErrorTypeSymbol if no reasonable type can be found. - - - - Bind a type or namespace using the given binder. - - The syntax to bind. - The best type or namespace that can be found, or and ErrorTypeSymbol if no reasonable type can be found. - - - - Apply generic type arguments, returning the constructed type. Produces errors for constraints - that aren't validated. If the wrong number of type arguments are supplied, the set of types - is silently truncated or extended with the type parameters. - - The type to construct from - The types to apply - The place to report errors for the generic type as a whole - The place to report errors for each generic type argument. - The diagnostics collection. - The constructed generic type. - - - - Resolves overloaded methods or constructors or properties for SemanticModel. - - - - - The type binder class handles binding of type names. - - - - - Bind a type name using the given binder. Returns a type symbol if the binding bound - to something, or an error symbol if the binding failed. In either case, errors may - be reported via the context. For example, if an inaccessible type or type with the - wrong arity was found, the best possible type is returned, but an error is also - generated. - - The syntax to bind. - The binder to bind within. This binder is used for looking up - unqualified names, accessibility checking, reporting errors, and probably other - stuff too. - The best type that can be found, or and ErrorTypeSymbol if no reasonable type can be found. - - - - If lookup failed for a qualified name, we don't know which part of the lookup failed. Therefore, we have - to check for a type forwarder for each prefix of the name. - - Starting assembly. - Full name of type that failed lookup. Shortened as different prefixes are checked. - GetBaseNamesForDiagnostic(typeSyntax) (basically dot-delimited list of names). Shortened as different prefixes are checked. - Set if some prefix matches a forwarded type. - True if forwardedToAssembly is non-null and the type indicated by typeSyntax/diagName is in a forwarder cycle. - - - - Look for a type forwarder for the given type in the containing assembly and any referenced assemblies. - If one is found, search again in the target assembly. Return the last assembly in the chain. - - The assembly in which to look for the type forwarder. - The metadata name of the (potentially) forwarded type, including the arity (if non-zero). - The arity of the forwarded type. - Set to true if a cycle was found in the type forwarders. - - - Since this method is intended to be used for error reporting, it stops as soon as it finds - any type forwarder - it does not check other assemblies for consistency or better results. - - NOTE: unlike in C#, this method searches for type forwarders case-insensitively. - - - - - Bind a type or namespace using the given binder. - - The syntax to bind. - The binder to bind within. This binder is used for looking up - unqualified names, accessibility checking, reporting errors, and probably other stuff too. - The best type or namespace that can be found, or and ErrorTypeSymbol if no reasonable type can be found. - - - - Lookup a typeSyntax, confining the lookup to namespaces or types. Returns a LookupResult - that summarizes the results of the lookup, which might contain a Diagnostic associated with the lookup. - However, other diagnostics associated with parts of the binding process (i.e., binding type arguments) - will be emitted via the diagnostic bag. - - The LookupResult will always have at most one symbol in it, since types and namespaces are not overloadable symbols. - - - - - Check that the given symbol is a type. If it is a namespace, report an error into the diagnostic bag - and return an error symbol. - - - - - Bind a built in type name to the correct type symbol. - - - - - Bind array type syntax to the correct type symbol. - - - - - Bind Nullable (?) type syntax to the correct type symbol. - - - - - Bind a basic name to a type or namespace. - - - - - Bind a generic name to a type. - - - - - Bind a dotted name to a type or namespace. - - - - - Bind a generic dotted name to a type or namespace. - - - - - Bind to the global namespace. - - - - - Bind a list of type arguments to their types. - - - - - Given a type syntax, strip out ?, (), (of xxx) stuff and return a string of the form - x.y.z, for use in an error message. - - - - - If the identifier has a type character, report an error on it. - - - - - Given a list of keywords and an set of keywords kinds to search, return the first keyword - in the list, if any, that matches one of the keyword kinds. - - - - - Map syntax kind of a modifier keyword to SourceMemberFlags value - - - - - Decodes a set of modifier flags, reported any errors with the flags. - - The syntax list of the modifiers. - A bit-flag of the allowable modifiers. If a bit isn't set, an error occurs. - Error ID to report if a bad modifier is found. - The default accessibility. - Flags for the modifiers. - - - - Decode a list of parameter modifiers, and return the flags associated with it. - - - - - Create the Nullable version of a type. - - - - - Possible create the array version of type, given the element type and the array modifier syntax. - - - - - Possibly create the array version of type, given the element type and the array modifier syntax. - - - - - Create the array version of type, given the element type and the array modifier syntax. Throws if - there aren't any array modifiers and the result is not an array type. - - - - - Given an identifier and an As clause, return true if the identifier does not have a type - declared for it (e.g., no type character and no as clause). - - - - - Given an identifier and an As clause, return true if the identifier does not have a type - declared for it (e.g., no type character and no as clause). - - - - - Given an identifier, return true if the identifier declares an array. - (e.g., identifier specifies ()) - - - - - Flags to specify where the decoding of the modified identifier's type happens. - - - - - No context given (default). - - - - - Modified identifier appeared in a lambda declaration. - - - - - Modified identifier appeared in a local declaration. - - - - - Modified identifier appeared in a field declaration. - - - - - Modified identifier appeared in a parameter. - - - - - Modified identifier appeared in a query range variable declaration. - - - - - Combined flag to express that a modified identifier appeared in a local or field declaration. - - - - - Combined flag to express that a modified identifier appeared in a parameter of a lambda. - - - - - Given a modified identifier and a type, return the actual type to use. Applies the type character - and type modifiers to the given type. - - The modified identifier. - Bound type after the As or a type from the initializing value expression. Can be nothing if no type was supplied. - If specified then it is the syntax for the as clause and the type is the bound type from this syntax. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type, as modified by the type character, type modifiers. Uses Object as default if needed. - - - - - Given a modified identifier and a type syntax, return the actual type to use. Applies the type character - and type modifiers to the given type. - - The modified identifier. - As clause syntax. Can be nothing if no type was supplied. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type of the AsClauseOpt before applying any modifiers - The type, as modified by the type character, type modifiers. Uses Object as default if needed. - - - - Given a modified identifier and a type syntax, return the actual type to use. Applies the type character - and type modifiers to the given type. - - The modified identifier. - As clause syntax. Can be nothing if no type was supplied. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type, as modified by the type character, type modifiers. Uses Object as default if needed. - - - - Given a identifier and as clause syntax, return the actual type to use. Uses the type character or the type syntax. - - The identifier. - Syntax for optional as clause. Can be nothing if no type was supplied. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type, either from the type character or the as clause. Uses Object as default if needed. - - - - - Given a identifier and as clause syntax, return the actual type to use. Uses the type character or the type syntax. - - The identifier. - Syntax for optional as clause. Can be nothing if no type was supplied. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type, either from the type character or the as clause. Uses Object as default if needed. - - - - - Given a identifier and a type, return the actual type to use. Uses the type character or the given type. - - The identifier. - Bound type after the As. Can be nothing if no type was supplied. - Delegate to get diagnostic info to generate if a required type is missing (Option Strict On/Custom) - The type, either from the type character or the as clause type. Uses Object as default if needed. - - - - - Decode an option "On" or "Off" values into true or false. Not specified is considered true. - - - - - Decode an option "Text" or "Binary" value into true or false. The syntax is not optional. - - - - - Decode a parameter list from a delegate declaration into a list of parameter symbols. - - Containing method declaration. - Optional parameter list syntax - - - - Decode a parameter list into a list of parameter symbols. - - Containing method declaration. - Parameter is for a lambda expression rather than a regular method. - Optional parameter list syntax - DO NOT call this to get the parameters of a delegate declaration (DecodeParameterListOfDelegateDeclaration). - - - - Decode a parameter list into a list of parameter symbols. - - Containing property declaration. - Optional parameter list syntax - - - - Modifier validation code shared between properties and methods. - - - - - This function checks if the given expression is a constant from a language point of view and returns - constant value if it is. This is different from the fact that the bound node has a constant value. - This method also adds the required diagnostics for non const values. - - The bound expression. - The diagnostics. - ConstantValue if the bound expression is compile time constant and can be used - for const field/local initializations or enum member initializations. Nothing if not - - - isWinMd says whether to mangle the name for winmdobj output. See the param tag for details. - isWinMd is only necessary for set properties, so any MethodKind which is definitely not - a set property can safely set this value to False. - - - - Returns True if the xmlns { prefix, namespace } pair matches - an Imports declaration and there aren't any xmlns declarations - for the same prefix on any outer XElement scopes. - - - - - Bind the expression within the XmlEmbeddedExpressionSyntax, - and wrap in a BoundXmlEmbeddedExpression. - - - - - If the method or property group is not Nothing, bind as an invocation expression. - Otherwise return a BoundBadExpression containing the arguments. - - - - - Check if XML features are allowed. If not, report an error and return a - separate DiagnosticBag that can be used for binding sub-expressions. - - - - - Bind any xmlns declaration attributes and return the bound nodes plus a Dictionary - of { prefix, namespace } pairs that will be used for namespace lookup at and below - the containing XmlElement. Any xmlns declarations that are redundant with Imports - in scope (same prefix and namespace) are dropped, and instead, an entry is added - to the 'importedNamespaces' collection. When the root XmlElement is generated, - xmlns attributes will be added for all entries in importedNamespaces. Any attributes - other than xmlns are added to the 'otherAttributes' collection for binding by the caller. - - - - - If the attribute represents an xmlns declaration, populate 'prefix' and 'namespace', - and generate diagnostics and set hasErrors if there are errors. Returns True if this - is an xmlns declaration, even if there are errors. Unless this attribute is from an - Imports statement, generate the BoundExpression for the namespace as well. - (For Imports, binding is skipped, since a BoundNode is not needed, and in the - invalid case of "xmlns:p=<%= expr %>", expr may result in a cycle. - - - - - If name is "xmlns", set prefix to String.Empty and return True. - If name is "xmlns:p", set prefix to p and return True. - Otherwise return False. - - - - - State tracked for the root XmlElement while binding nodes within the - tree. This state is mutable since it includes the set of namespaces from - Imports referenced within the tree. Ideally, this state would be part of the - XmlRootElementBinder, but since this state is mutable, there would be - issues caching and reusing the Binder. Instead, the state is passed - explicitly as an argument to each binding method. - - - - - Makes it look like Option Strict is Off, all other operations - are delegated up the chain. - - - - - Data for Binder.BindImportClause that exposes dictionaries of - the members and aliases that have been bound during the - execution of BindImportClause. It is the responsibility of derived - classes to update the dictionaries in AddMember and AddAlias. - - - - - Provides context for binding body of a Lambda. - - - - - Special binder for binding ObjectInitializers. - This binder stores a reference to the receiver of the initialization, because fields in an object initializer can be - referenced with an omitted left expression in an member access expression (e.g. .Fieldname = .OtherFieldname). - - - - - Use the receiver of the ObjectCreationExpression as the omitted left of a member access. - - - - - Use the receiver of the ObjectCreationExpression to as the omitted left of a dictionary access. - - - - - Holds information about a member in a compact form. Used for all non-type members for simplicity - - - - - - These are the flags that are found in the syntax. They must correspond to the modifiers list. - - - - - - These are flags that are implied or computed - - - - - - Binder used to bind statements inside With blocks. - - - - Reference to a With statement syntax this binder is created for - - - Reference to an expression from With statement - - - - Holds information needed by With block to properly bind - references to With block expression placeholder - - - - - True if there were references to the With statement expression - placeholder which prevent ByRef local from being used - - - - - With statement expression placeholder is a bound node being used in initial binding - to represent with statement expression. In lowering it is to be replaced with - the lowered expression which will actually be emitted. - - - - - A draft version of initializers which will be used in this With statement. - Initializers are expressinos which are used to capture expression in the current - With statement; they can be empty in some cases like if the expression is a local - variable of value type. - - Note, the initializers returned by this property are 'draft' because they are - generated based on initial bound tree, the real initializers will be generated - in lowering based on lowered expression form. - - - - - A draft version of placeholder substitute which will be used in this With statement. - - Note, the placeholder substitute returned by this property is 'draft' because it is - generated based on initial bound tree, the real substitute will be generated in lowering - based on lowered expression form. - - - - Holds information needed by With block to properly bind - references to With block expression, placeholder, etc... - - - Original bound expression from With statement - - - Bound placeholder expression if used, otherwise Nothing - - - Diagnostics produced while binding the expression - - - - Draft initializers for With statement, is based on initial binding tree - and is only to be used for warnings generation as well as for flow analysis - and semantic API; real initializers will be re-calculated in lowering - - - - - Draft substitute for With expression placeholder, is based on initial - binding tree and is only to be used for warnings generation as well as - for flow analysis and semantic API; real substite will be re-calculated - in lowering - - - - - If With statement expression is being used from nested lambda there are some restrictions - to the usage of Me reference in this expression. As these restrictions are only to be checked - in few scenarios, this flag is being calculated lazily. - - - - Create a new instance of With statement binder for a statement syntax provided - - - - A bound tree walker which search for a bound Me and MyClass references of value type. - Is being only used for calculating the value of 'ExpressionHasByRefMeReference' - - - - Asserts that the node is NOT from With statement expression - - - - Binding state used by the rewriter for XContainer derived types. - - - - - A binder to expose namespaces from Imports<xmlns:...> statements. - - - - - A binder for XmlElement declarations. - - - - - An extension property in reduced form, with first parameter - removed and exposed as an explicit receiver type. - - - - - A BinderBuilder builds a linked list of Binder objects for various typical binders. - - Typically the binder chain looks something like this: - BackstopBinder - SourceModuleBinder - TypesOfImportedNamespacesMembersBinder (for modules of project-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for project-level imported namespaces and types) - ImportAliasesBinder (for project-level import aliases) - SourceFileBinder - TypesOfImportedNamespacesMembersBinder (for modules of file-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for file-level imported namespaces and types) - ImportAliasesBinder (for file-level import aliases) - NamespaceBinder... (for each namespace, starting at the global namespace) - TypeBinder... (for each type, and nested type) - (maybe more) - DiagnosticBagBinder - - Note: Binders are also built by the BinderCache class. Changes to how namespace and type Binders - are built may need changes there also. - - - - - Creates a binder for a binding global imports in a source file. This includes the following binders: - BackstopBinder - SourceModuleBinder - SourceFileBinder - NamespaceBinder (for the global namespace) - IgnoreBaseClassesBinder (so that base classes are ignore during binding) - - - - - Creates a binder for a binding project-level imports. This includes the following binders: - BackstopBinder - SourceModuleBinder - ProjectImportsBinder - NamespaceBinder (for the global namespace) - IgnoreBaseClassesBinder (so that base classes are ignore during binding) - - - - - Creates a binder for a source file. This includes the following binders: - BackstopBinder - SourceModuleBinder - TypesOfImportedNamespacesMembersBinder (for modules of project-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for project-level imported namespaces and types) - ImportAliasesBinder (for project-level import aliases) - SourceFileBinder - TypesOfImportedNamespacesMembersBinder (for modules of file-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for file-level imported namespaces and types) - ImportAliasesBinder (for file-level import aliases) - - - - - Creates a binder for a project level namespace declaration - This includes the following binders: - BackstopBinder - SourceModuleBinder - TypesOfImportedNamespacesMembersBinder (for modules of project-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for project-level imported namespaces and types) - SourceFileBinder - TypesOfImportedNamespacesMembersBinder (for modules of file-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for file-level imported namespaces and types) - ImportAliasesBinder (for file-level import aliases) - NamespaceBinder... (for each namespace, starting at the global namespace) - - - - - Creates a binder for a source namespace declaration (the part of a namespace - in a single namespace declaration). This includes the following binders: - BackstopBinder - SourceModuleBinder - TypesOfImportedNamespacesMembersBinder (for modules of project-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for project-level imported namespaces and types) - SourceFileBinder - TypesOfImportedNamespacesMembersBinder (for modules of file-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for file-level imported namespaces and types) - ImportAliasesBinder (for file-level import aliases) - NamespaceBinder... (for each namespace, starting at the global namespace) - - - - - Creates a binder for a source type declaration (the part of a type in a single - type declaration. For partial types this include just one part). This includes the following binders: - BackstopBinder - SourceModuleBinder - TypesOfImportedNamespacesMembersBinder (for modules of project-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for project-level imported namespaces and types) - SourceFileBinder - TypesOfImportedNamespacesMembersBinder (for modules of file-level imported namespaces) - ImportedTypesAndNamespacesMembersBinder (for file-level imported namespaces and types) - ImportAliasesBinder (for file-level import aliases) - NamespaceBinder... (for each namespace, starting at the global namespace) - NamedTypeBinder... (for each type, and nested type) - - - - - Creates a binder for a source attribute block from the containing type or containing namespace. - This binder is used by the normal compilation code path for source attributes. In this case, no - containing binder exists. - - - - The symbol which is the target of the attribute. - - - - Creates a binder for a source attribute block when a containing binder is available. Used by semantic model. - - - - - Creates a binder for binding a source parameter's default value. - - - - - Creates a binder for binding for binding inside the interior of documentation comment - - - - - Create a binder for the source module. Includes the following: - BackstopBinder - SourceModuleBinder - - - - - The class finds the correct Binder to use for a node in a syntax - tree, down to method level. Within a method, the has a - cache of further binders within the method. - - The caches results so that binders are efficiently reused between queries. - - - - - A specific location for binding. - - - - - Binder used to bind Catch blocks. - It hosts the control variable (if one is declared) - and inherits BlockBaseBinder since there are no Exit/Continue for catch blocks. - - - - - This binder keeps track of the set of constant fields that are currently being evaluated - so that the set can be passed into the next call to SourceFieldSymbol.ConstantValue (and - its callers). - - - - - Binder used for field, auto property initializations and parameter default values. - - - - - Backing field for the ContainingMember property - - - - Root syntax node - - - - Initializes a new instance of the class. - - The field, property or parameter symbol with an initializer or default value. - The next binder. - Root syntax node - - - - The member containing the binding context. - This property is the main reason for this binder, because the binding context for an initialization - needs to be the field or property symbol. - - - - Field or property declaration statement syntax node - - - - This binder keeps track of the set of parameterss that are currently being evaluated - so that the set can be passed into the next call to ParameterSymbol.DefaultConstantValue (and - its callers). - - - - - This binder keeps track of the set of symbols that are currently being evaluated - so that the set can be passed to methods to support breaking infinite recursion - cycles. - - - - - Provides a way to obtain binders for descendant scopes in method or lambda body. - Factory for a method body does not create binders for scopes inside a lambda, - contained by the method. A dedicated factory must be created for each lambda body. - - - - - Binder used for interiors of documentation comment - - - - - Assuming there is one, the containing member of the binder is the commented symbol if and only if - the commented symbol is a non-delegate named type. (Otherwise, it is the containing type or namespace of the commented symbol.) - - - Delegates don't have user-defined members, so it makes more sense to treat - them like methods. - - - - - Symbol commented with the documentation comment handled by this binder. In general, - all name lookup is being performed in context of this symbol's containing symbol. - We still need this symbol, though, to be able to find type parameters or parameters - referenced from 'param', 'paramref', 'typeparam' and 'typeparamref' tags. - - - - - Removes from symbol collection overriden methods or properties - - - - - Binder used for interiors of documentation comment for binding 'cref' attribute value - - - - - Binder used for interiors of documentation comment for binding 'name' attribute - value of 'param' and 'paramref' documentation comment tags - - - - - Binder used for interiors of documentation comment for binding 'name' attribute - value of 'typeparam' documentation comment tag - - - - - Binder used for interiors of documentation comment for binding 'name' attribute - value of 'typeparamref' documentation comment tag - - - - - This is a binder for use when early decoding of well known attributes. The binder will only bind expressions that can appear in an attribute. - Its purpose is to allow a symbol to safely decode any attribute without the possibility of any attribute related infinite recursion during binding. - If an attribute and its arguments are valid then this binder returns a BoundAttributeExpression otherwise it returns a BadExpression. - - - - - Check that the syntax can appear in an attribute argument. - - - - - A ExecutableCodeBinder provides context for looking up labels within a context represented by a syntax node, - and also implementation of GetBinder. - - - - - Binder for Finally blocks. - Its purpose is to hide exit try label of the enclosing try binder. - - - - - Binder used to bind For and ForEach blocks. - It hosts the control variable (if one is declared) - and inherits ExitableStatementBinder to provide Continue/Exit labels if needed. - - - - - Holds all information needed to rewrite a bound for each node. - - - - - A bound call to the GetEnumerator method. - - - - - - A bound call to the MoveNext method. - - - - - - A bound access to the Current property. - - - - - - True is the enumerator needs or may need (in case of IEnumerator) to be disposed. - - - - - - True if the enumerator is, inherits from or implements IDisposable. - - - - - - The condition that is used to determine whether to call Dispose or not (contains a placeholder). - - - - - - The conversion of the enumerator to the target type on which Dispose is called - (contains a placeholder). - - - - - - The conversion of the return value of the current call to the type of the control variable - (contains a placeholder). - - - - - - Placeholder for the bound enumerator local. - - - - - - Placeholder for the bound call to the get_Current method. - - - - - - Placeholder for the collection; used only when the collection's type - is not an one dimensional array or string. - - - - - - Initializes a new instance of the class. - - A bound call to the GetEnumerator method. - A bound call to the MoveNext method. - A bound access to the Current property. - if set to true the enumerator needs to be disposed. - if set to true the enumerator is or inherits from or implements IDisposable. - The condition whether to call dispose or not. - The conversion of the enumerator to call Dispose on. - The conversion from Current return type to the type of the controlVariable. - The placeholder for the bound enumerator local. - The placeholder for the expression that get's the current value. - The placeholder for the collection expression. - - - - This binder is for binding the argument to GetType. It traverses - the syntax marking each open type ("unbound generic type" in the - VB spec) as either allowed or not allowed, so that BindType can - appropriately return either the corresponding type symbol or an - error type. - - - - - This visitor walks over a type expression looking for open types. - Open types are allowed if an only if: - 1) There is no constructed generic type elsewhere in the visited syntax; and - 2) The open type is not used as a type argument or array/nullable - element type. - - - - The argument to typeof. - - Keys are GenericNameSyntax nodes representing unbound generic types. - Values are false if the node should result in an error and true otherwise. - - True if no constructed generic type was encountered. - - - - Causes lookups to ignore base classes. Used for binding - Imports statements. - - - - - The ImplicitVariableBinder manages implicitly declared local variables in VB. - Unlike other Binders, the ImplicitVariableBinder is observably - mutable -- as new implicit local variables are declared, those variables will be - found by lookup operations on the binder. This mutability requires that use of the - ImplicitVariableBinder be treated with somewhat more care than other binders. - - The implicit variable binder is placed immediately outside the method body binder - when the method body binder is created. - - Furthermore, the semantics of binding of implicitly declared local variables in VB - are order dependent because of type characters: - x$ = "hello": x = "hi" ' OK - x = "hi": X$ = "hello" ' error: x is of type Object. - - An ImplicitVariableBinder can be frozen, at which point additional variables cannot - be declared. This should be done once an entire method body is bound. - - Thus, it is important that only one thread at a time be allowed to access the implicit variable binder for - declaration (once frozen, it is OK for multiple threads to do lookups.) - - In Debug, Asserts validate these rules. - - Additional assert to make sure that declarations are handled in order is handled by - - - - - - If Option Explicit is Off for this source file, then implicit variable declaration will be allowed - in this binder. "containerOfLocals" is the container for implicitly declared variables. - - - - - Disallow additonal local variable declaration (make binder frozen) - and report delayed shadowing diagnostics. - - - - - - True if implicit variable declaration is done (binder is frozen and doesn't - allow additional implicit variable declaration) - - - - - True if we are in a place that allows implicit variable declaration. This binder - implies that. - - - - - Get all implicitly declared variables that were declared in this method body. The binder - must be frozen before this can be obtained. - - - - - Declare an implicit local variable. The type of the local is determined - by the type character (if any) on the variable. - - - - - A tricky problem is reporting the "Variable 'x' hides a variable in an enclosing block" message if the variable in - an enclosing block is an implicit variable that hasn't been declared yet. We handle this by remembering any variable - declarations in enclosed blocks, and then report the error when the implicit variable is declared. - - - - - A ImportAliasesBinder provides lookup for looking up import aliases (A = Foo.Bar), - either at file level or project level. - - - - - Provides lookup in imported namespaces and types (not the alias kind), - either at file level or project level. - - - - - Collect extension methods with the given name that are in scope in this binder. - The passed in ArrayBuilder must be empty. Extension methods from the same containing type - must be grouped together. - - - - - Creates an InitializerSemanticModel that allows asking semantic questions about an initializer node. - - - - - Creates a speculative InitializerSemanticModel that allows asking semantic questions about an initializer node that did not appear in the original source code. - - - - - The is used to build up the map of all s within a method body, and the associated - . To do so it traverses all the statements, handling blocks and other - statements that create scopes. For efficiency reasons, it does not traverse into - expressions. This means that blocks within lambdas and queries are not created. - Blocks within lambdas are bound by their own when they are - analyzed. - - For reasons of lifetime management, this type is distinct from the - which also creates a map from to . That type owns it's binders - and that type's lifetime is that of the compilation. Therefore we do not store - binders local to method bodies in that type's cache. - - - - - Creates binders for top-level executable statements. - - - - - This binder is for binding the initializer of an implicitly typed - local variable. While binding an implicitly typed local variable - this binder is used to break cycles. - - - - - A simple Binder that wraps another Binder and reports a specific - binding location, but otherwise delegates to the other Binder. - - - - - Options that can be used to modify the symbol lookup mechanism. Multiple options can be combined together. - - - - - Consider all symbols, using normal accessibility rules. - - - - - Consider only namespaces and types. - - - - - Consider only labels. If this is not set, labels are not considered at all. - - - - - Do not consider symbols that are shared members. - - - - - Do not consider symbols that are instance members. - - - - - Do not consider the return value local variable. - This is similar to the C# LookupOption.MustBeInvocableMember. - - The only non-invocable member in Visual Basic is the function return variable - (see language specification 10.1.1). If this flag is set, lookup will not - return the function return variable, but instead return the containing function or property, - and any overloads thereof. - - - - - Do not do lookup in base classes (similar to how types in Imports are bound). - - - - - - Ignore accessibility checking when determining if a symbol is a viable match. - - - - - Consider methods of any arity (but still consider arity for other types of symbols). - - - - - Do not look for extension methods. - - - - - Ensures that lookup eagerly looks for extension methods and merges them with - instance methods, if any. - - If this flag is not set and lookup found viable instance method, it will not look - for extension methods that might be in scope. - - It is not an error to combine this flag with LookupOptions.IgnoreExtensionMethods, - the LookupOptions.IgnoreExtensionMethods takes precedence. - - - - - Consider only methods. Used by Query Expressions. - - 11.21.2 Queryable Types - When binding well-known method names, non-methods are ignored for the purpose of - multiple inheritance in interfaces and extension method binding, although shadowing - semantics still apply. - - - - - Ignore 'throughType' in accessibility checking. Used in checking accessibility of symbols accessed via 'MyBase'. - - - - - Do not consider locals or parameters during lookup. - - - - - Consider only events. Used to indicate that lookup searches for events only. Is used - to change lookup semantic for searching inside interfaces having CoClass attribute defined. - - Essentially this is a special casing for searching events (and non-event symbols) in - COM interfaces, see the following example from Dev11 code: - - Performing a lookup in a CoClass interface affects how we treat ambiguities between events and other members. - In COM, events are separated into their own binding space, thus it is possible for an event and member to have - the same name. This is not possible in the .NET world, but for backwards compatibility, especially with Office, - the compiler will ignore ambiguities when performing a lookup in a CoClass interface. Example: - - Interface _Foo - Sub Quit - - Interface FooSource - Event Quit - - < System.Runtime.InteropServices.CoClass(GetType(FooClass)) > - Interface Foo : Inherits _Foo, FooSource - - Class FooClass : Implements Foo - Event Quit Implements Foo.Quit - Sub Quit Implements Foo.Quit - - - - - - When performing a lookup in interface do NOT lookup in System.Object - - - - - Represents a result of lookup operation over a 0 or 1 symbol (as opposed to a scope). - The typical use is to represent that a particular symbol is good/bad/unavailable. - -For more explanation of Kind, Symbol, Error - see LookupResult. - - - - - A LookupResult summarizes the result of a name lookup, and allows combining name lookups - from different scopes in an easy way. - - A LookupResult can be ONE OF: - empty - nothing found. - a non-accessible result - this kind of result means that search continues into further scopes of lower priority for - a viable result. An error is attached with the inaccessibility errors. Non-accessible results take priority over - non-viable results. - a non-viable result - a result that that means that the search continues into further scopes of lower priority for - a viable or non-accessible result. An error is attached with the error that indicates - why the result is non-viable. - a bad symbol that stops further lookup - this kind of result prevents lookup into further scopes of lower priority. - a diagnostic is attached explaining why the symbol is bad. - ambiguous symbols.- In this case, an AmbiguousSymbolDiagnostic diagnostic has the other symbols. - a good symbol, or set of good overloaded symbols - no diagnostic is attached in this case - - Occasionally, good or ambiguous results are referred to as "viable" results. - - Multiple symbols can be represented in a single LookupResult. Multiple symbols are ONLY USED for overloadable - entities, such an methods or properties, and represent all the symbols that overload resolution needs to consider. - When ambiguous symbols are encountered, a single representative symbols is returned, with an attached AmbiguousSymbolDiagnostic - from which all the ambiguous symbols can be retrieved. This implies that Lookup operations that are restricted to namespaces - and/or types always create a LookupResult with 0 or 1 symbol. - - Note that the class is poolable so its instances can be obtained from a pool via GetInstance. - Also it is a good idea to call Free on instances after they no longer needed. - - The typical pattern is "caller allocates / caller frees" - - - Dim result = LookupResult.GetInstance() - - scope.Lookup(result, "foo") - ... use result ... - - result.Clear() - anotherScope.Lookup(result, "moo") - ... use result ... - - result.Free() 'result and its content is invalid after this - - - - - Set current result according to another - - - - - Set current result according to another - - - - - Set current result according to a given symbol - - - - - - - Merge two results, returning the best. If there are - multiple viable results, either produce a result with both symbols if they - can overload each other, or use the current. - - Other result. - - If the checkIfCurrentHasOverloads is True, then we only overload if every symbol in - our current result has "Overloads" modifier; otherwise we overload - regardless of the modifier. - - - - - - Returns: negative value - when first lost, 0 - when neither lost, > 0 - when second lost. - - - - - Returns: negative value - when current lost, 0 - when neither lost, > 0 - when other lost. - - - - - Returns: negative value - when first lost, 0 - when neither lost, > 0 - when second lost. - - - - - Returns: negative value - when namespace lost, 0 - when neither lost, > 0 - when type lost. - - - - - Replace the symbol replaced with a new one, but the kind - and diagnostics retained from the current result. Typically used when constructing - a type from a symbols and type arguments. - - - - - Binding info for expressions and statements that are part of a member declaration. - - - - - Get the highest bound node in the tree associated with a particular syntax node. - - - - - Get the lowest bound node in the tree associated with a particular syntax node. Lowest is defined as last - in a pre-order traversal of the bound tree. - - - - - If node has an immediate parent that is an expression or statement or attribute, return - that (making sure it can be bound on its own). Otherwise return Nothing. - - - - - Get a summary of the bound nodes associated with a particular syntax nodes, - and its parent. This is what the rest of the semantic model uses to determine - what to return back. - - - - - Gets a summary of the bound nodes associated with an underlying - bound call node for a raiseevent statement. - - - - - if "node" argument is a BoundRaiseEvent, returns its underlying boundcall instesd. - Otherwise returns "node" unchanged. - - - - - Return True if the statement can be bound by a Binder on its own. - For example Catch statement cannot be bound on its own, only - as part of Try block. Similarly, Next statement cannot be bound on its own, - only as part of For statement. - - Only handles statements that are in executable code. - - - - - Get all the syntax and declaration errors within the syntax tree associated with this object. Does not get - errors involving compiling method bodies or initializers. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - The declaration errors for a syntax tree are cached. The first time this method is called, a ll - declarations are analyzed for diagnostics. Calling this a second time will return the cached diagnostics. - - - - - Get all the syntax and declaration errors within the syntax tree associated with this object. Does not get - errors involving compiling method bodies or initializers. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - The declaration errors for a syntax tree are cached. The first time this method is called, a ll - declarations are analyzed for diagnostics. Calling this a second time will return the cached diagnostics. - - - - - Get all the errors within the syntax tree associated with this object. Includes errors involving compiling - method bodies or initializers, in addition to the errors returned by GetDeclarationDiagnostics. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - - Because this method must semantically all method bodies and initializers to check for diagnostics, it may - take a significant amount of time. Unlike GetDeclarationDiagnostics, diagnostics for method bodies and - initializers are not cached, the any semantic information used to obtain the diagnostics is discarded. - - - - - Given a type declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The type symbol that was declared. - - - - Given a enum declaration, get the corresponding type symbol. - - The syntax node that declares an enum. - The type symbol that was declared. - - - - Given a namespace declaration, get the corresponding type symbol. - - The syntax node that declares a namespace. - The namespace symbol that was declared. - - - - Given a method, property, or event declaration, get the corresponding symbol. - - The syntax node that declares a method, property, or event. - The method, property, or event symbol that was declared. - - - - Given a parameter declaration, get the corresponding parameter symbol. - - The syntax node that declares a parameter. - The parameter symbol that was declared. - - - - Given an import clause get the corresponding symbol for the import alias that was introduced. - - The import statement syntax node. - The alias symbol that was declared or Nothing if no alias symbol was declared. - - - - Given a type parameter declaration, get the corresponding type parameter symbol. - - The syntax node that declares a type parameter. - The type parameter symbol that was declared. - - - - Gets the semantic information of a for each statement. - - The for each syntax node. - - - - The SyntaxTree that is bound - - - - - Get the correct enclosing binder for the given position, taking into account - block constructs and lambdas. - - Binder for the method body, lambda body, or field initializer. The - returned binder will be nested inside the binder, or be this binder. - Syntax node that is the root of the construct associated with "memberBinder". - Syntax node that position is in. - Position we are finding the enclosing binder for. - The enclosing binder within "memberBinder" for the given position. - - WARN WARN WARN: The result is not guaranteed to have IsSemanticModelBinder set. - - - - - If answer is True, the binder is returned via [binder] parameter. - - - - - If answer is True, the binder is returned via [binder] parameter. - - - - - Get all bound nodes associated with a node, ordered from highest to lowest in the bound tree. - Strictly speaking, the order is that of a pre-order traversal of the bound tree. - As a side effect, caches nodes and binders. - - - - - A collection initializer syntax node is not always treated as a VB expression syntax node - in case it's part of a CollectionInitializer (outer most or top level initializer). - - The syntax node to check. - True if the syntax node represents an expression syntax, but it's not - an expression from the VB language point of view; otherwise False. - - - - Incrementally bind bindingRoot (which is always a non-lambda enclosed statement, or the - root of this model). Side effect is to store nodes into the guarded node map. - - - - - In order that any expression level special binders are used, lambdas are fully resolved, - and that any other binding context is correctly handled, we only use the binder to create bound - nodes for: - a) The root syntax of this semantic model (because there's nothing more outer to bind) - b) A stand-alone statement is that is not inside a lambda. - - - - - The incremental binder is used when binding statements. Whenever a statement - is bound, it checks the bound node cache to see if that statement was bound, - and returns it instead of rebinding it. - - FOr example, we might have: - While x > foo() - y = y * x - z = z + y - End While - - We might first get semantic info about "z", and thus bind just the statement - "z = z + y". Later, we might bind the entire While block. While binding the while - block, we can reuse the binding we did of "z = z + y". - - - - - We override GetBinder so that the BindStatement override is stil - in effect on nested binders. - - - - - We override GetBinder so that the BindStatement override is stil - in effect on nested binders. - - - - - Traverse a tree of bound nodes, and update the following maps inside the SemanticModel: - - guardedNodeMap - a map from syntax node to bound nodes. Bound nodes are added in the order they are bound - traversing the tree, so they will be in order from upper to lower node. - - guardedQueryBindersMap - a map from query-specific syntax node to an array of binders used to - bind various children of the node. - - guardedAnonymousTypeBinderMap - a map from Anonymous Type initializer's FieldInitializerSyntax to - Binder.AnonymousTypeFieldInitializerBinder used to bind its expression. - - - - - Should we record bound node mapping for this node? Generally, we ignore compiler generated, but optionally can - allow. - - - - - Provides context for binding body of a MethodSymbol. - - - - - Create binder for binding the body of a method. - - - - - Creates an MethodBodySemanticModel that allows asking semantic questions about an attribute node. - - - - - Creates a speculative MethodBodySemanticModel that allows asking semantic questions about an attribute node that did not appear in the original source code. - - - - - A MethodTypeParametersBinder provides the context for looking up type parameters on a method. - It is split out since binding of type in the parameters and return value need to happen with a context - that includes the type parameters, but we don't have a fully complete method symbol yet. - - - - - Looks up the name in the type parameters - a) type parameters in this type (but not outer or base types) - Returns all members of that name, or empty list if none. - - - - - A NamedTypeBinder provides the context for a type symbol; e.g., looking up names - inside the type. - - - - - Some nodes have special binder's for their contents - - - - - Gets all symbols of the particular name as - a) members of this type - b) members of base types - c) type parameters in this type (but not outer or base types) - In that order. - - Note, that section "11.4.4 Simple Name Expression" of VB Language spec - implies that type parameters are examined first, and only then members - of the type are examined. But this is inconsistent with Dev10 behavior. - - Returns all members of that name, or empty list if none. - - - - - Collect extension methods with the given name that are in scope in this binder. - The passed in ArrayBuilder must be empty. Extension methods from the same containing type - must be grouped together. - - - - - A namespace binder provides the context for a namespace symbol; e.g., looking up names - inside the namespace. - - - - - Collect extension methods with the given name that are in scope in this binder. - The passed in ArrayBuilder must be empty. Extension methods from the same containing type - must be grouped together. - - - - - A ProjectImportsBinder provides the equivalent of a SourceFileBinder, but for the project-level - imports, which don't live in any file. - It primarily provides the services of getting locations of nodes, since it holds onto a SyntaxTree, although - that tree isn't technically a source tree. - - - - - Returns True for - - - - - A SourceFileBinder provides the context associated with a give source file, not including the - Imports statements (which have their own binders). It primarily provides the services of getting - locations of node, since it holds onto a SyntaxTree. - - - - - A source module binder provides the context associated with a source module. - - - - - Binder used for speculatively binding. - - - - - Allows asking semantic questions about a TypeSyntax or RangeArgumentSyntax node within a member, that did not appear in the original source code. - Typically, an instance is obtained by a call to SemanticModel.TryGetSpeculativeSemanticModel. - - - - - Creates a speculative SemanticModel for a TypeSyntax or a RangeArgumentSyntax node at a position within an existing MemberSemanticModel. - - - - - Provides context for binding statements in speculative code. - - - - - Create binder for binding statements in speculative code. - - - - - A SubOrFunctionBodyBinder provides context for looking up parameters/labels in a body of an executable entity (a method, lambda, or top-level script code), - and also for the implementation of ContainingMember, GetLocalForFunctionValue and GetBinder. - - - - - This is used while computing the values of constant symbols. Since they can depend on each other, - we need to keep track of which ones we are currently computing in order to avoid (and report) cycles. - - - - - Manages anonymous types and delegates created on module level. All requests - for anonymous type/delegate symbols go via the instance of this class. - - Manager also is in charge of creating implementation types which are used in - emit phase to substitute anonymous type/delegate public symbols. - - - - - Builds a condition in the following form: - - [preaction: localMyFieldBoxed = DirectCast(Me.field, System.Object)] - [preaction: localOtherFieldBoxed = DirectCast(Other.field, System.Object)] - IF(localMyFieldBoxed IsNot Nothing AndAlso localOtherFieldBoxed IsNot Nothing, - localMyFieldBoxed.Equals(localOtherFieldBoxed), - localMyFieldBoxed Is localOtherFieldBoxed - ) - - - - - Checks if all special and well-known symbols required for emitting anonymous types - provided exist, if not reports errors and returns True. - - - - Source module - - - Owning compilationSource module - - - - Given anonymous type descriptor provided construct an anonymous type symbol - - - - - Given anonymous delegate descriptor provided, construct an anonymous delegate symbol - - - - - Compares anonymous types ignoring custom modifiers - - - - Cache of created anonymous types - - - Cache of created anonymous delegates - - - - Given anonymous type public symbol construct an anonymous type symbol to be used - in emit; the type symbol is created based on generic type generated for each - 'unique' anonymous type structure. - - - - - Given anonymous delegate public symbol construct an anonymous type symbol to be - used in emit; the type symbol may be created based on generic type generated for - each 'unique' anonymous delegate structure OR if the delegate's signature is - 'Sub()' it will be an instance of NonGenericAnonymousDelegateSymbol type. - - - - - Resets numbering in anonymous type names and compiles the - anonymous type methods. Also seals the collection of templates. - - - - - Translates anonymous type public symbol into an implementation type symbol to be used in emit. - - - - - Translates anonymous type method symbol into an implementation method symbol to be used in emit. - - - - Returns all templates owned by this type manager - - - Index of the property in the containing anonymous type - - - - Force all declaration errors to be generated. - - - - - Map an anonymous type or delegate public symbol to an implementation symbol to be - used in emit. - - NOTE: All anonymous types/delegated (except for delegate with signature 'Sub()') with the - same set of fields/parameters (field names and IsKey flags are taken into account) are - generated based on the same generic type template. - - - - - Map an anonymous type or delegate's method symbol to an implementation method symbol to be used in emit - - - - - Map an anonymous type or delegate's method symbol to a substituted method symbol. - - - - - This is a symbol to represent Anonymous Delegate for a lambda - like: - Sub() ... - - This delegate type doesn't have generic parameters. Unlike generic anonymous types, - for which we are constructing new instance of substituted symbol for each use site - with reference to the location, we are creating new instance of this symbol with its - own location for each use site. But all of them are representing the same delegate - type and are going to be equal to each other. - - - - Index of the property in the containing anonymous type - - - - The name used to emit definition of the type. Will be set when the type's - metadata is ready to be emitted, Name property will throw exception if this field - is queried before that moment because the name is not defined yet. - - - - - The key of the anonymous type descriptor used for this type template - - - - Describes the type descriptor location and property/parameter names associated with this location - - - - In emit phase every time a created anonymous type is referenced we try to adjust name of - template's fields as well as store the lowest location of the template. The last one will - be used for ordering templates and assigning emitted type names. - - - - - Force all declaration errors to be generated. - - - - - This class represents a compiler generated parameterless constructor - - - - - Initializes a new instance of the class. - - - The containing type for the synthesized constructor. - if set to true if this is a shared constructor. - if set to true if this constructor will include debuggable initializers. - Binder to be used for error reporting, or Nothing. - Diagnostic bag, or Nothing. - - - - The parameters forming part of this signature. - - - - - This class represents a simple customizable hash method to hash the string constants - corresponding to the case clause string constants. - If we have at least one string type select case statement in a module that needs a - hash table based jump table, we generate a single public string hash sythesized - method (SynthesizedStringSwitchHashMethod) that is shared across the module. - We must emit this function into the compiler generated PrivateImplementationDetails class. - - - - - Compute the hashcode of a sub string using FNV-1a - See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function - - - This method should be kept consistent with MethodBodySynthesizer.ConstructStringSwitchHashFunctionBody - The control flow in this method mimics lowered "for" loop. It is exactly what we want to emit - to ensure that JIT can do range check hoisting. - - - - - Construct a body for String Switch Hash Function - - - This method should be kept consistent with ComputeStringHash - - - - - The parameters forming part of this signature. - - - - - A Declaration summarizes the declaration structure of a source file. Each entity declaration - in the program that is a container (specifically namespaces, classes, interfaces, structs, - and delegate declarations) is represented by a node in this tree. At the top level, the - compilation unit is treated as a declaration of the unnamed namespace. - - Special treatment is required for namespace declarations, because a single namespace - declaration can declare more than one namespace. For example, in the declaration - -namespace A.B.C {} - -we see that namespaces A and B and C are declared. This declaration is represented as three - declarations. All three of these ContainerDeclaration objects contain a reference to the - syntax tree for the declaration. - - A "single" declaration represents a specific namespace or type declaration at a point in - source code. A "root" declaration is a special single declaration which summarizes the - contents of an entire file's types and namespaces. Each source file is represented as a tree - of single declarations. - - A "merged" declaration merges together one or more declarations for the same symbol. For - example, the root namespace has multiple single declarations (one in each source file) but - there is a single merged declaration for them all. Similarly partial classes may have - multiple declarations, grouped together under the umbrella of a merged declaration. In the - common trivial case, a merged declaration for a single declaration contains only that single - declaration. The whole program, consisting of the set of all declarations in all of the - source files, is represented by a tree of merged declarations.''' - - - - - A declaration table is a device which keeps track of type and namespace declarations from - parse trees. It is optimized for the case where there is one set of declarations that stays - constant, and a specific root namespace declaration corresponding to the currently edited - file which is being added and removed repeatedly. It maintains a cache of information for - "merging" the root declarations into one big summary declaration; this cache is efficiently - re-used provided that the pattern of adds and removes is as we expect. - - - - - A wrapper around RootSingleNamespaceDeclaration. The namespace declaration - is evaluated lazily to avoid evaluating the namespace and associated SyntaxTree - for embedded syntax trees before we can determine whether the syntax tree is needed. - - - - - Represents global namespace. Namespace's name is always empty - - - - - - This function is used to determine the best name of a type or namespace when there are multiple declarations that - have the same name but with different spellings. - If this declaration is part of the rootnamespace (specified by /rootnamespace:<nsname> this is considered the best name. - Otherwise the best name of a type or namespace is the one that String.Compare considers to be less using a Ordinal. - In practice this prefers uppercased or camelcased identifiers. - - - The single declarations. - Set to true if there were multiple distinct spellings. - - - - This function is used to determine the best name of a type or namespace when there are multiple declarations that - have the same name but with different spellings. - If this declaration is part of the rootnamespace (specified by /rootnamespace:<nsname> this is considered the best name. - Otherwise the best name of a type or namespace is the one that String.Compare considers to be less using a Ordinal. - In practice this prefers uppercased or camelcased identifiers. - - - The single declarations. - Set to true if there were multiple distinct spellings. - - - - An ArrayTypeSymbol represents an array type, such as Integer() or Object(,). - - - - - Create a new ArrayTypeSymbol. - - - - - Create a new ArrayTypeSymbol. - - - - - Create a new ArrayTypeSymbol. - - The element type of this array type. - The custom modifiers, if any - The rank of this array type. - Symbol for System.Array - Symbols for the interfaces of this array. Should be IList(Of ElementType) and possibly IReadOnlyList(Of ElementType) or Nothing. - - - - Returns the list of custom modifiers, if any, associated with the array. - - - - - Returns the number of dimensions of this array. A regular single-dimensional array - has rank 1, a two-dimensional array has rank 2, etc. - - - - - Returns the type of the elements that are stored in this array. - - - - - Returns true if this type is known to be a reference type. It is never the case - that and both return true. However, for an unconstrained - type parameter, and will both return false. - - True - - - - Returns true if this type is known to be a value type. It is never the case - that and both return true. However, for an unconstrained - type parameter, and will both return false. - - False - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name, and any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name and arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns Nothing. - - - - Returns of the symbol. - - - - - - Returns of the symbol. - - - - - - Get the symbol that logically contains this symbol. - - Nothing - - - - Gets the locations where this symbol was originally defined, either in source - or metadata. Some symbols (for example, partial classes) may be defined in more - than one location. - - - - - Get the syntax node(s) where this symbol was declared in source. - - - An empty read-only array. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Represents an attribute applied to a Symbol. - - - - - Gets the attribute class being applied. - - - - - Gets the constructor used in this application of the attribute. - - - - - Gets a reference to the source for this application of the attribute. Returns null for applications of attributes on metadata Symbols. - - - - - Gets the list of constructor arguments specified by this application of the attribute. This list contains both positional arguments - and named arguments that are formal parameters to the constructor. - - - - - Gets the list of named field or property value arguments specified by this application of the attribute. - - - - - Compares the namespace and type name with the attribute's namespace and type name. Returns true if they are the same. - - - - - Checks if an applied attribute with the given attributeType matches the namespace name and type name of the given early attribute's description - and the attribute description has a signature with parameter count equal to the given attribute syntax's argument list count. - NOTE: We don't allow early decoded attributes to have optional parameters. - - - - - Returns the that represents the current AttributeData. - - A that represents the current AttributeData. - - - - Gets the attribute class being applied as an - - - - - Gets the constructor used in this application of the attribute as an . - - - - - Gets a reference to the source for this application of the attribute. Returns null for applications of attributes on metadata Symbols. - - - - - Decodes PermissionSetAttribute applied in source to determine if it needs any fixup during codegen. - - - PermissionSetAttribute needs fixup when it contains an assignment to the 'File' property as a single named attribute argument. - Fixup performed is ported from SecurityAttributes::FixUpPermissionSetAttribute. - It involves following steps: - 1) Verifying that the specified file name resolves to a valid path. - 2) Reading the contents of the file into a byte array. - 3) Convert each byte in the file content into two bytes containing hexa-decimal characters. - 4) Replacing the 'File = fileName' named argument with 'Hex = hexFileContent' argument, where hexFileContent is the converted output from step 3) above. - - Step 1) is performed in this method, i.e. during binding. - Remaining steps are performed during serialization as we want to avoid retaining the entire file contents throughout the binding/codegen pass. - See for remaining fixup steps. - - String containing the resolved file path if PermissionSetAttribute needs fixup during codegen, null otherwise. - - - - This method determines if an applied attribute must be emitted. - Some attributes appear in symbol model to reflect the source code, but should not be emitted. - - - - - Represents a custom modifier (modopt/modreq). - - - - - A type used as a tag that indicates which type of modification applies. - - - - - Represents an event. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - Gets the attributes on event's associated field, if any. - - Returns an array of or an empty array if there are no attributes. - - - - Backing field of the event, or Nothing if the event doesn't have any. - - - Events imported from metadata return Nothing. - - - - - Gets the parameters of this event. If this event has no parameters, returns - an empty list. - - - - - Gets the return type of the event (typically System.Void). - - - - - Returns the list of custom modifiers, if any, associated with the return type of the event. - - - - - Can be null in error cases. - - - - - Implements visitor pattern. - - - - - Represents a member variable -- a variable declared as a member of a Class or Structure. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Gets the type of this variable. - - - - - Gets a value indicating whether this instance has declared type. This means a field was declared with an AsClause - or in case of const fields with an AsClause whose type is not System.Object - - - true if this instance has declared type; otherwise, false. - - - - - The list of custom modifiers, if any, associated with the member variable. - - - - - If this variable serves as a backing variable for an automatically generated - property or event, returns that property or event. - Otherwise returns Nothing. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns true if this variable was declared as ReadOnly - - - - - Returns true if this field was declared as "const" (i.e. is a constant declaration), or - is an Enum member. - - - - - Gets a value indicating whether this instance is metadata constant. A field is considered to be - metadata constant if the field value is a valid default value for a field. - - - true if this instance is metadata constant; otherwise, false. - - - - - Gets a value indicating whether this instance is const, but not metadata constant. A field is considered to be - const but not metadata constant if the const field's type is either Date or Decimal. - - - true if this instance is metadata constant; otherwise, false. - - - - - Returns false if the field wasn't declared as "const", or constant value was omitted or erroneous. - True otherwise. - - - - - If IsConst returns true, then returns the value of the constant or Enum member. - If IsConst return false, then returns Nothing. - - - - - Gets the constant value. - - The previously visited const fields; used to detect cycles. - - - - Const fields do not (always) have to be declared with a given type. To get the inferred type determined from - the initialization this method should be called instead of "Type". For non const field this method returns the - declared type. - - The previously visited const fields; used to detect cycles. - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - True if RuntimeSpecialName metadata flag is set for this symbol. - - - - - True if NotSerialized metadata flag is set for this symbol. - - - - - Describes how the field is marshalled when passed to native code. - Null if no specific marshalling information is available for the field. - - PE symbols don't provide this information and always return Nothing. - - - - Returns the marshalling type of this field, or 0 if marshalling information isn't available. - - - By default this information is extracted from if available. - Since the compiler does only need to know the marshalling type of symbols that aren't emitted - PE symbols just decode the type from metadata and don't provide full marshalling information. - - - - - Offset assigned to the field when the containing type is laid out by the VM. - Nothing if unspecified. - - - - - Get the "this" parameter for this field. This is only valid for source fields. - - - - - Returns true when field is a backing field for a captured frame pointer (typically "Me"). - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - This method indicates whether or not the runtime will regard the method - as newslot (as indicated by the presence of the "newslot" modifier in the - signature). - WARN WARN WARN: We won't have a final value for this until declaration - diagnostics have been computed for all s, - so pass ignoringInterfaceImplementationChanges: True if you need a value sooner - and aren't concerned about tweaks made to satisfy interface implementation - requirements. - NOTE: Not ignoring changes can only result in a value that is more true. - - - - - Gets what kind of method this is. There are several different kinds of things in the - VB language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - True, if the method kind was determined by examining a syntax node (i.e. for source methods - - including substituted and retargeted ones); false, otherwise. - - - - - Returns whether this method is using VARARG calling convention. - - - - - Returns whether this built-in operator checks for integer overflow. - - - - - Returns whether this method is generic; i.e., does it have any type parameters? - - - - - Returns the arity of this method, or the number of type parameters it takes. - A non-generic method has zero arity. - - - - - Get the type parameters on this method. If the method has not generic, - returns an empty list. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a give type parameters, - then the type parameter itself is consider the type argument. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Returns the method symbol that this method was constructed from. This method symbol - has the same containing type (if any), but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - Returns true if this method has no return type; i.e., is a Sub instead of a Function. - - - - - Source: Returns whether this method is async; i.e., does it have the Async modifier? - Metadata: Returns False; methods from metadata cannot be async. - - - - - Source: Returns whether this method is an iterator; i.e., does it have the Iterator modifier? - Metadata: Returns False; methods from metadata cannot be an iterator. - - - - - Gets the return type of the method. If the method is a Sub, returns - the same type symbol as is returned by Compilation.VoidType. - - - - - Returns the list of custom modifiers, if any, associated with the returned value. - - - - - If the method is async we should emit AsyncStateMachineAttribute for this method providing information - about the synthesized state machine class. This method is called by async rewriter on the methods it builds - state machines for. This method should only be overriden by method symbols that can be defined 'async'. - The method's state machine type should already be assigned! - - - - - Returns the list of attributes, if any, associated with the return type. - - - - - Optimization: in many cases, the parameter count (fast) is sufficient and we - don't need the actual parameter symbols (slow). - - - The default implementation is always correct, but may be unnecessarily slow. - - - - - Gets the parameters of this method. If this method has no parameters, returns - an empty list. - - - - - Should return syntax node that originated the method. - - - - - Returns true if calls to this method are omitted in the given syntax tree at the given syntax node location. - Calls are omitted when the called method is a partial method with no implementation part, or when the - called method is a conditional method whose condition is not true at the given syntax node location in the source file - corresponding to the given syntax tree. - - - - - Calls are conditionally omitted if all the following requirements are true: - (a) Me.IsSub == True. - (b) Containing type is not an interface type. - (c) Me.IsConditional == True, i.e. it has at least one applied conditional attribute. - (d) This method is not the Property Set method. - (e) None of conditional symbols corresponding to these conditional attributes are true at the given syntax node location. - - - Forces binding and decoding of attributes. - - - - - Returns a sequence of preprocessor symbols specified in applied on this symbol, or null if there are none. - - - - - Returns a flag indicating whether this symbol has at least one applied conditional attribute. - - - Forces binding and decoding of attributes. - NOTE: Conditional symbols on the overridden method must be inherited by the overriding method, but the native VB compiler doesn't do so. We maintain comptability. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - This is set for methods with special semantics such as constructors or accessors - as well as in special synthetic methods such as lambdas. - Also set for methods marked with . - - - - - If this method has MethodKind of MethodKind.PropertyGet or MethodKind.PropertySet, - returns the property that this method is the getter or setter for. - If this method has MethodKind of MethodKind.EventAdd or MethodKind.EventRemove, - returns the event that this method is the adder or remover for. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - If this method is a Lambda method (MethodKind = MethodKind.LambdaMethod) and - there is an anonymous delegate associated with it, returns this delegate. - - Returns Nothing if the symbol is not a lambda or if it does not have an - anonymous delegate associated with it. - - - - - If this method overrides another method (because it both had the Overrides modifier - and there correctly was a method to override), returns the overridden method. - - - - - Returns interface methods explicitly implemented by this method. - - - - - Returns true if this method is not implemented in IL of the assembly it is defined in. - - - External methods are - 1) Declare Subs and Declare Functions, - 2) methods marked by , - 3) methods marked by - with or flags. - 4) Synthesized constructors of ComImport types - - - - - Returns platform invocation information for this method if it is a PlatformInvoke method, otherwise returns Nothing. - - - - - Marshalling information for return value (FieldMarshal in metadata). - - - - - Misc implementation metadata flags (ImplFlags in metadata). - - - - - Declaration security information associated with this method, or null if there is none. - - - - - True if the method has declarative security information (HasSecurity flags). - - - - - Returns true if this method is an extension method from the VB language perspective; - i.e., declared with an Extension attribute and meets other language requirements. - - - - - Returns true if this method might be a reducible extension method. This method may return true - even if the method is not an extension method, but if it returns false, it must be the - case that this is not an extension method. - - Allows checking extension methods from source in a quicker manner than fully binding attributes. - - - - - Returns true if this method hides a base method by name and signature. - The equivalent of the "hidebysig" flag in metadata. - - - This property should not be confused with general method overloading in Visual Basic, and is not directly related. - This property will only return true if this method hides a base method by name and signature (Overloads keyword). - - - - - True if the implementation of this method is supplied by the runtime. - - - implies . - - - - - Determines whether this method is a candidate for a default - assembly entry point. Any method called "Main" is. - - True if the method can be used as an entry point. - - - - Entry point is considered accessible if it is not private and none of the containing types is private (they all might be Family or Friend). - - - - - Checks if the method has an entry point compatible signature, i.e. - - the return type is either void or int - - has either no parameter or a single parameter of type string[] - - - - Checks for validity of Construct(...) on this method with these type arguments. - - - - Get the "this" parameter for this method. This is only valid for source methods. - Returns Nothing for a Shared method, the Me parameter for a non-shared method, and throws - InvalidOperationException for a symbol that isn't a original source method. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - If this method is a reduced extension method, gets the extension method definition that - this method was reduced from. Otherwise, returns Nothing. - - - - - Is this a reduced extension method? - - - - - If this method is a reduced extension method, gets the extension method (possibly constructed) that - should be used at call site during ILGen. Otherwise, returns Nothing. - - - - - If this method can be applied to an object, returns the type of object it is applied to. - - - - - If this method is a reduced extension method, returns a type inferred during reduction process for the type parameter. - - Type parameter of the corresponding method. - Inferred type or Nothing if nothing was inferred. - If this is not a reduced extension method. - If is Nothing. - If doesn't belong to the corresponding method. - - - - Fixed type parameters for a reduced extension method or empty. - - - - - If this is an extension method that can be applied to a instance of the given type, - returns the reduced method symbol thus formed. Otherwise, returns Nothing. - - Name lookup should use this method in order to capture proximity, which affects - overload resolution. - - - - - If this is an extension method that can be applied to a instance of the given type, - returns the reduced method symbol thus formed. Otherwise, returns Nothing. - - - - - Proximity level of a reduced extension method. - - - - - Returns bound block representing method's body. This method is called - by 'method compiler' when it is ready to emit IL code for the method. - - The bound method body is typically a high-level tree - it may contain - lambdas, foreach etc... which will be processed in CompileMethod(...) - - Optionally returns a binder, OUT parameter! - - The method MAY return a binder used for binding so it can be reused later in method compiler - - - - - If true and is not , - the compiler generates debug information for this method. - - - Generally should return true iff the method contains user code. - - - - - When a state machine method MoveNext() is generated for an Async method, additional information is - supposed to be written into PDB file; this property links such a MoveNext() method to an original - Async method and should only be overriden in the method symbol created in AsyncRewriter representing - synthesized MoveNext() method - - - - - Returns true if this symbol is defined outside of the compilation. - For instance if the method is Declare Sub. - - - - - If this is a partial method declaration without a body, and the method also - has a part that implements it with a body, returns that implementing - definition. Otherwise null. - - - - - If this is a partial method with a body, returns the corresponding - definition part (without a body). Otherwise null. - - - - - Represents a type other than an array, a type parameter. - - - - - Should return Nothing if there are none. - - - - - Returns the arity of this type, or the number of type parameters it takes. - A non-generic type has zero arity. - - - - - Returns the type parameters that this type has. If this is a non-generic type, - returns an empty ImmutableArray. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a give type parameters, - then the type parameter itself is consider the type argument. - - - - - Returns the type symbol that this type was constructed from. This type symbol - has the same containing type, but has type arguments that are the same - as the type parameters (although its containing type might not). - - - - - For enum types, gets the underlying type. Returns null on all other - kinds of types. - - - - - For implicitly declared delegate types returns the EventSymbol that caused this - delegate type to be generated. - For all other types returns null. - Note, the set of possible associated symbols might be expanded in the future to - reflect changes in the languages. - - - - - Returns True for one of the types from a set of Structure types if - that set represents a cycle. This property is intended for flow - analysis only since it is only implemented for source types, - and only returns True for one of the types within a cycle, not all. - - - - - Is this a NoPia local type explicitly declared in source, i.e. - top level type with a TypeIdentifier attribute on it? - - - - - Returns true and a string from the first GuidAttribute on the type, - the string might be null or an invalid guid representation. False, - if there is no GuidAttribute with string argument. - - - - - Should the name returned by Name property be mangled with [`arity] suffix in order to get metadata name. - Must return False for a type with Arity == 0. - - - Default implementation to force consideration of appropriate implementation for each new subclass - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - True if this type is considered serializable (metadata flag Serializable is set). - - - - - Type layout information (ClassLayout metadata and layout kind flags). - - - - - The default charset used for type marshalling. - Can be changed via applied on the containing module. - - - - - Marshalling charset of string data fields within the type (string formatting flags in metadata). - - - - - For delegate types, gets the delegate's invoke method. Returns null on - all other kinds of types. Note that is is possible to have an ill-formed - delegate type imported from metadata which does not have an Invoke method. - Such a type will be classified as a delegate but its DelegateInvokeMethod - would be null. - - - - - Returns true if this type was declared as requiring a derived class; - i.e., declared with the "MustInherit" modifier. Always true for interfaces. - - - - - Returns true if this type does not allow derived types; i.e., declared - with the NotInheritable modifier, or else declared as a Module, Structure, - Enum, or Delegate. - - - - - If this property returns false, it is certain that there are no extension - methods inside this type. If this property returns true, it is highly likely - (but not certain) that this type contains extension methods. This property allows - the search for extension methods to be narrowed much more quickly. - - !!! Note that this property can mutate during lifetime of the symbol !!! - !!! from True to False, as we learn more about the type. !!! - - - - - Returns True if the type is marked by 'Microsoft.VisualBasic.Embedded' attribute. - - - - - A Named type is an extensible interface if both the following are true: - (a) It is an interface type and - (b) It is either marked with 'TypeLibTypeAttribute( flags w/o TypeLibTypeFlags.FNonExtensible )' attribute OR - is marked with 'InterfaceTypeAttribute( flags with ComInterfaceType.InterfaceIsIDispatch )' attribute OR - inherits from an extensible interface type. - Member resolution for Extensible interfaces is late bound, i.e. members are resolved at run time by looking up the identifier on the actual run-time type of the expression. - - - - - This method is an entry point for the Binder to collect extension methods with the given name - declared within this named type. Overriden by RetargetingNamedTypeSymbol. - - - - - This method is called for a type within a namespace when we are building a map of extension methods - for the whole (compilation merged or module level) namespace. - - The 'appendThrough' parameter allows RetargetingNamespaceSymbol to delegate majority of the work - to the underlying named type symbols, but still add RetargetingMethodSymbols to the map. - - - - - This is an entry point for the Binder. Its purpose is to add names of viable extension methods declared - in this type to nameSet parameter. - - - - - Add names of viable extension methods declared in this type to nameSet parameter. - - The 'appendThrough' parameter allows RetargetingNamedTypeSymbol to delegate majority of the work - to the underlying named type symbol, but still perform viability check on RetargetingMethodSymbol. - - - - - Get the instance constructors for this type. - - - - - Get the shared constructors for this type. - - - - - Get the instance and shared constructors for this type. - - - - - Returns true if this type is known to be a reference type. It is never the case - that IsReferenceType and IsValueType both return true. However, for an unconstrained - type parameter, IsReferenceType and IsValueType will both return false. - - - - - Returns true if this type is known to be a value type. It is never the case - that IsReferenceType and IsValueType both return true. However, for an unconstrained - type parameter, IsReferenceType and IsValueType will both return false. - - - - - Returns True if this types has Arity >= 1 and Construct can be called. This is primarily useful - when deal with error cases. - - - - - Returns a constructed type given its type arguments. - - - - - Returns a constructed type given its type arguments. - - - - - Construct a new type from this type, substituting the given type arguments for the - type parameters. This method should only be called if this named type does not have - any substitutions applied for its own type arguments with exception of alpha-rename - substitution (although it's container might have substitutions applied). - - A set of type arguments to be applied. Must have the same length - as the number of type parameters that this type has. - - - Checks for validity of Construct(...) on this type with these type arguments. - - - - Construct a new type from this type definition, substituting the given type arguments for the - type parameters. This method should only be called on the OriginalDefinition. Unlike previous - Construct method, this overload supports type parameter substitution on this type and any number - of its containing types. See comments for TypeSubstitution type for more information. - - - - - Returns an unbound generic type of this generic named type. - - - - - Returns Default property name for the type. - If there is no default property name, then Nothing is returned. - - - - - If this is a generic type instantiation or a nested type of a generic type instantiation, - return TypeSubstitution for this construction. Nothing otherwise. - Returned TypeSubstitution should target OriginalDefinition of the symbol. - - - - - Gets the name of this symbol. - - - - - Collection of names of members declared within this type. - - - - - Returns true if the type is a Script class. - It might be an interactive submission class or a Script class in a csx file. - - - - - Returns true if the type is a submission class. - - - - - Returns true if the type is the implicit class that holds onto invalid global members (like methods or - statements in a non script file). - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name, and any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name and arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get this accessibility that was declared on this symbol. For symbols that do - not have accessibility declared on them, returns NotApplicable. - - - - - Supports visitor pattern. - - - - - Gets the kind of this symbol. - - - - - Returns a flag indicating whether this symbol is ComImport. - - - A type can me marked as a ComImport type in source by applying the - - - - - If CoClassAttribute was applied to the type returns the type symbol for the argument. - Type symbol may be an error type if the type was not found. Otherwise returns Nothing - - - - - Returns a sequence of preprocessor symbols specified in applied on this symbol, or null if there are none. - - - - - Returns a flag indicating whether this symbol has at least one applied conditional attribute. - - - Forces binding and decoding of attributes. - NOTE: Conditional symbols on base type must be inherited by derived type, but the native VB compiler doesn't do so. We maintain comptability. - - - - - Gets the associated for an attribute type. - - - - - Declaration security information associated with this type, or null if there is none. - - - - - True if the type has declarative security information (HasSecurity flags). - - - - - NamedTypeSymbol calls derived implementations of this method when declared base type - is needed for the first time. - - basesBeingResolved are passed if there are any types already have their bases resolved - so that the derived implementation could avoid infinite recursion - - - - - NamedTypeSymbol calls derived implementations of this method when declared interfaces - are needed for the first time. - - basesBeingResolved are passed if there are any types already have their bases resolved - so that the derived implementation could avoid infinite recursion - - - - - Base type as "declared". - Declared base type may contain circularities. - - If DeclaredBase must be accessed while other DeclaredBases are being resolved, - the bases that are being resolved must be specified here to prevent potential infinite recursion. - - - - - Interfaces as "declared". - Declared interfaces may contain circularities. - - If DeclaredInterfaces must be accessed while other DeclaredInterfaces are being resolved, - the bases that are being resolved must be specified here to prevent potential infinite recursion. - - - - - NamedTypeSymbol calls derived implementations of this method when acyclic base type - is needed for the first time. - This method typically calls GetDeclaredBase, filters for - illegal cycles and other conditions before returning result as acyclic. - - - - - NamedTypeSymbol calls derived implementations of this method when acyclic base interfaces - are needed for the first time. - This method typically calls GetDeclaredInterfaces, filters for - illegal cycles and other conditions before returning result as acyclic. - - - - - Base type. - Could be Nothing for Interfaces or Object. - - - - - Interfaces that are implemented or inherited (if current type is interface itself). - - - - - Returns declared base type or actual base type if already known - This is only used by cycle detection code so that it can observe when cycles are broken - while not forcing actual Base to be realized. - - - - - Returns declared interfaces or actual Interfaces if already known - This is only used by cycle detection code so that it can observe when cycles are broken - while not forcing actual Interfaces to be realized. - - - - - True iff this type or some containing type has type parameters. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Should return full emitted namespace name for a top level type if the name - might be different in case from containing namespace symbol full name, Nothing otherwise. - - - - - Does this type implement all the members of the given interface. Does not include members - of interfaces that iface inherits, only direct members. - - - - - True if this is a reference to an unbound generic type. These occur only - within a GetType expression. A generic type is considered unbound - if all of the type argument lists in its fully qualified name are empty. - Note that the type arguments of an unbound generic type will be returned as error - types because they do not really have type arguments. An unbound generic type - yields null for its BaseType and an empty result for its Interfaces. - - - - - Force all declaration errors to be generated. - - - - - Return compiler generated nested types that are created at Declare phase, but not exposed through GetMembers and the like APIs. - Should return Nothing if there are no such types. - - - - - True if the type is a Windows runtime type. - - - A type can me marked as a Windows runtime type in source by applying the WindowsRuntimeImportAttribute. - WindowsRuntimeImportAttribute is a pseudo custom attribute defined as an internal class in System.Runtime.InteropServices.WindowsRuntime namespace. - This is needed to mark Windows runtime types which are redefined in mscorlib.dll and System.Runtime.WindowsRuntime.dll. - These two assemblies are special as they implement the CLR's support for WinRT. - - - - - True if the type should have its WinRT interfaces projected onto .NET types and - have missing .NET interface members added to the type. - - - - - Requires less computation than == . - - - Metadata types need to compute their base types in order to know their TypeKinds, And that can lead - to cycles if base types are already being computed. - - True if this Is an interface type. - - - - Represents a parameter of a method or property. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Is this ByRef parameter. - - - - - Is parameter explicitly declared ByRef. Can be different from IsByRef only for - String parameters of Declare methods. - - - - - Is this Out parameter (metadata flag In is set). - - - - - Is this In parameter (metadata flag Out is set). - - - - - True if the parameter flows data out of the method. - - - - - Describes how the parameter is marshalled when passed to native code. - Null if no specific marshalling information is available for the parameter. - - PE symbols don't provide this information and always return Nothing. - - - - Returns the marshalling type of this field, or 0 if marshalling information isn't available. - - - By default this information is extracted from if available. - Since the compiler does only need to know the marshalling type of symbols that aren't emitted - PE symbols just decode the type from metadata and don't provide full marshalling information. - - - - - Gets the type of this parameter. - - - - - The list of custom modifiers, if any, associated with the parameter. - - - - - Gets the ordinal order of this parameter. The first type parameter has ordinal zero. - - - - - Returns true if this parameter was declared as a ParamArray. - - - - - Returns true if this parameter was declared as Optional. - - - - - Returns true if the parameter explicitly specifies a default value to be passed - when no value is provided as an argument to a call. - - - True if the parameter has a default value defined in source via an optional parameter syntax, - or the parameter is from metadata and HasDefault and Optional metadata flags are set, - or the parameter is from metadata, has Optional flag set and - or is specified. - - The default value can be obtained with the property. - - - - - Returns the default value of this parameter. If - returns false, then this property throws an InvalidOperationException. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns the default value of this parameter as a ConstantValue. - Return nothing if there isn't a default value. - - - - - Create a new ParameterSymbol with everything the same except the owner. Used for property - accessor methods, for example. - - - Note: This is only implemented for those subclasses (e.g., SourceParameterSymbol) for which it - is required. Thus, the base implementation throws an exception instead of being MustOverride. - - - - - The CLI spec says that custom modifiers must precede the ByRef type code in the encoding of a parameter. - Unfortunately, the managed C++ compiler emits them in the reverse order. In order to avoid breaking - interop scenarios, we need to support such signatures. When this flag Is set, we need to reverse the - emit order. - - - We support before (correct) And after (incorrect, but works), but Not in between. - - - - - Represents a property. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Gets the type of the property. - - - - - Returns the list of custom modifiers, if any, associated with the type of the property. - - - - - Gets the parameters of this property. If this property has no parameters, returns - an empty list. - - - - - Optimization: in many cases, the parameter count (fast) is sufficient and we - don't need the actual parameter symbols (slow). - - - The default implementation is always correct, but may be unnecessarily slow. - - - - - True if this symbol has a special name (metadata flag SpecialName is set). - - - - - Returns true if this property is a default property. - - - - - Returns true if this is a read-only property; i.e., has no set accessor. - - - - - Indicates if the property can be read, which means this - type overrides OR inherits a getter for this property. - - - - - Returns true if this is a write-only property; i.e., has no get accessor. - - - - - Indicates if the property can be written into, which means this - type overrides OR inherits a setter for this property. - - - - - Gets the associated "get" method for this property. If this property - has no get accessor, returns Nothing. - - - - - Retrieves Get method for this property or 'most derived' Get method from closest - overridden property if such property exists. - - NOTE: It is not possible in VB, but possible in other languages (for example in C#) to - override read-write property an provide override only for setter, thus inheriting - getter's implementation. This method will find the Get method from the most-derived - overridden property in this case - - - - - Gets the associated "set" method for this property. If this property - has no set accessor, returns Nothing. - - - - - Retrieves Set method for this property or 'most derived' Set method from closest - overridden property if such property exists. - - NOTE: It is not possible in VB, but possible in other languages (for example in C#) to - override read-write property an provide override only for getter, thus inheriting - setter's implementation. This method will find the Set method from the most-derived - overridden property in this case - - - - - Backing field of the property, or Nothing if the property doesn't have any. - - - Properties imported from metadata return Nothing. - - - - - Gets the attributes on event's associated field, if any. - - Returns an array of or an empty array if there are no attributes. - - Only WithEvent property may have any attributes applied on its backing field. - - - - - Returns true if this property hides a base property by name and signature. - The equivalent of the "hidebysig" flag in metadata. - - - This property should not be confused with general property overloading in Visual Basic, and is not directly related. - This property will only return true if this method hides a base property by name and signature (Overloads keyword). - - - - - If this property overrides another property (because it both had the Overrides modifier - and there correctly was a property to override), returns the overridden property. - - - - - Helper method for accessors to get the overridden accessor methods. Should only be called by the - accessor method symbols. - - True to get overridden getters, False to get overridden setters - All the accessors of the given kind implemented by this property. - - - - Returns interface properties explicitly implemented by this property. - - - - - Get the "this" parameter for this property. This is only valid for source fields. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Returns true if this property is an auto-created WithEvents property that - takes place of a field member when the field is marked as WithEvents. - - - - - Clone the property parameters for the accessor method. The - parameters are cloned (rather than referenced from the property) - since the ContainingSymbol needs to be set to the accessor. - - - - - Is this an auto-generated property of a group class? - - - - - Represents a compiler generated field used to implement static locals. - There are two kind of fields: the one, that holds the value, and the one, that holds initialization "flag". - - - - - Represents a type parameter in a generic type or generic method. - TODO: Should document how the BaseType and Interfaces members behave. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Gets the ordinal order of this type parameter. The first type parameter has ordinal zero. - - - - - Get the types that were directly specified as constraints on this type parameter. - Duplicates and cycles are removed, although the collection may include redundant - constraints where one constraint is a base type of another. - - - - - Returns whether the parameterless constructor constraint was specified. - - - - - The method that declares this type parameter - - - - - The type that declares this type parameter - - - - - Called by ConstraintTypes and Interfaces - to allow derived classes to ensure constraints within the containing - type or method are resolved in a consistent order, regardless of the - order the callers query individual type parameters. - - - - - Helper method to force type parameter constraints to be resolved. - - - - - Get all constraints, with optional source location for each. This method - is provided for constraint checking only, and should only be invoked - for SourceTypeParameterSymbol or ErrorTypeParameterSymbol directly. - There is currently no need to invoke this method for PETypeParameterSymbol. - - - - - Resolve constraints, binding and checking for conflicts as necessary. This is an - internal method for resolving dependent sets of constraints and handling cycles. - It will be called indirectly for core implementations (SourceTypeParameterSymbol and - PETypeParameterSymbol) as a result of accessing constraint properties on this class. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - If this is a type parameter of a reduced extension method, gets the type parameter definition that - this type parameter was reduced from. Otherwise, returns Nothing. - - - - - Return an array of substituted type parameters with duplicates removed. - - - - - Symbol representing a using alias appearing in a compilation unit. - Generally speaking, these symbols do not appear in the set of symbols reachable - from the unnamed namespace declaration. In other words, when a using alias is used in a - program, it acts as a transparent alias, and the symbol to which it is an alias is used in - the symbol table. For example, in the source code -
- Imports o = System.Object
- Namespace NS
-     partial class C : Inherits o : End Class
-     partial class C : Inherits Object : End Class
-     partial class C : Inherits System.Object : End Class
- End Namespace
- 
- 
- all three declarations for class C are equivalent and result in the same symbol table object for C. - However, these alias symbols do appear in the results of certain SemanticModel APIs. - Specifically, for the base clause of the first of C's class declarations, the - following APIs may produce a result that contains an AliasSymbol: -
-     SemanticInfo SemanticModel.GetSemanticInfo(ExpressionSyntax expression);
-     SemanticInfo SemanticModel.BindExpression(SyntaxNode location, ExpressionSyntax expression);
-     SemanticInfo SemanticModel.BindType(SyntaxNode location, ExpressionSyntax type);
-     SemanticInfo SemanticModel.BindNamespaceOrType(SyntaxNode location, ExpressionSyntax type);
- 
- Also, the following are affected if container=Nothing (and, for the latter, when container=Nothing or arity=0): -
-     Public Function LookupNames(position As Integer, Optional container As NamespaceOrTypeSymbol = Nothing, Optional options As LookupOptions = LookupOptions.Default, Optional results As List(Of String) = Nothing) As IList(Of String)
-     Public Function LookupSymbols(position As Integer,
-                                  Optional container As NamespaceOrTypeSymbol = Nothing,
-                                  Optional name As String = Nothing,
-                                  Optional arity As Integer? = Nothing,
-                                  Optional options As LookupOptions = LookupOptions.Default,
-                                  Optional results As List(Of Symbol) = Nothing) As IList(Of Symbol)
- 
-
-
- - - The alias name. - - - - - Gets the kind of this symbol. - - - - - - Gets the for the - namespace or type referenced by the alias. - - - - - Gets the locations where this symbol was originally defined. - - - - - Get the syntax node(s) where this symbol was declared in source. - - - The syntax node(s) that declared the symbol. - - - To go the opposite direction (from syntax node to symbol), see . - - - - - Returns true if this symbol was declared to override a base class members and was - also restricted from further overriding; i.e., declared with the "NotOverridable" - modifier. Never returns true for types. - - False - - - - Returns true if this symbol was declared as requiring an override; i.e., declared - with the "MustOverride" modifier. Never returns true for types. - - False - - - - Returns true if this symbol was declared to override a base class members; i.e., declared - with the "Overrides" modifier. Still returns true if the members was declared - to override something, but (erroneously) no member to override exists. - - False - - - - Returns true if this member is overridable, has an implementation, - and does not override a base class member; i.e., declared with the "Overridable" - modifier. Does not return true for members declared as MustOverride or Overrides. - - False - - - - Returns true if this symbol is "shared"; i.e., declared with the "Shared" - modifier or implicitly always shared. - - False - - - - Get this accessibility that was declared on this symbol. For symbols that do - not have accessibility declared on them, returns NotApplicable. - - - - - - Get the symbol that logically contains this symbol. - - - Using aliases in VB are always at the top - level within a compilation unit, within the [Global] namespace declaration. We - return that as the "containing" symbol, even though the alias isn't a member of the - namespace as such. - - - - - Determines whether the specified object is equal to the current object. - - - The object to compare with the current object. - - - - - Returns a hash code for the current object. - - - - - Describes anonymous type/delegate in terms of fields/parameters - - - - Anonymous type/delegate location - - - Anonymous type fields - - - - Anonymous type descriptor Key - - The key is being used to separate anonymous type templates, for example in an anonymous type - symbol cache. The type descriptors with the same keys are supposed to map to 'the same' anonymous - type template in terms of the same generic type being used for their implementation. - - - - Anonymous type is implicitly declared - - - Anonymous delegate parameters, including one for return type - - - - This is ONLY used for debugging purpose - - - - - Performs internal substitution of types in anonymous type descriptor fields and returns True - if any of the fields was changed, in which case a new descriptor is returned in newDescriptor - - - - - Describes anonymous type field in terms of its name, type and other attributes. - Or describes anonymous delegate parameter, including "return" parameter, in terms - of its name, type and other attributes. - - - - Anonymous type field/parameter name, not nothing and not empty - - - Location of the field - - - Anonymous type field/parameter type, must be not nothing when - the field is passed to anonymous type descriptor - - - - Anonymous type field/parameter type, may be nothing when field descriptor is created, - must be assigned before passing the descriptor to anonymous type descriptor. - Once assigned, is considered to be 'sealed'. - - - - Anonymous type field is declared as a 'Key' field - - - - Does this describe a ByRef parameter of an Anonymous Delegate type - - - - - This is ONLY used for debugging purpose - - - - - - - - Module implements Dev11 class CRC32 used in anonymous type GetHashCode implementation - See [...\Language\Shared\crc32.cpp] for details - - - - - This is actually calculating the reverse CRC - computing the reverse CRC of 0 gives the table entry above - - - - - Represents a .NET assembly. An assembly consists of one or more modules. - - - - - The system assembly, which provides primitive types like Object, String, etc., e.g. mscorlib.dll. - The value is provided by ReferenceManager and must not be modified. For SourceAssemblySymbol, non-missing - coreLibrary must match one of the referenced assemblies returned by GetReferencedAssemblySymbols() method of - the main module. If there is no existing assembly that can be used as a source for the primitive types, - the value is a Compilation.MissingCorLibrary. - - - - - The system assembly, which provides primitive types like Object, String, etc., e.g. mscorlib.dll. - The value is a MissingAssemblySymbol if none of the referenced assemblies can be used as a source for the - primitive types and the owning assembly cannot be used as the source too. Otherwise, it is one of - the referenced assemblies returned by GetReferencedAssemblySymbols() method or the owning assembly. - - - - - A helper method for ReferenceManager to set the system assembly, which provides primitive - types like Object, String, etc., e.g. mscorlib.dll. - - - - - - Simple name of the assembly. - - - This is equivalent to ., but may be - much faster to retrieve for source code assemblies, since it does not require binding the assembly-level - attributes that contain the version number and other assembly information. - - - - - True if the assembly contains interactive code. - - - - - Get the name of this assembly. - - - - - Target architecture of the machine. - - - - - Indicates that this PE file makes Win32 calls. See CorPEKind.pe32BitRequired for more information (http://msdn.microsoft.com/en-us/library/ms230275.aspx). - - - - - Gets a read-only list of all the modules in this assembly. (There must be at least one.) The first one is the main module - that holds the assembly manifest. - - - - - Gets the merged root namespace that contains all namespaces and types defined in the modules - of this assembly. If there is just one module in this assembly, this property just returns the - GlobalNamespace of that module. - - - - - Given a namespace symbol, returns the corresponding assembly specific namespace symbol - - - - - Does this symbol represent a missing assembly. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name with generic name mangling. - - - Take forwarded types into account. - - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. Detect cycles during lookup. - - - Full type name, possibly with generic name mangling. - - - List of assemblies lookup has already visited (since type forwarding can introduce cycles). - - - Take forwarded types into account. - - - - - Returns the type symbol for a forwarded type based its canonical CLR metadata name. - The name should refer to a non-nested type. If type with this name Is Not forwarded, - null Is returned. - - - - - Look up the given metadata type, if it Is forwarded. - - - - - Look up the given metadata type, if it is forwarded. - - - - - Lookup declaration for predefined CorLib type in this Assembly. Only valid if this - assembly is the Cor Library - - - - - - - - Register declaration of predefined CorLib type in this Assembly. - - - - - - Continue looking for declaration of predefined CorLib type in this Assembly - while symbols for new type declarations are constructed. - - - - - Return an array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by previous compilation referencing this assembly. - - - - - - Return an array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Returns true and a string from the first GuidAttribute on the assembly, - the string might be null or an invalid guid representation. False, - if there is no GuidAttribute with string argument. - - - - - An empty list means there was no IVT attribute with matching . - An IVT attribute without a public key setting is represented by an entry that is empty in the returned list - - - - - - - - Get symbol for predefined type from Cor Library used by this assembly. - - - The symbol for the pre-defined type or Nothing if the type is not defined in the core library - - - - - The NamedTypeSymbol for the .NET System.Object type, which could have a TypeKind of - Error if there was no COR Library in a compilation using the assembly. - - - - - Get symbol for predefined type from Cor Library used by this assembly. - - - - - - - - Lookup a type within the assembly using its canonical CLR metadata name (names are compared case-sensitively). - - - - - Symbol for the type or null if type cannot be found or is ambiguous. - - - - - Lookup a type within the assembly using its canonical CLR metadata name (names are compared case-sensitively). - - - - If search within assembly fails, lookup in assemblies referenced by the primary module. - For source assembly, this is equivalent to all assembly references given to compilation. - - - Extra restrictions apply when searching for a well-known type. In particular, the type must be public. - - - While resolving the name, consider only types following CLS-compliant generic type names and arity encoding (ECMA-335, section 10.7.2). - I.e. arity is inferred from the name and matching type must have the same emitted name and arity. - - - - - - Lookup a top level type within the assembly or one of the assemblies reeferenced by the primary module, - names are compared case-sensitively. In case of ambiguity, type from this assembly wins, - otherwise Nothing is returned. - - - Symbol for the type or Nothing if type cannot be found or ambiguous. - - - - - If this property returns false, it is certain that there are no extension - methods (from language perspective) inside this assembly. If this property returns true, - it is highly likely (but not certain) that this type contains extension methods. - This property allows the search for extension methods to be narrowed much more quickly. - - !!! Note that this property can mutate during lifetime of the symbol !!! - !!! from True to False, as we learn more about the assembly. !!! - - - - - Lookup member declaration in predefined CorLib type used by this Assembly. - - - - - Lookup member declaration in predefined CorLib type in this Assembly. Only valid if this - assembly is the Cor Library - - - - - Class to represent custom attributes attached to symbols. - - - - - The attribute class. - - - - - The constructor on the attribute class. - - - - - Constructor arguments on the attribute. - - - - - Named (property value) arguments on the attribute. - - - - - Matches an attribute by metadata namespace, metadata type name. Does not load the type symbol for - the attribute. - - - - True if the attribute data matches. - - - - Matches an attribute by metadata namespace, metadata type name and metadata signature. Does not load the - type symbol for the attribute. - - Attribute to match. - - An index of the target constructor signature in signatures array, - -1 if this is not the target attribute. - - Matching an attribute by name does not load the attribute class. - - - - This subclass of MetadataDecoder is specifically for finding - method symbols corresponding to method MemberRefs. The parent - implementation is unsuitable because it requires a PEMethodSymbol - for context when decoding method type parameters and no such - context is available because it is precisely what we are trying - to find. Since we know in advance that there will be no context - and that signatures decoded with this class will only be used - for comparison (when searching through the methods of a known - TypeSymbol), we can return indexed type parameters instead. - - - - - We know that we'll never have a method context because that's what we're - trying to find. Instead, just return an indexed type parameter that will - make comparison easier. - - - - - - - This override changes two things: - 1) Return type arguments instead of type parameters. - 2) Handle non-PE types. - - - - - Search through the members of a given type symbol to find the method that matches a particular signature. - - Type containing the desired method symbol. - A MemberRef handle that can be used to obtain the name and signature of the method - True to only return a method. - The matching method symbol, or null if the inputs do not correspond to a valid method. - - - - Helper class to resolve metadata tokens and signatures. - - - - - ModuleSymbol for the module - source of metadata. - - - - - Type context for resolving generic type arguments. - - - - - Method context for resolving generic method type arguments. - - - - - Lookup a type defined in referenced assembly. - - - - - Lookup a type defined in a module of a multi-module assembly. - - - - - Lookup a type defined in this module. - This method will be called only if the type we are - looking for hasn't been loaded yet. Otherwise, MetadataDecoder - would have found the type in TypeDefRowIdToTypeMap based on its - TypeDef row id. - - - - - Produce constructed type symbol. - - - Symbol for generic type. - - - Generic type arguments, including those for nesting types. - - - Flags for arguments. Each item indicates whether corresponding argument refers to NoPia local types. - - - - - - - Perform a check whether the type or at least one of its generic arguments - is defined in the specified assemblies. The check is performed recursively. - - - - - Find canonical type for NoPia embedded type. - - - - - - - - - - - Symbol for the canonical type or an ErrorTypeSymbol. Never returns null. - - - - - Represents an assembly imported from a PE. - - - - - - An Assembly object providing metadata for the assembly. - - - - - - A MetadataDocumentationProvider providing XML documentation for this assembly. - - - - - The list of contained PEModuleSymbol objects. - The list doesn't use type ReadOnlyCollection(Of PEModuleSymbol) so that we - can return it from Modules property as is. - - - - - - An array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by a compilation referencing this assembly. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - An array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Look up the assembly to which the given metadata type Is forwarded. - - - Pass true to look up fullName case-insensitively. WARNING: more expensive. - Returns the actual casing of the matching name. - - The assembly to which the given type Is forwarded Or null, if there isn't one. - - - The returned assembly may also forward the type. - - - - - This is for perf, not for correctness. - - - - - The class to represent all events imported from a PE/module. - - - - - This is for perf, not for correctness. - - - - - The class to represent all fields imported from a PE/module. - - - - - This is for perf, not for correctness. - - - - - The module containing the namespace. - - - - - - This is for perf, not for correctness. - - - - - The class to represent all methods imported from a PE/module. - - - - - Associate the method with a particular property. Returns - false if the method is already associated with a property or event. - - - - - Associate the method with a particular event. Returns - false if the method is already associated with a property or event. - - - - - This is for perf, not for correctness. - - - - - Represents a net-module imported from a PE. Can be a primary module of an assembly. - - - - - - Owning AssemblySymbol. This can be a PEAssemblySymbol or a SourceAssemblySymbol. - - - - - - A Module object providing metadata. - - - - - - Global namespace. - - - - - - Cache the symbol for well-known type System.Type because we use it frequently - (for attributes). - - - - - This is a map from TypeDef handle to the target TypeSymbol. - It is used by MetadataDecoder to speed-up type reference resolution - for metadata coming from this module. The map is lazily populated - as we load types from the module. - - - - - This is a map from TypeRef row id to the target TypeSymbol. - It is used by MetadataDecoder to speed-up type reference resolution - for metadata coming from this module. The map is lazily populated - by MetadataDecoder as we resolve TypeRefs from the module. - - - - - This is for perf, not for correctness. - - - - - If this module forwards the given type to another assembly, return that assembly; - otherwise, return Nothing. - - Type to look up. - Pass true to look up fullName case-insensitively. WARNING: more expensive. - Returns the actual casing of the matching name. - Assembly symbol or Nothing. - - The returned assembly may also forward the type. - - - - - The class to represent all types imported from a PE/module. - - - - - - A map of types immediately contained within this type - grouped by their name (case-insensitively). - - - - - A set of all the names of the members in this type. - - - - - A map of members immediately contained within this type - grouped by their name (case-insensitively). - - - - - - Lazily initialized by TypeKind property. - Using Integer type to make sure read/write operations are atomic. - - - - - - Some simple sanity checks if a property can actually be a withevents property - - - - - Return true if the type parameters specified on the nested type (Me), - that represent the corresponding type parameters on the containing - types, in fact match the actual type parameters on the containing types. - - - - - Force all declaration errors to be generated. - - - - - This is for perf, not for correctness. - - - - - Returns the index of the first member of the specific kind. - Returns the number of members if not found. - - - - - Returns all members of the specific kind, starting at the optional offset. - Members of the same kind are assumed to be contiguous. - - - - - The class to represent top level types imported from a PE/module. - - - - - The base class to represent a namespace imported from a PE/module. - Namespaces that differ only by casing in name are merged. - - - - - A map of namespaces immediately contained within this namespace - grouped by their name (case-insensitively). - - - - - A map of types immediately contained within this namespace - grouped by their name (case-insensitively). - - - - - A map of NoPia local types immediately contained in this assembly. - Maps fully-qualified type name to the row id. - - - - - Returns PEModuleSymbol containing the namespace. - - PEModuleSymbol containing the namespace. - - - - Initializes m_Namespaces and m_Types maps with information about - namespaces and types immediately contained within this namespace. - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids must be grouped by the - fully-qualified namespace name in case-sensitive manner. There could be multiple groups - for each fully-qualified namespace name. The groups must be sorted by their key in - case-insensensitive manner. Empty string must be used as namespace name for types - immediately contained within Global namespace. Therefore, all types in THIS namespace, - if any, must be in several first IGroupings. - - - - - Create symbols for nested namespaces and initialize m_Namespaces map. - - - - - Create symbols for nested types and initialize m_Types map. - - - - - For test purposes only. - - - - - Return the set of types that should be checked for presence of extension methods in order to build - a map of extension methods for the namespace. - - - - - The class to represent all, but Global, namespaces imported from a PE/module. - Namespaces that differ only by casing in name are merged. - - - - - - The parent namespace. There is always one, Global namespace contains all - top level namespaces. - - - - - - The name of the namespace. - - - - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids are grouped by the - fully-qualified namespace name in case-sensitive manner. There could be multiple groups - for each fully-qualified namespace name. The groups are sorted by their key - in case-insensitive manner. Empty string is used as namespace name for types - immediately contained within Global namespace. Therefore, all types in this namespace, if any, - will be in several first IGroupings. - - This member is initialized by constructor and is cleared in EnsureAllMembersLoaded - as soon as symbols for children are created. - - - - - - Constructor. - - - Name of the namespace, must be not empty. - - - Containing namespace. - - - The sequence of groups of TypeDef row ids for types contained within the namespace, - recursively including those from nested namespaces. The row ids are grouped by the - fully-qualified namespace name in case-sensitive manner. There could be multiple groups - for each fully-qualified namespace name. The groups are sorted by their key - in case-insensitive manner. Empty string is used as namespace name for types - immediately contained within Global namespace. Therefore, all types in this namespace, if any, - will be in several first IGroupings. - - - - - - Calculate declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Expected to be called at most once per namespace symbol, unless there is a race condition. - - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - This is for perf, not for correctness. - - - - - The class to represent all types imported from a PE/module. - - - - - - Attributes filtered out from m_lazyCustomAttributes, ParamArray, etc. - - - - - This is for perf, not for correctness. - - - - - The class to represent all properties imported from a PE/module. - - - - - Marks property as definitely IsWithEvents or not. - The effects of this change cannot be undone. - Will have no effect if someone already asked if property is IsWithEvents (and will assert since it is not supposed to happen). - - - - - For the property to be considered valid, accessor signatures must be consistent - with each other, and accessor signatures must be consistent with the property - signature ignoring ByRef. These requirements are stricter than Dev11 which - allows many inconsistencies including different numbers of parameters. - - - - - This is for perf, not for correctness. - - - - - The class to represent all generic type parameters imported from a PE/module. - - - - - - First error calculating bounds. - - - - - This is for perf, not for correctness. - - - - - Represents a retargeting custom attribute - - - - - Gets the retargeted System.Type type symbol. - - Target symbol on which this attribute is applied. - Retargeted System.Type type symbol. - - - - Essentially this is a wrapper around another AssemblySymbol that is responsible for retargeting - symbols from one assembly to another. It can retarget symbols for multiple assemblies at the same time. - - For example, compilation C1 references v1 of Lib.dll and compilation C2 references C1 and v2 of Lib.dll. - In this case, in context of C2, all types from v1 of Lib.dll leaking through C1 (through method - signatures, etc.) must be retargeted to the types from v2 of Lib.dll. This is what - RetargetingAssemblySymbol is responsible for. In the example above, modules in C2 do not - reference C1.m_AssemblySymbol, but reference a special RetargetingAssemblySymbol created for - C1 by ReferenceManager. - - Here is how retargeting is implemented in general: - - Symbols from underlying assembly are substituted with retargeting symbols. - - Symbols from referenced assemblies that can be reused as is (i.e. doesn't have to be retargeted) are - used as is. - - Symbols from referenced assemblies that must be retargeted are substituted with result of retargeting. - - - - - The underlying AssemblySymbol, it leaks symbols that should be retargeted. - This cannot be an instance of RetargetingAssemblySymbol. - - - - - The list of contained ModuleSymbol objects. First item in the list - is RetargetingModuleSymbol that wraps corresponding SourceModuleSymbol - from m_UnderlyingAssembly.Modules list, the rest are PEModuleSymbols for - added modules. - - - - - An array of assemblies involved in canonical type resolution of - NoPia local types defined within this assembly. In other words, all - references used by a compilation referencing this assembly. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - An array of assemblies referenced by this assembly, which are linked (/l-ed) by - each compilation that is using this AssemblySymbol as a reference. - If this AssemblySymbol is linked too, it will be in this array too. - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A map from a local NoPia type to corresponding canonical type. - - - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - Retargeted custom attributes - - - - - - Constructor. - - - The underlying AssemblySymbol, cannot be an instance of RetargetingAssemblySymbol. - - - Assembly is /l-ed by compilation that is using it as a reference. - - - - - The underlying AssemblySymbol. - This cannot be an instance of RetargetingAssemblySymbol. - - - - - - - - Lookup declaration for FX type in this Assembly. - - - - - - - - This is for perf, not for correctness. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying EventSymbol, cannot be another RetargetingEventSymbol. - - - - - Retargeted custom attributes - - - - - - This is for perf, not for correctness. - - - - - Represents a field in a RetargetingModuleSymbol. Essentially this is a wrapper around - another FieldSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying FieldSymbol, cannot be another RetargetingFieldSymbol. - - - - - Retargeted custom attributes - - - - - - This is for perf, not for correctness. - - - - - Represents a method in a RetargetingModuleSymbol. Essentially this is a wrapper around - another MethodSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying MethodSymbol, cannot be another RetargetingMethodSymbol. - - - - - Retargeted custom attributes - - - - - - Retargeted return type attributes - - - - - - This is for perf, not for correctness. - - - - - Represents a primary module of a . Essentially this is a wrapper around - another that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - Here is how retargeting is implemented in general: - - Symbols from underlying module are substituted with retargeting symbols. - - Symbols from referenced assemblies that can be reused as is (i.e. don't have to be retargeted) are - used as is. - - Symbols from referenced assemblies that must be retargeted are substituted with result of retargeting. - - - - - Owning . - - - - - The underlying , cannot be another . - - - - - The map that captures information about what assembly should be retargeted - to what assembly. Key is the referenced by the underlying module, - value is the corresponding referenced by this module, and corresponding - retargeting map for symbols. - - - - - Retargeted custom attributes - - - - - Constructor. - - - Owning assembly. - - - Underlying , cannot be another . - - - - - - The underlying , cannot be another . - - - - - A helper method for ReferenceManager to set AssemblySymbols for assemblies - referenced by this module. - - - - - This is for perf, not for correctness. - - - - - Retargeting map from underlying module to this one. - - - - - Retargeting map from underlying module to the retargeting module. - - - - - RetargetingAssemblySymbol owning retargeting module. - - - - - The map that captures information about what assembly should be retargeted - to what assembly. Key is the AssemblySymbol referenced by the underlying module, - value is the corresponding AssemblySymbol referenced by the retargeting module, - and corresponding retargeting map for symbols. - - - - - The underlying ModuleSymbol for the retargeting module. - - - - - Perform a check whether the type or at least one of its generic arguments - is an explicitly defined local type. The check is performed recursively. - - - - - Represents a type of a RetargetingModuleSymbol. Essentially this is a wrapper around - another NamedTypeSymbol that is responsible for retargeting referenced symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying NamedTypeSymbol, cannot be another RetargetingNamedTypeSymbol. - - - - - Retargeted custom attributes - - - - - This method is called directly by a Binder when it uses this type. - - - - - This method is called directly by a Binder when it uses this type. - - - - - Make sure we retarget methods when underlying type checks their viability. - - - - - Force all declaration errors to be generated. - - - - - This is for perf, not for correctness. - - - - - Represents a namespace of a RetargetingModuleSymbol. Essentially this is a wrapper around - another NamespaceSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying NamespaceSymbol, cannot be another RetargetingNamespaceSymbol. - - - - - Calculate declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Expected to be called at most once per namespace symbol, unless there is a race condition. - - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - This method is called directly by a Binder when it uses this module level namespace. - - - - - This method is called when this namespace is part of a merged namespace and we are trying to build - a map of extension methods for the whole merged namespace. - - - - - Make sure we retarget methods when types of the underlying namespace add them to the map. - - - - - This method is called directly by a Binder when it uses this module level namespace. - - - - - Make sure we retarget methods when underlying namespace checks their viability. - - - - - This is for perf, not for correctness. - - - - - Represents a parameter of a RetargetingMethodSymbol. Essentially this is a wrapper around - another ParameterSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - The underlying ParameterSymbol, cannot be another RetargetingParameterSymbol. - - - - - Retargeted custom attributes - - - - - - Owning RetargetingMethodSymbol. - - - - - Owning RetargetingPropertySymbol. - - - - - This is for perf, not for correctness. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying PropertySymbol, cannot be another RetargetingPropertySymbol. - - - - - Retargeted custom attributes - - - - - - This is for perf, not for correctness. - - - - - Represents a type parameter in a RetargetingModuleSymbol. Essentially this is a wrapper around - another TypeParameterSymbol that is responsible for retargeting symbols from one assembly to another. - It can retarget symbols for multiple assemblies at the same time. - - - - - Owning RetargetingModuleSymbol. - - - - - The underlying TypeParameterSymbol, cannot be another RetargetingTypeParameterSymbol. - - - - - This is for perf, not for correctness. - - - - - This method finds an attribute by metadata name and signature. The algorithm for signature matching is similar to the one - in Module.GetTargetAttributeSignatureIndex. Note, the signature matching is limited to primitive types - and System.Type. It will not match an arbitrary signature but it is sufficient to match the signatures of the current set of - well known attributes. - - Attribute to match. - - - - Gets the System.Type type symbol from targetSymbol's containing assembly. - - Target symbol on which this attribute is applied. - System.Type type symbol. - - - - Information decoded from well-known custom attributes applied on an event. - - - - - Information decoded from early well-known custom attributes applied on a method. - - - - - Information decoded from well-known custom attributes applied on a method. - - - - - Information decoded from early well-known custom attributes applied on a parameter. - - - - - Information decoded from early well-known custom attributes applied on a type. - - - - - a link in a dependency chain - it means that "dependent" is dependent on the rest of the chain. - "kind" tells what kind of dependency this is. - - - - - Source types may have dependencies via inheritance or containment - The diagnostics is different in those cases. - - - - - Given base being resolved chain and current type produce the diagnostics - or Nothing if there is no cycle detected - - - - - Detects situations when a type participates in a dependency loop - And generates appropriate diagnostics. - No diagnostics means there was no loop - - - - - if there is a dependency chain from "current" to the "root" - Returning Nothing, means that there is no dependency - Returning Empty, means that root and current are the same and we have a 0-length dependency - Otherwise a dependence chain is formed. - - - - - Verifies that given symbol does not have loops in its inheritance chain - and reports appropriate diagnostics. - - - - - Verifies that given symbol does not have loops in its inheritance hierarchy - and reports appropriate diagnostics. - - - - - A tuple of TypeParameterSymbol and DiagnosticInfo, created for errors - reported from ConstraintsHelper rather than creating Diagnostics directly. - This decouples constraints checking from syntax and Locations, and supports - callers that may want to create Location instances lazily or not at all. - - - - - Helper methods for generic type parameter constraints. There are two sets of methods: one - set for resolving constraint "bounds" (that is, determining the effective base type, interface set, - etc.), and another set for checking for constraint violations in type and method references. - - Bounds are resolved by calling one of the ResolveBounds overloads. Typically bounds are - resolved by each TypeParameterSymbol at, or before, one of the corresponding properties - (BaseType, Interfaces, etc.) is accessed. Resolving bounds may result in errors (cycles, - inconsistent constraints, etc.) and it is the responsibility of the caller to report any such - errors as declaration errors or use-site errors (depending on whether the type parameter - was from source or metadata) and to ensure bounds are resolved for source type parameters - even if the corresponding properties are never accessed directly. - - Constraints are checked by calling one of the CheckConstraints or CheckAllConstraints - overloads for any generic type or method reference from source. In some circumstances, - references are checked at the time the generic type or generic method is bound and constructed - by the Binder. In those case, it is sufficient to call one of the CheckConstraints overloads - since compound types (such as A(Of T).B(Of U) or A(Of B(Of T))) are checked incrementally - as each part is bound. In other cases however, constraint checking needs to be delayed to - prevent cycles where checking constraints requires binding the syntax that is currently - being bound (such as the constraint in Class C(Of T As C(Of T)). In those cases, the caller - must lazily check constraints, and since the types may be compound types, it is necessary - to call CheckAllConstraints. - - - - - Enum used internally by RemoveDirectConstraintConflicts to - track what type constraint has been seen, to report conflicts - between { 'Structure', 'Class', [explicit type] }. The 'New' - constraint does not need to be tracked for those conflicts. - - - - - Return the constraints for the type parameter with any cycles - or conflicting constraints reported as errors and removed. - - - - - Check all generic constraints on the given type and any containing types - (such as A(Of T) in A(Of T).B(Of U)). This includes checking constraints - on generic types within the type (such as B(Of T) in A(Of B(Of T)())). - - - - - Check type parameters for the containing type or method symbol. - The type parameters are assumed to be the original definitions of type - parameters from the containing type or method, and the TypeSubstitution - instance is used for substituting type parameters within the constraints - of those type parameters, so the substitution should map from type - parameters to type arguments. - - - - - Return the most derived type from the set of constraint types on this type - parameter and any type parameter it depends on. Returns Nothing if there - are no concrete constraint types. If there are multiple constraints, returns - the most derived, ignoring any subsequent constraints that are neither - more or less derived. This method assumes there are no constraint cycles. - - - - - Return the most derived class type from the set of constraint types on this type - parameter and any type parameter it depends on. Returns Nothing if there are - no concrete constraint types. If there are multiple constraints, returns the most - derived, ignoring any subsequent constraints that are neither more or less derived. - This method assumes there are no constraint cycles. Unlike GetBaseConstraintType, - this method will always return a NamedTypeSymbol representing a class: returning - System.ValueType for value types, System.Array for arrays, and System.Enum for enums. - - - - - Populate the collection with all constraints for the type parameter, traversing - any constraints that are also type parameters. The result is a collection of type - and flag constraints, with no type parameter references. This method assumes - there are no constraint cycles. - - - - - A tuple of type parameter and constraint type. - - - - - Return true if the class type has a public parameterless constructor. - - - - - Return true if the constraints collection contains the given type constraint. - - - - - True if the syntax tree is an embedded syntax tree - - - - - Manages symbols from automatically embedded syntax trees. - - - - Automatically embedded symbols (types, methods and fields) used in the current compilation - - - - Non-0 indicates that the collection of referenced symbols is sealed - and so no new symbols are supposed to be added. - - - - - True if StandardModuleAttribute was used in the current compilation - - - - - Marks StandardModuleAttributeReference type as being references in the - current compilation. This method is to be used when a new type symbol for a - module is being created; we cannot pass the actual StandardModuleAttribute - type symbol because the symbol table is being constructed and calling - Compilation.GetWellKnownType(...) will cause infinite recursion. It does - not seem reasonable to special case this in symbol creation, so we just - mark StandardModuleAttribute attribute as referenced and then add - the actual symbol when MarkAllDeferredSymbols(...) is called. - - - - - Mark all deferred types as referenced - - - - - Returns True if any embedded symbols are referenced. - - WARNING: the referenced symbols collection may not be sealed yet!!! - - - - - Makes a snapshot of the current set of referenced symbols filtered by, - the set of symbols provided; may be called before the referenced symbol - collection is sealed. - - - - - Checks if the embedded symbol provided is in the collection and adds it - into collection if not. - - See description of AddReferencedSymbolWithDependents for more details of how - it actually works. - - - - - Returns True if the embedded symbol is known to be referenced in the current compilation. - - - - - Seals the collection of referenced symbols, all *new* symbols passed - to SpawnSymbolCollection(...) will cause assert and be ignored. - - - - - Checks if the embedded symbol provided is present in the 'allSymbols' and if not - adds it into 'allSymbols' as well as to the collection of referenced symbols - managed by this manager. Also adds all the 'dependent' symbols, i.e. symbols - which must also be marked as referenced if 'symbol' is referenced. - - NOTE that when a new embedded symbol is being added to the collection of referenced - symbols it should be added along with all the 'dependent' symbols. For example, if - we add a method symbol (T1.M1) we should ensure the containing type symbol (T1) is - added too, as well as its constructor (T1..ctor) and maybe attribute(s) (Attr1) set - on T1 and their constructors/fields (Attr1..ctor), etc... - - All dependent symbols must be added in the current thread not depending on - the other concurrent threads and avoiding possible race. Thus, let's suppose we have - the following dependencies: - - T1.M1 -> { T1, T1..ctor, Attr1, Attr1..ctor, ... } - - we cannot just check if T1.M1 exists in the collection of referenced symbols and not - add dependant symbols if it does; the reason is that T1.M1 may be added by a concurrent - thread, but its dependencies may not be added by that thread yet. So we need to - calculate all dependencies and try add all the symbols together. - - On the other hand it should be avoided that the method *always* goes through all - the dependencies for each symbol even though it may be definitely known that the symbol - is added in one of the previous operatinos by *the same thread*. To serve this purpose - the method uses 'allSymbols' collection to actually check whether or not the symbol - is added to the collection. This makes possible to reuse the same collection in several - consequent calls to AddReferencedSymbolWithDependents from the same thread; for example - in case one thread consequently adds lots of symbols, the thread may use the same - 'allSymbols' instance for efficient symbol filtering. - - - - - Lazily created parsed representation of VB Core content - - - - - Returns information about the reason that this type is in error. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - If we believe we know which symbol the user intended, then we should retain that information - in the corresponding error symbol - it can be useful for deciding how to handle the error. - - - - - Return why the candidate symbols were bad. - - - - - When constructing this ErrorTypeSymbol, there may have been symbols that seemed to - be what the user intended, but were unsuitable. For example, a type might have been - inaccessible, or ambiguous. This property returns the possible symbols that the user - might have intended. It will return no symbols if no possible symbols were found. - See the CandidateReason property to understand why the symbols were unsuitable. - - - - - Force all declaration errors to be generated. - - - - - Implementation of IEqualityComparer for EventSymbol, with options for various aspects - to compare. - - - - - This instance is used when trying to determine which implemented interface event is implemented - by a event with an Implements clause, according to VB rules. - This comparer uses event signature that may come from As clause delegate or from a parameter list. - The event signatures are compared without regard to name (including the interface part, if any) - and the return type must match. (NOTE: that return type of implementing event is always Void) - - - - - This instance is used to check whether one event overrides another, according to the VB definition. - - - - - This instance is intended to reflect the definition of signature equality used by the runtime (ECMA 335 Section 8.6.1.6). - It considers type, name, parameters, and custom modifiers. - - - - - This instance is used to compare potential WinRT fake events in type projection. - - FIXME(angocke): This is almost certainly wrong. The semantics of WinRT conflict - comparison should probably match overload resolution (i.e., we should not add a member - to lookup that would result in ambiguity), but this is closer to what Dev12 does. - - The real fix here is to establish a spec for how WinRT conflict comparison should be - performed. Once this is done we should remove these comments. - - - - - An error type symbol with name and diagnostic. More info can be added in the future. - - - - - - Returns information about the reason that this type is in error. - - - - - Represents a field or property initializer. Holds the symbol and the syntax for the initialization. - - - - - The field or property being initialized, or Nothing if this represents an executable statement in script code. - - - - - A reference to . - - - - - Initializer for an executable statement in script code. - - The initializer syntax for the statement. - - - - Initializes a new instance of the structure. - - The field. - The initializer syntax for the field. - - - - Initializes a new instance of the structure. - - - - - Initializes a new instance of the structure. - - The property. - The initializer syntax for the property. - - - - Indexed type parameters are used in place of type parameters for method signatures. There is - a unique mapping from index to a single IndexedTypeParameterSymbol. - - They don't have a containing symbol or locations. - - They do not have constraints, variance, or attributes. - - - - - Create a vector of n dummy type parameters. Always reuses the same type parameter symbol - for the same position. - - - - - - - The base class for potentially constructable (i.e. with known arity) error type symbols - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - An InstanceTypeSymbol is a NamedTypeSymbol that is a pure instance type, where the class - (and any containing classes) have no type substitutions applied. - This class provide shared implementation for types whose definition is (possibly lazily) - constructed from source or metadata. It provides the shared implementation between these two, primarily - the implementation of Construct and InternalSubstituteTypeParameters. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - A [Resume] or [On Error Resume Next] statement. - - - - - A structure used to lexically order symbols. For performance, it's important that this be - a STRUCTURE, and be able to be returned from a symbol without doing any additional allocations (even - if nothing is cached yet.) - - - - - Embedded kind of the tree. - - - - - If -1, symbol is in metadata or embedded or otherwise not it source. - Note that TreeOrdinal is only used for EmbeddedSymbolKind.None trees, thus - negative ordinals of embedded trees do not interfere - - - - - Position within the tree. Doesn't need to exactly match the span returned by Locations, just - be good enough to sort. In other words, we don't need to go to extra work to return the location of the identifier, - just some syntax location is fine. - - Negative value indicates that the structure was not initialized yet, is used for lazy - initializations only along with LexicalSortKey.NotInitialized - - - - - WARNING: Only use this if the location is obtainable without allocating it (even if cached later). E.g., only - if the location object is stored in the constructor of the symbol. - - - - - WARNING: Only use this if the node is obtainable without allocating it (even if cached later). E.g., only - if the node is stored in the constructor of the symbol. In particular, do not call this on the result of a GetSyntax() - call on a SyntacReference. - - - - - WARNING: Only use this if the token is obtainable without allocating it (even if cached later). E.g., only - if the node is stored in the constructor of the symbol. In particular, do not call this on the result of a GetSyntax() - call on a SyntaxReference. - - - - - Compare two lexical sort keys in a compilation. - - - - - This class provides an easy way to combine a MethodSignatureComparer and a PropertySignatureComparer - to create a unified MemberSignatureComparer (e.g. for use in a HashSet). - - - - - - This instance is used to compare potential WinRT fake members in type projection. - - FIXME(angocke): This is almost certainly wrong. The semantics of WinRT conflict - comparison should probably match overload resolution (i.e., we should not add a member - to lookup that would result in ambiguity), but this is closer to what Dev12 does. - - The real fix here is to establish a spec for how WinRT conflict comparison should be - performed. Once this is done we should remove these comments. - - - - - A MergedNamespaceSymbol represents a namespace that merges the contents of two or more other - namespaces. Any sub-namespaces with the same names are also merged if they have two or more - instances. - - Merged namespaces are used to merged the symbols from multiple metadata modules and the source "module" - into a single symbol tree that represents all the available symbols. The compiler resolves names - against Me merged set of symbols. - - Typically there will not be very many merged namespaces in a Compilation: only the root namespaces and - namespaces that are used in multiple referenced modules. (Microsoft, System, System.Xml, - System.Diagnostics, System.Threading, ...) - - - - - Create a possibly merged namespace symbol representing global namespace on an assembly level. - - - - - Create a possibly merged namespace symbol. If only a single namespace is passed it, it is just returned directly. - If two or more namespaces are passed in, then a new merged namespace is created with the given extent and container. - - The namespace extent to use, IF a merged namespace is created. - The containing namespace to used, IF a merged namespace is created. - One or more namespaces to merged. If just one, then it is returned. - The merged namespace symbol may hold onto the array. - A namespace symbol representing the merged namespace.(of /returns) - - - - Create a possibly merged namespace symbol representing global namespace on a compilation level. - - - - - Create a possibly merged namespace symbol (namespace group). If only a single namespace is passed it, it is just returned directly. - If two or more namespaces are passed in, then a new merged namespace is created - - One or more namespaces to merged. If just one, then it is returned. - The merged namespace symbol may hold onto the array. - A namespace symbol representing the merged namespace.(of /returns) - - - - Create a possibly merged namespace symbol (namespace group). If only a single namespace is passed it, it is just returned directly. - If two or more namespaces are passed in, then a new merged namespace is created with the given extent and container. - - The containing namespace to used, IF a merged namespace is created. - One or more namespaces to merged. If just one, then it is returned. - The merged namespace symbol may hold onto the array. - A namespace symbol representing the merged namespace.(of /returns) - - - - Method that is called from the CachingLookup to lookup the children of a given name. Looks - in all the constituent namespaces. - - - - - Method that is called from the CachingLookup to get all child names. Looks - in all constituent namespaces. - - - - - Calculate declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Expected to be called at most once per namespace symbol, unless there is a race condition. - - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - For test purposes only. - - - - - Returns true if namespace contains types accessible from the target assembly. - - - - - Populate the map with all extension methods declared within this namespace, so that methods from - the same type are grouped together within each bucket. - - - - - Helper methods that exist to share code between properties and events. - - - - - Represents source or metadata assembly. - - - - - - An array of cached Cor types defined in this assembly. - Lazily filled by GetSpecialType method. - - - - - - How many Cor types have we cached so far. - - - - - Lookup declaration for predefined CorLib type in this Assembly. Only should be - called if it is know that this is the Cor Library (mscorlib). - - - - - - - - Register declaration of predefined CorLib type in this Assembly. - - - - - - Continue looking for declaration of predefined CorLib type in this Assembly - while symbols for new type declarations are constructed. - - - - - Determine whether this assembly has been granted access to . - Assumes that the public key has been determined. The result will be cached. - - - - - - - - Lazy cache of special members. - Not yet known value is represented by ErrorTypeSymbol.UnknownResultType - - - - - Lookup member declaration in predefined CorLib type in this Assembly. Only valid if this - assembly is the Cor Library - - - - - One of the methods has more parameters than the other - AND - at least one of the extra parameters is NOT optional - - - - - One of the methods has more parameters than the other - AND at least one of the extra parameters IS optional - OR - there is at least one parameter in one method with optionality (being optional or - required) not equal to that of the matching parameter from the other method - - - - - Mismatch in total number of parameters, both required and optional - - - - - - Implementation of IEqualityComparer for MethodSymbols, with options for various aspects - to compare. - - - - - This instance is intended to reflect the definition of signature equality used by the runtime (ECMA 335 Section 8.6.1.6). - It considers return type, name, parameters, calling convention, and custom modifiers. - - - - - This instance is used to compare all aspects. - - - - - This instance is used to compare parameter and return types, including byref. - - - - - This instance is used to compare custom modifiers, parameter and return types, including byref. - - - - - This instance is used to search for methods that have the same signature, return type, - and constraints according to the VisualBasic definition. Custom modifiers are ignored. - - - - - This instance is used to search for methods that have identical signatures in every regard. - - - - - This instance is used to compare potential WinRT fake methods in type projection. - - FIXME(angocke): This is almost certainly wrong. The semantics of WinRT conflict - comparison should probably match overload resolution (i.e., we should not add a member - to lookup that would result in ambiguity), but this is closer to what Dev12 does. - - The real fix here is to establish a spec for how WinRT conflict comparison should be - performed. Once this is done we should remove these comments. - - - - - Returns true if the first set of constraint types - is a subset of the second set. - - - - - Determines if the method can be called with empty parameter list. - - The method. - - - - Determines if the method is partial - - The method - - - - Determines if the method is partial and does NOT have implementation provided - - The method - - - - Is method a user-defined operator. - - - - - A is a special kind of that represents - an assembly that couldn't be found. - - - - - AssemblySymbol to represent missing, for whatever reason, CorLibrary. - The symbol is created by ReferenceManager on as needed basis and is shared by all compilations - with missing CorLibraries. - - - - - An array of cached Cor types defined in this assembly. - Lazily filled by GetDeclaredSpecialType method. - - - - - Lookup declaration for predefined CorLib type in this Assembly. Only should be - called if it is know that this is the Cor Library (mscorlib). - - - - - - A MissingMetadataSymbol is a special kind of ErrorSymbol that represents - a type symbol that was attempted to be read from metadata, but couldn't be - found, because: - a) The metadata file it lives in wasn't referenced - b) The metadata file was referenced, but didn't contain the type - c) The metadata file was referenced, contained the correct outer type, but - didn't contains a nested type in that outer type. - - - - - Represents not nested missing type. - - - - - SpecialType.TypeId - - - - - This is the FULL namespace name (e.g., "System.Collections.Generic") - of the type that couldn't be found. - - - - - Represents nested missing type. - - - - - A is a special kind of that represents - a module that couldn't be found. - - - - - A is a special kind of that represents - a namespace that couldn't be found. - - - - - Represents a module within an assembly. Every assembly contains one or more modules. - - - - - Module's ordinal within containing assembly's Modules array. - 0 - for a source module, etc. - -1 - for a module that doesn't have containing assembly, or has it, but is not part of Modules array. - - - - - Target architecture of the machine. - - - - - Indicates that this PE file makes Win32 calls. See CorPEKind.pe32BitRequired for more information (http://msdn.microsoft.com/en-us/library/ms230275.aspx). - - - - - Returns a NamespaceSymbol representing the global (root) namespace, with - module extent, that can be used to browse all of the symbols defined in this module. - - - - - Returns the containing assembly. Modules are always directly contained by an assembly, - so this property always returns the same as ContainingSymbol. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from ReferencedAssemblies And from ReferencedAssemblySymbols - correspond to each other. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from GetReferencedAssemblies and from GetReferencedAssemblySymbols - should correspond to each other. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from ReferencedAssemblies And - from ReferencedAssemblySymbols correspond to each other. - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from GetReferencedAssemblies and - from GetReferencedAssemblySymbols should correspond to each other. If reference is - not resolved by compiler, GetReferencedAssemblySymbols returns MissingAssemblySymbol in the - correspnding item. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A helper method for ReferenceManager to set assembly identities for assemblies - referenced by this module and corresponding AssemblySymbols. - - A description of the assemblies referenced by this module. - - - Source assembly that triggered creation of this module symbol. - For debug purposes only, this assembly symbol should not be persisted within - this module symbol because the module can be shared across multiple source - assemblies. This method will only be called for the first one. - - - - - True if this module has any unified references. - - - - - Returns a unification use-site error (if any) for a symbol contained in this module - that is referring to a specified . - - - If an assembly referenced by this module isn't exactly matching any reference given to compilation - the Assembly Manager might decide to use another reference if it matches except for version - (it unifies the version with the existing reference). - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - Returns true if there is any applied CompilationRelaxationsAttribute assembly attribute for this module. - - - - - Returns true if there is any applied RuntimeCompatibilityAttribute assembly attribute for this module. - - - - - Default char set for contained types, or null if not specified. - - - Determined based upon value specified via applied on this module. - - - - - Given a namespace symbol, returns the corresponding module specific namespace symbol - - - - - Does this symbol represent a missing Module. - - - - - If this property returns false, it is certain that there are no extension - methods (from language perspective) inside this module. If this property returns true, - it is highly likely (but not certain) that this type contains extension methods. - This property allows the search for extension methods to be narrowed much more quickly. - - !!! Note that this property can mutate during lifetime of the symbol !!! - !!! from True to False, as we learn more about the module. !!! - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Safe to call on a null reference. - - - - - Given a name, find a member field or property (ignoring all other members) in a type. - - - - - Given a possibly constructed/specialized generic type, create a symbol - representing an unbound generic type for its definition. - - - - - A NamespaceExtent represents whether a namespace contains types and sub-namespaces from a particular module, - assembly, or merged across all modules (source and metadata) in a particular compilation. - - - - - Returns what kind of extent: Module, Assembly, or Compilation. - - - - - If the Kind is ExtendKind.Module, returns the module symbol that this namespace - encompasses. Otherwise throws InvalidOperationException. - - - - - If the Kind is ExtendKind.Assembly, returns the assembly symbol that this namespace - encompasses. Otherwise throws InvalidOperationException. - - - - - If the Kind is ExtendKind.Compilation, returns the compilation symbol that this namespace - encompasses. Otherwise throws InvalidOperationException. - - - - - Create a NamespaceExtent that represents a given ModuleSymbol. - - - - - Create a NamespaceExtent that represents a given AssemblySymbol. - - - - - Create a NamespaceExtent that represents a given Compilation. - - - - - Represents either a namespace or a type. - - - - - Returns true if this symbol is a namespace. If its not a namespace, it must be a type. - - - - - Returns true if this symbols is a type. Equivalent to Not IsNamespace. - - - - - Get all the members of this symbol. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol. The members may not be in a particular order, and the order - may not be stable from call-to-call. - - An ImmutableArray containing all the members of this symbol. If this symbol has no members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that have a particular name. - - An ImmutableArray containing all the members of this symbol with the given name. If there are - no members with this name, returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the type members of this symbol. The types may not be in a particular order, and the order - may not be stable from call-to-call. - - An ImmutableArray containing all the type members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns null. - - - - Get all the members of this symbol that are types. - - An ImmutableArray containing all the types that are members of this symbol. If this symbol has no type members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name, and any arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name. - If this symbol has no type members with this name, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are types that have a particular name and arity. - - An ImmutableArray containing all the types that are members of this symbol with the given name and arity. - If this symbol has no type members with this name and arity, - returns an empty ImmutableArray. Never returns Nothing. - - - - Returns true if this symbol was declared as requiring an override; i.e., declared - with the "MustOverride" modifier. Never returns true for types. - - - Always returns False. - - - - - Returns true if this symbol was declared to override a base class members and was - also restricted from further overriding; i.e., declared with the "NotOverridable" - modifier. Never returns true for types. - - - Always returns False. - - - - - Returns true if this member is overridable, has an implementation, - and does not override a base class member; i.e., declared with the "Overridable" - modifier. Does not return true for members declared as MustOverride or Overrides. - - - Always returns False. - - - - - Returns true if this symbol was declared to override a base class members; i.e., declared - with the "Overrides" modifier. Still returns true if the members was declared - to override something, but (erroneously) no member to override exists. - - - Always returns False. - - - - - This is a helper method shared between NamedTypeSymbol and NamespaceSymbol. - - Its purpose is to add names of probable extension methods found in membersByName parameter - to nameSet parameter. Method's viability check is delegated to overridable method - AddExtensionMethodLookupSymbolsInfoViabilityCheck, which is overriden by RetargetingNamedtypeSymbol - and RetargetingNamespaceSymbol in order to perform the check on corresponding RetargetingMethodSymbol. - - Returns true if there were extension methods among the members, - regardless whether their names were added into the set. - - - - - Perform extension method viability check within AppendExtensionMethodNames method above. - This method is overriden by RetargetingNamedtypeSymbol and RetargetingNamespaceSymbol in order to - perform the check on corresponding RetargetingMethodSymbol. - - Returns true if the method is viable. - - - - - Finds types or namespaces described by a qualified name. - - Sequence of simple plain names. - A set of namespace or type symbols with given qualified name (might comprise of types with multiple generic arities), - or an empty set if the member can't be found (the qualified name is ambiguous or the symbol doesn't exist). - - - "C.D" matches C.D, C(Of T).D, C(Of S,T).D(Of U), etc. - - - - - Represents a namespace. - - - - - Get all the members of this symbol that are namespaces. - - An ImmutableArray containing all the namespaces that are members of this symbol. If this symbol has no namespace members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are modules. - - An ImmutableArray containing all the types that are members of this namespace. If this namespace has no module members, - returns an empty ImmutableArray. Never returns Nothing. - - - - Get all the members of this symbol that are modules that have a particular name - - An ImmutableArray containing all the modules that are members of this namespace with the given name. - If this symbol has no modules with this name, - returns an empty ImmutableArray. Never returns Nothing. - - - - Returns whether this namespace is the unnamed, global namespace that is - at the root of all namespaces. - - - - - The kind of namespace: Module, Assembly or Compilation. - Module namespaces contain only members from the containing module that share the same namespace name. - Assembly namespaces contain members for all modules in the containing assembly that share the same namespace name. - Compilation namespaces contain all members, from source or referenced metadata (assemblies and modules) that share the same namespace name. - - - - - The containing compilation for compilation namespaces. - - - - - If a namespace has Assembly or Compilation extent, it may be composed of multiple - namespaces that are merged together. If so, ConstituentNamespaces returns - all the namespaces that were merged. If this namespace was not merged, returns - an array containing only this namespace. - - - - - Containing assembly. - - - - - Containing module. - - - - - Gets the kind of this symbol. - - - - - Implements visitor pattern. - - - - - Get this accessibility that was declared on this symbol. For symbols that do - not have accessibility declared on them, returns NotApplicable. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - Calculate declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Expected to be called at most once per namespace symbol, unless there is a race condition. - - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - Returns true if namespace contains types accessible from the target assembly. - - - - - Returns true if this symbol is "shared"; i.e., declared with the "Shared" - modifier or implicitly always shared. - - - - - Lookup a nested namespace. - - - Sequence of names for nested child namespaces. - - - Symbol for the most nested namespace, if found. Nothing - if namespace or any part of it can not be found. - - - - - - Lookup an immediately nested type referenced from metadata, names should be - compared case-sensitively. - - - Full type name possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - This is an entry point for the Binder to collect extension methods with the given name - declared within this (compilation merged or module level) namespace, so that methods - from the same type are grouped together. - - - - - This is an entry point for the Binder. Its purpose is to add names of viable extension methods declared - in this (compilation merged or module level) namespace to nameSet parameter. - - - - - Add names of viable extension methods declared in this (compilation merged or module level) - namespace to nameSet parameter. - - The 'appendThrough' parameter allows RetargetingNamespaceSymbol to delegate majority of the work - to the underlying namespace symbol, but still perform viability check on RetargetingMethodSymbol. - - - - - Populate the map with all probable extension methods declared within this namespace, so that methods from - the same type were grouped together within each bucket. - - - - - Gets all extension methods in this namespace given a method's name. - - - - - Return the set of types that should be checked for presence of extension methods in order to build - a map of extension methods for the namespace. - - - - - Populate the map with all probable extension methods in membersByName parameter. - - Returns True if an extension method was appended, False otherwise. - - - - - This method is overriden by RetargetingNamespaceSymbol and allows it to delegate majority of the work - to the underlying namespace symbol, but still retarget method symbols before they are added to the map - of extension methods. - - - - - A is a special kind of that represents - an assembly that is not missing, i.e. the "real" thing. - - - - - This is a cache similar to the one used by MetaImport::GetTypeByName - in native compiler. The difference is that native compiler pre-populates - the cache when it loads types. Here we are populating the cache only - with things we looked for, so that next time we are looking for the same - thing, the lookup is fast. This cache also takes care of TypeForwarders. - Gives about 8% win on subsequent lookups in some scenarios. - - - - - - The global namespace symbol. Lazily populated on first access. - - - - - Does this symbol represent a missing assembly. - - - - - Gets the merged root namespace that contains all namespaces and types defined in the modules - of this assembly. If there is just one module in this assembly, this property just returns the - GlobalNamespace of that module. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. Detect cycles during lookup. - - - Full type name, possibly with generic name mangling. - - - List of assemblies lookup has already visited (since type forwarding can introduce cycles). - - - Take forwarded types into account. - - - - - For test purposes only. - - - - - For test purposes only. - - - - - A is a special kind of that represents - a module that is not missing, i.e. the "real" thing. - - - - - An array of objects corresponding to assemblies directly referenced by this module. - - - The contents are provided by ReferenceManager and may not be modified. - - - - - Does this symbol represent a missing Module. - - - - - Returns an array of assembly identities for assemblies referenced by this module. - Items at the same position from GetReferencedAssemblies and from GetReferencedAssemblySymbols - should correspond to each other. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - Returns an array of AssemblySymbol objects corresponding to assemblies referenced - by this module. Items at the same position from GetReferencedAssemblies and - from GetReferencedAssemblySymbols should correspond to each other. If reference is - not resolved by compiler, GetReferencedAssemblySymbols returns MissingAssemblySymbol in the - correspnding item. - - The array and its content is provided by ReferenceManager and must not be modified. - - - - - A helper method for ReferenceManager to set assembly identities for assemblies - referenced by this module and corresponding AssemblySymbols. - - - - - Lookup a top level type referenced from metadata, names should be - compared case-sensitively. - - - Full type name, possibly with generic name mangling. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - A NoPiaAmbiguousCanonicalTypeSymbol is a special kind of ErrorSymbol that represents - a NoPia embedded type symbol that was attempted to be substituted with canonical type, - but the canonocal type was ambiguous. - - - - - A NoPiaIllegalGenericInstantiationSymbol is a special kind of ErrorSymbol that represents - a generic type instantiation that cannot cross assembly boundaries according to NoPia rules. - - - - - A NoPiaMissingCanonicalTypeSymbol is a special kind of ErrorSymbol that represents - a NoPia embedded type symbol that was attempted to be substituted with canonical type, - but the canonocal type couldn't be found. - - - - - Initialize the ObsoleteAttributeData by fetching attributes and decoding ObsoleteAttributeData. This can be - done for Metadata symbol easily whereas trying to do this for source symbols could result in cycles. - - - - - This method checks to see if the given symbol is Obsolete or if any symbol in the parent hierarchy is Obsolete. - - - True if some symbol in the parent hierarchy is known to be Obsolete. Unknown if any - symbol's Obsoleteness is Unknown. False, if we are certain that no symbol in the parent - hierarchy is Obsolete. - - - - - Create a diagnostic for the given symbol. This could be an error or a warning based on - the ObsoleteAttribute's arguments. - - - - - Groups the information computed by MakeOverriddenMembers. - - - In C# this class also stores hidden members (and is named OverriddenOrHiddenMembersResult). - The way VB warns on hidden members, this did not turn out to be useful. - - Expected to be a member symbol type (e.g. method, property). - - - - The member(s) that are potentially being overridden. This collection only contains - candidates having signature 'exactly' matching the signature of the method/property. - - 'Exact' signature match is defined as 'general' signature match plus NO - mismatches in total number of parameters or optional parameter types. - - See comments on InaccessibleMembers for more details on 'general' signature match. - - - - - The member(s) that are potentially being overridden. This collection only contains - candidates having signature 'generally' matching the signature of the method/property. - - Two signatures 'generally' match if DetailedSignatureCompare (...) returns no - mismatches defined in SymbolComparisonResults.AllMismatches ignoring mismatches - grouped in SymbolComparisonResults.MismatchesForConflictingMethods. - - - - - Members that would be in OverriddenMembers if they were accessible. - - - - - Represents a namespace. - - - - - For a given namespace in context of a particular Compilation all binders use - either a compilation merged namespace symbol, or a module level namespace symbol - (PE, Source or Retargeting). In order to speed-up lookup of extension methods performed - by a binder, we build and cache a map of all extension methods declared within the namespace - grouped by name (case-insensitively). - - If binder uses compilation merged namespace symbol, the map is built across all underlying - module level namespace symbols, separate maps for underlying namespace symbols are not built. - - If binder uses Retargeting module level namespace symbol, we build the map for the underlying - namespace symbol instead and push all requests through the underlying namespace. - - The map actually stores ImmutableArray(Of MethodSymbol), but we are using ImmutableArray(Of Symbol) - in order to be able to pass the map to a more general API. - - - - - Returns declared accessibility of most accessible type within this namespace or within a containing namespace recursively. - Valid return values: - Friend, - Public, - NotApplicable - if there are no types. - - - - - This is an entry point for the Binder to collect extension methods with the given name - declared within this (compilation merged or module level) namespace, so that methods - from the same type are grouped together. - - A cached map of extension methods is used to optimize the lookup. - - - - - Add names of viable extension methods declared in this (compilation merged or module level) - namespace to nameSet parameter. - - The 'appendThrough' parameter allows RetargetingNamespaceSymbol to delegate majority of the work - to the underlying namespace symbol, but still perform viability check on RetargetingMethodSymbol. - - A cached map of extension methods is used to optimize the operation. - - - - - Build and cache a map of probable extension methods for this namespace. - - - - - Represents a preprocessing conditional compilation symbol. - - - - - - Implementation of IEqualityComparer for PropertySymbols, with options for various aspects - to compare. - - - - - This instance is used to compare all aspects. - - - - - This instance is intended to reflect the definition of signature equality used by the runtime (ECMA 335 Section 8.6.1.6). - It considers type, name, parameters, and custom modifiers. - - - - - This instance is used to search for properties that have identical signatures in every regard. - - - - - This instance is used to compare potential WinRT fake properties in type projection. - - FIXME(angocke): This is almost certainly wrong. The semantics of WinRT conflict - comparison should probably match overload resolution (i.e., we should not add a member - to lookup that would result in ambiguity), but this is closer to what Dev12 does. - - The real fix here is to establish a spec for how WinRT conflict comparison should be - performed. Once this is done we should remove these comments. - - - - - Determines if the property can be accessed with empty parameter list. - - The property. - - - - Represents a curried extension method definition - first parameter and fixed - type parameters removed. - - - - - If this is an extension method that can be applied to an instance of the given type, - returns the curried method symbol thus formed. Otherwise, returns Nothing. - - - - - Represents type parameter of a curried extension method definition. - - - - - Represents parameter of a curried extension method definition. - - - - - A representation of a method symbol that is intended only to be used for comparison purposes - (esp in MethodSignatureComparer). - - - - - Intended to be used to create ParameterSymbols for a SignatureOnlyMethodSymbol. - - - - - A representation of a property symbol that is intended only to be used for comparison purposes - (esp in PropertySignatureComparer). - - - - - Represents a Lambda parameter for a LambdaSymbol. - - - - - Type parameters in documentation comments are complicated since they sort of act as declarations, - rather than references. Like in the following example: - - - ''' - Class Clazz - ... - - - - - - - We're going to ignore SourceMemberFlags.MethodIsSub and override IsSub explicitly. We do this because - the flags have to be set at construction time, but IsSub depends on IsWindowsRuntimeEvent, which depends - on interface implementations, which we don't want to bind until the member list is complete. (It's probably - okay now (2012/12/17), but it would be very fragile to take a dependency on the exact mechanism by which - interface members are looked up.) - - - - - Bind and validate parameters declared on the accessor. - - - - - Returns True if was modified. - - - - - - Attribute location corresponding to this symbol. - - - Location of an attribute if an explicit location is not specified via attribute target specification syntax. - - - - - Methods, Properties, and Events all have implements clauses and need to handle interface - implementation. This module has helper methods and extensions for sharing by multiple - symbol types. - - - - - - Find the implemented method denoted by "implementedMemberSyntax" that matches implementingSym. - Returns the implemented method, or Nothing if none. - - Also stores into "candidateSymbols" (if not Nothing) and resultKind the symbols and result kind that - should be used for semantic model purposes. - - - - - Does 'implementingSym' match 'implementedSym' well enough to be considered a match for interface implementation? - - - - - Perform additional validate of implementedSym and issue diagnostics. - Return "implementedSym" if the symbol table should record implementedSym as the implemented - symbol (even if diagnostics were issues). Returns Nothing if the code should not treat - implementedSym as the implemented symbol. - - - - - Validate method type parameter constraints. This is handled outside - of ValidateImplementedMember because that method is invoked - while computing the ExplicitInterfaceImplementations value on the - implementing method, but method type parameters rely on the value - of ExplicitInterfaceImplementations to determine constraints correctly. - - - - - Performs interface mapping to determine which symbol in this type or a base type - actually implements a particular interface member. - - MethodSymbol or PropertySymbol or EventSymbol (an interface member). - A non-null member on an interface type. - The type implementing the interface member. - A comparer for comparing signatures of TSymbol according to metadata implementation rules. - The implementing member or Nothing, if there isn't one. - - - - Search the declared methods of a type for one that could be an implicit implementation - of a given interface method (depending on interface declarations). It is assumed that the implementing - type is not a source type. - - MethodSymbol or PropertySymbol or EventSymbol (an interface member). - The interface member being implemented. - The type on which we are looking for a declared implementation of the interface method. - A comparer for comparing signatures of TSymbol according to metadata implementation rules. - - - - Given a set of explicit interface implementations that are undergoing substitution, return the substituted versions. - - Type of the interface members (Method, Property, Event) - The ROA of members that are being implemented - The type substitution - The substituted members. - - - - Represents implicit, script and submission classes. - - - - - Represents a Lambda parameter. - - - - - Represents a method symbol for a lambda method. - - - - - This symbol is used as the return type of a LambdaSymbol when we are interpreting - lambda's body in order to infer its return type. - - - - - This symbol is used as the return type of a LambdaSymbol when we failed to - infer lambda's return type, but still want to interpret its body. - - - - - This symbol is used as the return type of a LambdaSymbol when we are dealing with - query lambda and the return type should be taken from the target delegate upon - successful conversion. The LambdaSymbol will be mutated then. - - - - - This symbol is used as the return type of a LambdaSymbol when System.Void is used in code. - - - - - This symbol is used as a sentinel while we are binding a lambda in error recovery mode. - - - - - Can mutate for a query lambda from ReturnTypePendingDelegate - to the return type of the target delegate. - - - - - "Me" parameter for this lambda will be that of the containing symbol - - - - - Represents a local variable (typically inside a method body). This could also be a local variable implicitly - declared by a For, Using, etc. When used as a temporary variable, its container can also be a Field or Property Symbol. - - - - - - Only used in flow analysis for the pseudo-local representing a symbol - of the implicit receiver in case Dim statement defines more than one - variable, but uses the same object initializer for all of them, like in: - Dim a,b As New C() With { .X = .Y } - - - - - Create a local symbol from a local variable declaration. - - - - - Create a local symbol associated with an identifier token. - - - - - Create a local symbol associated with an identifier token and a different name (used for operators, etc.) - - - - - Create a local symbol that is not associated with any source. - - Generally used for temporary locals past the initial binding phase. - - - - Create an inferred local symbol from a For from-to statement. - - - - - Create an inferred local symbol from a For-each statement. - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - Returns true if this local is a ReadOnly local. Compiler has a concept of ReadOnly locals. - - - - - Was this local variable implicitly declared, because Option Explicit Off - was in effect, and no other symbol was found with this name. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Base class for any local symbol that can be referenced in source, might be implicitly declared. - - - - - Base class for any local symbol that needs a binder - - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - Class for a local symbol that has a different name than the identifier token. - In this case the real name is returned by the name property and the "VB User visible name" can be - obtained by accessing the IdentifierToken. - - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - A local symbol created by a for-each statement when Option Infer is on. - - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - A local symbol created by For from-to statement when Option Infer is on. - - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - A local symbol created from a variable declaration or a for statement with an as clause. - - - - - - Create a local variable symbol. Note: this does not insert it automatically into a - local binder so that it can be found by lookup. - - - - - Local symbol that is not associated with any source. - - Generally used for temporary locals past the initial binding phase. - - - - Function that help implement the overloading rules for VB, in particular the rules - for recasing method and property names. - - - - - Set the correct metadata name for all overloads of a particular name and symbol kind - (must be method or property) inside a container. - - The rules are as follows: - 1) If a method or property overrides one from its base class, its metadata name - must match that. - 2) If method overload those in the base (because the Overloads keyword is used), and - all metadata names in the base are consistent in case, use that name. - 3) All overloads with a class should match, except possibly for overrides. If there is - an override or overload from base, use that. Otherwise, use casing of first member in - class. - - - - - Collect all overloads in "container" of the given name and kind. - Also determine if any have "Overloads" or "Overrides" specifiers. - - - - - For each member in "overloadedMembers" that is marked Overrides, set its - metadata name to be the metadata name of its overridden member. Return the - first such name, lexically. - - Note: can return null if no override member with an actual overridden member was found. - - - - - Return the name of the lexically first symbol in "overloadedMembers". - - - - - Check all accessible, visible members of the base types of container for the given name and kind. If they - all have the same case-sensitive metadata name, return that name. Otherwise, return Nothing. - - - - - Methods, Properties, and Events all can override or hide members. - This class has helper methods and extensions for sharing by multiple symbol types. - - - - - - Check for overriding and hiding errors in container and report them via diagnostics. - - Containing type to check. Should be an original definition. - Place diagnostics here. - - - - Check each member of container for constraints against the base type. For methods and properties and events, - checking overriding and hiding constraints. For other members, just check for hiding issues. - - Containing type to check. Should be an original definition. - Place diagnostics here. - - - - - If the "container" is a non-MustInherit, make sure it has no MustOverride Members - If "container" is a non-MustInherit inheriting from a MustInherit, make sure that all MustOverride members - have been overridden. - If "container" is a MustInherit inheriting from a MustInherit, make sure that no MustOverride members - have been shadowed. - - - - - Report any diagnostics related to shadowing for a member. - - - - - Some symbols do not participate in overriding/hiding (e.g. constructors). Accessors are consider - to override or hide. - - - - - If a method had an virtual inaccessible override, then an explicit override in metadata is needed - to make it really override what it intends to override, and "skip" the inaccessible virtual - method. - - - - - Many of the methods want to generically work on properties, methods (and maybe events) as TSymbol. We put all these - methods into a generic class for convenience. - - - - - Walk up the type hierarchy from ContainingType and list members that this - method overrides (accessible methods/properties with the same signature, if this - method is declared "override"). - - Methods in the overridden list may not be virtual or may have different - accessibities, types, accessors, etc. They are really candidates to be - overridden. - - All found accessible candidates of overridden members are collected in two - builders, those with 'exactly' matching signatures and those with 'generally' - or 'inexactly' matching signatures. 'Exact' signature match is a 'general' - signature match which also does not have mismatches in total number of parameters - and/or types of optional parameters. See also comments on correspondent - OverriddenMembersResult(Of TSymbol) properties. - - 'Inexactly' matching candidates are only collected for reporting Dev10/Dev11 - errors like BC30697 and others. We collect 'inexact' matching candidates until - we find any 'exact' match. - - Also remembers inaccessible members that are found, but these do not prevent - continuing to search for accessible members. - - - - In the presence of non-VB types, the meaning of "same signature" is rather - complicated. If this method isn't from source, then it refers to the runtime's - notion of signature (i.e. including return type, custom modifiers, etc). - If this method is from source, use the VB version of signature. Note that - Dev10 C# has a rule that prefers members with less custom modifiers. Dev 10 VB has no - such rule, so I'm not adding such a rule here. - - - - - Look for overridden members in a specific type. Return true if we find an overridden member candidate - with 'exact' signature match, or we hit a member that hides. See comments on MakeOverriddenMembers(...) - for description of 'exact' and 'inexact' signature matches. - - Also remember any inaccessible members that we see. - - Syntax that overriding or hiding. - True if "overridingSym" is from source (this.IsFromSomeCompilation). - The type that contains this method (this.ContainingType). - The type to search. - Builder to place exactly-matched overridden member candidates in. - Builder to place inexactly-matched overridden member candidates in. - Builder to place exactly-matched inaccessible overridden member candidates in. - - - - The QuickAttributeChecker applies a simple fast heuristic for determining probable - attributes without binding attribute types, just by looking at the final syntax of an - attribute usage. It is accessed via the QuickAttributeChecker property on Binder. - - - It works by maintaining a dictionary of all possible simple names that might map to a particular - attribute. - - - - - Add a mapping from name to some attributes. - - - - - Process an alias clause and any imputed mappings from it. - E.g., If you have an alias Ex=Blah.Extension, add any mapping for Extension to those for Ex. - Note that although, in VB, an alias cannot reference another alias, this code doesn't not attempt - to distinguish between aliases and regular names, as that would add complexity to the data structure - and would be unlikely to matter. This entire class is probabilistic anyone and is only used for quick - checks. - - - - - Check attribute lists quickly to see what attributes might be referenced. - - - - - Indicate which attributes might be present. Could be extended to other attributes - if desired. - - - - - Represents a range variable symbol. - - - - - Create a range variable symbol associated with an identifier token. - - - - - Create a range variable symbol not associated with an identifier token, i.e. with illegal name. - Used for error recovery binding. - - - - - Represents an assembly built by compiler. - - - - - - A Compilation the assembly is created for. - - - - - - Assembly's identity. - - - - - - A list of modules the assembly consists of. - The first (index=0) module is a SourceModuleSymbol, which is a primary module, the rest are net-modules. - - - - - Indices of duplicate assembly attributes, i.e. attributes that bind to the same constructor and have identical arguments, that must not be emitted. - - - These indices correspond to the merged assembly attributes from source and added net modules, i.e. attributes returned by method. - - - - - This override is essential - it's a base case of the recursive definition. - - - - - Gets unique source assembly attributes that should be emitted, - i.e. filters out attributes with errors and duplicate attributes. - - - - - Returns true if the assembly attribute at the given index is a duplicate assembly attribute that must not be emitted. - Duplicate assembly attributes are attributes that bind to the same constructor and have identical arguments. - - - This method must be invoked only after all the assembly attributes have been bound. - - - - - Returns a bag of netmodule assembly attributes and data decoded from well-known attributes. Returns null if there are no attributes applied on the symbol. - - - Forces binding and decoding of attributes. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a NotOverridable method. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Returns data decoded from source assembly attributes or null if there are none. - - - Forces binding and decoding of attributes. - TODO: We should replace methods GetSourceDecodedWellKnownAttributeData and GetNetModuleDecodedWellKnownAttributeData with - a single method GetDecodedWellKnownAttributeData, which merges DecodedWellKnownAttributeData from source and netmodule attributes. - - - - - - This represents what the user claimed in source through the AssemblyFlagsAttribute. - It may be modified as emitted due to presence or absence of the public key. - - - - - Get assembly level declaration errors. - - - - - We may synthesize some well-known attributes for this assembly symbol. However, at synthesis time, it is - too late to report diagnostics or cancel the emit. Instead, we check for use site errors on the types and members - we know we'll need at synthesis time. - - - - - Represents a source parameter cloned from another , - when they must share attribute data. - - - For example, parameters on delegate Invoke method are cloned to delegate BeginInvoke, EndInvoke methods. - - - - - Represents a parameter symbol defined in source. - - - - - Symbol to copy bound attributes from, or null if the attributes are not shared among multiple source method symbols. - - - Used for partial method parameters: - Implementation parameter always copies its attributes from the corresponding definition parameter. - Definition is always complex parameter and so it stores the attribute bag. - - - - - Is parameter explicitly declared ByRef. Can be different from IsByRef only for - String parameters of Declare methods. - - - - - Represents a declare method defined in source. - - - - - This class represent a compiler generated method of a delegate type that is based upon source delegate or event delegate declaration. - - - - - Returns true if this method is an extension method. - - - - - Gets a value indicating whether this instance is external method. - - - true if this instance is external method; otherwise, false. - - - - - Get the type parameters on this method. If the method has not generic, - returns an empty list. - - - - - Gets a value indicating whether the symbol was generated by the compiler - rather than declared explicitly. - - - - - Represents enum constant field in source. - - - - - Indicates whether event created a new delegate type. - In such case the Type must be added to the members of the containing type - - - - - Unless the type is inferred, check that all - implemented events have the same type. - - - - - Helper method for accessors to get the overridden accessor methods. Should only be called by the - accessor method symbols. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a NotOverridable method. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Gets the syntax tree. - - - - - Field initializer's declaration syntax node. - It can be a EqualsValueSyntax or AsNewClauseSyntax. - - - - - Gets a value indicating whether this instance has declared type. This means not an inferred type. - - - true if this instance has declared type; otherwise, false. - - - - - Gets the constant value. - - The previously visited const fields; used to detect cycles. - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a NotOverridable method. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Verify the constant value matches the default value from any earlier attribute - (DateTimeConstantAttribute or DecimalConstantAttribute). - If not, report ERR_FieldHasMultipleDistinctConstantValues. - - - - - The bound information from a file. - - - - - Data for Binder.BindImportClause that maintains flat lists - of members and member syntax references in addition to - the dictionaries needed by BindImportClause. - - - - - Perform any validation of import statements that must occur - after the import statements have been added to the SourceFile. - Specifically, constraints are checked for generic type references. - - - - - Return the member imports for this file. May return Nothing if there are no member imports. - - - - - Return the alias imports for this file. May return Nothing if there are no alias imports. - - - - - Return the xmlns imports for this file. May return Nothing if there are no xmlns imports. - - - - - Returns the value of the Option Strict declaration if there was one, otherwise Null. - - - - - Returns the value of the Option Infer declaration if there was one, otherwise Null. - - - - - Returns the value of the Option Explicit declaration if there was one, otherwise Null. - - - - - Returns the value of the Option Compare Text/Binary declaration if there was one, otherwise Null. True means - Text, False means Binary. - - - - - Force all declaration errors to be generated. - - - - - Get all declaration errors in the given filterSpan. - - - - - Represents a named type symbol whose members are declared in source. - - - - - Holds information about a SourceType in a compact form. - - - - - - Compute the type flags from the declaration. - This function DOES NOT diagnose errors in the modifiers. Given the set of modifiers, - it produces the flags, even in the case of potentially conflicting modifiers. We have to - return some answer even in the case of errors. - - - - - Force all declaration errors to be generated. - - - - - Generate all async state machine types - - - - - Following enum is used just to help give more specific error messages. - - - - - Ensure all attributes on all members in the named type are bound. - - - - - Should return full emitted namespace name for a top level type if the name - might be different in case from containing namespace symbol full name, Nothing otherwise. - - Although namespaces unify based on case-insensitive name, VB uses the casing the namespace - declaration surround the class definition for the name emitted to metadata. - - Namespace FOO - Class X - End Class - ENd Namespace - Namespace foo - Class Y - End Class - ENd Namespace - - In metadata, these are classes "FOO.X" and "foo.Y" (and thus appear in different namespaces - when imported into C#.) This function determines the casing of the namespace part of a class, if needed - to override the namespace name. - - - - - Syntax references of all parts of the type declaration. - Submission and script classes are represented by their containing , - implicit class can be represented by or . - - - - - Structure to wrap the different arrays of members. - - - - - Initializes a new instance of the class. - - The members. - The static initializers. - The instance initializers. - - - - Accumulates different members kinds used while building the members. - - - - - Adds a field initializer for the field to list of field initializers - - All initializers. - The field initializer to add to the list of initializers. - - - - Adds an array of initializers to the member collections structure - - All initializers. - The siblings. - - - Examines the members collection and builds a set of partial methods if any, otherwise returns nothing - - - - Compares two methods to check if the 'candidate' can be an implementation of the 'partialDeclaration'. - - - - - Poolable data set to be used in structure circularity detection. - - - - - Following C# implementation we keep up to 32 data sets so that we do not need to allocate - them over and over. In this implementation though, circularity detection in one type can trigger - circularity detection in other types while it traverses the types tree. The traversal is being - performed breadth-first, so the number of data sets used by one thread is not longer than the - length of the longest structure-in-structure nesting chain. - - - - Set of processed structure types - - - Queue element structure - - - Queue of the types to be processed - - - - Analyzes structure type for circularities. Reports only errors relevant for 'structBeingAnalyzed' type. - - - When VB Dev10 detects circularity it reports the error only once for each cycle. Thus, if the cycle - is {S1 --> S2 --> S3 --> S1}, only one error will be reported, which one of S1/S2/S3 will have error - is non-deterministic (depends on the order of symbols in a hash table). - - Moreover, Dev10 analyzes the type graph and reports only one error in case S1 --> S2 --> S1 even if - there are two fields referensing S2 from S1. - - Example: - Structure S2 - Dim s1 As S1 - End Structure - - Structure S3 - Dim s1 As S1 - End Structure - - Structure S1 - Dim s2 As S2 ' ERROR - Dim s2_ As S2 ' NO ERROR - Dim s3 As S3 ' ERROR - End Structure - - Dev10 also reports only one error for all the cycles starting with the same field, which one is reported - depends on the declaration order. Current implementation reports all of the cycles for consistency. - See testcases MultiplyCyclesInStructure03 and MultiplyCyclesInStructure04 (report different errors in Dev10). - - - - - - Simple check of whether or not we should step into the type 'typeToTest' during - type graph traversal inside 'DetectStructureCircularity' or 'GetDependenceChain'. - - The following rules are in place: - (a) we order all symbols according their first source location - comparison rules: first, source file names are compared, - then SourceSpan.Start is used for symbols inside the same file; - (b) given this order we enter the loop if only 'typeToTest' is 'less' than - 'structBeingAnalyzed'; - (c) we also always enter types from other modules - - !!! To be ONLY used in 'DetectStructureCircularity'. - - True if detect type circularity code should step into 'typeToTest' type - - - - Returns true if at least one of the elements of this list needs to be injected into a - constructor because it's not a const or it is a const and it's type is either decimal - or date. Non const fields always require a constructor, so this function should be called to - determine if a synthesized constructor is needed that is not listed in members list. - - - - - Performs a check for overloads/overrides/shadows conflicts, generates diagnostics. - - - - - - - - Check to see if we need a default instance|shared constructor, and if so, create it. - - NOTE: we only need a shared constructor if there are any initializers to be - injected into it, we don't create a constructor otherwise. In this case we also - ignore const fields which will still require to be injected, because in this case - we don't see the constructor to be visible in symbol table. - - - - - In case the passed initializers require a shared constructor, this method returns a new MethodSymbol instance for the - shared constructor if there is not already an explicit shared constructor - - - - - Gets the static initializers. - - - - - Gets the instance initializers. - - - - - Reports the overloads error for this type. - - The diagnostics. - - - - Returns True if memberList(memberIndex) is an operator. - Also performs operator overloading validation and reports appropriate errors. - - - - - See if any member in [memberList] starting with [memberIndex] conflict with [method], - report appropriate error and return true. - - - - - Check for two different diagnostics on the set of implemented interfaces: - 1) It is invalid for a type to directly (vs through a base class) implement two interfaces that - unify (i.e. are the same for some substitution of type parameters). - - 2) It is a warning to implement variant interfaces twice with type arguments that could cause - ambiguity during method dispatch. - - - - - Interface1 and Interface2 conflict for some type arguments. Report the correct error in the correct location. - - - - - Interface1 and Interface2 have variable ambiguity. Report the warning in the correct location. - - - - - Gets the inferred type of this const field from the initialization value. - - The previously visited const fields; used to detect cycles. - - - - A source field with an explicit initializer. In a declaration declaring multiple fields, - such as "Dim a, b, c = d", this class is used for the first field only. (Other fields in - the declaration are instances of SourceFieldSymbolSiblingInitializer.) - - - - - A source field with an explicit initializer. In a declaration declaring multiple - fields, such as "Dim a, b, c = d", this class is used for the fields other than - the first. (The first field is an instance of SourceFieldSymbolWithInitializer.) - An instance of this class holds a reference to the first field in the declaration - and reuses the bound initializer from that field. - - - - - Represents a method declared in source. - - - - - If this symbol represents a partial method definition or implementation part, its other part (if any). - This should be set, if at all, before this symbol appears among the members of its owner. - The implementation part is not listed among the "members" of the enclosing type. - - - - - In case the method is an 'Async' method, stores the reference to a state machine type - synthesized in AsyncRewriter. Note, that this field is mutable and is being assigned - by calling AssignAsyncStateMachineType(...). - - - - - If this flag is set this method will be ignored - in duplicated signature analysis, see ERR_DuplicateProcDef1 diagnostics. - - - - - Set after all diagnostics have been reported for this symbol. - - - - - Validate method type parameter constraints against implemented methods. - - - - - This method is to be called to assign implementation to a partial method. - - - - - Base class for method symbols that are associated with some syntax and can receive custom attributes (directly or indirectly via another source symbol). - - - - - Creates a method symbol for Declare Sub or Function. - - - - - Decode the modifiers on a user-defined operator, reporting errors where applicable. - - - - - True if 'Shadows' is explicitly specified in method's declaration. - - - - - True if 'Overloads' is explicitly specified in method's declaration. - - - - - True if 'Overrides' is explicitly specified in method's declaration. - - - - - True if 'Handles' is specified in method's declaration - - - - - Return the location from syntax reference only. - - - - - Bind the constraint declarations for the given type parameter. - - - The caller is expected to handle constraint checking and any caching of results. - - - - - Symbol to copy bound attributes from, or null if the attributes are not shared among multiple source method symbols. - - - Used for example for event accessors. The "remove" method delegates attribute binding to the "add" method. - The bound attribute data are then applied to both accessors. - - - - - Symbol to copy bound return type attributes from, or null if the attributes are not shared among multiple source symbols. - - - Used for property accessors. Getter copies its return type attributes from the property return type attributes. - - So far we only need to return . If we ever needed to return a - we could implement an interface on those two types. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - - - Returns the list of attributes, if any, associated with the return type. - - - - - Returns data decoded from early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Represents the primary module of an assembly being built by compiler. - - - - - - Owning assembly. - - - - - - This override is essential - it's a base case of the recursive definition. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a NotOverridable method. - If you want to override attribute binding logic for a sub-class, then override method. - - - - - Data for Binder.BindImportClause that maintains flat lists of members, aliases, - and corresponding syntax references in addition to the dictionaries needed by - BindImportClause. The syntax references, instances of GlobalImportInfo, are used - later, when validating constraints, to generate Locations for constraint errors. - - - - - Perform any validation of import statements that must occur - after the import statements have been added to the module. - - - - - Perform validation of an import statement that must occur - after the statement has been added to the module. Specifically, - constraints are checked for generic type references. - - - - - Get all the declaration errors in a single tree. - - - - - Get all the declaration errors. - - - - - Represents a type or module declared in source. - Could be a class, structure, interface, delegate, enum, or module. - - - - - Information for ComClass specific analysis and metadata generation, created - once ComClassAttribute is encountered. - - - - - Lazy CoClass type if the attribute is specified. Nothing if not. - - - - - In case a cyclic dependency was detected during base type resolution - this field stores the diagnostic. - - - - - Bind the constraint declarations for the given type parameter. - - - The caller is expected to handle constraint checking and any caching of results. - - - - - 'Safe' version of GetDeclaredBase takes into account bases being resolved to make sure - we avoid infinite loops in some scenarios. Note that the cycle is being broken not when - we detect it, but when we detect it on the 'smallest' type of the cycle, this brings stability - in multithreaded scenarios while still ensures that we don't loop more than twices. - - - - - Do additional verification of base types the after acyclic base is found. This is - the chance to generate diagnostics that may require walking bases and as such - can be performed only after the base has been determined and cycles broken. - (For instance, checking constraints on Class B(Of T) Inherits A(Of B(Of T)).) - - - - - Do additional verification of interfaces after acyclic interfaces are found. This is - the chance to generate diagnostics that may need to walk interfaces and as such - can be performed only after the interfaces have been determined and cycles broken. - (For instance, checking constraints on Class C(Of T) Implements I(Of C(Of T)).) - - - - - Return the first Class declaration with explicit base classes to use for - checking base class constraints. Other type declarations (Structures, - Modules, Interfaces) are ignored since other errors will have been - reported if those types include bases. - - - - - Return the first Class, Structure, or Interface declaration with explicit interfaces - to use for checking interface constraints. Other type declarations (Modules) are - ignored since other errors will have been reported if those types include interfaces. - - - - - For enum types, gets the underlying type. Returns null on all other - kinds of types. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - - - Returns data decoded from early bound well-known attributes applied to the symbol or null if there are no applied attributes. - - - Forces binding and decoding of attributes. - - - - - Is System.Runtime.InteropServices.GuidAttribute applied to this type in code. - - - - - Is System.Runtime.InteropServices.ClassInterfaceAttribute applied to this type in code. - - - - - Is System.Runtime.InteropServices.ComSourceInterfacesAttribute applied to this type in code. - - - - - Encapsulates ComClass specific data and analysis. - - - - - Synthesized ComClass interfaces, can have the following values: - Null - not yet initialized, - Empty - there are no synthesized ComClass interfaces. - one interface - only class interface is synthesized. - two interfaces - both class interface and event interface are synthesized. Class interface is followed by the event interface. - - - - - Returns symbol for the event interface or Nothing when event interface is not synthesized. - - - - - Perform ComClass specific validation and prepare for metadata generation. - - - - - Return False if ComVisibleAttribute(False) is applied to the symbol, True otherwise. - - - - - Returns user defined DispId for a member or ReservedDispId.None if none specified. - Also reports errors for reserved DispIds. - - - - - Perform ComClass specific validation and prepare for metadata generation. - - - - - Used to sort types - members of group collection. - - - - - Register COR types declared in this namespace, if any, in the COR types cache. - - - - - Gets the filename of the first declaration that matches the given namespace name case sensitively. - - - - - Return the set of types that should be checked for presence of extension methods in order to build - a map of extension methods for the namespace. - - - - - Does this namespace have multiple different different case-sensitive spellings - (i.e., "Namespace FOO" and "Namespace foo". Includes parent namespace(s). - - - - - Get the fully qualified namespace name using the spelling used in the declaration enclosing the given - syntax tree and location. - I.e., if this namespace was declared with: - Namespace zAp - Namespace FOO.bar - 'location - End Namespace - End Namespace - Namespace ZAP - Namespace foo.bar - End Namespace - End Namespace - - It would return "ProjectNamespace.zAp.FOO.bar". - - - - - Is this an accessor parameter that came from the associated property? If so, - return it, else return Nothing. - - - - - Gets the attributes applied on this symbol. - Returns an empty array if there are no attributes. - - - - - Verify the default value matches the default value from any earlier attribute - (DefaultParameterValueAttribute, DateTimeConstantAttribute or DecimalConstantAttribute). - If not, report ERR_ParamDefaultValueDiffersFromAttribute. - - - - - Base class for all parameters that are emitted. - - - - - Bind parameters declared on the accessor and combine with any - parameters declared on the property. If there are no explicit parameters - and this is a setter, create a synthesized value parameter. - - - - - Property declaration syntax node. - It is either PropertyStatement for normal properties or FieldDeclarationSyntax for WithEvents ones. - - - - - Gets the attributes applie[d on this symbol. - Returns an empty array if there are no attributes. - - - NOTE: This method should always be kept as a NotOverridable method. - If you want to override attribute binding logic for a sub-class, then override method. - - - - True if 'Overloads' is explicitly specified in method's declaration - - - True if 'Overrides' is explicitly specified in method's declaration - - - - Helper method for accessors to get the overridden accessor methods. Should only be called by the - accessor method symbols. - - True to get implemented getters, False to get implemented setters - All the accessors of the given kind implemented by this property. - - - - Property declaration syntax node. - It is either PropertyStatement for normal properties or ModifiedIdentifier for WithEvents ones. - - - - - Return true if the accessor accessibility is more restrictive - than the property accessibility, otherwise false. - - - - - Returns the location (span) of the accessor begin block. - (Used for consistency with the native compiler that - highlights the entire begin block for certain diagnostics.) - - - - - Report an error associated with the accessor accessibility modifier. - - - - - Gets the syntax tree. - - - - - Represents a parameters declared in source, that is not optional, does not have a default value, - attributes, or is a ParamArray. This is a separate class to save memory, since there are LOTS - of parameters. - - - - - Represents a type parameter symbol defined in source. - - - - - True if the redundant type parameter constraints should be reported as - errors. For overridden methods, this is False since type substitution of type - arguments for the base/interface may result in redundant constraints. - - - This is a method rather than a property since the - implementation may be expensive. - - - - - Check constraints of generic types referenced in constraint types. For instance, - with "Interface I(Of T As I(Of T))", check T satisfies constraints on I(Of T). Those - constraints are not checked when binding ConstraintTypes since ConstraintTypes - has not been set on I(Of T) at that point. - - - - - Return the source location of the error, if any. If there error was - from a constraint, and that constraint was from source, its location - is returned. Otherwise if the type parameter was from source, its - location is returned. If neither is from source, Nothing is returned. - - - - - Represents a type parameter on a source type (as opposed to a method). - - - - - Represents a type parameter on a source method (as opposed to a type). - - - - - Represents a backing field of WithEvents property. - Attributes applied on the property syntax are applied on the backing field. - - - - - Represents a compiler generated backing field for an automatically implemented property. - - - - - Represents an interactive code entry point that is inserted into the compilation if there is not an existing one. - - - - - Generate a thread-safe accessor for a field-like event. - - DelegateType tmp0 = _event; //backing field - DelegateType tmp1; - DelegateType tmp2; - do { - tmp1 = tmp0; - tmp2 = (DelegateType)Delegate.Combine(tmp1, value); //Remove for -= - tmp0 = Interlocked.CompareExchange< DelegateType> (ref _event, tmp2, tmp1); - } while ((object)tmp0 != (object)tmp1); - - - - - Get the MethodSymbol for System.Threading.Interlocked.CompareExchange< T> for a given T. - - - - - Represents a compiler generated backing field for an event. - - - - - applied on an event and determines serializability of its backing field. - - - - - Represents a compiler generated field of given type and name. - - - - - Represents a synthesized lambda. - - - - - Initializes a new instance of the class. - - - - - Gets a value indicating whether the symbol was generated by the compiler - rather than declared explicitly. - - - - - Represents a compiler generated "Main" sub. - - - - - Represents a compiler "MyGroupCollection" property accessor. - - - - - Represents a compiler generated field for a "MyGroupCollection" property. - - - - - Represents a compiler "MyGroupCollection" property. - - - - - This class represents a compiler generated parameterless constructor - - - - - Initializes a new instance of the class. - - The containing type for the synthesized constructor. - if set to true if this is a shared constructor. - - - - WithEvents property accessor. - - - - - Represents a Lambda parameter for an UnboundLambda. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Represents a member variable (field) that has undergone type substitution. - - - - - Represents a method that has undergone type substitution. This is use for a method - inside a generic type that has undergone type substitution. It also serves as a base class - for ConstructedMethodSymbol, which is used for a method after type substitution in the method type parameters. - - - - - If this is a generic method return TypeSubstitution for it. - TypeSubstitution for containing type otherwise. - - - - - Compare with no regard to type arguments. - - - - - Base class for symbols representing non-generic or open generic methods contained within constructed generic type. - For example: A(Of Integer).B, A(Of Integer).B.C or A(Of Integer).B.C(Of ). - - - - - Associate the method with a particular property. Returns - false if the method is already associated with a property. - - - - - Symbol representing non-generic method directly or indirectly contained within constructed - generic type. - For example: A(Of Integer).B or A(Of Integer).B.C - - - - - Symbol representing open generic method directly or indirectly contained within constructed - generic type. - For example: A(Of Integer).B(Of ) or A(Of Integer).B.C(Of , ) - - - - - Alpha-renamed type parameters, i.e. type parameters with constraints substituted according - to containing type's TypeSubstitution. - For example: - Class A (Of T) - Sub B(Of S As T)() - End Sub - End Class - - Given a method A(Of IComparable).B(Of ), alpha-renamed type parameter S will have type constraint IComparable. - - - - - Base class for symbols representing constructed generic methods. - For example: A(Of Integer), A.B(Of Integer), A(Of Integer).B.C(Of Integer). - - - - - Symbols representing constructed generic method that is contained within constructed generic type. - For example: A(Of Integer).B(Of Integer), A(Of Integer).B.C(Of Integer). - - - - - Symbol for the ConstructedFrom method. - A(Of Integer).B(Of ) for A(Of Integer).B(Of Integer), - A(Of Integer).B.C(Of ) for A(Of Integer).B.C(Of Integer) - - All types in its containership hierarchy must be either constructed or non-generic, or original definitions. - - - - - Symbols representing constructed generic method that isn't contained within constructed generic type. - For example: A.B(Of Integer), but not A(Of Integer).B.C(Of Integer). - - - - - A SubstitutedNamedType represents a named type that has had some sort - of substitution applied to it. I.e., its not a pure instance type, but at least - one type parameter in this type or a containing type has a substitution made for - it. - - - - - Type substitution for this symbol, it targets OriginalDefinition of the symbol. - - - - - Compare SubstitutedNamedTypes with no regard to type arguments. - - - - - Base class for symbols representing non-generic or open generic types contained within constructed generic type. - For example: A(Of Integer).B, A(Of Integer).B.C or A(Of Integer).B.C(Of ). - - - - - Symbol for the containing type, either specialized or constructed. - - - - - Symbol representing open generic type directly or indirectly contained within constructed - generic type. - For example: A(Of Integer).B(Of ) or A(Of Integer).B.C(Of , ) - - - - - Alpha-renamed type parameters, i.e. type parameters with constraints substituted according - to containing type's TypeSubstitution. - For example: - Class A (Of T) - Class B(Of S As T) - Dim x As A(Of Integer).B(Of S) 'error BC32044: Type argument 'S' does not inherit from or implement the constraint type 'Integer'. - End Class - End Class - - Given a type A(Of IComparable).B(Of ), alpha-renamed type parameter S will have type constraint IComparable. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Symbol representing non-generic type directly or indirectly contained within constructed - generic type. - For example: A(Of Integer).B or A(Of Integer).B.C - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Base class for symbols representing constructed generic types. - For example: A(Of Integer), A.B(Of Integer), A(Of Integer).B.C(Of Integer). - - - - - Symbols representing constructed generic type that isn't contained within another constructed generic type. - For example: A(Of Integer), A.B(Of Integer), but not A(Of Integer).B.C(Of Integer). - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Symbols representing constructed generic type that is contained within another constructed generic type. - For example: A(Of Integer).B(Of Integer), A(Of Integer).B.C(Of Integer). - - - - - Symbol for the ConstructedFrom type. - A(Of Integer).B(Of ) for A(Of Integer).B(Of Integer), - A(Of Integer).B.C(Of ) for A(Of Integer).B.C(Of Integer) - - All types in its containership hierarchy must be either constructed or non-generic, or original definitions. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Force all declaration errors to be generated. - - - - - Represents a parameter that has undergone type substitution. - - - - - Represents a method parameter that has undergone type substitution. - - - - - Represents a property parameter that has undergone type substitution. - - - - - Represents a property that has undergone type substitution. - - - - - A SubstitutedTypeParameterSymbol represents an alpha-renamed type parameter. - They are created only for open generic types and methods that are contained within a - constructed generic type. - - Alpha-renamed type parameters have their constraints substituted according - to type/method's containing type's TypeSubstitution. - For example: - Class A (Of T) - Class B(Of S As T) - End Class - End Class - - Given a type A(Of IComparable).B(Of ), alpha-renamed type parameter T will have type constraint IComparable. - The rest will be exactly as for the original type parameter T. In fact, OriginalDefinition will return symbol for T. - - - - - Containing type or method. - The field is not read-only because it is initialized after construction through - SetContainingSymbol() method. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Does the compilation this symbol belongs to output to a winmdobj? - - - - - String such as 'class', 'interface' etc that can be used in error messages. - - - - - String "ReadOnly", "WriteOnly", or "" describing the kind of property. - - - - - Checks if there is a name match with any type parameter. - - - - - - - - - Returns true if this symbols can overload another of the same kind. - - - - - Returns true if this property can overload another. - - - - - Helper that tells if symbol has Overloads (hidebysig) on it - - - - - Member that does not have Overloads, is considered Shadows (hidebyname) - - - - - Is the symbol an instance member (i.e. access requires a receiver) - - - - - Is this a member of a interface that requires implementation? - - - - - Returns True for "regular" properties (those that are not WithEvents. - Typically used for OHI diagnostics where WithEvents properties are treated as variables. - - - - - Return the overridden symbol for either a method or property. - - - - - Return the arity of a member. - - - - - Returns the Me symbol associated with a member. - sym must be a member (method, field or property) - - - - - Is symbol a user-defined operator method. - - - - - Does symbol or its containing type have Microsoft.VisualBasic.Embedded() attribute - - - - - Helper class to generate synthesized names. - - - - - Generates the name of an operator's function local based on the operator name. - - - - - Generates the name of a lambda's function value local. - - - - - Generates the name of a state machine's type - - - - - Generates the name of a state machine 'builder' field - - - - - Generates the name of a state machine 'state' field - - - - - Generates the name of a state machine's 'awaiter_xyz' field - - - - - Generates the name of a state machine's parameter name - - - - - Generates the name of a state machine's parameter name - - - - - Generates the name of a field used to store stack-spilled value - - - - - Generates the name of a state machine's field created to store captured r-value expression - - - - - Generates the name of a state machine's local name - - - - - Generates the name of a field that backs Current property - - - - - Generates the name of a field where initial thread ID is stored - - - - - The function is reverse of 'MakeStateMachineLocalName'; it tries to parse the local name assuming - it is produced by MakeStateMachineLocalName and returns 'index' and 'name' in case of successful. - - - - - Generates the name of a state machine field name for captured me reference - - - - - Generates the name of a state machine field name for captured me reference of lambda closure - - - - - Class to represent a synthesized attribute - - - - - Synthesizes attribtue data for given constructor symbol. - If the constructor has UseSiteErrors and the attribute is optional returns Nothing. - - - - - Represents a base type for compiler generated backing fields. - - - - - Type parameter that represents another type parameter while being applied on a different symbol - - - - - This class represents a base class for compiler generated constructors - - - - - Flag to indicate if this is a shared constructor or an instance constructor. - - - - - Initializes a new instance of the class. - - The containing type for the synthesized constructor. - if set to true if this is a shared constructor. - - - - Gets the symbol name. Returns the empty string if unnamed. - - - - - Gets a indicating the declared accessibility for the symbol. - Returns NotApplicable if no accessibility is declared. - - - - - Gets a value indicating whether this instance is abstract or not. - - - true if this instance is abstract; otherwise, false. - - - - - Gets a value indicating whether this instance is not overridable. - - - true if this instance is not overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overloads. - - - true if this instance is overloads; otherwise, false. - - - - - Gets a value indicating whether this instance is overridable. - - - true if this instance is overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overrides. - - - true if this instance is overrides; otherwise, false. - - - - - Gets a value indicating whether this instance is shared. - - - true if this instance is shared; otherwise, false. - - - - - Gets a value indicating whether this instance is sub. - - - true if this instance is sub; otherwise, false. - - - - - A potentially empty collection of locations that correspond to this instance. - - - - - Gets what kind of method this is. There are several different kinds of things in the - VB language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - Gets the return type of the method. - - - - - This class represent a compiler generated method - - - - - Initializes a new instance of the class. The parameters are not initialized and need to be set - by using the method. - - The name of this method. - The containing symbol. - The flags for this method. - The return type. - - - - Sets the parameters. - - The parameters. - - Note: This should be called at most once, immediately after the symbol is constructed. The parameters aren't - Note: passed to the constructor because they need to have their container set correctly. - - - - - Returns the arity of this method, or the number of type parameters it takes. - A non-generic method has zero arity. - - - - - If this method has MethodKind of MethodKind.PropertyGet or MethodKind.PropertySet, - returns the property that this method is the getter or setter for. - If this method has MethodKind of MethodKind.EventAdd or MethodKind.EventRemove, - returns the event that this method is the adder or remover for. - - - - - Calling convention of the signature. - - - - - Gets the for the immediately containing symbol. - - - - - Gets a indicating the declared accessibility for the symbol. - Returns NotApplicable if no accessibility is declared. - - - - - Returns interface methods explicitly implemented by this method. - - - - - Returns true if this method is an extension method. - - - - - Gets a value indicating whether this instance is external method. - - - true if this instance is external method; otherwise, false. - - - - - Gets a value indicating whether this instance is abstract or not. - - - true if this instance is abstract; otherwise, false. - - - - - Gets a value indicating whether this instance is not overridable. - - - true if this instance is not overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overloads. - - - true if this instance is overloads; otherwise, false. - - - - - Gets a value indicating whether this instance is overridable. - - - true if this instance is overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overrides. - - - true if this instance is overrides; otherwise, false. - - - - - Gets a value indicating whether this instance is shared. - - - true if this instance is shared; otherwise, false. - - - - - Gets a value indicating whether this instance is a sub. - - - true if this instance is sub; otherwise, false. - - - - - Gets a value indicating whether this instance is vararg. - - - true if this instance is vararg; otherwise, false. - - - - - A potentially empty collection of locations that correspond to this instance. - - - - - Gets what kind of method this is. There are several different kinds of things in the - VB language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - The parameters forming part of this signature. - - - - - Gets the return type of the method. - - - - - Returns the list of attributes, if any, associated with the return type. - - - - - Returns the list of custom modifiers, if any, associated with the returned value. - - - - - Returns the type arguments that have been substituted for the type parameters. - If nothing has been substituted for a given type parameter, - then the type parameter itself is consider the type argument. - - - - - Get the type parameters on this method. If the method has not generic, - returns an empty list. - - - - - Gets a value indicating whether the symbol was generated by the compiler - rather than declared explicitly. - - - - - Gets the symbol name. Returns the empty string if unnamed. - - - - - This class represents a synthesized delegate type derived from an Event declaration - - - - Class C - Event Name(a As Integer, b As Integer) - End Class - - defines an event and a delegate type: - - Event Name As NamedEventHandler - Delegate Sub NameEventHandler(a As Integer, b As Integer) - - - - - - - This property may be called while containing type is still being constructed. - Therefore it can take membersInProgress context to ensure that returned symbol - is relevant to the current type construction. - (there could be several optimistically concurrent sessions) - - - - - Force all declaration errors to be generated. - - - - - This class represents a base class for compiler generated synthesized method symbols - that must be emitted in the compiler generated PrivateImplementationDetails class. - SynthesizedGlobalMethodBase symbols don't have a ContainingType, there are global to - the containing source module and are Public Shared methods. - - - - - Gets the symbol name. Returns the empty string if unnamed. - - - - - Gets a value indicating whether this instance is abstract or not. - - - true if this instance is abstract; otherwise, false. - - - - - Gets a value indicating whether this instance is not overridable. - - - true if this instance is not overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overloads. - - - true if this instance is overloads; otherwise, false. - - - - - Gets a value indicating whether this instance is overridable. - - - true if this instance is overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overrides. - - - true if this instance is overrides; otherwise, false. - - - - - Gets a value indicating whether this instance is shared. - - - true if this instance is shared; otherwise, false. - - - - - A potentially empty collection of locations that correspond to this instance. - - - - - Gets what kind of method this is. There are several different kinds of things in the - VB language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - The parameters forming part of this signature. - - - - - When signature of an implementing method differs (due to presence of custom modifiers) - from the signature of implemented method, we insert a synthesized explicit interface - implementation that delegates to the method declared in source. - - - - - This class represents synthetic WithEvents property that overrides - one in one of the base classes. - - - When derived class contains "Handles" methods that refer to a - WithEvents property in a base class, derived calss needs to add a - synthetic override for the base WithEvent property. - We need the override so that we could inject code sequences that - remove old handlers and add new handlers when something is assigned - to the property. - - Public Class Base - Protected Friend WithEvents w As Base = Me - Public Event e As System.Action - - Sub H1() Handles w.e - End Sub - End Class - - Public Class Derived - Inherits Base - - Sub H2() Handles w.e - End Sub - End Class - - - - - - Base (simplified) class for synthesized parameter symbols of methods that have been synthesized. E.g. the parameters of delegate methods - - - - - Initializes a new instance of the class. - - The containing symbol - The type of this parameter - The ordinal number of this parameter - The name of this parameter - - - - Gets the containing symbol. - - - - - The list of custom modifiers, if any, associated with the parameter. Evaluate this property only if IsModified is true. - - - - - A compile time constant value that should be supplied as the corresponding argument value by callers that do not explicitly specify an argument value for this parameter. - - - - - True if the parameter has a default value that should be supplied as the argument value by a caller for which the argument value has not been explicitly specified. - - - - - Gets a value indicating whether this instance is by ref. - - - true if this instance is by ref; otherwise, false. - - - - - True if the argument value must be included in the marshalled arguments passed to a remote callee only if it is different from the default value (if there is one). - - - - - Gets a value indicating whether this instance is param array. - - - true if this instance is param array; otherwise, false. - - - - - Gets a value indicating whether the symbol was generated by the compiler - rather than declared explicitly. - - - - - A potentially empty collection of locations that correspond to this instance. - - - - - Gets the ordinal. - - - - - Gets the type. - - - - - Gets the name. - - - - - Base class for synthesized parameter symbols of methods that have been synthesized. E.g. the parameters of delegate methods - - - - - Initializes a new instance of the class. - - The containing symbol - The type of this parameter - The ordinal number of this parameter - Whether the parameter is ByRef or not - The name of this parameter - - - - Initializes a new instance of the class. - - The containing symbol - The type of this parameter - The ordinal number of this parameter - Whether the parameter is ByRef or not - The name of this parameter - - - - Gets a value indicating whether this instance is by ref. - - - true if this instance is by ref; otherwise, false. - - - - - True if the argument value must be included in the marshalled arguments passed to a remote callee only if it is different from the default value (if there is one). - - - - - A compile time constant value that should be supplied as the corresponding argument value by callers that do not explicitly specify an argument value for this parameter. - - - - - True if the parameter has a default value that should be supplied as the argument value by a caller for which the argument value has not been explicitly specified. - - - - - Initializes a new instance of the class. - - The containing symbol - The type of this parameter - The ordinal number of this parameter - Whether the parameter is ByRef or not - The name of this parameter - The custom modifiers of this parameter - - - - The list of custom modifiers, if any, associated with the parameter. Evaluate this property only if IsModified is true. - - - - - Extends SynthesizedParameterSymbol to also accept a location - - - - - A base class for symbols representing a synthesized property. - - - - - This class represents a base class for compiler generated methods - - - - - Gets the symbol name. Returns the empty string if unnamed. - - - - - Gets a value indicating whether this instance is abstract or not. - - - true if this instance is abstract; otherwise, false. - - - - - Gets a value indicating whether this instance is not overridable. - - - true if this instance is not overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overloads. - - - true if this instance is overloads; otherwise, false. - - - - - Gets a value indicating whether this instance is overridable. - - - true if this instance is overridable; otherwise, false. - - - - - Gets a value indicating whether this instance is overrides. - - - true if this instance is overrides; otherwise, false. - - - - - Gets a value indicating whether this instance is shared. - - - true if this instance is shared; otherwise, false. - - - - - A potentially empty collection of locations that correspond to this instance. - - - - - Gets what kind of method this is. There are several different kinds of things in the - VB language that are represented as methods. This property allow distinguishing those things - without having to decode the name of the method. - - - - - The parameters forming part of this signature. - - - - - This class represents a simple implementation of compiler generated constructors - - - - - Sets the parameters. - - The parameters. - - - - This class represents a base class for compiler generated methods - - - - - Sets the parameters. - - The parameters. - - - - The semantics of LHS ByRef local is roughly the same as of a ByRef parameter - EmitAssignment will load value of the local (not address of the local itself) for LHS and then will do indirect assignment. - To store reference in the local, use BoundReferenceAssignment node. - - The semantics of RHS ByRef local is roughly the same as of a ByRef parameter - EmitExpression will load the value which local is referring to. - EmitAddress will load the actual local. - - - - - A type parameter constraint: a single 'New', 'Class', - 'Structure' constraint or a specific type constraint. - - - - - Immutable. Thread-safe. - - Represents a type substitution, with substitutions of types for a set of type parameters. - Each TypeSubstitution object has three pieces of information: - - OriginalDefinition of generic symbol the substitution is targeting. - - An array of pairs that provide a mapping from symbol's type parameters to type arguments. - identity substitutions are omitted. - - TypeSubstitution object for containing type to provide mapping for its type - parameters, if any. - - The identity substitution (for the whole type hierarchy) is represented by Nothing. That said, - top level parent of non-Nothing instance of TypeSubstitution is guaranteed to be non-identity - substitution. The instance may still be an identity substitution just for target generic definition, - which will be represented by an empty mapping array. - - The chain of TypeSubstitution objects is guaranteed to not skip any type in the containership hierarchy, - even types with zero arity contained in generic type will have corresponding TypeSubstitution object with - empty mapping array. - - Example: - Class A(Of T,S) - Class B - Class C(Of U) - End Class - End Class - End Class - - TypeSubstitution for A(Of Integer, S).B.C(Of Byte) is C{U->Byte}=>B{}=>A{T->Integer} - TypeSubstitution for A(Of T, S).B.C(Of Byte) is C{U->Byte} - TypeSubstitution for A(Of Integer, S).B is B{}=>A{T->Integer} - TypeSubstitution for A(Of Integer, S).B.C(Of U) is C{}=>B{}=>A{T->Integer} - - CONSIDER: - An array of KeyValuePair(Of TypeParameterSymbol, TypeSymbol)objects is used to represent type - parameter substitution mostly due to historical reasons. It might be more convenient and more - efficient to use ordinal based array of TypeSymbol objects instead. - - There is a Construct method that can be called on original definition with TypeSubstitution object as - an argument. The advantage of that method is the ability to substitute type parameters of several types - in the containership hierarchy in one call. What type the TypeSubstitution parameter targets makes a - difference. - - For example: - C.Construct(C{}=>B{}=>A{T->Integer}) == A(Of Integer, S).B.C(Of U) - C.Construct(B{}=>A{T->Integer}) == A(Of Integer, S).B.C(Of ) - B.Construct(B{}=>A{T->Integer}) == A(Of Integer, S).B - - See comment for IsValidToApplyTo method as well. - - - - - A map between type parameters of _targetGenericDefinition and corresponding type arguments. - Represented by an array of Key-Value pairs. Keys are type parameters of _targetGenericDefinition - in no particular order. Identity substitutions are omitted. - - - - - Definition of a symbol which this instance of TypeSubstitution primarily targets. - - - - - An instance of TypeSubstitution describing substitution for containing type. - - - - - Get all the pairs of substitutions, including from the parent substitutations. The substutitions - are in order from outside-in (parent substutitions before child substitutions). - - - - - Verify TypeSubstitution to make sure it doesn't map any - type parameter to an alpha-renamed type parameter. - - - - - - Return TypeSubstitution instance that targets particular generic definition. - - - - - Return TypeSubstitution instance that targets particular - generic definition or one of its containers. - - - - - Does substitution target either genericDefinition or - one of its containers? - - - - - Combine two substitutions into one by concatinating. - - They may not directly or indirectly (through Parent) target the same generic definition. - sub2 is expected to target types lower in the containership hierarchy. - Either or both can be Nothing. - - targetGenericDefinition specifies target generic definition for the result. - If sub2 is not Nothing, it must target targetGenericDefinition. - If sub2 is Nothing, sub1 will be "extended" with identity substitutions to target - targetGenericDefinition. - - - - - Create a substitution. If the substitution is the identity substitution, Nothing is returned. - - Generic definition the result should target. - - Type parameter definitions. Duplicates aren't allowed. Type parameters of containing type - must precede type parameters of a nested type. - - Corresponding type arguments. - - - - - Create a substitution. If the substitution is the identity substitution, Nothing is returned. - - Generic definition the result should target. - - Type parameter definitions. Duplicates aren't allowed. Type parameters of containing type - must precede type parameters of a nested type. - - Corresponding type arguments. - - - - - Private helper to make sure identity substitutions are injected for types between - targetGenericDefinition and parent.TargetGenericDefinition. - - - - - Create substitution to handle alpha-renaming of type parameters. - It maps type parameter definition to corresponding alpha-renamed type parameter. - - Alpha-renamed type parameters. - - - - Create TypeSubstitution that can be used to substitute method's type parameters - in types involved in method's signature. - - Unlike for other construction methods in this class, targetMethod doesn't have to be - original definition, it is allowed to be specialized unconstructed generic method. - - An item in typeArguments can be an alpha-renamed type parameter, but it must belong - to the targetMethod and can only appear at its ordinal position to represent the lack - of substitution for it. - - - - - Adjust substitution for construction. - This has the following effects: - 1) The passed in additionalSubstitution is used on each type argument. - 2) If any parameters in the given additionalSubstitution are not present in oldConstructSubstitution, they are added. - 3) Parent substitution in oldConstructSubstitution is replaced with adjustedParent. - - oldConstructSubstitution can be cancelled out by additionalSubstitution. In this case, - if the adjustedParent is Nothing, Nothing is returned. - - - - - This has the following effects: - 1) The passed in additionalSubstitution is used on each type argument. - 2) If any parameters in the given additionalSubstitution are not present in oldConstructSubstitution, they are added. - - Result is placed into pairs. Identity substitutions are omitted. - - Returns True if the set of pairs have changed, False otherwise. - - - - - Create substitution for targetGenericDefinition based on its type - arguments (matched to type parameters by position) and TypeSubstitution - for direct or indirect container. - - - - - A TypeSymbol is a base class for all the symbols that represent a type - in Visual Basic. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Gets the BaseType of this type. If the base type could not be determined, then - an instance of ErrorType is returned. If this kind of type does not have a base type - (for example, interfaces), Nothing is returned. Also the special class System.Object - always has a BaseType of Nothing. - - - - - Gets the set of interfaces that this type directly implements. This set does not - include interfaces that are base interfaces of directly implemented interfaces. - - - - - The list of all interfaces of which this type is a declared subtype, excluding this type - itself. This includes all declared base interfaces, all declared base interfaces of base - types, and all declared base interfaces of those results (recursively). Each result - appears exactly once in the list. This list is topologically sorted by the inheritance - relationship: if interface type A extends interface type B, then A precedes B in the - list. This is not quite the same as "all interfaces of which this type is a proper - subtype" because it does not take into account variance: AllInterfaces for - IEnumerable(Of String) will not include IEnumerable(Of Object). - - - - Produce all implemented interfaces in topologically sorted order. We use - TypeSymbol.Interfaces as the source of edge data, which has had cycles and infinitely - long dependency cycles removed. Consequently, it is possible (and we do) use the - simplest version of Tarjan's topological sorting algorithm. - - - - Gets the set of interfaces that this type directly implements, plus the base interfaces - of all such types. - - - CONSIDER: it probably isn't truly necessary to cache this. If space gets tight, consider - alternative approaches (recompute every time, cache on the side, only store on some types, - etc). - - - - - Returns true if this type is known to be a reference type. It is never the case - that and both return true. However, for an unconstrained - type parameter, and will both return false. - - - - - Returns true if this type is known to be a value type. It is never the case - that and both return true. However, for an unconstrained - type parameter, and will both return false. - - - - - Is this a symbol for an anonymous type (including delegate). - - - - - Gets the kind of this type. - - - - - Gets corresponding special TypeId of this type. - - - - - Gets corresponding primitive type code for this type declaration. - - - - - Substitute the given type substitution within this type, returning a new type. If the - substitution had no effect, return Me. - !!! Only code implementing construction of generic types is allowed to call this method !!! - !!! All other code should use Construct methods. !!! - - - - - Lookup an immediately nested type referenced from metadata, names should be - compared case-sensitively. - - - Type name. - - - Symbol for the type, or MissingMetadataSymbol if the type isn't found. - - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Returns the corresponding symbol in this type or a base type that implements - interfaceMember (either implicitly or explicitly), or null if no such symbol - exists (which might be either because this type doesn't implement the container - of interfaceMember, or this type doesn't supply a member that successfully - implements interfaceMember). - - - Must be a non-null interface property, method, or event. - - The implementing member. - - - - Compute the implementation for an interface member in this type, or Nothing if none. - - - - - Return true if nothing can inherit or implement this type. - - - - - Dig through possibly jugged array type to the ultimate element type - - - - - Returns true if is/inherits from/implements IEnumerable(Of U), and U is/inherits from/implements - - The type to check compatibility for. - The type argument for IEnumerable(Of ...) - True if type can be assigned to a IEnumerable(Of typeArgument); otherwise False. - This is not a general purpose helper. - - - - Determines whether the given type is valid for a const field. - VB Spec 9.5: The type of a constant may only be a primitive type or Object - - The type of the field. - true if type is valid for a const field; otherwise, false. - - - - - Visit the given type and, in the case of compound types, visit all "sub type" - (such as A in A(), or { A(Of T), T, U } in A(Of T).B(Of U)) invoking 'predicate' - with the type and 'arg' at each sub type. If the predicate returns true for any type, - traversal stops and that type is returned from this method. Otherwise if traversal - completes without the predicate returning true for any type, this method returns null. - - - - - Determines if the type is a valid type for a custom attribute argument - - - - - - The only valid types are - 1. primitive types except date and decimal, - 2. object, system.type, public enumerated types - 3. one dimensional arrays of (1) and (2) above - - - - - Add this instance to the set of checked types. Returns True - if this type was added, False if the type was already in the set. - - - - Checks for validity of type arguments passed to Construct(...) method - - - - Returns Nothing for identity substitution. - - - - - Returns Nothing for identity substitution. - - - - - Is this type System.Linq.Expressions.Expression(Of T) for some delegate type T. If so, return the type - argument, else return nothing. - The passed-in compilation is used to find the well-known-type System.Linq.Expressions.Expression(Of T). - - - - - If the passed in type is a delegate type D, return D. - If the passed in type is a System.Linq.Expressions.Expression(Of D) for a delegate type D, return D. - Else return Nothing - - - - - If the passed in type is a delegate type D, return D and set wasExpression to False - If the passed in type is a System.Linq.Expressions.Expression(Of D) for a delegate type D, return D and set wasExpression to True - Else return Nothing and set wasExpression to False - - - - - If the passed in type is a System.Linq.Expressions.Expression(Of D) for a delegate type D, return True - - - - - Return all of the type parameters in this type and enclosing types, - from outer-most to inner-most type. - - - - - Return all of the type arguments in this type and enclosing types, - from outer-most to inner-most type. - - - - - Return true if the fully qualified name of the type's containing symbol - matches the given name. This method avoids string concatenations - in the common case where the type is a top-level type. - - - - - Given a possibly constructed/specialized generic type, create a symbol - to represent an unbound generic type for its definition. - - - - - Force all declaration errors to be generated. - - - - - Provides context for binding top-level statements in a script. - - - - - Create binder for binding the body of a method. - - - - - Provides lookup in types of imported namespaces, either at file level or project level. - - - - - Collect extension methods with the given name that are in scope in this binder. - The passed in ArrayBuilder must be empty. Extension methods from the same containing type - must be grouped together. - - - - - Binder used to bind using blocks. - It hosts the variables declared in the resource list (if they are declared). - - - - - Holds all information needed to rewrite a bound using block node. - - - - - A dictionary holding a placeholder, a conversion from placeholder to IDisposable and a condition if placeholder IsNot nothing - per type. - - - - - Syntax node for the using block. - - - - - Initializes a new instance of the class. - - The syntax node for the using block - A dictionary holding a placeholder, a conversion from placeholder to IDisposable and - a condition if placeholder IsNot nothing per type. - - - Returns True if the node specified is one of Me/MyClass/MyBase - - - - Returns True if the expression is a property access expression, - either directly or wrapped in an XML member access expression. - - - - - Does this node represent a property with Set accessor and AccessKind not yet bound to Get? - - - - - Does this node represent a property or latebound access not yet determied to be Get? - - - - - Get the access kind from property access expression. - - - - - Sets the access kind on the property access expression. To clear the access - kind, 'newAccessKind' should be Unknown. Otherwise, the current property - access kind should be Unknown or equal to 'newAccessKind'. - - - - - Return a BoundXmlMemberAccess node with - updated MemberAccess property. - - - - - Return true if and only if an expression is a integral literal with a value of zero. - Non-literal constant value zero does not qualify. - - - - - Return true if and only if an expression is a integral literal with a value of zero. - Non-literal constant value zero does not qualify. - - - - - Checks if the expression is a default value (0 or Nothing) - - - - - Checks if the expression is a constant and that constant is False - - - - - Checks if the expression is a constant and that constant is True - - - - - Checks if the expression is a negative integer constant value. - - - - - Return the integer constant value (if any) from a BoundExpression - - - - - Return true if and only if an expression is a semantical Nothing literal, - which is defined as follows (the definition is consistent with - definition used by Dev10 compiler): - - A Nothing literal according to the language grammar, or - - A parenthesized expression, for which IsNothingLiteral returns true, or - - An expression of type Object with constant value == Nothing. - - - - - Return true if target BoundLiteral represents Nothing literal as defined by the language grammar. - - - - - Return true if and only if an expression represents optionally - parenthesized Nothing literal as defined by the language grammar. - I.e. implicit conversions are Ok, but explicit conversions aren't. - - - - - returns type arguments or Nothing if group does not have type arguments. - - - - - The node should not be treated as a direct semantical representation of the syntax it is associated with. - Some examples: - - implicit call for base constructor is associated with the constructor syntax. - - code in compiler generated constructor is associated with the type declaration. - - Nodes marked this way are likely to be skipped by SemanticModel, Sequence Point rewriter, etc. - - - - - Get the Binder from a lambda node, or return Nothing if this isn't - a lambda node. - - - - - The visitor which searches for a bound node inside a bound subtree - - - - Note: Nothing if node is found - - - - NoOpStatementFlavor specifies additional info that NoOp statement may be carrying; - Such info may be used in rewriting or code gen phases to perform some special actions - - - - - Marks a control yield point for emitted await operator; is processed by codegen; - only allowed inside MoveNext methods generated for Async methods - - - - - Marks a control resume point for emitted await operator; is processed by codegen; - only allowed inside MoveNext methods generated for Async methods - - - - - Marks an upper-level catch handler offset inside Async method; is processed by codegen; - only allowed inside MoveNext methods generated for Async methods - - - - Keeps track on current nesting level of try statements - - - Current enclosing Catch block if there is any. - - - - Emits address as in & - - May introduce a temp which it will return. (otherwise returns null) - - - - - Emits address of a temp. - Used in cases where taking address directly is not possible - (typically because expression does not have a home) - - Will introduce a temp which it will return. - - - - - Checks if expression represents directly or indirectly a value with its own home. - In such cases it is possible to get a reference without loading into a temporary. - - This is a CLR concept which is weaker than VB's IsLValue. - For example all locals are homed even if VB may consider some locals read-only. - - - - - Special HasHome for fields. Fields have homes when they are writeable. - - - - - Checks if it is allowed to take a writeable reference to expression according to VB rules. - - - - - Checks if it is allowed to take a writeable reference to expression according to VB rules. - - - - - Can take a reference. - - - - - Emits receiver in a form that allows member accesses ( O or & ). For verifiably - reference types it is the actual reference. For generic types it is a address of the - receiver with readonly intent. For the value types it is an address of the receiver. - - isAccessConstrained indicates that receiver is a target of a constrained callvirt - in such case it is unnecessary to box a receier that is typed to a type parameter - - May introduce a temp which it will return. (otherwise returns null) - - - - - May introduce a temp which it will return. (otherwise returns null) - - - - - Entry point to the array initialization. - Assumes that we have newly created array on the stack. - - inits could be an array of values for a single dimensional array - or an array (of array)+ of values for a multidimensional case - - in either case it is expected that number of leaf values will match number - of elements in the array and nesting level should match the rank of the array. - - - - - To handle array initialization of arbitrary rank it is convenient to - approach multidimensional initialization as a recursively nested. - - ForAll{i, j, k} Init(i, j, k) ===> - ForAll{i} ForAll{j, k} Init(i, j, k) ===> - ForAll{i} ForAll{j} ForAll{k} Init(i, j, k) - - This structure is used for capturing initializers of a given index and - the index value itself. - - - - - Emits all initializers that match indices on the stack recursively. - - Example: - if array has [0..2, 0..3, 0..2] shape - and we have {1, 2} indices on the stack - initializers for - [1, 2, 0] - [1, 2, 1] - [1, 2, 2] - - will be emitted and the top index will be pushed off the stack - as at that point we would be completely done with emitting initializers - corresponding to that index. - - - - - Count of all initializers. - - - - - Produces a serialized blob of all constant initializers. - Nonconstat initializers are matched with a zero of corresponding size. - - - - - Check if it is a regular collection of expressions or there are nested initializers. - - - - - Used to decide if we need to emit call or callvirt. - It basically checks if the receiver expression cannot be null, but it is not 100% precise. - There are cases where it really can be null, but we do not care. - - - - - checks if receiver is effectively ldarg.0 - - - - - Used to decide if we need to emit 'call' or 'callvirt' for structure method. - It basically checks if the method overrides any other and method's defining type - is not a 'special' or 'special-by-ref' type. - - - - - Emit code for a ternary conditional operator. - - - if (b, x, y) becomes - push b - if pop then goto CONSEQUENCE - push y - goto DONE - CONSEQUENCE: - push x - DONE: - - - - - Emit code for a null-coalescing operator. - - - if(x, y) becomes - push x - dup x - if pop isnot null goto LEFT_NOT_NULL - pop - push y - LEFT_NOT_NULL: - - - - - Emit an element store instruction for a single dimensional array. - - - - - Tells if we should emit [Set/Clear]ProjectErrors when entering/leaving handlers - - - - - tells if given node contains a label statement that defines given label symbol - - - - - Delegate to emit string compare call and conditional branch based on the compare result. - - Key to compare - Node for diagnostics - Case constant to compare the key against - Target label to branch to if key = stringConstant - String equality method - - - - Gets already declared and initialized local. - - - - - Allocates a temp without identity. - - - - - Frees a temp without identity. - - - - - Frees an optional temp. - - - - - Optimizer performs optimization of the bound tree performed before passing it to a codegen. Generally it may - include several phases like stack scheduling of local variables, etc... - - - - - - Analyses the tree trying to figure which locals may live on stack. It is - a fairly delicate process and must be very familiar with how CodeGen works. - It is essentially a part of CodeGen. - - NOTE: It is always safe to mark a local as not eligible as a stack local - so when situation gets complicated we just refuse to schedule and move on. - - - - - context of expression evaluation. - it will affect inference of stack behavior - it will also affect when expressions can be dup-reused - Example: - Foo(x, ref x) x cannot be duped as it is used in different context - - - - - fake local that represents the eval stack. when we need to ensure that eval - stack is not blocked by stack Locals, we record an access to empty. - - - - - Recursively rewrites the node or simply replaces it with a dup node - if we have just seen exactly same node. - - - - - here we have a case of indirect assignment: *t1 = expr; - normally we would need to push t1 and that will cause spilling of t2 - - TODO: an interesting case arises in unused x[i]++ and ++x[i] : - we have trees that look like: - - t1 = &(x[0]) - t2 = *t1 - *t1 = t2 + 1 - - t1 = &(x[0]) - t2 = *t1 + 1 - *t1 = t2 - - in these cases, we could keep t2 on stack (dev10 does). - we are dealing with exactly 2 locals and access them in strict order - t1, t2, t1, t2 and we are not using t2 after that. - We may consider detecting exactly these cases and pretend that we do not need - to push either t1 or t2 in this case. - - - - - indirect assignment is assignment to a value referenced indirectly - it may only happen if lhs is a reference (must be a parameter or a local) - 1) lhs is a reference (must be a parameter or a local) - 2) it is not a ref/out assignment where the reference itself would be assigned - - - - - Ensures that there are no stack locals. It is done by accessing - virtual "empty" local that is at the bottom of all stack locals. - - - - - - Represents a local and its Def-Use-Use chain - - NOTE: stack local reads are destructive to the locals so - if the read is not last one, it must be immediately followed by another definition. - For the rewriting purposes it is irrelevant if definition was created by a write or - a subsequent read. These cases are not ambiguous because when rewriting, definition - will match to a single node and we always know if given node is reading or writing. - - - - - - stack at variable declaration, may be > 0 in sequences. - - - - - value definitions for this variable - - - - - once this goes to true we are no longer interested in this variable. - - - - - Represents a span of a value between definition and use. Start/end positions are - specified in terms of global node count as visited by StackOptimizer visitors. - (i.e. recursive walk not looking into constats) - - - - - That said, when current and other use spans are regular spans we can have - only 2 conflict cases: - [1, 3) conflicts with [0, 2) - [1, 3) conflicts with [2, 4) - - specifically: - [1, 3) does not conflict with [0, 1) - - NOTE: with regular spans, it is not possible to have start1 == start2 or - end1 == end2 since at the same node we can access only one real local. - - However at the same node we can access one or more dummy locals. So we can - have start1 == start2 and end1 == end2 scenarios, but only if the other span - is a span of a dummy. - - - - - Rewrites the tree to account for destructive nature of stack local reads. - - Typically, last read stays as-is and local is destroyed by the read. - Intermediate reads are rewritten as Dups - - - NotLastUse(X_stackLocal) ===> NotLastUse(Dup) - LastUse(X_stackLocal) ===> LastUse(X_stackLocal) - - - - - - The CommandLineArguments class provides members to Set and Get Visual Basic compilation and parse options. - - - - - Set and Get the Visual Basic compilation options. - - The currently set Visual Basic compilation options. - - - - Set and Get the Visual Basic parse parse options. - - The currently set Visual Basic parse options. - - - - Gets the core Parse options. - - The currently set core parse options. - - - - Gets the core compilation options. - - The currently set core compilation options. - - - - The VisualBasicCommandLineParser class contains members used to perform various Visual Basic command line parsing operations. - - - - - Gets the current command line parser. - - - - - Gets the current interactive command line parser. - - - - - Creates a new command line parser. - - An optional parameter indicating indicating whether to create a interactive command line parser. - - - - Gets the standard Visual Basic source file extension - - A string representing the standard Visual Basic source file extension. - - - - Gets the standard Visual Basic script file extension. - - A string representing the standard Visual Basic script file extension. - - - - Parses a command line. - - A collection of strings representing the command line arguments. - The base directory used for qualifying file locations. - A string representing additional reference paths. - A CommandLineArguments object representing the parsed command line. - - - - Converts IReadOnlyDictionary of definitions provided by a caller (public API) into ImmutableDictionary - of definitions used internally, because not all values from 'symbols' are valid constants, - the method throws InvalidOperationException if invalid value provided - - - - - Converts ImmutableDictionary of definitions used internallyinto IReadOnlyDictionary of definitions - returned to a caller (of public API) - - - - - Parses Conditional Compilations Symbols. Given the string of conditional compilation symbols from the project system, parse them and merge them with an IReadOnlyDictionary - ready to be given to the compilation. - - - The conditional compilation string. This takes the form of a comma delimited list - of NAME=Value pairs, where Value may be a quoted string or integer. - - A collection of reported diagnostics during parsing of symbolList, can be empty IEnumerable. - A collection representing existing symbols. Symbols parsed from will be merged with this dictionary. - - - - NOTE: implicit line continuation will not be handled here and an error will be generated, - but explicit one (like ".... _\r\n ....") should work fine - - - - - Parses the given platform option. Legal strings are "anycpu", "x64", "x86", "itanium", "anycpu32bitpreferred", "arm". - In case an invalid value was passed, anycpu is returned. - - The value for platform. - The error bag. - - - - Parses the file alignment option. - In case an invalid value was passed, nothing is returned. - - The name of the option. - The value for the option. - The error bag. - - - - Parses the base address option. - In case an invalid value was passed, nothing is returned. - - The name of the option. - The value for the option. - The error bag. - - - - Parses the warning option. - - The name of the option. - The value for the option. - The error bag. - - - - In VB, if the output file name isn't specified explicitly, then it is derived from the name of the - first input file. - - - http://msdn.microsoft.com/en-us/library/std9609e(v=vs.110) - Specify the full name and extension of the file to create. If you do not, the .exe file takes - its name from the source-code file containing the Sub Main procedure, and the .dll file takes - its name from the first source-code file. - - However, vbc.cpp has: - - - - - - Print compiler logo - - - - - - Print Commandline help message (up to 80 English characters per line) - - - - - - Structure containing all semantic information about an Await expession. - - - - - Initializes a new instance of the structure. - - - - - Gets the "GetAwaiter" method. - - - - - Gets the "GetResult" method. - - - - - Gets the "IsCompleted" property. - - - - - This structure holds the relevant bound node information relating to a particular syntax - node, used temporarily for GetSemanticInfo and similar APIs. - - - - - Traverses the symbol table checking for CLS compliance. - - - - - Traverses the symbol table checking for CLS compliance. - - Compilation that owns the symbol table. - Will be supplemented with documentation comment diagnostics. - To stop traversing the symbol table early. - Only report diagnostics from this syntax tree, if non-null. - If and is non-null, report diagnostics within this span in the . - - - - NOTE: Dev11 does some pretty weird things here. First, it ignores arity, - which seems like a good way to disambiguate symbols (in particular, - CLS Rule 43 says that the name includes backtick-arity). Second, it - does not consider two members with identical names (i.e. not differing - in case) to collide. - - - - - What is the argument to the (first) CLSCompliantAttribute on this symbol, if there is one? - Consider attributes inherited from base types. - - - - - What is the argument to the (first) CLSCompliantAttribute on this symbol, if there is one? - Do not consider attributes inherited from base types. - - - - - Return the containing module if the output kind is module and the containing assembly otherwise. - - - - - Based on CompilationPass::CLSReduceSignature. - - - - - The Compilation object is an immutable representation of a single invocation of the - compiler. Although immutable, a Compilation is also on-demand, in that a compilation can be - created quickly, but will that compiler parts or all of the code in order to respond to - method or properties. Also, a compilation can produce a new compilation with a small change - from the current compilation. This is, in many cases, more efficient than creating a new - compilation from scratch, as the new compilation can share information from the old - compilation. - - - - - For semantic model scenarios we continue processing documentation comment even in presence - of some errors. Now, we detect semantic model context from '_isForSingleSymbol' flag, - later we might consider introducing an explicit flag - - - - - Given a DocumentationCommentTriviaSyntax and the symbol, return the - full documentation comment text. - - - - - Gets the value of the first 'name' attribute on the element, returns Nothing in case - the attribute was not found or has an invalid value, reports necessary diagnostics in - the latest case - - - - - Return symbol text name the way Dev11 does it - - - - - Rewrites nodes in , which Is a snapshot of nodes from the original document. - We're mutating the tree as we rewrite, so it's important to grab a snapshot of the - nodes that we're going to reparent before we enumerate them. - - - - True, if the comment was written - - - - Generates the documentation comment for the type, writes it into - the writer - - - - - Given the full text of a documentation comment, strip off the comment - punctuation (''') and add appropriate indentations. - - - - - Given a string, find the index of the first non-whitespace char. - - The string to search - The index of the first non-whitespace char in the string - - - - Find the first non-whitespace character in a given substring. - - The string to search - The start index - The last index (non-inclusive) - The index of the first non-whitespace char after index - start in the string up to, but not including the end index - - - - Determine if the given string starts with the given prefix if whitespace - is first trimmed from the beginning. - - The string to search - The prefix - true if "str.TrimStart().StartsWith(prefix)" - - - - Given a string which may contain newline sequences, get the index of the first newline - sequence beginning at the given starting index. - - The string to split. - The starting index within the string. - The length of the newline sequence discovered. 0 if the end of the string was reached, otherwise either 1 or 2 chars - The index of the start of the first newline sequence following the start index - - - - Given the full text of a single-line style documentation comment, for each line, strip off - the comment punctuation (''') and flatten the text. - - - - - WORKAROUND: - We're taking a dependency on the location and structure of a framework assembly resource. This is not a robust solution. - - Possible alternatives: - 1) Polish our XML parser until it matches MSXML. We don't want to reinvent the wheel. - 2) Build a map that lets us go from XML string positions back to source positions. - This is what the native compiler did, and it was a lot of work. We'd also still need to modify the message. - 3) Do not report a diagnostic. This is very unhelpful. - 4) Report a vague diagnostic (i.e. there's a problem somewhere in this doc comment). This is relatively unhelpful. - 5) Always report the message in English, so that we can pull it apart without needing to mess with resource files. - This engenders a lot of ill will. - 6) Report the exception message without modification and (optionally) include the text with respect to which the - position is specified. This looks amateurish. - - - - - Traverses the symbol table processing XML documentation comments and optionally writing them to a provided stream. - - Compilation that owns the symbol table. - Assembly/module name override, if present. - Stream to which XML will be written, if non-null. - Will be supplemented with documentation comment diagnostics. - To stop traversing the symbol table early. - Only report diagnostics from this syntax tree, if non-null. - If and filterSpanWithinTree is non-null, report diagnostics within this span in the . - - - - Gets the XML that would be written to the documentation comment file for this assembly. - - The symbol for which to retrieve documentation comments. - True to treat includes as semantically meaningful - (pull in contents from other files and bind crefs, etc). - To stop traversing the symbol table early. - - - - Walks a DocumentationCommentTriviaSyntax, binding the semantically meaningful parts - to produce diagnostics and to replace source crefs with documentation comment IDs. - - - - - Given a DocumentationCommentTriviaSyntax, return the full text, but with - documentation comment IDs substituted into crefs. - - - - - most of time all compilation would use same MyTemplate. no reason to create (reparse) one for each compilation - as long as its parse option is same - - - - - The SourceAssemblySymbol for this compilation. Do not access directly, use Assembly - property instead. This field is lazily initialized by ReferenceManager, - ReferenceManager.CacheLockObject must be locked while ReferenceManager "calculates" the - value and assigns it, several threads must not perform duplicate "calculation" - simultaneously. - - - - - Holds onto data related to reference binding. - The manager is shared among multiple compilations that we expect to have the same result of reference binding. - In most cases this can be determined without performing the binding. If the compilation however contains a circular - metadata reference (a metadata reference that refers back to the compilation) we need to avoid sharing of the binding results. - We do so by creating a new reference manager for such compilation. - - - - - The options passed to the constructor of the Compilation - - - - - The global namespace symbol. Lazily populated on first access. - - - - - The syntax trees explicitly given to the compilation at creation, in ordinal order. - - - - - The syntax trees of this compilation plus all 'hidden' trees - added to the compilation by compiler, e.g. Vb Core Runtime. - - - - - A map between syntax trees and the root declarations in the declaration table. - Incrementally updated between compilation versions when source changes are made. - - - - - Imports appearing in s in this compilation. - - - Unlike in C#, we don't need to use a set because the objects - that record the imports are persisted. - - - - - Cache the CLS diagnostics for the whole compilation so they aren't computed repeatedly. - - - NOTE: Presently, we do not cache the per-tree diagnostics. - - - - - A SyntaxTree and the associated RootSingleNamespaceDeclaration for an embedded - syntax tree in the Compilation. Unlike the entries in m_rootNamespaces, the - SyntaxTree here is lazy since the tree cannot be evaluated until the references - have been resolved (as part of binding the source module), and at that point, the - SyntaxTree may be Nothing if the embedded tree is not needed for the Compilation. - - - - - The declaration table that holds onto declarations from source. Incrementally updated - between compilation versions when source changes are made. - - - - - - Manages anonymous types declared in this compilation. Unifies types that are structurally equivalent. - - - - - Manages automatically embedded content. - - - - - MyTemplate automatically embedded from resource in the compiler. - It doesn't feel like it should be managed by EmbeddedSymbolManager - because MyTemplate is treated as user code, i.e. can be extended via - partial declarations, doesn't require "on-demand" metadata generation, etc. - - SyntaxTree.Dummy means uninitialized. - - - - - Contains the main method of this assembly, if there is one. - - - - - SyntaxTree of MyTemplate for the compilation. Settable for testing purposes only. - - - - - Create a new compilation from scratch. - - Simple assembly name. - The syntax trees with the source code for the new compilation. - The references for the new compilation. - The compiler options to use. - A new compilation. - - - - Creates a new compilation that can be used in scripting. - - - - - Create a duplicate of this compilation with different symbol instances - - - - - Creates a new compilation with the specified name. - - - - - Creates a new compilation with the specified references. - - - The new will query the given for the underlying - metadata as soon as the are needed. - - The New compilation uses whatever metadata is currently being provided by the . - E.g. if the current compilation references a metadata file that has changed since the creation of the compilation - the New compilation is going to use the updated version, while the current compilation will be using the previous (it doesn't change). - - - - - Returns a new compilation with the given compilation set as the previous submission. - - - - - Returns a new compilation with a given event queue. - - - - - Returns the type of the submission return value. - - - Whether the submission is considered to have a value. - This information can be used for example in a REPL implementation to determine whether to print out the result of a submission execution. - - - Returns a static type of the expression of the last expression or call statement if there is any, - a symbol for otherwise. - - - Note that the return type is System.Void for both compilations "System.Console.WriteLine()" and "?System.Console.WriteLine()", - and is False for the former and True for the latter. - - The compilation doesn't represent a submission ( return false). - - - - Get a read-only list of the syntax trees that this compilation was created with. - The ordering of the trees is arbitrary and may be different than the order the - trees were supplied to the compilation. - - - - - Get a read-only list of the syntax trees that this compilation was created with PLUS - the trees that were automatically added to it, i.e. Vb Core Runtime tree. - - - - - Is the passed in syntax tree in this compilation? - - - - - Returns True if the set of references contains those assemblies needed for XML - literals (specifically System.Core.dll, System.Xml.dll, and System.Xml.Linq.dll). - If those assemblies are included, we should include the InternalXmlHelper - SyntaxTree in the Compilation so the helper methods are available for binding XML. - - - - - Compare two source locations, using their containing trees, and then by Span.First within a tree. - Can be used to get a total ordering on declarations, for example. - - - - - Gets the or for a metadata reference used to create this compilation. - - or corresponding to the given reference or Nothing if there is none. - - Uses object identity when comparing two references. - - - - - Gets the that corresponds to the assembly symbol. - - - - - Gets the AssemblySymbol that represents the assembly being created. - - - - - Get a ModuleSymbol that refers to the module being created by compiling all of the code. By - getting the GlobalNamespace property of that module, all of the namespace and types defined in source code - can be obtained. - - - - - Gets the merged root namespace that contains all namespaces and types defined in source code or in - referenced metadata, merged into a single namespace hierarchy. This namespace hierarchy is how the compiler - binds types that are referenced in code. - - - - - Get the "root" or default namespace that all source types are declared inside. This may be the - global namespace or may be another namespace. - - - - - Given a namespace symbol, returns the corresponding namespace symbol with Compilation extent - that refers to that namespace in this compilation. Returns Nothing if there is no corresponding - namespace. This should not occur if the namespace symbol came from an assembly referenced by this - compilation. - - - - - Returns the list of member imports that apply to all syntax trees in this compilation. - - - - - Returns the list of alias imports that apply to all syntax trees in this compilation. - - - - - Determine what kind of conversion, if any, there is between the types - "source" and "destination". - - - - - A symbol representing the implicit Script class. This is null if the class is not - defined in the compilation. - - - - - Resolves a symbol that represents script container (Script class). - Uses the full name of the container class stored in to find the symbol. - - - The Script class symbol or null if it is not defined. - - - - - Get symbol for predefined type from Cor Library referenced by this compilation. - - - - - - - - Get symbol for predefined type member from Cor Library referenced by this compilation. - - - - - Lookup a type within the compilation's assembly and all referenced assemblies - using its canonical CLR metadata name (names are compared case-sensitively). - - - - - Symbol for the type or null if type cannot be found or is ambiguous. - - - - - Get a fresh SemanticModel. Note that each invocation gets a fresh SemanticModel, each of - which has a cache. Therefore, one effectively clears the cache by discarding the - SemanticModel. - - - - - Get all diagnostics for the entire compilation. This includes diagnostics from parsing, declarations, and - the bodies of methods. Getting all the diagnostics is potentially a length operations, as it requires parsing and - compiling all the code. The set of diagnostics is not caches, so each call to this method will recompile all - methods. - - Cancellation token to allow cancelling the operation. - - - - Get parse diagnostics for the entire compilation. This includes diagnostics from parsing BUT NOT from declarations and - the bodies of methods or initializers. The set of parse diagnostics is cached, so calling this method a second time - should be fast. - - - - - Get declarations diagnostics for the entire compilation. This includes diagnostics from declarations, BUT NOT - the bodies of methods or initializers. The set of declaration diagnostics is cached, so calling this method a second time - should be fast. - - Cancellation token to allow cancelling the operation. - - - - Get method body diagnostics for the entire compilation. This includes diagnostics only from - the bodies of methods and initializers. These diagnostics are NOT cached, so calling this method a second time - repeats significant work. - - Cancellation token to allow cancelling the operation. - - - - Get all errors in the compilation, up through the given compilation stage. Note that this may - require significant work by the compiler, as all source code must be compiled to the given - level in order to get the errors. Errors on Options should be inspected by the user prior to constructing the compilation. - - - Returns all errors. The errors are not sorted in any particular order, and the client - should sort the errors as desired. - - - - - Attempts to emit the assembly to the given stream. If there are - compilation errors, false is returned. In this case, some bytes - might have been written to the stream. The compilation errors can be - obtained by called GetDiagnostics(CompilationStage.Emit). If true is - returned, the compilation proceeded without error and a valid - assembly was written to the stream. - - Stream to which the compilation will be written. - Name of the compilation: file name and extension. Null to use the existing output name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - The name of the PDB file - embedded in the output. Null to infer from the stream or the compilation. - Ignored unless pdbStream is non-null. - - Stream to which the compilation's debug info will be written. Null to forego PDB generation. - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Stream from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Attempts to emit the assembly to the given stream. If there are - compilation errors, false is returned. In this case, some bytes - might have been written to the stream. The compilation errors can be - obtained by called GetDiagnostics(CompilationStage.Emit). If true is - returned, the compilation proceeded without error and a valid - assembly was written to the stream. - - Path of the file to which the compilation will be written. - Path of the file to which the compilation's debug info will be written. - Also embedded in the output file. Null to forego PDB generation. - - Path of the file to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - Path of the file from which the compilation's Win32 resources will be read (in RES format). - Null to indicate that there are none. - List of the compilation's managed resources. Null to indicate that there are none. - - - - Attempts to emit just the metadata parts of the compilation, without compiling any executable code - (method bodies). No debug info can be produced. - - Stream to which the compilation's metadata will be written. - Name of the compilation: file name and extension. Null to use the existing output name. - CAUTION: If this is set to a (non-null) value other than the existing compilation output name, then internals-visible-to - and assembly references may not work as expected. In particular, things that were visible at bind time, based on the - name of the compilation, may not be visible at runtime and vice-versa. - - Stream to which the compilation's XML documentation will be written. Null to forego XML generation. - To cancel the emit process. - - - - ReferenceManager encapsulates functionality to create an underlying SourceAssemblySymbol - (with underlying ModuleSymbols) for Compilation and AssemblySymbols for referenced assemblies - (with underlying ModuleSymbols) all properly linked together based on reference resolution - between them. - - ReferenceManager is also responsible for reuse of metadata readers for imported modules and - assemblies as well as existing AssemblySymbols for referenced assemblies. In order to do that, - it maintains global cache for metadata readers and AssemblySymbols associated with them. - The cache uses WeakReferences to refer to the metadata readers and AssemblySymbols to allow - memory and resources being reclaimed once they are no longer used. The tricky part about reusing - existing AssemblySymbols is to find a set of AssemblySymbols that are created for the referenced - assemblies, which (the AssemblySymbols from the set) are linked in a way, consistent with the - reference resolution between the referenced assemblies. - - When existing Compilation is used as a metadata reference, there are scenarios when its underlying - SourceAssemblySymbol cannot be used to provide symbols in context of the new Compilation. Consider - classic multi-targeting scenario: compilation C1 references v1 of Lib.dll and compilation C2 - references C1 and v2 of Lib.dll. In this case, SourceAssemblySymbol for C1 is linked to AssemblySymbol - for v1 of Lib.dll. However, given the set of references for C2, the same reference for C1 should be - resolved against v2 of Lib.dll. In other words, in context of C2, all types from v1 of Lib.dll - leaking through C1 (through method signatures, etc.) must be retargeted to the types from v2 of Lib.dll. - In this case, ReferenceManager creates a special RetargetingAssemblySymbol for C1, which is responsible - for the type retargeting. The RetargetingAssemblySymbols could also be reused for different - Compilations, ReferenceManager maintains a cache of RetargetingAssemblySymbols (WeakReferences) for each - Compilation. - - The only public entry point of this class is CreateSourceAssembly() method. - - - - - VB allows two weak assembly references of the same simple name be passed to a compilation - as long as their versions are different. It ignores culture. - - - - - Creates a from specified metadata. - - - Used by EnC to create symbols for emit baseline. The PE symbols are used by . - - The assembly references listed in the metadata AssemblyRef table are matched to the resolved references - stored on this . Each AssemblyRef is matched against the assembly identities - using an exact equality comparison. No unification Or further resolution is performed. - - - - - Guarded by . - - - - - For testing purposes only. - - - - - For testing purposes only. - - - - - An array of cached well known types available for use in this Compilation. - Lazily filled by GetWellKnownType method. - - - - - - Lazy cache of well known members. - Not yet known value is represented by ErrorTypeSymbol.UnknownResultType - - - - - Synthesizes a custom attribute. - Returns null if the symbol is missing and the attribute is synthesized only if present. - - - - - Lookup member declaration in well known type used by this Compilation. - - - - - Structure containing all semantic information about a for each statement. - - - - - Initializes a new instance of the structure. - - The GetEnumerator method. - The MoveNext method. - The Current property. - The Dispose method. - - - - Gets the "GetEnumerator" method. - - - - - Gets the "MoveNext" method. - - - - - Gets the "Current" property. - - - - - Gets the "Dispose" method. - - - - - The intermediate type to which the output of the is converted - before being converted to the iteration variable type. - - - As you might hope, for an array, it is the element type of the array. - - - - - The conversion from the to the iteration variable type. - - - May be user-defined. - - - - - The conversion from the type of the to the . - - - Frequently the identity conversion. - - - - This is an implementation of a special symbol comparer, which is supposed to be used for - sorting original definition symbols (explicitly or explicitly declared in source within the same - container) in lexical order of their declarations. It will not work on anything that uses non-source locations. - - - - - Indicates whether the compiler accepted or rejected the method during overload resolution. - - - - - Represents the results of overload resolution for a single method. - - - - - The method or property considered during overload resolution. - - - - - Indicates why the compiler accepted or rejected the method during overload resolution. - - - - - Returns true if the compiler accepted this method as the sole correct result of overload resolution. - - - - - Returns true if the method is considered in its expanded param array form. - - - - - This class is used to generate the namespace scopes used by CCI when writing out the import lists. - Because the content is nearly the same for each method (most of it is file and project level) this class - has an internal cache. - - - - - Summarizes the results of an overload resolution analysis. Describes whether overload resolution - succeeded, and which method was selected if overload resolution succeeded. - - - - - True if overload resolution successfully selected a single best method. - - - - - If overload resolution successfully selected a single best method, returns information - about that method. Otherwise returns Nothing. - - - - - If there was a method that overload resolution considered better than all others, - returns information about that method. A method may be returned even if that method was - not considered a successful overload resolution, as long as it was better than any other - potential method considered. - - - - - Returns information about each method that was considered during overload resolution, - and what the results of overload resolution were for that method. - - - - - The symbol that was referred to by the identifier, if any. - - - - - Returns the constant value associated with the symbol, if any. - - - - - - Optional AsQueryable/AsEnumerable/Cast(Of Object) method used - to "convert" CollectionRangeVariableSyntax.Expression to queryable - collection. - - - - - Optional Select method to handle AsClause. - - - - - SelectMany method for CollectionRangeVariableSyntax, which is not the first - CollectionRangeVariableSyntax in a QueryExpressionSyntax, and is not the first - CollectionRangeVariableSyntax in AggregateClauseSyntax. - - - - - - The first of the two optional Select methods associated with AggregateClauseSyntax. - - - - - The second of the two optional Select methods associated with AggregateClauseSyntax. - - - - - Allows asking semantic questions about a tree of syntax nodes in a Compilation. Typically, - an instance is obtained by a call to Compilation.GetBinding. - - - An instance of SemanticModel caches local symbols and semantic information. Thus, it - is much more efficient to use a single instance of SemanticModel when asking multiple - questions about a syntax tree, because information from the first question may be reused. - This also means that holding onto an instance of SemanticModel for a long time may keep a - significant amount of memory from being garbage collected. - - - When an answer is a named symbol that is reachable by traversing from the root of the symbol - table, (that is, from an AssemblySymbol of the Compilation), that symbol will be returned - (i.e. the returned value will be reference-equal to one reachable from the root of the - symbol table). Symbols representing entities without names (e.g. array-of-int) may or may - not exhibit reference equality. However, some named symbols (such as local variables) are - not reachable from the root. These symbols are visible as answers to semantic questions. - When the same SemanticModel object is used, the answers exhibit reference-equality. - - - - - - Returns information about methods associated with CollectionRangeVariableSyntax. - - - - - Returns information about methods associated with AggregateClauseSyntax. - - - - - DistinctClauseSyntax - Returns Distinct method associated with DistinctClauseSyntax. - - WhereClauseSyntax - Returns Where method associated with WhereClauseSyntax. - - PartitionWhileClauseSyntax - Returns TakeWhile/SkipWhile method associated with PartitionWhileClauseSyntax. - - PartitionClauseSyntax - Returns Take/Skip method associated with PartitionClauseSyntax. - - GroupByClauseSyntax - Returns GroupBy method associated with GroupByClauseSyntax. - - JoinClauseSyntax - Returns Join/GroupJoin method associated with JoinClauseSyntax/GroupJoinClauseSyntax. - - SelectClauseSyntax - Returns Select method associated with SelectClauseSyntax, if needed. - - FromClauseSyntax - Returns Select method associated with FromClauseSyntax, which has only one - CollectionRangeVariableSyntax and is the only query clause within - QueryExpressionSyntax. NotNeeded SymbolInfo otherwise. - The method call is injected by the compiler to make sure that query is translated to at - least one method call. - - LetClauseSyntax - NotNeeded SymbolInfo. - - OrderByClauseSyntax - NotNeeded SymbolInfo. - - AggregateClauseSyntax - Empty SymbolInfo. GetAggregateClauseInfo should be used instead. - - - - - Returns Select method associated with ExpressionRangeVariableSyntax within a LetClauseSyntax, if needed. - NotNeeded SymbolInfo otherwise. - - - - - Returns aggregate function associated with FunctionAggregationSyntax. - - - - - Returns OrdrBy/OrderByDescending/ThenBy/ThenByDescending method associated with OrderingSyntax. - - - - - The compilation associated with this binding. - - - - - The root node of the syntax tree that this binding is based on. - - - - - Gets symbol information about an expression syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets symbol information about the 'Add' method corresponding to an expression syntax within collection initializer. - This is the worker function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called and the is in the right place in the syntax tree. - - - - - Gets symbol information about an attribute syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets type information about an expression syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets type information about an attribute syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets constant value information about an expression syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets member group information about an expression syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets member group information about an attribute syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. It can assume that - CheckSyntaxNode has already been called. - - - - - Gets symbol information about an cref reference syntax node. This is the worker - function that is overridden in various derived kinds of Semantic Models. - - - - - Returns what symbol(s), if any, the given expression syntax bound to in the program. - - An AliasSymbol will never be returned by this method. What the alias refers to will be - returned instead. To get information about aliases, call GetAliasInfo. - - If binding the type name C in the expression "new C(...)" the actual constructor bound to - will be returned (or all constructor if overload resolution failed). This occurs as long as C - unambiguously binds to a single type that has a constructor. If C ambiguously binds to multiple - types, or C binds to a static class, then type(s) are returned. - - - - - Returns what 'Add' method symbol(s), if any, corresponds to the given expression syntax - within . - - - - - Returns what symbol(s), if any, the given cref reference syntax bound to in the documentation comment. - - An AliasSymbol will never be returned by this method. What the alias refers to will be - returned instead. - - - - - Binds the expression in the context of the specified location and get semantic - information such as type, symbols and diagnostics. This method is used to get semantic - information about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to SemanticModel - instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The semantic information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Bind the attribute in the context of the specified location and get semantic information - such as type, symbols and diagnostics. This method is used to get semantic information about an attribute - that did not actually appear in the source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. In order to obtain - the correct scoping rules for the attribute, position should be the Start position of the Span of the symbol that - the attribute is being applied to. - - A syntax node that represents a parsed attribute. This syntax node - need not and typically does not appear in the source code referred to SemanticModel instance. - The semantic information for the topmost node of the attribute. - - - - Gets type information about an expression. - - The syntax node to get type information for. - - - - Binds the expression in the context of the specified location and gets type information. - This method is used to get type information about an expression that did not actually - appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the expression as a full expressions, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The type information for the topmost node of the expression. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets the conversion that occurred between the expression's type and type implied by the expression's context. - - - - - Gets the conversion that occurred between the expression's type and type implied by the expression's context. - - - - - Binds the expression in the context of the specified location and gets constant value information. - This method is used to get information about an expression that did not actually appear in the source code. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a parsed expression. This syntax - node need not and typically does not appear in the source code referred to by SemanticModel - instance. - The passed in expression is interpreted as a stand-alone expression, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - If "nameSyntax" resolves to an alias name, return the AliasSymbol corresponding - to A. Otherwise return null. - - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - A syntax node that represents a name. This syntax - node need not and typically does not appear in the source code referred to by the - SemanticModel instance. - Indicates whether to binding the name as a full expression, - or as a type or namespace. If SpeculativeBindingOption.BindAsTypeOrNamespace is supplied, then - expression should derive from TypeSyntax. - The passed in name is interpreted as a stand-alone name, as if it - appeared by itself somewhere within the scope that encloses "position". - - - - Gets the binder that encloses the position. See comment on LookupSymbols for how - positions are interpreted. - - - - - When doing speculative binding, we don't have any context information about expressions or the - context that is expected. We try to interpret as a value, but - only if it doesn't cause additional errors (indicating that it wasn't value to interpret it - that way). This should get us the most "liberal" interpretation - for semantic information. - - - - - Bind the given attribute speculatively at the given position, and return back - the resulting bound node. May return null in some error cases. - - - - - Bind the given attribute speculatively at the given position, and return back - the resulting bound node summary. May return null in some error cases. - - - - - In cases where we are binding C in "[C(...)]", the bound nodes return the symbol for the type. However, we've - decided that we want this case to return the constructor of the type instead (based on the SemanticInfoOptions. This - affects only attributes. This method checks for this situation and adjusts the syntax and method group. - - - - - Gets the available named symbols in the context of the specified location And optional container. Only - symbols that are accessible And visible from the given location are returned. - - The character position for determining the enclosing declaration scope And - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position Is used. - The name of the symbol to find. If null Is specified then symbols - with any names are returned. - Consider (reduced) extension methods. - A list of symbols that were found. If no symbols were found, an empty list Is returned. - - The "position" Is used to determine what variables are visible And accessible. Even if "container" Is - specified, the "position" location Is significant for determining which members of "containing" are - accessible. - - Labels are Not considered (see ). - - Non-reduced extension methods are considered regardless of the value of . - - - - - Gets the available base type members in the context of the specified location. Akin to - calling with the container set to the immediate base type of - the type in which occurs. However, the accessibility rules - are different: protected members of the base type will be visible. - - Consider the following example: - - Public Class Base - Protected Sub M() - End Sub - End Class - - Public Class Derived : Inherits Base - Sub Test(b as Base) - b.M() ' Error - cannot access protected member. - MyBase.M() - End Sub - End Class - - Protected members of an instance of another type are only accessible if the instance is known - to be "this" instance (as indicated by the "MyBase" keyword). - - The character position for determining the enclosing declaration scope and - accessibility. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list is returned. - - The "position" is used to determine what variables are visible and accessible. - - Non-reduced extension methods are considered, but reduced extension methods are not. - - - - - Gets the available named static member symbols in the context of the specified location And optional container. - Only members that are accessible And visible from the given location are returned. - - Non-reduced extension methods are considered, since they are static methods. - - The character position for determining the enclosing declaration scope And - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position Is used. - The name of the symbol to find. If null Is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list Is returned. - - The "position" Is used to determine what variables are visible And accessible. Even if "container" Is - specified, the "position" location Is significant for determining which members of "containing" are - accessible. - - - - - Gets the available named namespace And type symbols in the context of the specified location And optional container. - Only members that are accessible And visible from the given location are returned. - - The character position for determining the enclosing declaration scope And - accessibility. - The container to search for symbols within. If null then the enclosing declaration - scope around position Is used. - The name of the symbol to find. If null Is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list Is returned. - - The "position" Is used to determine what variables are visible And accessible. Even if "container" Is - specified, the "position" location Is significant for determining which members of "containing" are - accessible. - - Does Not return INamespaceOrTypeSymbol, because there could be aliases. - - - - - Gets the available named label symbols in the context of the specified location And optional container. - Only members that are accessible And visible from the given location are returned. - - The character position for determining the enclosing declaration scope And - accessibility. - The name of the symbol to find. If null Is specified then symbols - with any names are returned. - A list of symbols that were found. If no symbols were found, an empty list Is returned. - - The "position" Is used to determine what variables are visible And accessible. Even if "container" Is - specified, the "position" location Is significant for determining which members of "containing" are - accessible. - - - - - Gets the available named symbols in the context of the specified location and optional - container. Only symbols that are accessible and visible from the given location are - returned. - - The character position for determining the enclosing declaration - scope and accessibility. - The container to search for symbols within. If null then the - enclosing declaration scope around position is used. - The name of the symbol to find. If null is specified then symbols - with any names are returned. - Additional options that affect the lookup process. - Ignore 'throughType' in accessibility checking. - Used in checking accessibility of symbols accessed via 'MyBase' or 'base'. - A list of symbols that were found. If no symbols were found, an empty list is - returned. - - The "position" is used to determine what variables are visible and accessible. Even if - "container" is specified, the "position" location is significant for determining which - members of "containing" are accessible. - - Locations are character locations, just as used as the Syntax APIs such as FindToken, or - returned from the Span property on tokens and syntax node. - - The text of the program is divided into scopes, which nest but don't otherwise - intersect. When doing an operation such as LookupSymbols, the code first determines the - smallest scope containing the position, and from there all containing scopes. - - Scopes that span an entire block statement start at the beginning of the first token of - the block header, and end immediately before the statement terminator token following - the end statement of the block. If the end statement of the block is missing, it ends - immediately before the next token. Examples of these include members and type parameters - of a type, type parameters of a method, and variables declared in a For statement. - - Scopes that span the interior of a block statement start at the statement terminator of - the block header statement, and end immediately before the first token of the end - statement of the block. If the end statement of the block is missing, it ends - immediately before the next statement. Examples of these include local variables, method - parameters, and members of a namespace. - - Scopes of variables declared in a single-line If statement start at the beginning of the - "Then" token, and end immediately before the Else token or statement terminator. - - Scopes of variables declared in the Else part of a single-line If start at the beginning - of the "Else" token, and end immediately before the statement terminator. - - Some specialized binding rules are in place for a single statement, like Imports or - Inherits. These specialized binding rules begin at the start of the first token of the - statement, and end immediately before the statement terminator of that statement. - - In all of the above, the "start" means the start of a token without considering leading - trivia. In other words, Span.Start, not FullSpan.Start. With the exception of - documentation comments, all scopes begin at the start of a token, and end immediately - before the start of a token. - - The scope of the default namespace, and all symbols introduced via Imports statements, - is the entire file. - - Positions within a documentation comment that is correctly attached to a symbol take on - the binding scope of that symbol. - - Throws an argument exception if the passed lookup options are invalid. - - - - Gets the names of the available named symbols in the context of the specified location - and optional container. Only symbols that are accessible and visible from the given - location are returned. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - The container to search for symbols within. If null then the - enclosing declaration scope around position is used. - Additional options that affect the lookup process. - - The "position" is used to determine what variables are visible and accessible. Even if - "container" is specified, the "position" location is significant for determining which - members of "containing" are accessible. - - - - - Determines if the symbol is accessible from the specified location. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. - - The symbol that we are checking to see if it accessible. - - True if "symbol is accessible, false otherwise. - - This method only checks accessibility from the point of view of the accessibility - modifiers on symbol and its containing types. Even if true is returned, the given symbol - may not be able to be referenced for other reasons, such as name hiding. - - - - - Resolves the set of provided arguments against set of provided methods or properties to determine the - appropriate overload. The arguments are bound as if they were at 'position' within this - binding. An OverloadResolutionResult is returned that gives the result of the compiler's - overload resolution analysis. - - A character position used to identify a declaration scope and - accessibility. This character position must be within the FullSpan of the Root syntax - node in this SemanticModel. This position is used when binding the arguments. - - The set of methods or properties to resolve overloads among. - The list of arguments, in order, to use when resolving the - overloads. The arguments are interpreted as if they occurred within the declaration - scope that encloses "position". - If present, the type argument provided. If not provided, - type inference is done. May not be provided if TMember is PropertySymbol - Must be MethodSymbol to resolve overloads on methods, or - PropertySymbol to resolve overloads on properties. - - This can be used to resolve constructors as well as methods. - - - - - Analyze control-flow within a part of a method body. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the control flow analysis. - The two statements are not contained within the same statement list. - - - - Analyze control-flow within a part of a method body. - - The statement to be included in the analysis. - An object that can be used to obtain the result of the control flow analysis. - - - - Analyze data-flow within an expression. - - The expression within the associated SyntaxTree to analyze. - An object that can be used to obtain the result of the data flow analysis. - - - - Analyze data-flow within a set of contiguous statements. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the data flow analysis. - The two statements are not contained within the same statement list. - - - - Analyze data-flow within a statement. - - The statement to be included in the analysis. - An object that can be used to obtain the result of the data flow analysis. - - - - Get a SemanticModel object that is associated with a method body that did not appear in this source code. - Given must lie within an existing method body of the Root syntax node for this SemanticModel. - Locals and labels declared within this existing method body are not considered to be in scope of the speculated method body. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel and must be - within the FullSpan of a Method body within the Root syntax node. - A syntax node that represents a parsed method declaration. This method should not be - present in the syntax tree associated with this object, but must have identical signature to the method containing - the given in this SemanticModel. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a range argument syntax that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of this node that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - - A syntax node that represents a parsed RangeArgumentSyntax node. This node should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with an executable statement that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a statement that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - A syntax node that represents a parsed statement. This statement should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with an initializer that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a field initializer, property initializer or default parameter value that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - - A syntax node that represents a parsed initializer. This initializer should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with an attribute that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of an attribute that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - A syntax node that represents a parsed attribute. This attribute should not be - present in the syntax tree associated with this object. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if is null. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - Get a SemanticModel object that is associated with a type syntax that did not appear in - this source code. This can be used to get detailed semantic information about sub-parts - of a type syntax that did not appear in source code. - - A character position used to identify a declaration scope and accessibility. This - character position must be within the FullSpan of the Root syntax node in this SemanticModel. - - A syntax node that represents a parsed type syntax. This expression should not be - present in the syntax tree associated with this object. - Indicates whether to bind the expression as a full expression, - or as a type or namespace. - A SemanticModel object that can be used to inquire about the semantic - information associated with syntax nodes within . - Flag indicating whether a speculative semantic model was created. - Throws this exception if the node is contained any SyntaxTree in the current Compilation. - Throws this exception if this model is a speculative semantic model, i.e. is True. - Chaining of speculative semantic model is not supported. - - - - If this is a speculative semantic model, then returns its parent semantic model. - Otherwise, returns null. - - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. - - An expression which must occur within the syntax tree - associated with this object. - The type to attempt conversion to. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists " property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Determines what type of conversion, if any, would be used if a given expression was - converted to a given type. - - The character position for determining the enclosing declaration scope and accessibility. - An expression to classify. This expression does not need to be - present in the syntax tree associated with this object. - The type to attempt conversion to. - Returns a Conversion object that summarizes whether the conversion was - possible, and if so, what kind of conversion it was. If no conversion was possible, a - Conversion object with a false "Exists " property is returned. - To determine the conversion between two types (instead of an expression and a - type), use Compilation.ClassifyConversion. - - - - Given an modified identifier that is part of a variable declaration, get the - corresponding symbol. - - The modified identifier that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an FieldInitializerSyntax, get the corresponding symbol of anonymous type property. - - The anonymous object creation field initializer syntax. - The symbol that was declared, or Nothing if no such symbol exists or - if the field initializer was not part of an anonymous type creation. - - - - Given an AnonymousObjectCreationExpressionSyntax, get the corresponding symbol of anonymous type. - - The anonymous object creation syntax. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an ExpressionRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an CollectionRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an AggregationRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given a label statement, get the corresponding label symbol. - - The label statement. - The label symbol, or Nothing if no such symbol exists. - - - - Given a declarationSyntax that is part of a enum constant declaration, get the - corresponding symbol. - - The declarationSyntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given a type declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The type symbol that was declared. - - - - Given a type block, get the corresponding type symbol. - - The syntax node that declares a type block. - The type symbol that was declared. - - - - Given a enum declaration, get the corresponding type symbol. - - The syntax node that declares an enum. - The type symbol that was declared. - - - - Given a enum block, get the corresponding type symbol. - - The syntax node that declares an enum block. - The type symbol that was declared. - - - - Given a namespace declaration, get the corresponding type symbol. - - The syntax node that declares a namespace. - The namespace symbol that was declared. - - - - Given a namespace block, get the corresponding type symbol. - - The syntax node that declares a namespace block. - The namespace symbol that was declared. - - - - Given a method, property, or event declaration, get the corresponding symbol. - - The syntax node that declares a method, property, or event. - The method, property, or event symbol that was declared. - - - - Given a parameter declaration, get the corresponding parameter symbol. - - The syntax node that declares a parameter. - The parameter symbol that was declared. - - - - Given a type parameter declaration, get the corresponding type parameter symbol. - - The syntax node that declares a type parameter. - The type parameter symbol that was declared. - - - - Given a delegate statement syntax get the corresponding named type symbol. - - The syntax node that declares a delegate. - The named type that was declared. - - - - Given a constructor statement syntax get the corresponding method symbol. - - The syntax node that declares a constructor. - The method symbol that was declared. - - - - Given a method statement syntax get the corresponding method symbol. - - The syntax node that declares a method. - The method symbol that was declared. - - - - Given a method statement syntax get the corresponding method symbol. - - The syntax node that declares a method. - The method symbol that was declared. - - - - Given a operator statement syntax get the corresponding method symbol. - - The syntax node that declares an operator. - The method symbol that was declared. - - - - Given a method block syntax get the corresponding method, property or event symbol. - - The syntax node that declares method, property or event. - The method, property or event symbol that was declared. - - - - Given a property statement syntax get the corresponding property symbol. - - The syntax node that declares a property. - The property symbol that was declared. - - - - Given an event statement syntax get the corresponding event symbol. - - The syntax node that declares an event. - The event symbol that was declared. - - - - Given a property block syntax get the corresponding property symbol. - - The syntax node that declares property. - The property symbol that was declared. - - - - Given a custom event block syntax get the corresponding event symbol. - - The syntax node that declares the custom event. - The event symbol that was declared. - - - - Given a catch statement syntax get the corresponding local symbol. - - The catch statement syntax node. - The local symbol that was declared by the Catch statement or Nothing if statement does not declare a local variable. - - - - Given a property block syntax get the corresponding property symbol. - - The syntax node that declares property. - The property symbol that was declared. - - - - Given an import clause get the corresponding symbol for the import alias that was introduced. - - The import statement syntax node. - The alias symbol that was declared or Nothing if no alias symbol was declared. - - - - Given a field declaration syntax, get the corresponding symbols. - - The syntax node that declares one or more fields. - The field symbols that were declared. - - - - Gets bound node summary of the underlying invocation in a case of RaiseEvent - - - - - RaiseEvent situation is very special: - 1) Unlike other syntaxes that take named arguments, RaiseEvent is a statement. - 2) RaiseEvent is essentially a wrapper aroung underlying call to the event rising method. - Note that while event itself may have named parameters in its syntax, their names could be irrelevant - For the purpose of fetching named parameters, it is the target of the call that we are interested in. - - === Example: - - Interface I1 - Event E(qwer As Integer) - End Interface - - Class cls1 : Implements I1 - Event E3(bar As Integer) Implements I1.E ' "bar" means nothing here. Only type matters. - - Sub moo() - RaiseEvent E3(qwer:=123) ' qwer binds to parameter on I1.EEventhandler.invoke(foo) - End Sub -End Class - - - - - - - The SyntaxTree that is bound - - - - - Gets the semantic information of a for each statement. - - The for each syntax node. - - - - Gets the semantic information of a for each statement. - - The for block syntax node. - - - - Gets the semantic information of a for each statement. - - The for each syntax node. - - - - Gets the semantic information of an Await expression. - - - - - If the given node is within a preprocessing directive, gets the preprocessing symbol info for it. - - Preprocessing symbol identifier node. - - - - Options to control the internal working of GetSemanticInfoWorker. Not currently exposed - to public clients, but could be if desired. - - - - - When binding "C" new C(...), return the type C and do not return information about - which constructor was bound to. Bind "new C(...)" to get information about which constructor - was chosen. - - - - - When binding "C" new C(...), return the constructor of C that was bound to, if C unambiguously - binds to a single type with at least one constructor. - - - - - When binding a name X that was declared with a "using X=OtherTypeOrNamespace", return OtherTypeOrNamespace. - - - - - When binding a name X that was declared with a "using X=OtherTypeOrNamespace", return the alias symbol X. - - - - - Given a position in the SyntaxTree for this SemanticModel returns the innermost Symbol - that the position is considered inside of. - - - - - Get the state of Option Strict for the code covered by this semantic model. - This takes into effect both file-level "Option Strict" statements and the project-level - defaults. - - - - - Get the state of Option Infer for the code covered by this semantic model. - This takes into effect both file-level "Option Infer" statements and the project-level - defaults. - - True if Option Infer On, False if Option Infer Off. - - - - Get the state of Option Explicit for the code covered by this semantic model. - This takes into effect both file-level "Option Explicit" statements and the project-level - defaults. - - True if Option Explicit On, False if Option Explicit Off. - - - - Get the state of Option Compare for the code covered by this semantic model. - This takes into effect both file-level "Option Compare" statements and the project-level - defaults. - - True if Option Compare Text, False if Option Compare Binary. - - - - Allows asking semantic questions about a tree of syntax nodes that did not appear in the original source code. - Typically, an instance is obtained by a call to SemanticModel.TryGetSpeculativeSemanticModel. - - - - - Allows asking semantic questions about any node in a SyntaxTree within a Compilation. - - - - - The compilation associated with this binding. - - - - - The root node of the syntax tree that this binding is based on. - - - - - The SyntaxTree that is bound - - - - - Get all the errors within the syntax tree associated with this object. Includes errors involving compiling - method bodies or initializers, in addition to the errors returned by GetDeclarationDiagnostics and parse errors. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - - Because this method must semantically analyse all method bodies and initializers to check for diagnostics, it may - take a significant amount of time. Unlike GetDeclarationDiagnostics, diagnostics for method bodies and - initializers are not cached, the any semantic information used to obtain the diagnostics is discarded. - - - - - Get all the syntax and declaration errors within the syntax tree associated with this object. Does not get - errors involving compiling method bodies or initializers. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - The declaration errors for a syntax tree are cached. The first time this method is called, a ll - declarations are analyzed for diagnostics. Calling this a second time will return the cached diagnostics. - - - - - Get all the syntax and declaration errors within the syntax tree associated with this object. Does not get - errors involving compiling method bodies or initializers. - - Optional span within the syntax tree for which to get diagnostics. - If no argument is specified, then diagnostics for the entire tree are returned. - A cancellation token that can be used to cancel the process of obtaining the - diagnostics. - The declaration errors for a syntax tree are cached. The first time this method is called, a ll - declarations are analyzed for diagnostics. Calling this a second time will return the cached diagnostics. - - - - - Get symbols referenced from 'cref' or 'name' attribute value. - - Node to bind. - True to leave s, False to unwrap them. - Out: symbols that would have been in the return value but improperly refer to type parameters. - Referenced symbols, less type parameters. - - - - Checks all symbol locations against the syntax provided and rreturn symbol if any of the locations is - inside the syntax span. Returns Nothing otherwise. - - - - - Given a delegate declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The type symbol that was declared. - - - - Given a type declaration, get the corresponding type symbol. - - The syntax node that declares a type. - The type symbol that was declared. - - - - Given a enum declaration, get the corresponding type symbol. - - The syntax node that declares an enum. - The type symbol that was declared. - - - - Given a namespace declaration, get the corresponding type symbol. - - The syntax node that declares a namespace. - The namespace symbol that was declared. - - - - Given a method, property, or event declaration, get the corresponding symbol. - - The syntax node that declares a method, property, or event. - The method, property, or event symbol that was declared. - - - - Given a parameter declaration, get the corresponding parameter symbol. - - The syntax node that declares a parameter. - The parameter symbol that was declared. - - - - Given a type parameter declaration, get the corresponding type parameter symbol. - - The syntax node that declares a type parameter. - The type parameter symbol that was declared. - - - - Given a variable declaration, get the corresponding symbol. - - The syntax node that declares a variable. - The symbol that was declared. - - - - Given an FieldInitializerSyntax, get the corresponding symbol of anonymous type creation. - - The anonymous object creation field initializer syntax. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an AnonymousObjectCreationExpressionSyntax, get the corresponding symbol of anonymous type. - - The anonymous object creation syntax. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an ExpressionRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an CollectionRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an AggregationRangeVariableSyntax, get the corresponding symbol. - - The range variable syntax that declares a variable. - The symbol that was declared, or Nothing if no such symbol exists. - - - - Given an import clause get the corresponding symbol for the import alias that was introduced. - - The import statement syntax node. - The alias symbol that was declared or Nothing if no alias symbol was declared. - - - - Given a field declaration syntax, get the corresponding symbols. - - The syntax node that declares one or more fields. - The field symbols that were declared. - - - - Determines what type of conversion, if any, would be used if a given expression was converted to a given - type. - - An expression which much occur within the syntax tree associated with this - object. - The type to attempt conversion to. - Returns a Conversion object that summarizes whether the conversion was possible, and if so, what - kind of conversion it was. If no conversion was possible, a Conversion object with a false "Exists " - property is returned. - To determine the conversion between two types (instead of an expression and a type), use - Compilation.ClassifyConversion. - - - - Analyze control-flow within a part of a method body. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the control flow analysis. - The two statements are not contained within the same statement list. - - - - The first statement to be included in the analysis. - - The first statement to be included in the analysis. - The last statement to be included in the analysis. - An object that can be used to obtain the result of the data flow analysis. - The two statements are not contained within the same statement list. - - - - Analyze data-flow within an expression. - - The expression within the associated SyntaxTree to analyze. - An object that can be used to obtain the result of the data flow analysis. - - - - Checks if the node is inside the attribute arguments - - - - - Check Expression for being in right context, for example 'For ... Next [x]' - is not correct context - - - - - Check ForBlockSyntax for being the uppermost For block. By uppermost - For block we mean that if Next clause contains several control variables, - the uppermost block is the one which includes all the For blocks ending with - the same Next clause - - - - - Gets the semantic information of a for each statement. - - The for each syntax node. - - - Used to create a region analysis context - with failed flag set to be used in 'failed' scenarios - - - - Represents the state of compilation of one particular type. - This includes, for example, a collection of synthesized methods created during lowering. - WARNING: Note that the underlying collection classes are not thread-safe and this will - need to be revised if emit phase is changed to support multithreading when - translating a particular type. - - - - Method's information - - - Flat array of created methods, non-empty if not-nothing - - - - A mapping from (source) iterator or async methods to the compiler-generated classes that implement them. - - - - - Map of 'MyBase' or 'MyClass' call wrappers; actually each method symbol will - only need one wrapper to call it non-virtually; - - Indeed, if the type have a virtual method M1 overridden, MyBase.M1 will use - a wrapper for base type's method and MyClass.M1 a wrapper for this type's method. - - And if the type does not override a virtual method M1, both MyBase.M1 - and MyClass.M1 will use a wrapper for base type's method. - - - - - Is there any content in the methods collection. - - - - Method created with their bodies - - - Free resources - - - - The type of the expression represented by the syntax node. For expressions that do not - have a type, null is returned. If the type could not be determined due to an error, than - an object derived from ErrorTypeSymbol is returned. - - - - - The type of the expression after it has undergone an implicit conversion. If the type - did not undergo an implicit conversion, returns the same as Type. - - - - - If the expression underwent an implicit conversion, return information about that - conversion. Otherwise, returns an identity conversion. - - - - - Guess the non-error type that the given type was intended to represent, or return - the type itself. If a single, non-ambiguous type is a guess-type inside the type symbol, - return that; otherwise return the type itself (even if it is an error type). - - - - - Completes binding and performs analysis of bound trees for the purpose of obtaining diagnostics. - - NOTE: This method does not perform lowering/rewriting/emit. - Errors from those stages require complete compile, - but generally are not interesting during editing. - - NOTE: the bound tree produced by this method are not stored anywhere - and immediately lost after diagnostics of a particular tree is done. - - - - - - Compiles given compilation into provided module. - - NOTE: it is ok for moduleBeingBuilt to be Nothing. - In such case the only results of this method would be diagnostics for complete compile. - - NOTE: the bound/lowered trees produced by this method are not stored anywhere and - immediately lost after obtaining method bodies and diagnostics for a particular - tree. - - - - - Detects cycles in constructor invocations based on the 'constructor-calls-constructor' - map provided in 'constructorCallMap', reports errors if found. - - NOTE: 'constructorCallMap' is being mutated by this method - - - - All the constructors in the cycle will be reported - - - - Compiles the method. - - - If the method being compiled is a constructor, CompileMethod returns in this parameter - the symbol of the constructor called from the one being compiled either explicitly or implicitly. - For structure constructors calling parameterless constructor returns the synthesized constructor symbol. - - - - - If any of the "Handles" in the list have synthetic WithEvent override - as a container, then this method will (if not done already) inject - property/accessors symbol into the emit module and assign bodies to the accessors. - - - - - Assuming the statement is a constructor call wrapped in bound expression - statement, get the method symbol being called - - - - - When compiling in metadata-only mode, is not run. This is problematic because - adds synthesized explicit implementations to the list of synthesized definitions. - In lieu of running , this class performs a quick - traversal of the symbol table and performs processing of synthesized symbols if necessary. - - - - - Traverse the symbol table and properly add/process synthesized extra metadata if needed. - - - - - Represents a reference to another Visual Basic compilation. - - - - - Returns the referenced . - - - - - Create a metadata reference to a compilation. - - The compilation to reference. - Should interop types be embedded in the created assembly? - Namespace aliases for this reference. - - - - Returns documentation comment for a type, field, property, event or method, - discards all the diagnostics - - - Returns Nothing if there is no documentation comment on the type or - there were errors preventing such a comment from being generated, - XML string otherwise - - - - - Matches symbols from an assembly in one compilation to - the corresponding assembly in another. Assumes that only - one assembly has changed between the two compilations. - - - - - Match local declarations to names to generate a map from - declaration to local slot. The names are indexed by slot and the - assumption is that declarations are in the same order as slots. - - - - - Represents a reference to a generic method instantiation, closed over type parameters, - e.g. MyNamespace.Class.Method{T}() - - - - - Represents a reference to a generic type instantiation that is not nested. - e.g. MyNamespace.A{int} - - - - - Represents a reference to a generic type instantiation that is nested in a non-generic type. - e.g. A.B{int} - - - - - Represents a reference to a generic type instantiation. - Subclasses represent nested and namespace types. - - - - - Returns true if the type can be embedded. If the type is defined in a linked (/l-ed) - assembly, but doesn't meet embeddable type requirements, this function returns - False and reports appropriate diagnostics. - - - - - This value will override m_SourceModule.MetadataName. - - - This functionality exists for parity with C#, which requires it for - legacy reasons (see Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase.metadataName). - - - - Stores collection of all embedded symbols referenced from IL - - - Adds a symbol to the collection of referenced embedded symbols - - - - Represents a reference to a field of a generic type instantiation. - e.g. - A{int}.Field - A{int}.B{string}.C.Field - - - - - Represents a generic method of a generic type instantiation, closed over type parameters. - e.g. - A{T}.M{S}() - A.B{T}.C.M{S}() - - - - - Represents a reference to an instantiation of a generic type nested in an instantiation of another generic type. - e.g. - A{int}.B{string} - A.B{int}.C.D{string} - - - - - Represents a method of a generic type instantiation. - e.g. - A{int}.M() - A.B{int}.C.M() - - - - - Represents a reference to a type nested in an instantiation of a generic type. - e.g. - A{int}.B - A.B{int}.C.D - - - - - The base class for all symbols (namespaces, classes, method, parameters, etc.) that are - exposed by the compiler. - - - - - Return whether the symbol is either the original definition - or distinct from the original. Intended for use in Debug.Assert - only since it may include a deep comparison. - - - - - Returns a list of attributes to emit to CustomAttribute table. - - - - - Checks if this symbol is a definition and its containing module is a SourceModuleSymbol. - - - - - Determine if two methods have the same signature according to section 4.1.1 of the VB language spec. - The name, number of type parameters, and number and types of the method's non-optional parameters are - considered. ByRef/Byval, parameter names, returns type, constraints, or optional parameters are not considered. - - - - - Checks if is accessible from within type . - - The symbol for the accessibility check. - The type to use as a context for the check. - - The type of an expression that is accessed off of, if any. - This is needed to properly check accessibility of protected members. - - - - - - Checks if is accessible from within the assembly ', but outside any - type. Protected members are deemed inaccessible. - - The symbol to check accessibility. - The assembly to check accessibility within. - True if symbol is acessible. False otherwise. - - - - Gets the name of this symbol. - - Returns the name of this symbol. Symbols without a name return the empty string; - Nothing is never returned. - - - - Gets the name of a symbol as it appears in metadata. Most of the time, this - is the same as the Name property, with the following exceptions: - 1) The metadata name of generic types includes the "`1", "`2" etc. suffix that - indicates the number of type parameters (it does not include, however, names of - containing types or namespaces). - 2) The metadata name of methods that overload or override methods with the same - case-insensitive name but different case-sensitive names are adjusted so that - the overrides and overloads always have the same name in a case-sensitive way. - - It should be noted that Visual Basic merges namespace declaration from source - and/or metadata with different casing into a single namespace symbol. Thus, for - namespace symbols this property may return incorrect information if multiple declarations - with different casing were found. - - - - - Set the metadata name for this symbol. - Called from for each symbol of the same name in a type. - - - - - Gets the kind of this symbol. - - - - - Get the symbol that logically contains this symbol. - - - - - Gets the nearest enclosing namespace for this namespace or type. For a nested type, - returns the namespace that contains its container. - - - - - Returns the nearest lexically enclosing type, or Nothing if there is none. - - - - - Returns the containing type or namespace, if this symbol is immediately contained by it. - Otherwise returns Nothing. - - - - - Returns the assembly containing this symbol. If this symbol is shared - across multiple assemblies, or doesn't belong to an assembly, returns Nothing. - - - - - For a source assembly, the associated compilation. - For any other assembly, null. - For a source module, the DeclaringCompilation of the associated source assembly. - For any other module, null. - For any other symbol, the DeclaringCompilation of the associated module. - - - We're going through the containing module, rather than the containing assembly, - because of /addmodule (symbols in such modules should return null). - - Remarks, not "ContainingCompilation" because it isn't transitive. - - - - - Returns the module containing this symbol. If this symbol is shared - across multiple modules, or doesn't belong to a module, returns Nothing. - - - - - Get the original definition of this symbol. If this symbol is derived from another - symbol by (say) type substitution, this gets the original symbol, as it was defined - in source or metadata. - - - - - Returns true if this is the original definition of this symbol. - - - - - Get a source location key for sorting. For performance, it's important that this be - be able to be returned from a symbol without doing any additional allocations (even - if nothing is cached yet.) - - Only members of source namespaces, original source types, and namespaces that can be merged - need implement this function. - - - - - Gets the locations where this symbol was originally defined, either in source - or metadata. Some symbols (for example, partial classes) may be defined in more - than one location. - - - - - Get the syntax node(s) where this symbol was declared in source. Some symbols (for example, - partial classes) may be defined in more than one location. This property should return - one or more syntax nodes only if the symbol was declared in source code and also was - not implicitly declared (see the IsImplicitlyDeclared property). - - Note that for namespace symbol, the declaring syntax might be declaring a nested namespace. - For example, the declaring syntax node for N1 in "Namespace N1.N2" is the - NamespaceDeclarationSyntax for N1.N2. For the project namespace, the declaring syntax will - be the CompilationUnitSyntax. - - - The syntax node(s) that declared the symbol. If the symbol was declared in metadata - or was implicitly declared, returns an empty read-only array. - - - To go the opposite direction (from syntax node to symbol), see . - - - - - Helper for implementing DeclaringSyntaxNodes for derived classes that store a location but not a SyntaxNode or SyntaxReference. - - - - - Helper for implementing DeclaringSyntaxNodes for derived classes that store a location but not a SyntaxNode or SyntaxReference. - - - - - Helper for implementing DeclaringSyntaxNodes for derived classes that store SyntaxReferences. - - - - - Get this accessibility that was declared on this symbol. For symbols that do - not have accessibility declared on them, returns NotApplicable. - - - - - Returns true if this symbol is "shared"; i.e., declared with the "Shared" - modifier or implicitly always shared. - - - - - Returns true if this member is overridable, has an implementation, - and does not override a base class member; i.e., declared with the "Overridable" - modifier. Does not return true for members declared as MustOverride or Overrides. - - - - - Returns true if this symbol was declared to override a base class members; i.e., declared - with the "Overrides" modifier. Still returns true if the members was declared - to override something, but (erroneously) no member to override exists. - - - - - Returns true if this symbol was declared as requiring an override; i.e., declared - with the "MustOverride" modifier. Never returns true for types. - Also methods, properties and events declared in interface are considered to have MustOveride. - - - - - Returns true if this symbol was declared to override a base class members and was - also restricted from further overriding; i.e., declared with the "NotOverridable" - modifier. Never returns true for types. - - - - - Returns true if this symbol was automatically created by the compiler, and does not - have an explicit corresponding source code declaration. - - This is intended for symbols that are ordinary symbols in the language sense, - and may be used by code, but that are simply declared implicitly rather than - with explicit language syntax. - - Examples include (this list is not exhaustive): - the default constructor for a class or struct that is created if one is not provided, - the BeginInvoke/Invoke/EndInvoke methods for a delegate, - the generated backing field for an auto property or a field-like event, - the "this" parameter for non-static methods, - the "value" parameter for a property setter, - the parameters on indexer accessor methods (not on the indexer itself), - methods in anonymous types - - - - - True if this symbol has been marked with the Obsolete attribute. - This property returns Unknown if the Obsolete Attribute hasn't been cracked yet. - - - - - Returns data decoded from Obsolete attribute or null if there is no Obsolete attribute. - This property returns ObsoleteAttributeData.Uninitialized if attribute arguments haven't been decoded yet. - - - - - Returns the symbol that implicitly defined this symbol, or Nothing if this - symbol was declared explicitly. Examples of implicit symbols are property - accessors and the backing field for an automatically implemented property. - - NOTE: there are scenarios in which ImplicitlyDefinedBy is called while bound members - are not yet published. Ths typically happens if ImplicitlyDefinedBy while binding members. - In such case, if calee needs to refer to a member of enclosing type it must - do that in the context of unpublished members that caller provides - (asking encompassing type for members will cause infinite recursion). - - NOTE: There could be several threads trying to bind and publish members, only one will succeed. - Reporting ImplicitlyDefinedBy withing the set of members known to the caller guarantees - that if particular thread succeeds it will not have information that refers to something - built by another thread and discarded. - - - - - Returns true if 'Shadows' is explicitly specified on the declaration if the symbol is from - source, or in cases of synthesized symbols, if 'Shadows' is specified on the associated - source symbol. (For instance, ShadowsExplicitly will be set on the backing fields and - accessors for properties and events based on the value from the property or event.) - Returns false in all other cases, in particular, for symbols not from source. - - - - - Returns true if this symbol can be referenced by its name in code. Examples of symbols - that cannot be referenced by name are: - constructors, operators, - accessor methods for properties and events. - - - - - As an optimization, viability checking in the lookup code should use this property instead - of CanBeReferencedByName. - - - This property exists purely for performance reasons. - - - - - Is this a symbol that is generated by the compiler and - automatically added to the compilation? Note that - only source symbols may be embedded symbols. - - Namespace symbol is considered to be an embedded symbol - if at least one of its declarations are embedded symbols. - - - - - effective for this symbol (type or DllImport method). - Nothing if isn't applied on the containing module or it doesn't apply on this symbol. - - - Determined based upon value specified via applied on the containing module. - Symbols that are embedded are not affected by (see DevDiv bug #16434). - - - - - Always prefer IsFromCompilation. - - - This property is actually a double workaround: - - 1) Unfortunately, when determining overriding/hiding/implementation relationships, we don't - have the "current" compilation available. We could, but that would clutter up the API - without providing much benefit. As a compromise, we consider all compilations "current". - - 2) TypeSymbol.Interfaces doesn't roundtrip in the presence of implicit interface implementation. - In particular, the metadata symbol may declare fewer interfaces than the source symbol so - that runtime implicit interface implementation will find the right symbol. Thus, we need to - know what kind of symbol we are dealing with to be able to interpret the Interfaces property - properly. Since a retargeting TypeSymbol will reflect the behavior of the underlying source - TypeSymbol, we need this property to match as well. (C# does not have this problem.) - - - - - Equivalent to MethodKind = MethodKind.LambdaMethod, but can be called on a symbol directly. - - - - - Is this an auto-generated property of a group class? - - - - - Is this lambda method a query lambda? - If it is, IsLambdaMethod == True as well. - - - - - Returns true and a from the first on the symbol, - the string might be null or an invalid guid representation. False, - if there is no with string argument. - - - - - Returns the Documentation Comment ID for the symbol, or Nothing if the symbol - doesn't support documentation comments. - - - - - Fetches the documentation comment for this element with a cancellation token. - - Optionally, retrieve the comments formatted for a particular culture. No impact on source documentation comments. - Optionally, expand ]]> elements. No impact on non-source documentation comments. - Optionally, allow cancellation of documentation comment retrieval. - The XML that would be written to the documentation file for the symbol. - - - - Compare two symbol objects to see if they refer to the same symbol. You should always use - = and <> or the Equals method, to compare two symbols for equality. - - - - - Compare two symbol objects to see if they refer to the same symbol. You should always use - = and <>, or the Equals method, to compare two symbols for equality. - - - - - Force all declaration diagnostics to be generated for the symbol. - - - - - Returns error info for an error, if any, that should be reported at the use site of the symbol. - - - - - Indicates that this symbol uses metadata that cannot be supported by the language. - - Examples include: - - Pointer types in VB - - ByRef return type - - Required custom modifiers - - This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced. - Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature. - - This is set for metadata symbols, as follows: - Type - if a type is unsupported (e.g., a pointer type, etc.) - Method - parameter or return type is unsupported - Field - type is unsupported - Event - type is unsupported - Property - type is unsupported - Parameter - type is unsupported - - - - - Derive error info from a type symbol. - - - - - Return error code that has highest priority while calculating use site error for this symbol. - - - - - Gets the attributes on this symbol. Returns an empty ImmutableArray if there are - no attributes. - - - - - Build and add synthesized attributes for this symbol. - - - - - Convenience helper called by subclasses to add a synthesized attribute to a collection of attributes. - - - - - Returns the appropriate AttributeTarget for a symbol. This is used to validate attribute usage when - applying an attribute to a symbol. For any symbol that does not support the application of custom - attributes 0 is returned. - - The attribute target flag for this symbol or 0 if none apply. - - - - - Method to early decode applied well-known attribute which can be queried by the binder. - This method is called during attribute binding after we have bound the attribute types for all attributes, - but haven't yet bound the attribute arguments/attribute constructor. - Early decoding certain well-known attributes enables the binder to use this decoded information on this symbol - when binding the attribute arguments/attribute constructor without causing attribute binding cycle. - - - - - This method is called by the binder when it is finished binding a set of attributes on the symbol so that - the symbol can extract data from the attribute arguments and potentially perform validation specific to - some well known attributes. - - - - Symbol types should override this if they want to handle a specific well-known attribute. - If the attribute is of a type that the symbol does not wish to handle, it should delegate back to - this (base) method. - - - - - - Called to report attribute related diagnostics after all attributes have been bound and decoded. - Called even if there are no attributes. - - - This method is called by the binder from after it has finished binding attributes on the symbol, - has executed for attributes applied on the symbol and has stored the decoded data in the - lazyCustomAttributesBag on the symbol. Bound attributes haven't been stored on the bag yet. - - Post-validation for attributes that is dependant on other attributes can be done here. - - This method should not have any side effects on the symbol, i.e. it SHOULD NOT change the symbol state. - - Bound attributes. - Syntax nodes of attributes in order they are specified in source. - Diagnostic bag. - Specific part of the symbol to which the attributes apply, or if the attributes apply to the symbol itself. - Decoded well known attribute data. - - - - This method does the following set of operations in the specified order: - (1) GetAttributesToBind: Merge the given attributeBlockSyntaxList into a single list of attributes to bind. - (2) GetAttributes: Bind the attributes (attribute type, arguments and constructor). - (3) DecodeWellKnownAttributes: Decode and validate bound well-known attributes. - (4) ValidateAttributes: Perform some additional attribute validations, such as - 1) Duplicate attributes, - 2) Attribute usage target validation, etc. - (5) Store the bound attributes and decoded well-known attribute data in lazyCustomAttributesBag in a thread safe manner. - - - - - Method to early decode certain well-known attributes which can be queried by the binder. - This method is called during attribute binding after we have bound the attribute types for all attributes, - but haven't yet bound the attribute arguments/attribute constructor. - Early decoding certain well-known attributes enables the binder to use this decoded information on this symbol - when binding the attribute arguments/attribute constructor without causing attribute binding cycle. - - - - - This method validates attribute usage for each bound attribute and calls - on attributes with valid attribute usage. - This method is called by the binder when it is finished binding a set of attributes on the symbol so that - the symbol can extract data from the attribute arguments and potentially perform validation specific to - some well known attributes. - - - - - Validate attribute usage target and duplicate attributes. - - Bound attribute - Syntax node for attribute specification - Compilation - Symbol part to which the attribute has been applied - Diagnostics - Set of unique attribute types applied to the symbol - - - - Ensure that attributes are bound and the ObsoleteState of this symbol is known. - - - - - This diagnostic indicates when a symbol is not good for binding against. - - Client code can obtain the bad symbol via the BadSymbol property. - - - - - This diagnostics indicates when a lookup is ambiguous between multiple - equally good symbols, for example in different imported namespaces, or different - modules. - - Client code can obtain the set of ambiguous symbols via the AmbiguousSymbols property. - - - - - Add a diagnostic to the bag. - - - - - - - - - - Appends diagnostics from useSiteDiagnostics into diagnostics and returns True if there were any errors. - - - - - The Diagnostic class allows formatting of Visual Basic diagnostics. - - - - - Gets the current DiagnosticFormatter instance. - - - - - Concatenates messages for a set of DiagnosticInfo. - - - - - The LocalizableErrorArgument class contains members members that allows formatting and serialization of error arguments. - Message IDs may refer to strings that need to be localized. This struct makes an IFormattable wrapper around a MessageID - - - - - -Creates a string representing the unformatted LocalizableErrorArgument instance. - - - - - - Creates a string representing the formatted LocalizableErrorArgument instance. - - A string to use for formatting. - An object that supplies culture-specific format information about format. - - - - - Implements the System.Runtime.Serialization.ISerializable interface and returns the data needed to serialize the LocalizableErrorArgument instance. - - A SerializationInfo object that contains the information required to serialize the LocalizableErrorArgument instance. - A StreamingContext object that contains the source and destination of the serialized stream associated with the LocalizableErrorArgument instance. - - - - Represents a Visual Basic global imports. - - - - - The import clause (a namespace name, an alias, or an XML namespace alias). - - - - - The import name. - - - - - Parses a specified string to create a GlobalImport instance. - - The string containing the text to be parsed. - A GlobalImport instance. - - - - Parses a specified string to create a GlobalImport instance with diagnostics info. - - The string containing the text to be parsed. - An ImmutableArray of diagnostics created during parse. - A GlobalImport instance. - - - - Parses a collection of strings representing imports to create collection of GlobalImports. - - The collection of strings to be parsed. - A collecton of GlobalImports - - - - Parses a parameter array of string arrays representing imports to create a collection of GlobalImports. - - The string arrays to be parsed. - A collection of GlobalImports. - - - - Parses a collection of strings representing imports to create a collecion of GlobalImport instance and diagnostics - - A collection of strings to be parsed. - A ImmutableArray of diagnostics. - A collection of GlobalImports. - - - - Determines if the current object is equal to another object. - - An object to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Determines whether the current object is equal to another object of the same type. - - A GlobalImport object to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Creates a hashcode for this instance. - - A hashcode representing this instance. - - - - Operator for Equality with GlobalImport Objects. - - True if the two items are Equal. - - - - Overloaded Operator for Inequality ith GlobalImport Objects. - - Returns True if the two items are not Equal. - - - - Supported VB Language Versions - - - - - A program location in source code. - - - - - A program location in MyTemplate code. - - - - - Represents a VB location in source code or metadata. - - - - - Spill an expression list with a receiver (e.g. array access, method call), - where at least one of the receiver or the arguments contains an await expression. - - - - - Spill a list of expressions (e.g. the arguments of a method call). - - The expressions are processed right-to-left. Once an expression has been found that contains an await - expression, all subsequent expressions are spilled. - - Example: - - (1 + 2, await t1, Foo(), await t2, 3 + 4) - - becomes: - - Spill( - spill1 = 1 + 2, - spill2 = await t1, - spill3 = Foo(), - (spill1, spill2, spill3, await t2, 3 + 4)) - - NOTE: Consider nested array initializers: - - new int[] { - { 1, await t1 }, - { 3, await t2 } - } - - If the arguments of the top-level initializer had already been spilled, we would end up trying to spill - something like this: - - new int[] { - Spill( - spill1 = 1, - { spill1, await t1 }), - Spill( - spill2 = 3, - { spill2, await t2 }) - } - - The normal rewriting would produce: - - Spill( - spill1 = 1, - spill3 = { spill1, await t1 }, - spill2 = 3, - int[] a = new int[] { - spill3, - { spill2, await t2 })) - - Which is invalid, because spill3 does not have a type. - - To solve this problem the expression list spilled descends into nested array initializers. - - - - - - The method being rewritten. - - - - - The field of the generated async class used to store the async method builder: an instance of - AsyncVoidMethodBuilder, AsyncTaskMethodBuilder, or AsyncTaskMethodBuilder(Of T) depending on the - return type of the async method. - - - - - The exprReturnLabel is used to label the return handling code at the end of the async state-machine - method. Return expressions are rewritten as unconditional branches to exprReturnLabel. - - - - - The exitLabel is used to label the final method body return at the end of the async state-machine - method. Is used in rewriting of return statements from Await expressions and a couple of other - places where the return is not accompanied by return of the value. - - - - - The field of the generated async class used in generic task returning async methods to store the value - of rewritten return expressions. The return-handling code then uses SetResult on the async method builder - to make the result available to the caller. - - - - - Generate the body for MoveNext() - - - - - Materialize the capture, e.g. return an expression to be used instead of captured symbol - - - - - Add proxy field(s) if any to the array builder provided - - Note: is used for binding BoundStateMachineScope with - correspondent local/field references - - - - - Create assignment expressions initializing for this capture, is only supposed to be - used for proper handling of reference assignments - - - - - Spill field allocator controlls allocation and reusage of the set of fields - used to spilling expressions; current implementation allows reuse of fields - of the same type on high-level statement level - - - - - Rewrite an async method into a state machine class. - - - - - Specifies a kind of an Async method - - None is returned for non-Asyn methods or methods with wrong return type - - - - - Returns method's async kind - - - - - Rewrite lambda that are being converted to LINQ expression trees (Expression(Of T)) - - - A lot of code is #If False disabled until it can be tested. - - - - - Rewrite a bound lambda into a bound node that will create the corresponding expression tree at run time. - - - - - Create an Expression Tree Node with the given name and arguments - - - - - Create an Expression node with the given name, type arguments, and arguments. - - - - - Gets the method group for a given method name. Returns Nothing if no methods found. - - - - - The shift count for a left-shift or right-shift operator needs to be masked according to the type - of the left hand side, unless the shift count is an in-range constant. This is similar to what is - done in code gen. - - - - - Given user defined conversion node replace the operand with the coalesce lambda parameter. - - The input bound conversion node must have the following form: - --> BoundConversion [UserDefined] - --> [optional] BoundConversion (OutConversion) - --> BoundCall [shared method, no receiver, one argument] - - The OUTPUT bound conversion node will have the following form: - --> BoundConversion *updated* - --> [optional] BoundConversion *updated* - --> BoundCall [shared method, no receiver, * updated argument *] - --> [optional] BoundConversion (parameter from nullable to value) - --> *parameter* - - - - - - Rewrites a built-in conversion. Doesn't handle user-defined conversions or Nothing literals. - - - - - Get the conversion helper for converting between special types in an expression tree. - These are often different than the ones used in regular code. - - - - - Get the name of the expression tree function for a particular unary operator - - - - - The field of the generated iterator class that underlies the Current property. - - - - - Rewrite an iterator method into a state machine class. - - - - - The rewriter for removing lambda expressions from method bodies and introducing closure classes - as containers for captured variables along the lines of the example in section 6.5.3 of the - C# language specification. - - The entry point is the public method Rewrite. It operates as follows: - - First, an analysis of the whole method body is performed that determines which variables are - captured, what their scopes are, and what the nesting relationship is between scopes that - have captured variables. The result of this analysis is left in LambdaRewriter.analysis. - - Then we make frame, or compiler-generated class, represented by an instance of - LambdaRewriter.Frame for each scope with captured variables. The generated frames are kept - in LambdaRewriter.frames. Each frame is given a single field for each captured - variable in the corresponding scope. These are are maintained in LambdaRewriter.proxies. - - Finally, we walk and rewrite the input bound tree, keeping track of the following: - (1) The current set of active frame pointers, in LambdaRewriter.framePointers - (2) The current method being processed (this changes within a lambda's body), in LambdaRewriter.currentMethod - (3) The "this" symbol for the current method in LambdaRewriter.currentFrameThis, and - (4) The symbol that is used to access the innermost frame pointer (it could be a local variable or "this" parameter) - - There are a few key transformations done in the rewriting. - (1) Lambda expressions are turned into delegate creation expressions, and the body of the lambda is - moved into a new, compiler-generated method of a selected frame class. - (2) On entry to a scope with captured variables, we create a frame object and store it in a local variable. - (3) References to captured variables are transformed into references to fields of a frame class. - - In addition, the rewriting deposits into the field LambdaRewriter.generatedMethods a (MethodSymbol, BoundStatement) - pair for each generated method. - - LambdaRewriter.Rewrite produces its output in two forms. First, it returns a new bound statement - for the caller to use for the body of the original method. Second, it returns a collection of - (MethodSymbol, BoundStatement) pairs for additional method that the lambda rewriter produced. - These additional methods contain the bodies of the lambdas moved into ordinary methods of their - respective frame classes, and the caller is responsible for processing them just as it does with - the returned bound node. For example, the caller will typically perform iterator method and - asynchronous method transformations, and emit IL instructions into an assembly. - - - - - Perform a first analysis pass in preparation for removing all lambdas from a method body. The entry point is Analyze. - The results of analysis are placed in the fields seenLambda, blockParent, variableBlock, captured, and captures. - - - - - Set to true of any lambda expressions were seen in the analyzed method body. - - - - - Set to true if method body contains any back branches (loops). - - - - - For each statement with captured variables, identifies the nearest enclosing statement with captured variables. - - - - - For each captured variable, identifies the statement in which it will be moved to a frame class. This is - normally the block where the variable is introduced, but method parameters are moved - to a frame class within the body of the method. - - - - - For a given label, the nearest enclosing block that captures variables - - - - - For a given goto, the nearest enclosing block that captures variables - - - - - Blocks that contain (recursively) a lambda that is lifting. - Such blocks are considered as potentially needing closure initialization when doing jump verification. - - - - - Blocks that are positioned between a block declaring some lifted variables - and a block that contains the lambda that lifts said variables. - If such block itself requires a closure, then it must lift parent frame pointer into the closure - in addition to whatever else needs to be lifted. - - NOTE: This information is computed in addition to the regular analysis of the tree and only needed for rewriting. - If someone only needs diagnostics or information about captures, this information is not necessary. - ComputeLambdaScopesAndFrameCaptures needs to be called to compute this. - - - - - Optimized locations of lambdas. - - Lambda does not need to be placed in a frame that corresponds to its lexical scope if lambda does not reference any local state in that scope. - It is advantageous to place lambdas higher in the scope tree, ideally in the innermost scope of all scopes that contain variables captured by a given lambda. - Doing so reduces indirections needed when captured local are accessed. For example locals from the innermost scope can be accessed with no indirection at all. - - NOTE: This information is computed in addition to the regular analysis of the tree and only needed for rewriting. - If someone only needs diagnostics or information about captures, this information is not necessary. - ComputeLambdaScopesAndFrameCaptures needs to be called to compute this. - - - - - The set of captured variables seen in the method body. - - - - - For each lambda in the code, the set of variables that it captures. - - - - - The set of variables that were declared anywhere inside an expression lambda. - - - - - Set to true while we are analyzing the interior of an expression lambda. - - - - - All symbols that should never be captured with a copy constructor of a closure. - - - - - Analyses method body that belongs to the given method symbol. - - - - - Create the optimized plan for the location of lambda methods and whether scopes need access to parent scopes - - - - - Compute the nesting depth of a given block. - Topmost block (where method locals and parameters are defined) are at the depth 0. - - - - - Once we see a lambda lifting something - We mark all scopes from the current up to the one that declares lifted symbol as - containing a lifting lambda. - This is needed so that we could reject jumps that might jump over frame allocations. - - NOTE: because of optimizations lambda _might_ be placed in a frame higher - than its lexical scope and thus make a jump technically legal. - However, we explicitly do not consider frame optimizations in this analysis. - - - - - This method is called on every variable reference. - It checks for cases where variable is declared outside of the lambda in which it is being accessed - If capture is detected, than it marks variable as capturED and all lambdas involved as capturING - - - - - For performance reason we may not want to check if synthetic gotos are legal. - Those are the majority, but should not be ever illegal (how user would fix them?). - - - - - A class that represents the set of variables in a scope that have been - captured by lambdas within that scope. - - - - - Creates a Frame definition - - Type that contains Frame type. - Method that contains lambda expression for which we do the rewrite. - Specifies whether the Frame needs a copy-constructor. - - - - Force all declaration errors to be generated. - - - - - A field of a frame class that represents a variable that has been captured in a lambda. - - - - - Copy constructor has one parameter of the same type as the enclosing type. - The purpose is to copy all the lifted values from previous version of the - frame if there was any into the new one. - - - - - A method that results from the translation of a single lambda expression. - - - - - In case the lambda is an 'Async' lambda, stores the reference to a state machine type - synthesized in AsyncRewriter. - - - - - Creates a symbol for a synthesized lambda method - - Type that contains lambda method - - it is either Frame or enclosing class in a case if we do not lift anything. - Method that contains lambda expression for which we do the rewrite. - Lambda expression which is represented by this method. - Specifies whether lambda method should be shared. - - - - WARNING: used ONLY in DEBUG - - - - Rewrite the given node to eliminate lambda expressions. Also returned are the method symbols and their - bound bodies for the extracted lambda bodies. These would typically be emitted by the caller such as - MethodBodyCompiler. See this class' documentation - for a more thorough explanation of the algorithm and its use by clients. - - The bound node to be rewritten - The containing method of the node to be rewritten - The caller's buffer into which we produce additional methods to be emitted by the caller - Set of symbols that should not be captured using a copy constructor - The caller's buffer into which we place any diagnostics for problems encountered - - - - - Create the frame types. - - - - - Produces a bound expression representing a pointer to a frame of a particular frame type. - - The syntax to attach to the bound nodes produced - The type of frame to be returned - A bound node that computes the pointer to the required frame - - - - Produce a bound expression representing a pointer to a frame of a particular frame class. - Note that for generic frames, the frameClass parameter is the generic definition, but - the resulting expression will be constructed with the current type parameters. - - The syntax to attach to the bound nodes produced - The class type of frame to be returned - A bound node that computes the pointer to the required frame - - - - Constructs a concrete frame type if needed. - - - - - Introduce a frame around the translation of the given node. - - The node whose translation should be translated to contain a frame - The frame for the translated node - A function that computes the translation of the node. It receives lists of added statements and added symbols - The translated statement, as returned from F - - - - If parameter is lifted, initializes its proxy - - - - - Rewrites lambda body into a body of a method. - - Method symbol for the rewritten lambda body. - Original lambda node. - Lambda body rewritten as a body of the given method symbol. - - - - It is illegal to jump into blocks that reference lifted variable - as that could leave closure frames of the target block uninitialized. - - The fact that closure could be created as high as the declaration level of the variable - and well above goto block (thus making the jump safe) is considered an optional optimization - and ignored. - For the purpose of this analysis just having lifting lambdas already means - that block may require initialization and cannot be jumped into. - - Note that when you are jumping into a block you are essentially jumping into ALL blocks - on the path from LowestCommonAncestor(goto, label) to the actual label block. - - - - - Optimize the case where we create an instance of a delegate and invoke it right away. - Skip the delegate creation and invoke the method directly. Specifically, we are targeting - lambda relaxation scenario that requires a stub, which invokes original lambda by instantiating - an Anonymous Delegate and calling its Invoke method. That is why this optimization should be done - after lambdas are rewritten. - CONSIDER: Should we expand this optimization to all delegate types and all explicitly written code? - If we decide to do this, we should be careful with extension methods because they have - special treatment of 'this' parameter. - - - - - Returns substitution currently used by the rewriter for a placeholder node. - Each occurance of the placeholder node is replaced with the node returned. - Throws if there is no substitution. - - - - - Sets substitution used by the rewriter for a placeholder node. - Each occurance of the placeholder node is replaced with the node returned. - Throws if there is already a substitution. - - - - - Replaces substitution currently used by the rewriter for a placeholder node with a different substitution. - Asserts if there isn't already a substitution. - - - - - Removes substitution currently used by the rewriter for a placeholder node. - Asserts if there isn't already a substitution. - - - - - Gets the special type. - - Special Type to get. - - - - Gets the special type member. - - Member of the special type. - - - - Checks for special member and reports diagnostics if the member is Nothing or has UseSiteError. - Returns True in case diagnostics was actually reported - - - - - Checks for special member and reports diagnostics if the member is Nothing or has UseSiteError. - Returns True in case diagnostics was actually reported - - - - - Checks for well known member and reports diagnostics if the member is Nothing or has UseSiteError. - Returns True in case diagnostics was actually reported - - - - - Checks for well known member and reports diagnostics if the member is Nothing or has UseSiteError. - Returns True in case diagnostics was actually reported - - - - - If value is const, returns the value unchanged. - - In a case if value is not a const, a proxy temp is created and added to "locals" - In addition to that, code that evaluates and stores the value is added to "expressions" - The access expression to the proxy temp is returned. - - - - - Helper method to create a bound sequence to represent the idea: - "compute this value, and then compute this side effects while discarding results" - - A Bound sequence is generated for the provided expr and sideeffects, say {se1, se2, se3}, as follows: - - If expr is of void type: - BoundSequence { sideeffects: { expr, se1, se2, se3 }, valueOpt: Nothing } - - ElseIf expr is a constant: - BoundSequence { sideeffects: { se1, se2, se3 }, valueOpt: expr } - - Else - BoundSequence { sideeffects: { tmp = expr, se1, se2, se3 }, valueOpt: tmp } - - - NOTE: Supporting cases where sideeffects change the value (or to detects such cases) - NOTE: could be complicated. We do not support this currently and instead require - NOTE: value expr to be not LValue. - - - - - Helper function that visits the given expression and returns a BoundExpression. - Please use this instead of DirectCast(Visit(expression), BoundExpression) - - - - - If we have a WinRT type event, we need to encapsulate the adder call - (which returns an EventRegistrationToken) with a call to - WindowsRuntimeMarshal.AddEventHandler or RemoveEventHandler, but these - require us to create a new Func representing the adder and another - Action representing the remover. - - The rewritten call looks something like: - - WindowsRuntimeMarshal.AddEventHandler(Of TEventHandler)( - New Func(Of TEventHandler, EventRegistrationToken)([object].add_T), - New Action(Of EventRegistrationToken)([object].remove_T), - New TEventHandler(Me.OnSuspending)) - - - where [object] is a compiler-generated local temp. - - For a remover, the call looks like: - - WindowsRuntimeMarshal.RemoveEventHandler(Of TEventHandler)( - New Action(Of EventRegistrationToken)([object].remove_T), - New TEventHandler(Me.OnSuspending)) - - - - - Make sure GetObjectValue calls are injected. - - - - - Apply GetObjectValue call if needed. - - - - - Apply GetObjectValue call if needed. - - - - Given bound conversion node and the type the conversion is being done to initializes - bound conversion node with the reference to parameterless value type constructor and returns - modified bound node. - In case the constructor is not accessible from current context, or there is no parameterless - constructor found in the type (which should never happen, because in such cases a synthesized - constructor is supposed to be generated) - - - - - Field initializers need to be rewritten multiple times in case of an AsNew declaration with multiple field names because the - initializer may contain references to the current field like in the following example: - Class C1 - Public x, y As New RefType() With {.Field1 = .Field2} - End Class - - in this example .Field2 references the temp that is created for x and y. - - We moved the final rewriting for field initializers to the local - rewriters because here we already have the infrastructure to replace placeholders. - - - - - Rewrites a for each statement. - - The node. - - - - Rewrites a for each over an one dimensional array or a string. - - As an optimization, if c is an array type of rank 1, the form becomes: - - Dim collectionCopy As C = c - Dim collectionIndex As Integer = 0 - Do While collectionIndex < len(collectionCopy) ' len(a) represents the LDLEN opcode - dim controlVariable = DirectCast(collectionCopy(collectionIndex), typeOfControlVariable) - <loop body> - continue: - collectionIndex += 1 - postIncrement: - Loop - - An iteration over a string becomes - Dim collectionCopy As String = c - Dim collectionIndex As Integer = 0 - Dim limit as Integer = s.Length - Do While collectionIndex < limit - dim controlVariable = DirectCast(collectionCopy.Chars(collectionIndex), typeOfControlVariable) - <loop body> - continue: - collectionIndex += 1 - postIncrement: - Loop - - The node. - The statements. - The locals. - if set to true [is array]. - - - - Creates the a local and assigns it the given bound expression. - - The syntax node. - The initialization expression. - The bound local. - The locals. - - - - Creates the index increment statement. - - The syntax node. - The bound index expression (bound local). - - - - Creates the while statement for the for each rewrite - - The syntax node. - The limit to check the index against. - The index. - The assignment statement of the current value. - The increment statement. - The bound for each node. - The lowered statement list for the while statement. - - - - Rewrite a for each that uses IEnumerable. It's basic form is: - - Dim e As E = c.GetEnumerator() - Do While e.MoveNext() - controlVariable = e.Current - <loop body> - Loop - - To support disposable enumerators, the compiler will generate code to dispose the - enumerator after loop termination. Only when E implements IDisposable can this be done. - The one exception to this rule is when E is specifically IEnumerator, in which case - the compiler will generate code to dynamically query the enumerator to determine - if it implements IDisposable. - - If E is IEnumerator the loop becomes: - - Dim e As IEnumerator = c.GetEnumerator() - Try - Do While e.MoveNext() - dim controlVariable = e.Current - <loop body> - Loop - Finally - If TryCast(e, IDisposable) IsNot Nothing then - CType(e, IDisposable).Dispose() - End If - End Try - - If E is known at compile time to implement IDisposable the loop becomes: - - Dim e As E = c.GetEnumerator() - Try - Do While e.MoveNext() - dim controlVariable = e.Current - <loop body> - Loop - Finally - If Not e Is Nothing Then - CType(e, IDisposable).Dispose() - End If - End Try - - The exception to these forms is the existence of On Error in which case the Try/Finally - block will be eliminated (instead the body of the Finally will immediately follow - the end of the loop). - - - - - - - - Depending on whether the bound local's type is, implements or inherits IDisposable for sure, or might implement it, - this function returns the statements to call Dispose on the bound local. - - If it's known to implement IDisposable, the generated code looks like this for reference types: - If e IsNot Nothing Then - CType(e, IDisposable).Dispose() - End If - or - e.Dispose() - for value types (including type parameters with a value constraint). - Otherwise it looks like the following - If TryCast(e, IDisposable) IsNot Nothing then - CType(e, IDisposable).Dispose() - End If - - This method is used by the for each rewriter and the using rewriter. The latter should only call - this method with both IsOrInheritsFromOrImplementsIDisposable and needToDispose set to true, as using is not - pattern based and must implement IDisposable. - - The syntax node. - The bound local. - The condition used in the if statement around the dispose call - A flag indicating whether the bound local's type is, - inherits or implements IDisposable or not. - Conversion from the local type to IDisposable - - - - Internal helper class to replace local symbols in bound locals of a given bound tree. - - - - - Rewrites ForTo loop. - - - - - Negates the value if step is negative - - - - - Given the control variable, limit and step, produce the loop condition. - The principle is simple - - if step is negative (stepping "Up") then it is "control >= limit" - otherwise it is "control <= limit" - - It gets more complicated when step is not a constant or not a numeric or - involves overloaded comparison/IsTrue operators - - - - - If value is const, returns the value unchanged. - - In a case if value is not a const, a proxy temp is created and added to "locals" - In addition to that, code that evaluates and stores the value is added to "expressions" - The access expression to the proxy temp is returned. - - Purpose: - Limit and Step are supposed to be captured for the duration of the loop. - To ensure that behavior non-constant values are hoisted into temps before entering the loop - which avoids re-fetching potentially changed values. - - - - - Replaces local declaration with its initializer - Also marks resulting statement with seq point that matches original declaration. - - - - - Splits nullable operand into a hasValueExpression and an expression that represents underlying value (returned). - - Underlying value can be called after calling hasValueExpr without duplicated sideeffects. - Note that hasValueExpr is guaranteed to have NO SIDEEFFECTS, while result value is - expected to be called exactly ONCE. That is the normal pattern in operator lifting. - - All necessary temps and sideeffecting initializations are appended to temps and inits - - - - - Returns a NOT-SIDEEFFECTING expression that represents results of the operand - If such transformation requires a temp, the temp and its initialising expression - are returned in temp/init - - - - - Returns expression that - - a) evaluates the operand if needed - b) produces it's ValueOrDefault. - The helper is familiar with wrapping expressions and will go directly after the value - skipping wrap/unwrap steps. - - - - - Evaluates expr and calls HasValue on it. - - - - - Checks that candidate Null expression is a simples expression that produces Null of the desired type - (not a conversion or anything like that) and returns it. - Otherwise creates "New T?()" expression. - - - - - returns true when expression has NO SIDEEFFECTS and is known to produce nullable NULL - - - - - Returns true when expression is known to produce nullable NOT-NULL - NOTE: unlike HasNoValue case, HasValue expressions may have sideeffects. - - - - - Helper to generate binary expressions. - Performs some trivial constant folding. - TODO: Perhaps belong to a different file - - - - - Simpler helper for binary expressions. - When operand are boolean, the result type is same as operand's and is never checked - so do not need to pass that in. - - - - - Takes two expressions and makes sequence. - - - - - Takes two expressions and makes sequence. - - - - - Takes two expressions and makes sequence. - - - - - Returns an expression that can be used instead of the original one when - we want to run the expression for sideeffects only (i.e. we intend to ignore result). - - - - - Rewrites a CollectionInitializerExpression to a list of Add calls and returns the temporary. - E.g. the following code: - Dim x As New CollectionType(param1) From {1, {2, 3}, {4, {5, 6, 7}}} - gets rewritten to - Dim temp as CollectionType - temp = new CollectionType(param1) - temp.Add(1) - temp.Add(2, 3) - temp.Add(4, {5, 6, 7}) - x = temp - where the last assignment is not part of this rewriting, because the BoundCollectionInitializerExpression - only represents the object creation expression with the initialization. - - The BoundCollectionInitializerExpression that should be rewritten. - A bound sequence for the object creation expression containing the invocation expressions. - - - - Rewrites a ObjectInitializerExpression to either a statement list (in case the there is no temporary used) or a bound - sequence expression (in case there is a temporary used). The information whether to use a temporary or not is - stored in the bound object member initializer node itself. - - E.g. the following code: - Dim x = New RefTypeName(param1) With {.FieldName1 = 23, .FieldName2 = .FieldName3, .FieldName4 = x.FieldName1} - gets rewritten to - Dim temp as RefTypeName - temp = new RefTypeName(param1) - temp.FieldName1 = 23 - temp.FieldName2 = temp.FieldName3 - temp.FieldName4 = x.FieldName1 - x = temp - where the last assignment is not part of this rewriting, because the BoundObjectInitializerExpression - only represents the object creation expression with the initialization. - - In a case where no temporary is used the following code: - Dim x As New ValueTypeName(param1) With {.FieldName1 = 23, .FieldName2 = .FieldName3, .FieldName4 = x.FieldName1} - gets rewritten to - x = new ValueTypeName(param1) - x.FieldName1 = 23 - x.FieldName2 = x.FieldName3 - x.FieldName4 = x.FieldName1 - - The BoundObjectInitializerExpression that should be rewritten. - A bound sequence for the object creation expression containing the invocation expressions, or a - bound statement list if no temporary should be used. - - - - Rewrites Return as a GoTo is needed (if not the last statement in a method) - - - - - digs into known concat operators and unwraps their arguments - otherwise returns the expression as-is - - Generally we only need to recognize same node patterns that we create as a result of concatenation rewrite. - We could recognise some other nodes and unwrap to arguments - - - - - folds two concat operands into one expression if possible - otherwise returns null - - - - - folds two concat constants into one if possible - otherwise returns null. - It is generally always possible to concat constants, unless resulting string would be too large. - - - - - Strangely enough there is such a thing as unary concatenation and it must be rewritten. - - - - - A using statement of the form: - using Expression - list_of_statements - end using - - will be rewritten into: - - temp = Expression - Try - list_of_statements - Finally - If Temp IsNot Nothing Then - CType(temp, IDisposable).Dispose() - End If - End Try - - when the resource is a using locally declared variable no temporary is generated but the variable is read-only - A using statement of the form: - Using v As New MyDispose() - list_of_statements - End Using - - is rewritten to: - - Dim v As New MyDispose() - Try - list_of_statements - Finally - If v IsNot Nothing Then - CType(v, IDisposable).Dispose() - End If - End Try - - A using with multiple variable resources are equivalent to a nested using statement. - So a using statement of the form: - Using v1 As New MyDispose(), v2 As myDispose = New MyDispose() - list_of_statements - end using - - is rewritten to: - Dim v1 As New MyDispose - Try - Dim v2 As MyDispose = new MyDispose() - Try - list_of_statements - Finally - If v2 IsNot Nothing Then - CType(v2, IDisposable).Dispose() - End If - End Try - Finally - If v1 IsNot Nothing Then - CType(v1, IDisposable).Dispose() - End If - end try - - - - - Creates a TryFinally Statement for the given resource. - - This method creates the following for the arguments: - <localSymbol> = <initializationExpression> - Try - <currentBody> - Finally - If <disposeCondition> Then - <disposeConversion>.Dispose() - End If - End Try - - Note: this is used for both kinds of using statements (resource locals and resource expressions). - - - The new bound block containing the assignment of the initialization and the try/finally statement with - the passed body. - - - - Cache of value types which were already calculated by LocalOrFieldNeedsToBeCleanedUp - in this lowering, serves as an optimization - - - - - Create a temp local of the given type and initial value. - The resulting local is treated as an rvalue, and the - initialization assignment is added to 'sideEffects'. - - - - - Create a BoundExpression representing an array creation initialized with the given items. - If there are zero items, the result is a BoundLiteral Nothing, otherwise, a BoundArrayCreation. - - - - - A bound node rewriter that rewrites types properly (which in some cases the automatically-generated). - This is used in the lambda rewriter, the iterator rewriter, and the async rewriter. - - - - - A method that wraps the call to a method through MyBase/MyClass receiver. - - - - Class A - Protected Overridable Sub F(a As Integer) - End Sub - End Class - - Class B - Inherits A - - Public Sub M() - Dim b As Integer = 1 - Dim f As System.Action = Sub() MyBase.F(b) - End Sub - End Class - - - - - - Creates a symbol for a method that wraps the call to a method through MyBase/MyClass receiver. - - Type that contains wrapper method. - Method to wrap - Wrapper method name - Syntax node. - - - - Base for synthesized Lambda methods. - Just provides a bunch of defaults - - - - - Creates a clone of the local with a new containing symbol and type. - Note that the new parameter gets no syntaxRef as it is supposed to get - all the values it needs from the original parameter. - - - - - For each captured variable, the corresponding field of its frame - - - - - A mapping from every local variable to its replacement local variable. Local variables - are replaced when their types change due to being inside of a lambda within a generic method. - - - - - The mapping of type parameters for the current lambda body - - - - - The method (e.g. lambda) which is currently being rewritten. If we are - rewriting a lambda, currentMethod is the new generated method. - - - - - A not-null collection of synthesized methods generated for the current source type. - - - - - Maps not-lifted parameter, since the parameter was not lifted, it must be an actual lambda's parameter - whose actual representation is the current method's parameter at the same ordinal position. - - Returns Nothing if no such mapping exists - - - - - Rewrites method. - - - - - Rewrites property. - - - - - Rewrites field. - - - - - - - Type for representing State Machine type symbol - - - Type used by State Machine rewriter to represent symbol proxy. Lambda rewriter as - well as iterator rewriter use simplified form of proxy as they only capture - locals as r-values in fields, async rewriter uses a different structure as a proxy - because it has to capture l-values on stack as well - - - - - - The "state" of the state machine that is the translation of the iterator method. - - - - - Cached "state" of the state machine within the MoveNext method. We work with a copy of - the state to avoid shared mutable state between threads. (Two threads can be executing - in a Task's MoveNext method because an awaited task may complete after the awaiter has - tested whether the subtask is complete but before the awaiter has returned) - - - - - For each distinct label, the set of states that need to be dispatched to that label. - Note that there is a dispatch occurring at every try-finally statement, so this - variable takes on a new set of values inside each try block. - - - - - A mapping from each state of the state machine to the new state that will be used to execute - finally blocks in case the state machine is disposed. The Dispose method computes the new - state and then runs MoveNext. - - - - - A try block might have no state (transitions) within it, in which case it does not need - to have a state to represent finalization. This flag tells us whether the current try - block that we are within has a finalizer state. Initially true as we have the (trivial) - finalizer state of -1 at the top level. - - - - - If hasFinalizerState is true, this is the state for finalization from anywhere in this try block. - Initially set to -1, representing the no-op finalization required at the top level. - - - - - Implementation-specific name for labels to mark state machine resume points. - - - - - Generate return statements from the state machine method body. - - - - - The try statement is the most complex part of the state machine transformation. - Since the CLR will not allow a 'goto' into the scope of a try statement, we must - generate the dispatch to the state's label stepwise. That is done by translating - the try statements from the inside to the outside. Within a try statement, we - start with an empty dispatch table (representing the mapping from state numbers - to labels). During translation of the try statement's body, the dispatch table - will be filled in with the data necessary to dispatch once we're inside the try - block. We generate that at the head of the translated try statement. Then, we - copy all of the states from that table into the table for the enclosing construct, - but associate them with a label just before the translated try block. That way - the enclosing construct will generate the code necessary to get control into the - try block for all of those states. - - - - - This class represents a type symbol for compiler generated implementation methods, - the method being implemented is passed as a parameter and is used to build - implementation method's parameters, return value type, etc... - - - - - This class represents a symbol for the compiler generated property that owns implemented getter (like IEnumerable.Current), - The getter method being implemented is passed as a parameter and is used to build - implementation property around it with appropriate parameters, return value type, etc... - - - - - True if the initial values of locals in the rewritten method need to be preserved. (e.g. enumerable iterator methods) - - - - - State machine type - - - - - Type substitution if applicable or Nothing - - - - - Add fields to the state machine class that are unique to async or iterator methods. - - - - - Initialize the state machine class. - - - - - Generate implementation-specific state machine initialization for the replacement method body. - - - - - Generate implementation-specific state machine member method implementations. - - - - - If any required special/well-known type/member is not found or has use-site errors - we should not continue with transformation because it may have unwanted consequences; - e.g. we do return Nothing if well-known member symbol is not found. This method should - check all required symbols and return False if any of them are missing or have use-site errors. - We will also return True if signature is definitely bad - contains parameters that are ByRef or have error types - - - - - Tracks synthesized fields that are needed in a submission being compiled. - - - For every other submission referenced by this submission we add a field, so that we can access members of the target submission. - A field is also needed for the host object, if provided. - - - - - A helper class for synthesizing quantities of code. - - - Code if the #If False out is code ported from C# that isn't currently used, and - hence has no code coverage. It may or may not work correctly, but should be a useful - starting point. - - - - - Assignment expressions in lowered form should always have suppressObjectClone = True - - - - Check for (and assert that there are no) duplicate case labels in the switch. - - - - Given an expression that produces some result and - has some observable evaluation side effects, return two expressions: - 1) First - produces the same result with the same observable side effects, - 2) Second - produces the same result, but without observable side effects, whenever possible. - - This is used for compound assignment, method call ByRef parameter copy back, etc. - - - - Expression to be used instead of With statement expression placeholder - - - Locals being used - - - Locals initialization expressions - - - - Given an expression specified for With statement produces: - 1) Expression - an expression to be used instead of expression placeholder - 2) Locals - a set of locals used to capture parts of Expression - 3) Initializers - initializers for Locals - - To be used in With statement only! - - - - - Represents the state of Option Strict checking. - - - - - - Option Strict is Off. No Option Strict checks are in effect. - - - - - The Option Strict checks generate warnings. (Note that other - compile options may hide these warnings, or turn them into errors.) - - - - - Option Strict is On. All Option Strict checks are in effect and produce errors. - - - - - This class is used to validate the compiler options. - - - - - Parse the project level imports, adding errors to the errorBag as necessary - - - - - Validate and parse the root namespace. If the root namespace string is a valid namespace name, the parsed - version is returned. Otherwise Nothing is returned. - - - - - Check if a string is a valid component of the root namespace. We use the usual - VB identifier rules, but don't check for keywords (this is the same as previous versions). - - - - - Returns the statement if there is exactly one in the body, - otherwise returns Nothing. - - - - - Return an empty body if the body is a single, zero-width EmptyStatement, - otherwise returns the entire body. - - - - - Parse GetType, - GetTypeExpression -> GetType OpenParenthesis GetTypeTypeName CloseParenthesis - - - - - - - Parse TypeOf ... Is ... or TypeOf ... IsNot ... - TypeOfExpression -> "TypeOf" Expression "Is|IsNot" LineTerminator? TypeName - - - - - - - Transition from scanning XML to scanning VB. As a result, - any single line trivia is consumed and appended to the token - which is assumed to be the token at the transition point. - - - - - ParseCast parses CType, DirectCast, TryCast. - CCCastExpression -> DirectCast ( CCExpression , TypeName ) - | TryCast ( CCExpression , TypeName ) - | CType ( CCExpression , TypeName ) - { | CastTarget ( CCExpression ) } - - Cast - Dev10 ParseCType does not parse exact grammar in the spec, since dev10 accepts Expression whereas the grammar uses CCExpression. - This function only does not parse CastTarget ( ... ), it is parsed in ParseTerm - - - - - gets the last token that has nonzero FullWidth. - NOTE: this helper will not descend into structured trivia. - - - - - gets the last token regardless if it has zero FullWidth or not - NOTE: this helper will not descend into structured trivia. - - - - - Adjust the trivia on a node so that missing tokens are always before newline and colon trivia. - Because new lines and colons are eagerly attached as trivia, missing tokens can end up incorrectly after the new line. - This method moves the trailing non-whitespace trivia from the last token to the last zero with token. - - - - - Slow part of AdjustTriviaForMissingTokensCore where we actually do the work when we need to. - - - - - Parses a CollectionInitializer - CollectionInitializer -> "{" CollectionInitializerList "}" - CollectionInitializerList -> CollectionElement {"," CollectionElement}* - CollectionElement -> Expression | CollectionInitializer - - CollectionInitializerSyntax - In the grammar ArrayLiteralExpression is a rename of CollectionInitializer - - - - Parses - "With "{" FieldInitializerList "}" - FieldInitializerList -> FieldInitializer {"," FieldInitializer}* - FieldInitializer -> {Key? "." IdentifierOrKeyword "="}? Expression - - e.g. - Dim x as new Customer With {.Id = 1, .Name = "A"} - - ObjectMemberInitializer - - - - Parses an ObjectCollectionInitializer - ObjectCollectionInitializer -> "from" CollectionInitializer - - - ObjectCollectionInitializer - In Dev10 this was called ParseInitializerList. It also took several boolean parameters. - These were always set as - AllowExpressionInitializers = true - AllowAssignmentInitializers = false - AnonymousTypeInitializer = false - RequireAtleastOneInitializer = false - - While the grammar uses the nonterminal CollectionInitializer is modeled as an - AnnonymousArrayCreationExpression which has the identical syntax "{" Expression {"," Expression }* "}" - - - - - - Parses a FieldInitializer - - FieldInitializer -> ("key"? "." IdentifierOrKeyword "=")? Expression - - If true then allow the keyword "key" to prefix the field initializer - - - - - Parse and return a TypeName. Assumes the CurrentToken is on the name. - - Controls generic argument parsing - Controls generic argument parsing - TypeName - - - - Parameter -> Attributes? ParameterModifiers* ParameterIdentifier ("as" TypeName)? ("=" ConstantExpression)? - - - - - >This replaces both ParseParameter and ParseOptionalParameter in Dev10 - - - - Parse a CustomEventMemberDeclaration - - - - - This code used to be in ParseEventDefinition. - - - - Peeks in a stream of VB tokens. - Note that the first token will be picked according to _allowLeadingMultilineTrivia - The rest will be picked as regular VB as scanner does not always know what to do with - line terminators and we assume that multiple token lookahead makes sense inside a single statement. - - - - - Consumes current token and gets the next one with desired state. - - - - - Consumes current node and gets next one. - - - - - Create a bad statement. Report an error only if the statement doesn't have one already - - - - - If set to true a new missing identifier will be created and added to the incomplete member. - If set to true the error will be attached to the first skipped token of the incomplete member. - - - - - - Resyncs to next statement terminator. Used in Preprocessor - - - - - If the current token is a newline statement terminator, then consume the token. - - True if the statement terminator was consumed - - - - Parses StringLiteral - - LiteralNode - If the current Token is not StringLiteral then returns LiteralNode with missing token. - - - - Check that the current token is the expected kind, the current node is consumed and optionally a new line - after the token. - - The expected node kind. - A token of the expected kind. This node may be an empty token with an error attached to it - Since nodes are immutable, the only way to create nodes with errors attached is to create a node without an error, - then add an error with this method to create another node. - - - - Checks if the resulting Cref or Name attribute value has valid trivia - Note, this may be applicable not only to regular trivia, but also to syntax - nodes added to trivia when the parser was recovering from errors - - - - - Candidate nodes that may be reused. - - - - - The text changes combined into a single region. - - - - - The range from which we cannot reuse nodes. - - - - - Current node. Not necessarily reusable or even a NonTerminal. - Can be null if we are out of nodes. - - - - - preprocessor state before _currentNode - - - - - preprocessor state getter after _currentNode - - - - - Expand the span in the tree to encompass the - nearest statements that the span overlaps. - - - - - Not guaranteed to return the span of a StatementSyntax. - - - - - Expand the span in the tree by the maximum number - of tokens required for look ahead and the maximum - number of characters for look behind. - - - - - Moving to the next node on the stack. - returns false if we are out of nodes. - - - - - Crumbles current node onto the stack and pops one node into current. - Returns false if current node cannot be crumbled. - - - - - Certain syntax node kinds should not be crumbled since - re-using individual child nodes may complicate parsing. - - - - - Advances to given position if needed (note: no way back) - Gets a nonterminal that can be used for incremental. - May return Nothing if such node is not available. - Typically it is _currentNode. - - - - - Returns current candidate for reuse if there is one. - - - - - Checks if node is reusable. - The reasons for it not be usable are typically that it intersects affected range. - - - - - Creates red tokens for a stream of text - - - - - Entry point to directive processing for Scanner. - - - - - Gets an initial preprocessor state and applies all directives from a given node. - Entry point for blender - - - - - The possible states that the mini scanning can be in. - - - - - DO NOT USE DIRECTLY. - USE GetScratch() - - - - - Gets a chunk of text as a DisabledCode node. - - The range of text. - The DisabledCode node. - - - - Accept a CR/LF pair or either in isolation as a newline. - Make it a statement separator - - - - - Accept a CR/LF pair or either in isolation as a newline. - Make it a whitespace - - - - - Consumes all trivia until a nontrivia char is found - - - - - Scans a single piece of trivia - - - - - Scan trivia on one LOGICAL line - Will check for whitespace, comment, EoL, implicit line break - EoL may be consumed as whitespace only as a part of line continuation ( _ ) - - - - - Return True if the builder is a (possibly empty) list of - WhitespaceTrivia followed by an EndOfLineTrivia. - - - - - Return True if the character is a colon, and not part of ":=". - - - - - Try to convert an Identifier to a Keyword. Called by the parser when it wants to force - an identifer to be a keyword. - - - - - page represents a cached array of chars. - - - - - where page maps in the stream. Used to validate pages - - - - - page's buffer - - - - - current page we are reading. - - - - - gets a page for the position. - will initialize it if we have cache miss - - - - - 0 - not a surrogate, 2 - is valid surrogate - 1 is an error - - - - - Crumbles currently available node (if available) into its components. - The leftmost child becomes the current node. - If operation is not possible (node has no children, there is no node), then returns false. - - - - - Gets current reusable syntax node. - If node is returned its start will be aligned with the start of current token. - NOTE: Line offset may not match start of current token because of lookahead. - - - - - Indicates that previously returned node has been consumed - and scanner needs to advance by the size of the node. - - NOTE: the advancement is done relative to the start of the current token. - Line offset may not match start of current token because of lookahead. - - This operation will discard lookahead tokens and reset preprocessor state - to the state of current token. - - - - - Indicates that previously returned node has been consumed - and scanner needs to advance by the size of the node. - - NOTE: the advancement is done relative to the _lineBufferOffset. - Line offset will likely not match start of current token because this operation - is done while constructing the content of current token. - - NOTE: This operation assumes that there is no tokens read ahead. - - NOTE: This operation does not change preprocessor state. - The assumption is that it is responsibility of the node consumer to update preprocessor - state if needed when using nodes that change preprocessor state. - - - - - note that state is applied only to the token #1 - - - - See description in TryScanXmlDocComment(...) - - - - This method is only to be used for parsing Cref and Name attributes as stand-alone entities - - - - - Returns False if trivia ends line. - - - - - Contextual Nodekind - - - - - If true, the identifier was enclosed in brackets, such as "[End]". - - - - - The text of the identifier, not including the brackets or type character. - - - - - The type character suffix, if present. Returns TypeCharacter.None if no type - character was present. The only allowed values are None, Integer, Long, - Decimal, Single, Double, and String. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - If nothing is present, an empty list is returned. - - - - - Represents an identifier token. This might include brackets around the name, - and a type character. - - - - - Contextual Nodekind - - - - - If true, the identifier was enclosed in brackets, such as "[End]". - - - - - The text of the identifier, not including the brackets or type character. - - - - - The type character suffix, if present. Returns TypeCharacter.None if no type - character was present. The only allowed values are None, Integer, Long, - Decimal, Single, Double, and String. - - - - - Gets the separator at the given index in this list. - - The index. - - - - Contextual Nodekind - - - - - If true, the identifier was enclosed in brackets, such as "[End]". - - - - - The text of the identifier, not including the brackets or type character. - - - - - The type character suffix, if present. Returns TypeCharacter.None if no type - character was present. The only allowed values are None, Integer, Long, - Decimal, Single, Double, and String. - - - - - Abstract class that represent structured trivia. - - - - - Create an identifier node without brackets or type character. - - - - - Create an identifier node with brackets or type character. - - - - - Create an identifier node without brackets or type character or trivia. - - - - - Create a missing identifier. - - - - - Create a missing contextual keyword. - - - - - Create a missing keyword. - - - - - Create a missing punctutation mark. - - - - - Create a missing string literal. - - - - - Create a missing character literal. - - - - - Create a missing integer literal. - - - - - Creates a copy of a token. - - - - The new token - - - - Create an end-of-text token. - - - - - Create an end-of-text token. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - An empty token because all non terminals must have a token. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - A representing the specific kind of - EndBlockStatementSyntax. One of EndIfStatement, EndUsingStatement, - EndWithStatement, EndSelectStatement, EndStructureStatement, EndEnumStatement, - EndInterfaceStatement, EndClassStatement, EndModuleStatement, - EndNamespaceStatement, EndSubStatement, EndFunctionStatement, EndGetStatement, - EndSetStatement, EndPropertyStatement, EndOperatorStatement, EndEventStatement, - EndAddHandlerStatement, EndRemoveHandlerStatement, EndRaiseEventStatement, - EndWhileStatement, EndTryStatement, EndSyncLockStatement. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an entire source file of VB code. - - - Represents the list of Option statements at the beginning of a source file. - - - Represents the list of Imports statements at the beginning of a source file. - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - Represents the end of the source file. This token may have trivia (whitespace, - comments, ...) attached to it. - - - - - Represents an Option statement, such as "Option Strict On". - - - The "Option" keyword. - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - The "Imports" keyword. - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - The identifier that the alias is being defined for. - - - The equals sign token. - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - The namespace or type being imported. - - - - - Defines a XML namespace for XML expressions. - - - Identifies the XML namespace alias and URI. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - The statement that begins the NamespaceBlock. - - - The declarations contained in the namespace statement. - - - The End Namespace statement that ends the block. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - The "Namespace" keyword. - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - The statement that begins the type or module. - - - The declarations contained in the enumeration. - - - The End XXX statement that ends the block. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - The "Inherits" keyword. - - - A list of the types being inherited. - - - - - Represents an Implements statement in a Class or Structure. - - - The "Implements" keyword. - - - A list of the types being implemented. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Enum" keyword. - - - The name of the enum being declared. - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - - - Represents the type parameter list in a declaration. - - - The "(" token. - - - The "Of" keyword. - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - The ")" token. - - - - - Represents a type parameter on a generic type declaration. - - - Represents the "In" or "Out" variance keyword on a type parameter, if present. - If no variance modifier was present, Nothing is returned. - - - The name of the type parameter - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - The "As" keyword. - - - The "{" token. - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - The "}" token. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - A representing the specific kind of - SpecialConstraintSyntax. One of NewConstraint, ClassConstraint, - StructureConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - Represents a type parameter constraint that is a type. - - - The type describing the constraint. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - An optional value for the enum member. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - A representing the specific kind of MethodBlockSyntax. - One of SubBlock, FunctionBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - A representing the specific kind of AccessorBlockSyntax. - One of PropertyGetBlock, PropertySetBlock, AddHandlerBlock, RemoveHandlerBlock, - RaiseEventBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - The property declaration that begins the block. - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - The End Property statement that ends the block. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - The event declaration that begins the block. - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - The End Event statement that ends the block. - - - - - Represents the parameter list in a method declaration. - - - The "(" token that introduces the parameter list. If no parameter list was - present, Nothing is returned. - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - The ")" token that concludes the parameter list. If no parameter list was - present, Nothing is returned. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A representing the specific kind of - MethodStatementSyntax. One of SubStatement, FunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The "New" keyword in the constructor declaration. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The optional Custom keyword for custom event declarations. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the event being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The operator being defined. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the property being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A representing the specific kind of - AccessorStatementSyntax. One of GetAccessorStatement, SetAccessorStatement, - AddHandlerAccessorStatement, RemoveHandlerAccessorStatement, - RaiseEventAccessorStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - The "Implements" keyword. - - - The list of interface members being implemented. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - The "Handles" keyword. - - - The list of event members being handled. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - The container of the event. This can be one of the special keywords: "Me", - "MyBase" or "MyClass". - - - - - Represents event container that refers to a WithEvents member. - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Represents event container that refers to a WithEvents member's property. - - - The container of the event. - - - The "." token. - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Represents a single handled event in a "Handles ..." clause. - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - The "." token. - - - The event being handled. This must be a simple identifier. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The missing identifier token for this incomplete member. Should only be used to - have a location for error reporting. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - The "As" clause that describes the return type, and possibly includes "New", - "With" or "From". If no As clause was present, Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - variable or the value of the constant. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - The "As" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type-name part of the As clause. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - The "As" keyword. - - - The New expression - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - The "With" keyword. - - - The "{" token. - - - The comma-separated list of field initializers. - - - The "}" token. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - The "From" keyword. - - - The initializer including the braces. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - The optional "Key" keyword. - - - The value being assigned. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - The optional "Key" keyword. - - - The "." token. - - - The name of the field being initialized. - - - The "=" token. - - - The value being assigned to the field. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - The "=" token. - - - The expression used as the initial value. - - - - - Represent a parameter to a method, property, constructor, etc. - - - A list of all attribute lists on this parameter. If no attributes were - specified, Nothing is returned. - - - A list of the modifier tokens "ByVal", "ByRef", "Optional" or "ParamArray" that - modify this parameter. - - - The name of the parameter, including any "?" or "()" modifiers. - - - If present, the "As type-name" clause describing the type of the parameter. If - no As clause is present, Nothing is returned. - - - If present, an initializer with the default value of the parameter. If no - default value is present, Nothing is returned. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - The "?" token that indicates a nullable type. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers for the type. If no array modifiers were present, an - empty list is returned. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - The "(" token. - - - The comma tokens in the array type. There is one less comma than the rank. - - - The ")" token. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - The "<" token. - - - A comma separated list of attribute declarations in this attribute list. - - - The ">" token. - - - - - Represents a single attribute declaration within an attribute list. - - - Optional attribute target. Assembly|Module : - - - The name of the attribute. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - - - Represents a single attribute declaration within an attribute list. - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - The ":" token, if an attribute modifier is present. If no attribute modifier is - present, Nothing is returned. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - The list of attribute lists. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - The expression. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - "?" token. - - - The expression whose value is being output. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - The While statement that begins the block. - - - The statements contained in the While...End While. This might be an empty list. - - - The End While statement that ends the block. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - The UsingStatement that begins the Using...End Using block. - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - The End Using statement that ends the block. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - The SyncLock statement that begins the block. - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - The End SyncLock statement that ends the block. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - The WithStatement that begins the With...End With block. - - - The statements contained in the With...End With block. This might be an empty - list. - - - The End With statement that ends the block. - - - - - Represents the declaration of one or more local variables or constants. - - - The modifier token (Static, Dim or Const) that introduces this local variable - declaration. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents a label statement. - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - The ":" token of the label statement. - - - - - Represents a "GoTo" statement. - - - The "GoTo" keyword. - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - A representing the specific kind of LabelSyntax. One of - IdentifierLabel, NumericLabel, NextLabel. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - A representing the specific kind of - StopOrEndStatementSyntax. One of StopStatement, EndStatement. - - - The "Stop" or "End" keyword. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - A representing the specific kind of ExitStatementSyntax. - One of ExitDoStatement, ExitForStatement, ExitSubStatement, - ExitFunctionStatement, ExitOperatorStatement, ExitPropertyStatement, - ExitTryStatement, ExitSelectStatement, ExitWhileStatement. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - A representing the specific kind of - ContinueStatementSyntax. One of ContinueWhileStatement, ContinueDoStatement, - ContinueForStatement. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Return" statement. - - - The "Return" keyword. - - - The expression being returned, if present. - - - - - Represents a line If-Then-Else statement. - - - The If part of the statement. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else.This might be an empty list. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - The If part of the statement. - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - If this is a block if, returns the "End If" statement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else. This might be an empty list. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - The "Else" keyword - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - The Try part of the statement. - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - The Finally part of the statement, if present. - - - The "End Try" statement. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - The TryStatement that introduces this part of the Try...Catch...Finally...End - Try. - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - The CatchStatement that introduces this part. - - - The statements controlled by the Catch statement. This might be an empty list. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - The FinallyStatement that introduces the Finally part of a Try. - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - The "Try" keyword - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - The "Catch" keyword. - - - The identifier representing the exception that was caught, if present. - - - The As clause that defines the type of exception being caught. - - - The "When" clause, if present. - - - - - Represents the When/Filter clause of a Catch statement - - - The "When" keyword - - - The filter expression - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - The "Finally" keyword. - - - - - Represents the "Error" statement. - - - The "Error" keyword. - - - The expression that represents the error number. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - A representing the specific kind of - OnErrorGoToStatementSyntax. One of OnErrorGoToZeroStatement, - OnErrorGoToMinusOneStatement, OnErrorGoToLabelStatement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Resume Next statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "Resume" keyword. - - - The "Next" - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - The Select Case statement that begins the block. - - - A list of the contained Case blocks. - - - The End Select statement that ends the block. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - The "Select" keyword. - - - The "Case" keyword, if present. - - - The value that branching is based on. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - The "Else" part in a Case Else statement. - - - The "Else" keyword. - - - - - Represents a single value in a Case. - - - The expression that denotes the value being tested against. - - - - - Represents a range "expression To expression" in a Case. - - - The lower bound of the range. - - - The "To" keyword - - - The upper bound of the range. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - A representing the specific kind of - CaseRelationalClauseSyntax. One of CaseEqualsClause, CaseNotEqualsClause, - CaseLessThanClause, CaseLessThanOrEqualClause, CaseGreaterThanOrEqualClause, - CaseGreaterThanClause. - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - The "SyncLock" keyword. - - - The expression being synchronized on. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - A representing the specific kind of DoLoopBlockSyntax. - One of DoLoopTopTestBlock, DoLoopBottomTestBlock, DoLoopForeverBlock. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - The "Do" keyword. - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - The "Loop" keyword. - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - A representing the specific kind of - WhileUntilClauseSyntax. One of WhileClause, UntilClause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - The "While" keyword. - - - The boolean expression that controls the While loop. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "=" token. - - - The expression denoting the initial value of the iteration. - - - The "To" keyword. - - - The expression denoting the final value of the iteration. - - - The optional Step clause. - - - - - The Step clause in a For Statement. - - - The "Step" keyword. - - - The expression denoting the step increment. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - The "Each" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "In" keyword. - - - The expression denoting the collection to iterate over. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - The "Next" keyword. - - - The variables in the Next statement, if present - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - The "Using" keyword. - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - - - Represents a Throw statement. - - - The "Throw" keyword - - - The expression denoting the value being thrown. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - A representing the specific kind of - AssignmentStatementSyntax. One of SimpleAssignmentStatement, - MidAssignmentStatement, AddAssignmentStatement, SubtractAssignmentStatement, - MultiplyAssignmentStatement, DivideAssignmentStatement, - IntegerDivideAssignmentStatement, ExponentiateAssignmentStatement, - LeftShiftAssignmentStatement, RightShiftAssignmentStatement, - ConcatenateAssignmentStatement. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a left-hand side of a MidAssignment statement. - - - The "Mid" possibly followed by a type character. - - - The argument list. - - - - - Represent an call statement (also known as a invocation statement). - - - The "Call" keyword. - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - A representing the specific kind of - AddRemoveHandlerStatementSyntax. One of AddHandlerStatement, - RemoveHandlerStatement. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represent a RaiseEvent statement. - - - The "RaiseEvent" keyword - - - The name of the event being raised. - - - The argument list, if present. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - The "With" keyword. - - - The expression that is the operand of the With statement. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement clause. - - - The target of the ReDim statement. - - - The ArraySizeInitializationModifier. - - - - - Represents an "Erase" statement. - - - The "Erase" keyword. - - - A list of expressions denoting the arrays to erase. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - A representing the specific kind of - LiteralExpressionSyntax. One of CharacterLiteralExpression, - TrueLiteralExpression, FalseLiteralExpression, NumericLiteralExpression, - DateLiteralExpression, StringLiteralExpression, NothingLiteralExpression. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a parenthesized expression. - - - The "(" token - - - The expression inside the parentheses. - - - The ")" token - - - - - Identifies the special instance "Me" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyBase" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyClass" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Represents a GetType expression. - - - The "GetType" keyword. - - - The "(" token. - - - The type to get the Type object for. This can be an open generic type. - - - The ")" token. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - A representing the specific kind of - TypeOfExpressionSyntax. One of TypeOfIsExpression, TypeOfIsNotExpression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a GetXmlNamespace expression. - - - The "GetXmlNamespace" keyword. - - - The "(" token. - - - The Xml namespace name being referenced. - - - The ")" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - A representing the specific kind of - MemberAccessExpressionSyntax. One of SimpleMemberAccessExpression, - DictionaryAccessExpression. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - A representing the specific kind of - XmlMemberAccessExpressionSyntax. One of XmlElementAccessExpression, - XmlDescendantAccessExpression, XmlAttributeAccessExpression. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - The target of the call or index expression. - - - The argument list. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type of the object being initialized. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - An optional From or With clause to initialize the new object. - - - - - Represents a New expression that create an object of anonymous type. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The With clause to initialize the new object. - - - - - Represents an expression that creates a new array. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The element type of the array being created. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers such as "()" or "(,)". If no array modifiers were - present, an empty list is returned. - - - The initializer including the braces. - - - - - Represents an expression that creates a new array without naming the element - type. - - - The "{" token. - - - The list of initializers between the braces. - - - The "}" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - The keyword that was used in the cast operation. - - - The "(" token. - - - The expression being cast. - - - The ")" token. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - A representing the specific kind of - BinaryExpressionSyntax. One of AddExpression, SubtractExpression, - MultiplyExpression, DivideExpression, IntegerDivideExpression, - ExponentiateExpression, LeftShiftExpression, RightShiftExpression, - ConcatenateExpression, ModuloExpression, EqualsExpression, NotEqualsExpression, - LessThanExpression, LessThanOrEqualExpression, GreaterThanOrEqualExpression, - GreaterThanExpression, IsExpression, IsNotExpression, LikeExpression, - OrExpression, ExclusiveOrExpression, AndExpression, OrElseExpression, - AndAlsoExpression. - - - The left operand. - - - The right operand. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - A representing the specific kind of - UnaryExpressionSyntax. One of UnaryPlusExpression, UnaryMinusExpression, - NotExpression, AddressOfExpression. - - - The token that is the operator. - - - The expression being operated on. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - A representing the specific kind of - SingleLineLambdaExpressionSyntax. One of SingleLineFunctionLambdaExpression, - SingleLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - A representing the specific kind of - MultiLineLambdaExpressionSyntax. One of MultiLineFunctionLambdaExpression, - MultiLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A representing the specific kind of LambdaHeaderSyntax. - One of SubLambdaHeader, FunctionLambdaHeader. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents a parenthesized argument list. - - - The "(" token. - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - The ")" token. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - An empty token because all non terminals must have a token. - - - - - Represents a simple argument that is just an expression. - - - The expression that is the argument. - - - - - Represents a named argument, such as "Value:=7". - - - The name used to identify the named argument. - - - The ":=" token. - - - The expression that is the named argument. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - The lower bound of the range. This is typically the integer constant zero. - - - The "To" keyword. - - - The upper bound of the range. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - The name of the range variable being defined. - - - Describes the type of the variable being defined. - - - The "In" keyword. - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the expression. - - - The expression used to initialize the expression variable. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the aggregation - expression. - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Represents the name and optional type of an expression range variable. - - - The name of the variable being defined. - - - Describes the type of the variable being defined. - - - The "=" token. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - The "(" token if present. - - - The argument to the aggregation function. - - - The ")" token, if present. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - The "Group" keyword. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - The "From" keyword. - - - The list of collection variables declared by this From operator. - - - - - Represents a "Let" query operator. - - - The "Let" keyword. - - - The list of expression range variable being defined by the Let operator. - - - - - Represents an Aggregate query operator. - - - The "Aggregate" keyword. - - - The list of collection range variables declared by this Aggregate operator. - - - A list of additional query operators. It may be empty. - - - The "Into" keyword. - - - The list of new variables being defined by the aggregation. - - - - - Represents the "Distinct" query operator. - - - The "Distinct" keyword. - - - - - Represents a "Where" query operator. - - - The "Where" keyword. - - - The boolean expression used for filtering. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - A representing the specific kind of - PartitionWhileClauseSyntax. One of SkipWhileClause, TakeWhileClause. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - A representing the specific kind of - PartitionClauseSyntax. One of SkipClause, TakeClause. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents the "Group By" query operator. - - - The "Group" keyword. - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - The "By" keyword. - - - The key values being used for grouping. - - - The list of new variables that calculate aggregations. - - - - - Represents the "expression Equals expression" condition in a Join. - - - The left expression in the Join condition. - - - The "Equals" keyword. - - - The right expression in the Join condition. - - - - - Represents a Join query operator. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents the "Group Join" query operator. - - - The "Group" keyword. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - The "Into" keyword. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Order By" query operator. - - - The "Order" keyword - - - The "By" keyword. - - - The list of OrderExpression's to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - A representing the specific kind of OrderingSyntax. One - of AscendingOrdering, DescendingOrdering. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - Represents the "Select" query operator. - - - The "Select" keyword. - - - The list of expression range variables being defined by the Select query - operator. - - - - - Represents an XML Document literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Represents Xml text. - - - A list of all the text tokens in the Xml text. This list always contains at - least one token. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - The type of the elements of the array. - - - Represents the list of "()" or "(,,)" modifiers on the array type. - - - - - A type name that represents a nullable type, such as "Integer?". - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - The "?" token. - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - The keyword that was used to describe the built-in type. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - The identifier in the name. - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - The identifier in the name. - - - The generic argument list. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - The "." token that separates the names. - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Represents a name in the global namespace. - - - The "Global" keyword. - - - - - Represents a parenthesized list of generic type arguments. - - - The "(" token. - - - The "Of" keyword. - - - A list of all the type arguments. - - - The ")" token. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represent a Yield statement. - - - The "Yield" keyword. - - - The expression whose value is being yielded. - - - - - Represent a Await expression. - - - The "Await" keyword. - - - The expression being awaited. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - A representing the specific kind of XmlTextTokenSyntax. - One of XmlTextLiteralToken, XmlEntityLiteralToken, - DocumentationCommentLineBreakToken. - - - The actual text of this token. - - - - - Represents a Decimal literal token. - - - The actual text of this token. - - - - - Represents an Date literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - The list of tokens that were skipped by the parser. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - A representing the specific kind of SyntaxTrivia. One of - WhitespaceTrivia, EndOfLineTrivia, ColonTrivia, CommentTrivia, - LineContinuationTrivia, DocumentationCommentExteriorTrivia, DisabledTextTrivia. - - - The actual text of this token. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Const" keyword. - - - The name of the pre-processing constant being defined. - - - The "=" token. - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #Else pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End If pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of a #Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Region" keyword. - - - The label of the code region being defined. - - - - - Represents an #End Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "End" keyword. - - - The "Region" keyword. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #r directive appearing in scripts. - - - The "#" token in a preprocessor directive. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - The "#" token in a preprocessor directive. - - - - - Represents an string literal token. - - - - - The value of the character, after removing the quotation marks. - - - - - Represents an Date literal token. - - - - - The value of the token. - - - - - Represents a Decimal literal token. - - - - - The type suffix or type character that was on the literal, if any. If no suffix - was present, TypeCharacter.None is returned. - - - - - The value of the token. - - - - - Represents an string literal token. - - - - - The value of the string, after removing the quotation marks and combining - doubled quotation marks. - - - - - The value of the token. - - - - - Represents an integer literal token. - - - - - Whether the token was specified in base 10, 16, or 8. - - - - - The type suffix or type character that was on the literal, if any. If no suffix - was present, TypeCharacter.None is returned. - - - - - Represents an floating literal token. - - - - - The value of the token. - - - - - Represents an floating literal token. - - - - - The type suffix or type character that was on the literal, if any. If no suffix - was present, TypeCharacter.None is returned. - - - - - The base class for all nodes in the VB syntax tree. - - - - - Should only be called during construction. - - - This should probably be an extra constructor parameter, but we don't need more constructor overloads. - - - - - Append the full text of this node including children and trivia to the given stringbuilder. - - - - - NOTE: the method should write OR push children, but never do both - - - - - Add all the tokens in this node and children to the build token list builder. While doing this, add any - diagnostics not on tokens to the given diagnostic info list. - - - - - Returns the string representation of this node, not including its leading and trailing trivia. - - The string representation of this node, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - - Returns full string representation of this node including its leading and trailing trivia. - - The full string representation of this node including its leading and trailing trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Add an error to the given node, creating a new node that is the same except it has no parent, - and has the given error attached to it. The error span is the entire span of this node. - - The error to attach to this node - A new node, with no parent, that has this error added to it. - Since nodes are immutable, the only way to create nodes with errors attached is to create a node without an error, - then add an error with this method to create another node. - - - - Get all syntax errors associated with this node, or any child nodes, grand-child nodes, etc. The errors - are not in order. - - - - - Provides caching functionality for green nonterminals with up to 3 children. - Example: - When constructing a node with given kind, flags, child1 and child2, we can look up - in the cache whether we already have a node that contains same kind, flags, - child1 and child2 and use that. - - For the purpose of children comparison, reference equality is used as a much cheaper - alternative to the structural/recursive equality. This implies that in order to de-duplicate - a node to a cache node, the children of two nodes must be already de-duplicated. - When adding a node to the cache we verify that cache does contain node's children, - since otherwise there is no reason for the node to be used. - Tokens/nulls are for this purpose considered deduplicated. Indeed most of the tokens - are deduplicated via quick-scanner caching, so we just assume they all are. - - As a result of above, "fat" nodes with 4 or more children or their recursive parents - will never be in the cache. This naturally limits the typical single cache item to be - a relatively simple expression. We do not want the cache to be completely unbounded - on the item size. - While it still may be possible to store a gigantic nested binary expression, - it should be a rare occurance. - - We only consider "normal" nodes to be cacheable. - Nodes with diagnostics/annotations/directives/skipped, etc... have more complicated identity - and are not likely to be repetitive. - - - - - - Return the length of the common ending between the two - sets of trivia. The valid trivia (following skipped tokens) - of one must be contained in the valid trivia of the other. - - - - - Return the index within the trivia of what would be considered trailing - single-line trivia by the Scanner. This behavior must match ScanSingleLineTrivia. - In short, search walks backwards and stops at the second terminator - (colon or EOL) from the end, ignoring EOLs preceeded by line continuations. - - - - - Base class for the possible kinds of arguments that can appear in an argument - list. - - - - - Represents a single syntactic token in a VB program. A token is a keyword, - punctuator, literal, identifier or XML token. The type of keyword or punctuator - can be determined from the Kind property. - - - - - Add this token to the token list builder. - - - - - Helper to check whether the token is a keyword - - - - - Helpers to check whether the token is a binary operator - - True if it is a binary operator - - - - Check whether the token is a statement terminator - - True if it is statement terminator - - - - Check whether token is end of text - - - - - Create a new token with the trivia prepended to the existing preceding trivia - - - - - Create a new token with the trivia appended to the existing following trivia - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - - - The text of the attribute or pcdata after normalization. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - - - The base class for all nodes that represent statements. This includes both - declaration statements, such as class declarations as well as executable - statements. - - - - - The base class for all nodes that represent executable statements. - - - - - The base class for all nodes that represent statements that declare options, - imports, members, etc. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - - - An empty token because all non terminals must have a token. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - The "End" keyword - - - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an entire source file of VB code. - - - - - Represents the list of Option statements at the beginning of a source file. - - - If nothing is present, an empty list is returned. - - - - - Represents the list of Imports statements at the beginning of a source file. - - - If nothing is present, an empty list is returned. - - - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - If nothing is present, an empty list is returned. - - - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - If nothing is present, an empty list is returned. - - - - - Represents the end of the source file. This token may have trivia (whitespace, - comments, ...) attached to it. - - - - - Represents an Option statement, such as "Option Strict On". - - - - - The "Option" keyword. - - - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - - - The "Imports" keyword. - - - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - If nothing is present, an empty list is returned. - - - - - The base class for the possible clauses of an Imports statement. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - - - The identifier that the alias is being defined for. - - - - - The equals sign token. - - - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - - - The namespace or type being imported. - - - - - Defines a XML namespace for XML expressions. - - - - - Identifies the XML namespace alias and URI. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - - - The statement that begins the NamespaceBlock. - - - - - The declarations contained in the namespace statement. - - - If nothing is present, an empty list is returned. - - - - - The End Namespace statement that ends the block. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - - - The "Namespace" keyword. - - - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Represents a declaration of a Class, Interface, Structure, Module, its contents - and the End statement that ends it. - - - - - The statement that begins the type or module. - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - The End XXX statement that ends the block. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - - - The statement that begins the type or module. - - - - - The declarations contained in the enumeration. - - - If nothing is present, an empty list is returned. - - - - - The End XXX statement that ends the block. - - - - - Represents an Inherits or Implements statement in a Class, Structure or - Interface. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - - - The "Inherits" keyword. - - - - - A list of the types being inherited. - - - - - Represents an Implements statement in a Class or Structure. - - - - - The "Implements" keyword. - - - - - A list of the types being implemented. - - - - - Abstract class for the beginning statement of a Module, Class, Interface or - Structure declaration. This node always appears as the Begin of a TypeBlock - with Kind=ModuleDeclarationBlock, ClassDeclarationBlock, - InterfaceDeclarationBlock or StructureDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - The name of the type being declared. - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The "Enum" keyword. - - - - - The name of the enum being declared. - - - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the type parameter list in a declaration. - - - - - The "(" token. - - - - - The "Of" keyword. - - - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - - - The ")" token. - - - - - Represents a type parameter on a generic type declaration. - - - - - Represents the "In" or "Out" variance keyword on a type parameter, if present. - If no variance modifier was present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the type parameter - - - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - An abstract node class that is the parent of classes that describe type - parameter constraint clauses. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - - - The "As" keyword. - - - - - The "{" token. - - - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - - - The "}" token. - - - - - An abstract node class that is the parent of classes that describe type - parameter constraints. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - Represents a type parameter constraint that is a type. - - - - - The type describing the constraint. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - - - If nothing is present, an empty list is returned. - - - - - An optional value for the enum member. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a block member declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. Examples - include methods, constructors, operators, property accessors and custom event - accessors. - - - - - The declaration that begins the block. - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - - - The property declaration that begins the block. - - - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - - - The End Property statement that ends the block. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - - - The event declaration that begins the block. - - - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - - - The End Event statement that ends the block. - - - - - An abstract node class that is the parent for declarations that are - "method-like"; i.e., that have a parameter list and return type. This includes - methods, constructors, properties, events, operators, declares, delegates, - property accessors and custom event accessors. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the parameter list in a method declaration. - - - - - The "(" token that introduces the parameter list. If no parameter list was - present, Nothing is returned. - - - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - The ")" token that concludes the parameter list. If no parameter list was - present, Nothing is returned. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - The name of the method being declared. - - - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, a Handles clause indicated the events that this method handles. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - - - The "New" keyword in the constructor declaration. - - - - - A Declare statement that declares an external DLL method. - - - - - The "Declare" keyword. - - - - - If present, the keyword that defines the string translation semantics of the - external method. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the method being declared. - - - - - The "Lib" keyword. - - - - - The string literal with the library name. - - - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The string literal with the alias. If not present, returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A statement that declares a delegate type. - - - - - The "Delegate" keyword. - - - - - The name of the delegate being declared. - - - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - - - The optional Custom keyword for custom event declarations. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the event being declared. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - The operator being defined. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - - - The name of the property being declared. - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - - - The "Implements" keyword. - - - - - The list of interface members being implemented. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - - - The "Handles" keyword. - - - - - The list of event members being handled. - - - - - Represents container of an event in a Handles clause item. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - - - The container of the event. This can be one of the special keywords: "Me", - "MyBase" or "MyClass". - - - - - Represents event container that refers to a WithEvents member. - - - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Represents event container that refers to a WithEvents member's property. - - - - - The container of the event. - - - - - The "." token. - - - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Represents a single handled event in a "Handles ..." clause. - - - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - - - The "." token. - - - - - The event being handled. This must be a simple identifier. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The missing identifier token for this incomplete member. Should only be used to - have a location for error reporting. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - - - The "As" clause that describes the return type, and possibly includes "New", - "With" or "From". If no As clause was present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an "= initial-value" clause describing the initial value of the - variable or the value of the constant. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Abstract node class that represents the different kinds of "As {type-name}" - clauses in a declaration: simple "As" clauses and "As New" clauses. The type - has optional attributes associated with it, although attributes are not - permitted in all possible places where this node occurs. - - - - - The "As" keyword. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The type-name part of the As clause. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - - - The New expression - - - - - An abstract node class that represents a "With" or "From" clause used to - initializer an new object. - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - - - The "With" keyword. - - - - - The "{" token. - - - - - The comma-separated list of field initializers. - - - - - The "}" token. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - - - The "From" keyword. - - - - - The initializer including the braces. - - - - - Abstract class that represent a single field initializer used in a "With {...}" - field initializer list. - - - - - The optional "Key" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - - - The value being assigned. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - - - The "." token. - - - - - The name of the field being initialized. - - - - - The "=" token. - - - - - The value being assigned to the field. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - - - The "=" token. - - - - - The expression used as the initial value. - - - - - Represent a parameter to a method, property, constructor, etc. - - - - - A list of all attribute lists on this parameter. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of the modifier tokens "ByVal", "ByRef", "Optional" or "ParamArray" that - modify this parameter. - - - If nothing is present, an empty list is returned. - - - - - The name of the parameter, including any "?" or "()" modifiers. - - - - - If present, the "As type-name" clause describing the type of the parameter. If - no As clause is present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If present, an initializer with the default value of the parameter. If no - default value is present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - - - The identifier that names the item being declared. - - - - - The "?" token that indicates a nullable type. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A list of array modifiers for the type. If no array modifiers were present, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - - - The "(" token. - - - - - The comma tokens in the array type. There is one less comma than the rank. - - - If nothing is present, an empty list is returned. - - - - - The ")" token. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - - - The "<" token. - - - - - A comma separated list of attribute declarations in this attribute list. - - - If nothing is present, an empty list is returned. - - - - - The ">" token. - - - - - Represents a single attribute declaration within an attribute list. - - - - - Optional attribute target. Assembly|Module : - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the attribute. - - - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a single attribute declaration within an attribute list. - - - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - - - The ":" token, if an attribute modifier is present. If no attribute modifier is - present, Nothing is returned. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - - - The list of attribute lists. - - - If nothing is present, an empty list is returned. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - - - The expression. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - - - "?" token. - - - - - The expression whose value is being output. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - - - The While statement that begins the block. - - - - - The statements contained in the While...End While. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - The End While statement that ends the block. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - - - The UsingStatement that begins the Using...End Using block. - - - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - The End Using statement that ends the block. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - - - The SyncLock statement that begins the block. - - - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - If nothing is present, an empty list is returned. - - - - - The End SyncLock statement that ends the block. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - - - The WithStatement that begins the With...End With block. - - - - - The statements contained in the With...End With block. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - The End With statement that ends the block. - - - - - Represents the declaration of one or more local variables or constants. - - - - - The modifier token (Static, Dim or Const) that introduces this local variable - declaration. - - - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents a label statement. - - - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - - - The ":" token of the label statement. - - - - - Represents a "GoTo" statement. - - - - - The "GoTo" keyword. - - - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - - - The "Stop" or "End" keyword. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - The "Exit" keyword. - - - - - The keyword describing the block to exit. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - The "Continue" keyword. - - - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Return" statement. - - - - - The "Return" keyword. - - - - - The expression being returned, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a line If-Then-Else statement. - - - - - The If part of the statement. - - - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - The statements controlled by this If or Else If. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - The Else statement that introduces this part. - - - - - The statements controlled by the Else.This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - - - The If part of the statement. - - - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If this is a block if, returns the "End If" statement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - The statements controlled by this If or Else If. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - The Else statement that introduces this part. - - - - - The statements controlled by the Else. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "If" or "ElseIf" keyword. - - - - - The boolean expression that is being tested. - - - - - The "Then" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - - - The "Else" keyword - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - - - The Try part of the statement. - - - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The Finally part of the statement, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "End Try" statement. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - - - The TryStatement that introduces this part of the Try...Catch...Finally...End - Try. - - - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - - - The CatchStatement that introduces this part. - - - - - The statements controlled by the Catch statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - - - The FinallyStatement that introduces the Finally part of a Try. - - - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - - - The "Try" keyword - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - - - The "Catch" keyword. - - - - - The identifier representing the exception that was caught, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The As clause that defines the type of exception being caught. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "When" clause, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the When/Filter clause of a Catch statement - - - - - The "When" keyword - - - - - The filter expression - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - - - The "Finally" keyword. - - - - - Represents the "Error" statement. - - - - - The "Error" keyword. - - - - - The expression that represents the error number. - - - - - Represents an OnError Goto statement. - - - - - The "On" keyword - - - - - The "Error" keyword. - - - - - The "GoTo" keyword - - - - - An optional minus for On Error Goto -1 - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Resume Next statement. - - - - - The "On" keyword - - - - - The "Error" keyword. - - - - - The "Resume" keyword. - - - - - The "Next" - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - The "Resume" keyword. - - - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - - - The Select Case statement that begins the block. - - - - - A list of the contained Case blocks. - - - If nothing is present, an empty list is returned. - - - - - The End Select statement that ends the block. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - - - The "Select" keyword. - - - - - The "Case" keyword, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The value that branching is based on. - - - - - Represents a case statement and its subsequent block. - - - - - The statement that begins the case block. - - - - - The statements contained in the case block. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - - - The "Case" keyword - - - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a single clause in a case statement. An abstract node that is the - parent of different kinds of Case clauses. - - - - - The "Else" part in a Case Else statement. - - - - - The "Else" keyword. - - - - - Represents a single value in a Case. - - - - - The expression that denotes the value being tested against. - - - - - Represents a range "expression To expression" in a Case. - - - - - The lower bound of the range. - - - - - The "To" keyword - - - - - The upper bound of the range. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - The "Is" keyword, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - - - The expression that denotes the value being tested against. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - - - The "SyncLock" keyword. - - - - - The expression being synchronized on. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - - - The Do statement that begins the block. - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - The Loop statement that ends the block. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - - - The "Do" keyword. - - - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - - - The "Loop" keyword. - - - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - - - The "While" or "Until" keyword. - - - - - The boolean expression after the While or Until. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - - - The "While" keyword. - - - - - The boolean expression that controls the While loop. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - - - The For or For Each statement that begins the block. - - - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The "For" keyword. - - - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - - - The "=" token. - - - - - The expression denoting the initial value of the iteration. - - - - - The "To" keyword. - - - - - The expression denoting the final value of the iteration. - - - - - The optional Step clause. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The Step clause in a For Statement. - - - - - The "Step" keyword. - - - - - The expression denoting the step increment. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The "For" keyword. - - - - - The "Each" keyword. - - - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - - - The "In" keyword. - - - - - The expression denoting the collection to iterate over. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - - - The "Next" keyword. - - - - - The variables in the Next statement, if present - - - If nothing is present, an empty list is returned. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - - - The "Using" keyword. - - - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Represents a Throw statement. - - - - - The "Throw" keyword - - - - - The expression denoting the value being thrown. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - The target (left hand side) of the assignment. - - - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - - - The source (right hand side) of the assignment. - - - - - Represents a left-hand side of a MidAssignment statement. - - - - - The "Mid" possibly followed by a type character. - - - - - The argument list. - - - - - Represent an call statement (also known as a invocation statement). - - - - - The "Call" keyword. - - - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - - - The "AddHandler" or "RemoveHandler" keyword. - - - - - The event being accessed. - - - - - The "," token. - - - - - The delegate being added or removed. - - - - - Represent a RaiseEvent statement. - - - - - The "RaiseEvent" keyword - - - - - The name of the event being raised. - - - - - The argument list, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - - - The "With" keyword. - - - - - The expression that is the operand of the With statement. - - - - - Represents a ReDim statement. - - - - - The "ReDim" keyword. - - - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The list of ReDim clauses. - - - - - Represents a ReDim statement clause. - - - - - The target of the ReDim statement. - - - - - The ArraySizeInitializationModifier. - - - - - Represents an "Erase" statement. - - - - - The "Erase" keyword. - - - - - A list of expressions denoting the arrays to erase. - - - - - An abstract base class for all node classes that define expressions. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a parenthesized expression. - - - - - The "(" token - - - - - The expression inside the parentheses. - - - - - The ")" token - - - - - Identifies one of the special instances "Me", "MyClass" or "MyBase". The Kind - property identifies which. - - - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "Me" - - - - - Identifies the special instance "MyBase" - - - - - Identifies the special instance "MyClass" - - - - - Represents a GetType expression. - - - - - The "GetType" keyword. - - - - - The "(" token. - - - - - The type to get the Type object for. This can be an open generic type. - - - - - The ")" token. - - - - - Represents a TypeOf...Is or IsNot expression. - - - - - The "TypeOf" keyword. - - - - - The expression being tested. - - - - - The "Is" or "IsNot" keyword. - - - - - The name of the type being tested against. - - - - - Represents a GetXmlNamespace expression. - - - - - The "GetXmlNamespace" keyword. - - - - - The "(" token. - - - - - The Xml namespace name being referenced. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The ")" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - - - The expression on the left-hand-side of the "." or "!" token. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "." or "!" token. - - - - - The identifier after the "." or "!" token. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The initial dot "." part of the separator. - - - - - The "@" part of .@ or the second "." of "...". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The third "." in a "..." separator. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The identifier after the ".", ".@" or "..." - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - - - The target of the call or index expression. - - - - - The argument list. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Base class for object, array and anonymous object creation expressions - - - - - The "New" keyword. - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - - - The type of the object being initialized. - - - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - An optional From or With clause to initialize the new object. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a New expression that create an object of anonymous type. - - - - - The With clause to initialize the new object. - - - - - Represents an expression that creates a new array. - - - - - The element type of the array being created. - - - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - A list of array modifiers such as "()" or "(,)". If no array modifiers were - present, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The initializer including the braces. - - - - - Represents an expression that creates a new array without naming the element - type. - - - - - The "{" token. - - - - - The list of initializers between the braces. - - - If nothing is present, an empty list is returned. - - - - - The "}" token. - - - - - Represents a CType, DirectCast or TryCast conversion expression. The Kind - property determines which kind of cast it is. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - - - The "(" token. - - - - - The expression being cast. - - - - - The "," token. - - - - - The type the expression is being cast to. - - - - - The ")" token. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - - - The keyword that was used in the cast operation. - - - - - The "(" token. - - - - - The expression being cast. - - - - - The ")" token. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - The left operand. - - - - - The right operand. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - The token that is the operator. - - - - - The expression being operated on. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - The "If" keyword - - - - - The "(" token - - - - - The first expression inside the parentheses. - - - - - The "," token. - - - - - The second expression inside the parentheses. - - - - - The ")" token - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - The "If" keyword - - - - - The "(" token - - - - - The first expression inside the parentheses. - - - - - The "," token. - - - - - The second expression inside the parentheses. - - - - - The "," token. - - - - - The second expression inside the parentheses. - - - - - The ")" token - - - - - Represents a lambda expression, either single line or multi-line. - - - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - - - Represents a single line lambda expression. - - - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a multi-line lambda expression. - - - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents the header part of a lambda expression - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a parenthesized argument list. - - - - - The "(" token. - - - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - If nothing is present, an empty list is returned. - - - - - The ")" token. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - - - An empty token because all non terminals must have a token. - - - - - Represents a simple argument that is just an expression. - - - - - The expression that is the argument. - - - - - Represents a named argument, such as "Value:=7". - - - - - The name used to identify the named argument. - - - - - The ":=" token. - - - - - The expression that is the named argument. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - - - The lower bound of the range. This is typically the integer constant zero. - - - - - The "To" keyword. - - - - - The upper bound of the range. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - This is a base class for all query operators. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - - - The name of the range variable being defined. - - - - - Describes the type of the variable being defined. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "In" keyword. - - - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the expression. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The expression used to initialize the expression variable. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the aggregation - expression. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Represents the name and optional type of an expression range variable. - - - - - The name of the variable being defined. - - - - - Describes the type of the variable being defined. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The "=" token. - - - - - Represents aggregation in aggregation range variable declaration of a Group By, - Group Join or Aggregate query operator. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - - - The name of the aggregation function. - - - - - The "(" token if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The argument to the aggregation function. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - The ")" token, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - - - The "Group" keyword. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - - - The "From" keyword. - - - - - The list of collection variables declared by this From operator. - - - - - Represents a "Let" query operator. - - - - - The "Let" keyword. - - - - - The list of expression range variable being defined by the Let operator. - - - - - Represents an Aggregate query operator. - - - - - The "Aggregate" keyword. - - - - - The list of collection range variables declared by this Aggregate operator. - - - - - A list of additional query operators. It may be empty. - - - If nothing is present, an empty list is returned. - - - - - The "Into" keyword. - - - - - The list of new variables being defined by the aggregation. - - - - - Represents the "Distinct" query operator. - - - - - The "Distinct" keyword. - - - - - Represents a "Where" query operator. - - - - - The "Where" keyword. - - - - - The boolean expression used for filtering. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - - - The "Skip" or "Take" keyword. - - - - - The "While" keyword. - - - - - The boolean expression used for partitioning. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - - - The "Skip" or "Take" keyword. - - - - - Represents the expression with the number of items to take or skip. - - - - - Represents the "Group By" query operator. - - - - - The "Group" keyword. - - - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The "By" keyword. - - - - - The key values being used for grouping. - - - - - The list of new variables that calculate aggregations. - - - - - Represents a Join or a Group Join query operator. - - - - - The "Join" keyword. - - - - - Defines the collection range variables being joined to. - - - - - An additional Join or Group Join query operator. - - - If nothing is present, an empty list is returned. - - - - - The "On" keyword. - - - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents the "expression Equals expression" condition in a Join. - - - - - The left expression in the Join condition. - - - - - The "Equals" keyword. - - - - - The right expression in the Join condition. - - - - - Represents a Join query operator. - - - - - Represents the "Group Join" query operator. - - - - - The "Group" keyword. - - - - - The "Into" keyword. - - - - - The list of new variables that calculate aggregations. - - - - - Represents the "Order By" query operator. - - - - - The "Order" keyword - - - - - The "By" keyword. - - - - - The list of OrderExpression's to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - - - The expression to sort by. - - - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents the "Select" query operator. - - - - - The "Select" keyword. - - - - - The list of expression range variables being defined by the Select query - operator. - - - - - This is the base class for all XML expression syntax nodes (XmlDocument and - XmlElement). - - - - - Represents an XML Document literal expression. - - - - - If nothing is present, an empty list is returned. - - - - - If nothing is present, an empty list is returned. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - If nothing is present, an empty list is returned. - - - - - Represents Xml text. - - - - - A list of all the text tokens in the Xml text. This list always contains at - least one token. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - If nothing is present, an empty list is returned. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an empty XML element of the form <element /> - - - - - If nothing is present, an empty list is returned. - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - If nothing is present, an empty list is returned. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Abstract node class that represents the textual description of a type, possibly - include generic type arguments, qualified names, array specifiers, nullable - specifier and the like. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - - - The type of the elements of the array. - - - - - Represents the list of "()" or "(,,)" modifiers on the array type. - - - - - A type name that represents a nullable type, such as "Integer?". - - - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - - - The "?" token. - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - - - The keyword that was used to describe the built-in type. - - - - - Abstract node class that represents a name, possibly include generic arguments - and qualified names. - - - - - Abstract node class that represents a name, possibly include generic arguments. - - - - - The identifier in the name. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - - - The generic argument list. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - - - The "." token that separates the names. - - - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Represents a name in the global namespace. - - - - - The "Global" keyword. - - - - - Represents a parenthesized list of generic type arguments. - - - - - The "(" token. - - - - - The "Of" keyword. - - - - - A list of all the type arguments. - - - - - The ")" token. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represent a Yield statement. - - - - - The "Yield" keyword. - - - - - The expression whose value is being yielded. - - - - - Represent a Await expression. - - - - - The "Await" keyword. - - - - - The expression being awaited. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - - - The list of tokens that were skipped by the parser. - - - If nothing is present, an empty list is returned. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Represents a pre-processing directive (such as #If, #Const or #Region) - appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - - - The "Const" keyword. - - - - - The name of the pre-processing constant being defined. - - - - - The "=" token. - - - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represents an #Else pre-processing directive appearing in source. - - - - - Represents an #End If pre-processing directive appearing in source. - - - - - Represents the beginning of a #Region directive appearing in source. - - - - - The "Region" keyword. - - - - - The label of the code region being defined. - - - - - Represents an #End Region directive appearing in source. - - - - - The "End" keyword. - - - - - The "Region" keyword. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - - - Represents an #r directive appearing in scripts. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - An empty token because all non terminals must have a token. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - A representing the specific kind of - EndBlockStatementSyntax. One of EndIfStatement, EndUsingStatement, - EndWithStatement, EndSelectStatement, EndStructureStatement, EndEnumStatement, - EndInterfaceStatement, EndClassStatement, EndModuleStatement, - EndNamespaceStatement, EndSubStatement, EndFunctionStatement, EndGetStatement, - EndSetStatement, EndPropertyStatement, EndOperatorStatement, EndEventStatement, - EndAddHandlerStatement, EndRemoveHandlerStatement, EndRaiseEventStatement, - EndWhileStatement, EndTryStatement, EndSyncLockStatement. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an entire source file of VB code. - - - Represents the list of Option statements at the beginning of a source file. - - - Represents the list of Imports statements at the beginning of a source file. - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - Represents the end of the source file. This token may have trivia (whitespace, - comments, ...) attached to it. - - - - - Represents an Option statement, such as "Option Strict On". - - - The "Option" keyword. - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - The "Imports" keyword. - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - The identifier that the alias is being defined for. - - - The equals sign token. - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - The namespace or type being imported. - - - - - Defines a XML namespace for XML expressions. - - - Identifies the XML namespace alias and URI. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - The statement that begins the NamespaceBlock. - - - The declarations contained in the namespace statement. - - - The End Namespace statement that ends the block. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - The "Namespace" keyword. - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - The statement that begins the type or module. - - - The declarations contained in the enumeration. - - - The End XXX statement that ends the block. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - The "Inherits" keyword. - - - A list of the types being inherited. - - - - - Represents an Implements statement in a Class or Structure. - - - The "Implements" keyword. - - - A list of the types being implemented. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Enum" keyword. - - - The name of the enum being declared. - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - - - Represents the type parameter list in a declaration. - - - The "(" token. - - - The "Of" keyword. - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - The ")" token. - - - - - Represents a type parameter on a generic type declaration. - - - Represents the "In" or "Out" variance keyword on a type parameter, if present. - If no variance modifier was present, Nothing is returned. - - - The name of the type parameter - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - The "As" keyword. - - - The "{" token. - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - The "}" token. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - A representing the specific kind of - SpecialConstraintSyntax. One of NewConstraint, ClassConstraint, - StructureConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - Represents a type parameter constraint that is a type. - - - The type describing the constraint. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - An optional value for the enum member. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - A representing the specific kind of MethodBlockSyntax. - One of SubBlock, FunctionBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - A representing the specific kind of AccessorBlockSyntax. - One of PropertyGetBlock, PropertySetBlock, AddHandlerBlock, RemoveHandlerBlock, - RaiseEventBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - The property declaration that begins the block. - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - The End Property statement that ends the block. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - The event declaration that begins the block. - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - The End Event statement that ends the block. - - - - - Represents the parameter list in a method declaration. - - - The "(" token that introduces the parameter list. If no parameter list was - present, Nothing is returned. - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - The ")" token that concludes the parameter list. If no parameter list was - present, Nothing is returned. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A representing the specific kind of - MethodStatementSyntax. One of SubStatement, FunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The "New" keyword in the constructor declaration. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The optional Custom keyword for custom event declarations. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the event being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The operator being defined. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the property being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A representing the specific kind of - AccessorStatementSyntax. One of GetAccessorStatement, SetAccessorStatement, - AddHandlerAccessorStatement, RemoveHandlerAccessorStatement, - RaiseEventAccessorStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - The "Implements" keyword. - - - The list of interface members being implemented. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - The "Handles" keyword. - - - The list of event members being handled. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - The container of the event. This can be one of the special keywords: "Me", - "MyBase" or "MyClass". - - - - - Represents event container that refers to a WithEvents member. - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Represents event container that refers to a WithEvents member's property. - - - The container of the event. - - - The "." token. - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Represents a single handled event in a "Handles ..." clause. - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - The "." token. - - - The event being handled. This must be a simple identifier. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The missing identifier token for this incomplete member. Should only be used to - have a location for error reporting. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - The "As" clause that describes the return type, and possibly includes "New", - "With" or "From". If no As clause was present, Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - variable or the value of the constant. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - The "As" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type-name part of the As clause. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - The "As" keyword. - - - The New expression - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - The "With" keyword. - - - The "{" token. - - - The comma-separated list of field initializers. - - - The "}" token. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - The "From" keyword. - - - The initializer including the braces. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - The optional "Key" keyword. - - - The value being assigned. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - The optional "Key" keyword. - - - The "." token. - - - The name of the field being initialized. - - - The "=" token. - - - The value being assigned to the field. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - The "=" token. - - - The expression used as the initial value. - - - - - Represent a parameter to a method, property, constructor, etc. - - - A list of all attribute lists on this parameter. If no attributes were - specified, Nothing is returned. - - - A list of the modifier tokens "ByVal", "ByRef", "Optional" or "ParamArray" that - modify this parameter. - - - The name of the parameter, including any "?" or "()" modifiers. - - - If present, the "As type-name" clause describing the type of the parameter. If - no As clause is present, Nothing is returned. - - - If present, an initializer with the default value of the parameter. If no - default value is present, Nothing is returned. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - The "?" token that indicates a nullable type. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers for the type. If no array modifiers were present, an - empty list is returned. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - The "(" token. - - - The comma tokens in the array type. There is one less comma than the rank. - - - The ")" token. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - The "<" token. - - - A comma separated list of attribute declarations in this attribute list. - - - The ">" token. - - - - - Represents a single attribute declaration within an attribute list. - - - Optional attribute target. Assembly|Module : - - - The name of the attribute. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - - - Represents a single attribute declaration within an attribute list. - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - The ":" token, if an attribute modifier is present. If no attribute modifier is - present, Nothing is returned. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - The list of attribute lists. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - The expression. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - "?" token. - - - The expression whose value is being output. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - The While statement that begins the block. - - - The statements contained in the While...End While. This might be an empty list. - - - The End While statement that ends the block. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - The UsingStatement that begins the Using...End Using block. - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - The End Using statement that ends the block. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - The SyncLock statement that begins the block. - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - The End SyncLock statement that ends the block. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - The WithStatement that begins the With...End With block. - - - The statements contained in the With...End With block. This might be an empty - list. - - - The End With statement that ends the block. - - - - - Represents the declaration of one or more local variables or constants. - - - The modifier token (Static, Dim or Const) that introduces this local variable - declaration. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents a label statement. - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - The ":" token of the label statement. - - - - - Represents a "GoTo" statement. - - - The "GoTo" keyword. - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - A representing the specific kind of LabelSyntax. One of - IdentifierLabel, NumericLabel, NextLabel. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - A representing the specific kind of - StopOrEndStatementSyntax. One of StopStatement, EndStatement. - - - The "Stop" or "End" keyword. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - A representing the specific kind of ExitStatementSyntax. - One of ExitDoStatement, ExitForStatement, ExitSubStatement, - ExitFunctionStatement, ExitOperatorStatement, ExitPropertyStatement, - ExitTryStatement, ExitSelectStatement, ExitWhileStatement. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - A representing the specific kind of - ContinueStatementSyntax. One of ContinueWhileStatement, ContinueDoStatement, - ContinueForStatement. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Return" statement. - - - The "Return" keyword. - - - The expression being returned, if present. - - - - - Represents a line If-Then-Else statement. - - - The If part of the statement. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else.This might be an empty list. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - The If part of the statement. - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - If this is a block if, returns the "End If" statement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else. This might be an empty list. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - The "Else" keyword - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - The Try part of the statement. - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - The Finally part of the statement, if present. - - - The "End Try" statement. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - The TryStatement that introduces this part of the Try...Catch...Finally...End - Try. - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - The CatchStatement that introduces this part. - - - The statements controlled by the Catch statement. This might be an empty list. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - The FinallyStatement that introduces the Finally part of a Try. - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - The "Try" keyword - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - The "Catch" keyword. - - - The identifier representing the exception that was caught, if present. - - - The As clause that defines the type of exception being caught. - - - The "When" clause, if present. - - - - - Represents the When/Filter clause of a Catch statement - - - The "When" keyword - - - The filter expression - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - The "Finally" keyword. - - - - - Represents the "Error" statement. - - - The "Error" keyword. - - - The expression that represents the error number. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - A representing the specific kind of - OnErrorGoToStatementSyntax. One of OnErrorGoToZeroStatement, - OnErrorGoToMinusOneStatement, OnErrorGoToLabelStatement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Resume Next statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "Resume" keyword. - - - The "Next" - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - The Select Case statement that begins the block. - - - A list of the contained Case blocks. - - - The End Select statement that ends the block. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - The "Select" keyword. - - - The "Case" keyword, if present. - - - The value that branching is based on. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - The "Else" part in a Case Else statement. - - - The "Else" keyword. - - - - - Represents a single value in a Case. - - - The expression that denotes the value being tested against. - - - - - Represents a range "expression To expression" in a Case. - - - The lower bound of the range. - - - The "To" keyword - - - The upper bound of the range. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - A representing the specific kind of - CaseRelationalClauseSyntax. One of CaseEqualsClause, CaseNotEqualsClause, - CaseLessThanClause, CaseLessThanOrEqualClause, CaseGreaterThanOrEqualClause, - CaseGreaterThanClause. - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - The "SyncLock" keyword. - - - The expression being synchronized on. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - A representing the specific kind of DoLoopBlockSyntax. - One of DoLoopTopTestBlock, DoLoopBottomTestBlock, DoLoopForeverBlock. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - The "Do" keyword. - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - The "Loop" keyword. - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - A representing the specific kind of - WhileUntilClauseSyntax. One of WhileClause, UntilClause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - The "While" keyword. - - - The boolean expression that controls the While loop. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "=" token. - - - The expression denoting the initial value of the iteration. - - - The "To" keyword. - - - The expression denoting the final value of the iteration. - - - The optional Step clause. - - - - - The Step clause in a For Statement. - - - The "Step" keyword. - - - The expression denoting the step increment. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - The "Each" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "In" keyword. - - - The expression denoting the collection to iterate over. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - The "Next" keyword. - - - The variables in the Next statement, if present - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - The "Using" keyword. - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - - - Represents a Throw statement. - - - The "Throw" keyword - - - The expression denoting the value being thrown. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - A representing the specific kind of - AssignmentStatementSyntax. One of SimpleAssignmentStatement, - MidAssignmentStatement, AddAssignmentStatement, SubtractAssignmentStatement, - MultiplyAssignmentStatement, DivideAssignmentStatement, - IntegerDivideAssignmentStatement, ExponentiateAssignmentStatement, - LeftShiftAssignmentStatement, RightShiftAssignmentStatement, - ConcatenateAssignmentStatement. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a left-hand side of a MidAssignment statement. - - - The "Mid" possibly followed by a type character. - - - The argument list. - - - - - Represent an call statement (also known as a invocation statement). - - - The "Call" keyword. - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - A representing the specific kind of - AddRemoveHandlerStatementSyntax. One of AddHandlerStatement, - RemoveHandlerStatement. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represent a RaiseEvent statement. - - - The "RaiseEvent" keyword - - - The name of the event being raised. - - - The argument list, if present. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - The "With" keyword. - - - The expression that is the operand of the With statement. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement clause. - - - The target of the ReDim statement. - - - The ArraySizeInitializationModifier. - - - - - Represents an "Erase" statement. - - - The "Erase" keyword. - - - A list of expressions denoting the arrays to erase. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - A representing the specific kind of - LiteralExpressionSyntax. One of CharacterLiteralExpression, - TrueLiteralExpression, FalseLiteralExpression, NumericLiteralExpression, - DateLiteralExpression, StringLiteralExpression, NothingLiteralExpression. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a parenthesized expression. - - - The "(" token - - - The expression inside the parentheses. - - - The ")" token - - - - - Identifies the special instance "Me" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyBase" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyClass" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Represents a GetType expression. - - - The "GetType" keyword. - - - The "(" token. - - - The type to get the Type object for. This can be an open generic type. - - - The ")" token. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - A representing the specific kind of - TypeOfExpressionSyntax. One of TypeOfIsExpression, TypeOfIsNotExpression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a GetXmlNamespace expression. - - - The "GetXmlNamespace" keyword. - - - The "(" token. - - - The Xml namespace name being referenced. - - - The ")" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - A representing the specific kind of - MemberAccessExpressionSyntax. One of SimpleMemberAccessExpression, - DictionaryAccessExpression. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - A representing the specific kind of - XmlMemberAccessExpressionSyntax. One of XmlElementAccessExpression, - XmlDescendantAccessExpression, XmlAttributeAccessExpression. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - The target of the call or index expression. - - - The argument list. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type of the object being initialized. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - An optional From or With clause to initialize the new object. - - - - - Represents a New expression that create an object of anonymous type. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The With clause to initialize the new object. - - - - - Represents an expression that creates a new array. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The element type of the array being created. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers such as "()" or "(,)". If no array modifiers were - present, an empty list is returned. - - - The initializer including the braces. - - - - - Represents an expression that creates a new array without naming the element - type. - - - The "{" token. - - - The list of initializers between the braces. - - - The "}" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - The keyword that was used in the cast operation. - - - The "(" token. - - - The expression being cast. - - - The ")" token. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - A representing the specific kind of - BinaryExpressionSyntax. One of AddExpression, SubtractExpression, - MultiplyExpression, DivideExpression, IntegerDivideExpression, - ExponentiateExpression, LeftShiftExpression, RightShiftExpression, - ConcatenateExpression, ModuloExpression, EqualsExpression, NotEqualsExpression, - LessThanExpression, LessThanOrEqualExpression, GreaterThanOrEqualExpression, - GreaterThanExpression, IsExpression, IsNotExpression, LikeExpression, - OrExpression, ExclusiveOrExpression, AndExpression, OrElseExpression, - AndAlsoExpression. - - - The left operand. - - - The right operand. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - A representing the specific kind of - UnaryExpressionSyntax. One of UnaryPlusExpression, UnaryMinusExpression, - NotExpression, AddressOfExpression. - - - The token that is the operator. - - - The expression being operated on. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - A representing the specific kind of - SingleLineLambdaExpressionSyntax. One of SingleLineFunctionLambdaExpression, - SingleLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - A representing the specific kind of - MultiLineLambdaExpressionSyntax. One of MultiLineFunctionLambdaExpression, - MultiLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A representing the specific kind of LambdaHeaderSyntax. - One of SubLambdaHeader, FunctionLambdaHeader. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents a parenthesized argument list. - - - The "(" token. - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - The ")" token. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - An empty token because all non terminals must have a token. - - - - - Represents a simple argument that is just an expression. - - - The expression that is the argument. - - - - - Represents a named argument, such as "Value:=7". - - - The name used to identify the named argument. - - - The ":=" token. - - - The expression that is the named argument. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - The lower bound of the range. This is typically the integer constant zero. - - - The "To" keyword. - - - The upper bound of the range. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - The name of the range variable being defined. - - - Describes the type of the variable being defined. - - - The "In" keyword. - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the expression. - - - The expression used to initialize the expression variable. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the aggregation - expression. - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Represents the name and optional type of an expression range variable. - - - The name of the variable being defined. - - - Describes the type of the variable being defined. - - - The "=" token. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - The "(" token if present. - - - The argument to the aggregation function. - - - The ")" token, if present. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - The "Group" keyword. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - The "From" keyword. - - - The list of collection variables declared by this From operator. - - - - - Represents a "Let" query operator. - - - The "Let" keyword. - - - The list of expression range variable being defined by the Let operator. - - - - - Represents an Aggregate query operator. - - - The "Aggregate" keyword. - - - The list of collection range variables declared by this Aggregate operator. - - - A list of additional query operators. It may be empty. - - - The "Into" keyword. - - - The list of new variables being defined by the aggregation. - - - - - Represents the "Distinct" query operator. - - - The "Distinct" keyword. - - - - - Represents a "Where" query operator. - - - The "Where" keyword. - - - The boolean expression used for filtering. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - A representing the specific kind of - PartitionWhileClauseSyntax. One of SkipWhileClause, TakeWhileClause. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - A representing the specific kind of - PartitionClauseSyntax. One of SkipClause, TakeClause. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents the "Group By" query operator. - - - The "Group" keyword. - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - The "By" keyword. - - - The key values being used for grouping. - - - The list of new variables that calculate aggregations. - - - - - Represents the "expression Equals expression" condition in a Join. - - - The left expression in the Join condition. - - - The "Equals" keyword. - - - The right expression in the Join condition. - - - - - Represents a Join query operator. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents the "Group Join" query operator. - - - The "Group" keyword. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - The "Into" keyword. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Order By" query operator. - - - The "Order" keyword - - - The "By" keyword. - - - The list of OrderExpression's to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - A representing the specific kind of OrderingSyntax. One - of AscendingOrdering, DescendingOrdering. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - Represents the "Select" query operator. - - - The "Select" keyword. - - - The list of expression range variables being defined by the Select query - operator. - - - - - Represents an XML Document literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Represents Xml text. - - - A list of all the text tokens in the Xml text. This list always contains at - least one token. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - The type of the elements of the array. - - - Represents the list of "()" or "(,,)" modifiers on the array type. - - - - - A type name that represents a nullable type, such as "Integer?". - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - The "?" token. - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - The keyword that was used to describe the built-in type. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - The identifier in the name. - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - The identifier in the name. - - - The generic argument list. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - The "." token that separates the names. - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Represents a name in the global namespace. - - - The "Global" keyword. - - - - - Represents a parenthesized list of generic type arguments. - - - The "(" token. - - - The "Of" keyword. - - - A list of all the type arguments. - - - The ")" token. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represent a Yield statement. - - - The "Yield" keyword. - - - The expression whose value is being yielded. - - - - - Represent a Await expression. - - - The "Await" keyword. - - - The expression being awaited. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - A representing the specific kind of XmlTextTokenSyntax. - One of XmlTextLiteralToken, XmlEntityLiteralToken, - DocumentationCommentLineBreakToken. - - - The actual text of this token. - - - - - Represents a Decimal literal token. - - - The actual text of this token. - - - - - Represents an Date literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - The list of tokens that were skipped by the parser. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - A representing the specific kind of SyntaxTrivia. One of - WhitespaceTrivia, EndOfLineTrivia, ColonTrivia, CommentTrivia, - LineContinuationTrivia, DocumentationCommentExteriorTrivia, DisabledTextTrivia. - - - The actual text of this token. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Const" keyword. - - - The name of the pre-processing constant being defined. - - - The "=" token. - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #Else pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End If pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of a #Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Region" keyword. - - - The label of the code region being defined. - - - - - Represents an #End Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "End" keyword. - - - The "Region" keyword. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #r directive appearing in scripts. - - - The "#" token in a preprocessor directive. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - The "#" token in a preprocessor directive. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - - - Returns the ranks of this array rank specifier. - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The comma tokens in the array type. There is one less comma than the rank. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the CommaTokens property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ArrayRankSpecifierSyntax node with the specified changes. - - - The new OpenParenToken to update this ArrayRankSpecifierSyntaxSyntax node with. - If not specified the current OpenParenToken will be used in the new - ArrayRankSpecifierSyntax node. - - - The new CommaTokens to update this ArrayRankSpecifierSyntaxSyntax node with. If - not specified the current CommaTokens will be used in the new - ArrayRankSpecifierSyntax node. - - - The new CloseParenToken to update this ArrayRankSpecifierSyntaxSyntax node - with. If not specified the current CloseParenToken will be used in the new - ArrayRankSpecifierSyntax node. - - - - - Represents an entire source file of VB code. - - - - - Returns #r directives specified in the compilation. - - - - - Represents the list of Option statements at the beginning of a source file. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Options property - - - Returns a new node with the property set - - - - - Represents the list of Imports statements at the beginning of a source file. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Imports] property - - - Returns a new node with the property set - - - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Attributes property - - - Returns a new node with the property set - - - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - Represents the end of the source file. This token may have trivia (whitespace, - comments, ...) attached to it. - - - - - Creates a new node and sets the EndOfFileToken property - - - Returns a new node with the property set - - - - - Creates a new CompilationUnitSyntax node with the specified changes. - - - The new Options to update this CompilationUnitSyntaxSyntax node with. If not - specified the current Options will be used in the new CompilationUnitSyntax - node. - - - The new Imports to update this CompilationUnitSyntaxSyntax node with. If not - specified the current Imports will be used in the new CompilationUnitSyntax - node. - - - The new Attributes to update this CompilationUnitSyntaxSyntax node with. If not - specified the current Attributes will be used in the new CompilationUnitSyntax - node. - - - The new Members to update this CompilationUnitSyntaxSyntax node with. If not - specified the current Members will be used in the new CompilationUnitSyntax - node. - - - The new EndOfFileToken to update this CompilationUnitSyntaxSyntax node with. If - not specified the current EndOfFileToken will be used in the new - CompilationUnitSyntax node. - - - - - Represents a pre-processing directive (such as #If, #Const or #Region) - appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Abstract node class that represents a name, possibly include generic arguments - and qualified names. - - - - - Abstract class that represent structured trivia. - - - - - Creates a Syntax Formatter visitor - - The whitespace to indent with - Whether to use elastic trivia or not - Whether to rewrite keywords in default casing or not - - - - - indentation depth is the declaration depth for statements within the block. for start/end statements - of these blocks (e.g. the if statement), it is a level less - - - - - We each element of option, imports and attributes on a separate line, where the last element of this the list if - followed by an empty line: - Option Strict On - - Imports System - Imports Foo - - [...] - - Namespace - [...] - - - - - Add an empty line after the begin, except the first member is a nested namespace. - Separate each member of a namespace with an empty line. - - - - - We want to display type blocks (Modules, Classes, Structures and Interfaces) like follows - Class Foo - implements IBar1, IBar2 - implements IBar3 - inherits Bar1 - - Public Sub Boo() - End Sub - End Class - - or - - Class Foo - - Public Sub Boo() - End Sub - End Class - - Basically it's an empty line between implements and inherits and between each member. If there are no - inherits or implements, add an empty line before the first member. - - - - - Each statement and the begin will be displayed on a separate line. No empty lines. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Content property - - - Returns a new node with the property set - - - - - Creates a new DocumentationCommentTriviaSyntax node with the specified changes. - - - The new Content to update this DocumentationCommentTriviaSyntaxSyntax node - with. If not specified the current Content will be used in the new - DocumentationCommentTriviaSyntax node. - - - - - Represents a single line lambda expression. - - - - - Single line subs only have a single statement. However, when binding it is convenient to have a statement list. For example, - dim statements are not valid in a single line lambda. However, it is nice to be able to provide semantic info about the local. - The only way to create locals is to have a statement list. This method is friend because the statement list should not be part - of the public api. - - - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Creates a new node and sets the Body property - - - Returns a new node with the property set - - - - - Creates a new SingleLineLambdaExpressionSyntax node with the specified changes. - - - The new kind to update this SingleLineLambdaExpressionSyntaxSyntax node with. - - - The new Begin to update this SingleLineLambdaExpressionSyntaxSyntax node with. - If not specified the current Begin will be used in the new - SingleLineLambdaExpressionSyntax node. - - - The new Body to update this SingleLineLambdaExpressionSyntaxSyntax node with. - If not specified the current Body will be used in the new - SingleLineLambdaExpressionSyntax node. - - - - - An abstract node class that is the parent for declarations that are - "method-like"; i.e., that have a parameter list and return type. This includes - methods, constructors, properties, events, operators, declares, delegates, - property accessors and custom event accessors. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Abstract class for the beginning statement of a Module, Class, Interface or - Structure declaration. This node always appears as the Begin of a TypeBlock - with Kind=ModuleDeclarationBlock, ClassDeclarationBlock, - InterfaceDeclarationBlock or StructureDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - The name of the type being declared. - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Adds VB specific parts to the line directive map - - - - - - Represents one of the type characters or literal suffixes of VB. Used to - describe a) the type character suffixes that can be placed on identifers, and - b) the suffixes that can be placed on integer literals. - - - - - The "%" type character." - - - - - The "&" type character." - - - - - The "@" type character." - - - - - The "!" type character." - - - - - The "#" type character." - - - - - The "$" type character." - - - - - The "S" literal suffix denoting "Short" - - - - - The "US" literal suffix denoting "UShort" - - - - - The "I" literal suffix denoting "Integer" - - - - - The "UI" literal suffix denoting "UInteger" - - - - - The "L" literal suffix denoting "Long" - - - - - The "UL" literal suffix denoting "ULong" - - - - - The "F" literal suffix denoting "Single" - - - - - The "R" literal suffix denoting "Double" - - - - - The "D" literal suffix denoting "Decimal" - - - - - The three possible number bases that a literal can be written in. - - - - - The base class for all nodes that represent statements. This includes both - declaration statements, such as class declarations as well as executable - statements. - - - - - The base class for all nodes that represent executable statements. - - - - - The base class for all nodes that represent statements that declare options, - imports, members, etc. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - - - An empty token because all non terminals must have a token. - - - - - Creates a new node and sets the Empty property - - - Returns a new node with the property set - - - - - Creates a new EmptyStatementSyntax node with the specified changes. - - - The new Empty to update this EmptyStatementSyntaxSyntax node with. If not - specified the current Empty will be used in the new EmptyStatementSyntax node. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - The "End" keyword - - - - - Creates a new node and sets the EndKeyword property - - - Returns a new node with the property set - - - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Creates a new node and sets the BlockKeyword property - - - Returns a new node with the property set - - - - - Creates a new EndBlockStatementSyntax node with the specified changes. - - - The new kind to update this EndBlockStatementSyntaxSyntax node with. - - - The new EndKeyword to update this EndBlockStatementSyntaxSyntax node with. If - not specified the current EndKeyword will be used in the new - EndBlockStatementSyntax node. - - - The new BlockKeyword to update this EndBlockStatementSyntaxSyntax node with. If - not specified the current BlockKeyword will be used in the new - EndBlockStatementSyntax node. - - - - - Represents an Option statement, such as "Option Strict On". - - - - - The "Option" keyword. - - - - - Creates a new node and sets the OptionKeyword property - - - Returns a new node with the property set - - - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - - - Creates a new node and sets the NameKeyword property - - - Returns a new node with the property set - - - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ValueKeyword property - - - Returns a new node with the property set - - - - - Creates a new OptionStatementSyntax node with the specified changes. - - - The new OptionKeyword to update this OptionStatementSyntaxSyntax node with. If - not specified the current OptionKeyword will be used in the new - OptionStatementSyntax node. - - - The new NameKeyword to update this OptionStatementSyntaxSyntax node with. If - not specified the current NameKeyword will be used in the new - OptionStatementSyntax node. - - - The new ValueKeyword to update this OptionStatementSyntaxSyntax node with. If - not specified the current ValueKeyword will be used in the new - OptionStatementSyntax node. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - - - The "Imports" keyword. - - - - - Creates a new node and sets the ImportsKeyword property - - - Returns a new node with the property set - - - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the ImportsClauses property - - - Returns a new node with the property set - - - - - Creates a new ImportsStatementSyntax node with the specified changes. - - - The new ImportsKeyword to update this ImportsStatementSyntaxSyntax node with. - If not specified the current ImportsKeyword will be used in the new - ImportsStatementSyntax node. - - - The new ImportsClauses to update this ImportsStatementSyntaxSyntax node with. - If not specified the current ImportsClauses will be used in the new - ImportsStatementSyntax node. - - - - - The base class for the possible clauses of an Imports statement. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - - - The identifier that the alias is being defined for. - - - - - Creates a new node and sets the [Alias] property - - - Returns a new node with the property set - - - - - The equals sign token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - The namespace or type the alias refers to. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new AliasImportsClauseSyntax node with the specified changes. - - - The new Alias to update this AliasImportsClauseSyntaxSyntax node with. If not - specified the current Alias will be used in the new AliasImportsClauseSyntax - node. - - - The new EqualsToken to update this AliasImportsClauseSyntaxSyntax node with. If - not specified the current EqualsToken will be used in the new - AliasImportsClauseSyntax node. - - - The new Name to update this AliasImportsClauseSyntaxSyntax node with. If not - specified the current Name will be used in the new AliasImportsClauseSyntax - node. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - - - The namespace or type being imported. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new MembersImportsClauseSyntax node with the specified changes. - - - The new Name to update this MembersImportsClauseSyntaxSyntax node with. If not - specified the current Name will be used in the new MembersImportsClauseSyntax - node. - - - - - Defines a XML namespace for XML expressions. - - - - - Creates a new node and sets the LessThanToken property - - - Returns a new node with the property set - - - - - Identifies the XML namespace alias and URI. - - - - - Creates a new node and sets the XmlNamespace property - - - Returns a new node with the property set - - - - - Creates a new node and sets the GreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlNamespaceImportsClauseSyntax node with the specified changes. - - - The new LessThanToken to update this XmlNamespaceImportsClauseSyntaxSyntax node - with. If not specified the current LessThanToken will be used in the new - XmlNamespaceImportsClauseSyntax node. - - - The new XmlNamespace to update this XmlNamespaceImportsClauseSyntaxSyntax node - with. If not specified the current XmlNamespace will be used in the new - XmlNamespaceImportsClauseSyntax node. - - - The new GreaterThanToken to update this XmlNamespaceImportsClauseSyntaxSyntax - node with. If not specified the current GreaterThanToken will be used in the - new XmlNamespaceImportsClauseSyntax node. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - - - The statement that begins the NamespaceBlock. - - - - - Creates a new node and sets the NamespaceStatement property - - - Returns a new node with the property set - - - - - The declarations contained in the namespace statement. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End Namespace statement that ends the block. - - - - - Creates a new node and sets the EndNamespaceStatement property - - - Returns a new node with the property set - - - - - Creates a new NamespaceBlockSyntax node with the specified changes. - - - The new NamespaceStatement to update this NamespaceBlockSyntaxSyntax node with. - If not specified the current NamespaceStatement will be used in the new - NamespaceBlockSyntax node. - - - The new Members to update this NamespaceBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new NamespaceBlockSyntax - node. - - - The new EndNamespaceStatement to update this NamespaceBlockSyntaxSyntax node - with. If not specified the current EndNamespaceStatement will be used in the - new NamespaceBlockSyntax node. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - - - The "Namespace" keyword. - - - - - Creates a new node and sets the NamespaceKeyword property - - - Returns a new node with the property set - - - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new NamespaceStatementSyntax node with the specified changes. - - - The new NamespaceKeyword to update this NamespaceStatementSyntaxSyntax node - with. If not specified the current NamespaceKeyword will be used in the new - NamespaceStatementSyntax node. - - - The new Name to update this NamespaceStatementSyntaxSyntax node with. If not - specified the current Name will be used in the new NamespaceStatementSyntax - node. - - - - - Represents a declaration of a Class, Interface, Structure, Module, its contents - and the End statement that ends it. - - - - - The statement that begins the type or module. - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - The End XXX statement that ends the block. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - - - The statement that begins the type or module. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Inherits] property - - - Returns a new node with the property set - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Implements] property - - - Returns a new node with the property set - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new ModuleBlockSyntax node with the specified changes. - - - The new Begin to update this ModuleBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new ModuleBlockSyntax node. - - - The new Inherits to update this ModuleBlockSyntaxSyntax node with. If not - specified the current Inherits will be used in the new ModuleBlockSyntax node. - - - The new Implements to update this ModuleBlockSyntaxSyntax node with. If not - specified the current Implements will be used in the new ModuleBlockSyntax - node. - - - The new Members to update this ModuleBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new ModuleBlockSyntax node. - - - The new End to update this ModuleBlockSyntaxSyntax node with. If not specified - the current End will be used in the new ModuleBlockSyntax node. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - - - The statement that begins the type or module. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Inherits] property - - - Returns a new node with the property set - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Implements] property - - - Returns a new node with the property set - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new StructureBlockSyntax node with the specified changes. - - - The new Begin to update this StructureBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new StructureBlockSyntax node. - - - The new Inherits to update this StructureBlockSyntaxSyntax node with. If not - specified the current Inherits will be used in the new StructureBlockSyntax - node. - - - The new Implements to update this StructureBlockSyntaxSyntax node with. If not - specified the current Implements will be used in the new StructureBlockSyntax - node. - - - The new Members to update this StructureBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new StructureBlockSyntax - node. - - - The new End to update this StructureBlockSyntaxSyntax node with. If not - specified the current End will be used in the new StructureBlockSyntax node. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - - - The statement that begins the type or module. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Inherits] property - - - Returns a new node with the property set - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Implements] property - - - Returns a new node with the property set - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new InterfaceBlockSyntax node with the specified changes. - - - The new Begin to update this InterfaceBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new InterfaceBlockSyntax node. - - - The new Inherits to update this InterfaceBlockSyntaxSyntax node with. If not - specified the current Inherits will be used in the new InterfaceBlockSyntax - node. - - - The new Implements to update this InterfaceBlockSyntaxSyntax node with. If not - specified the current Implements will be used in the new InterfaceBlockSyntax - node. - - - The new Members to update this InterfaceBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new InterfaceBlockSyntax - node. - - - The new End to update this InterfaceBlockSyntaxSyntax node with. If not - specified the current End will be used in the new InterfaceBlockSyntax node. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - - - The statement that begins the type or module. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - A list of the Inherits declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Inherits] property - - - Returns a new node with the property set - - - - - A list of the Implements declarations for the type. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the [Implements] property - - - Returns a new node with the property set - - - - - The declarations contained in the type or module. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new ClassBlockSyntax node with the specified changes. - - - The new Begin to update this ClassBlockSyntaxSyntax node with. If not specified - the current Begin will be used in the new ClassBlockSyntax node. - - - The new Inherits to update this ClassBlockSyntaxSyntax node with. If not - specified the current Inherits will be used in the new ClassBlockSyntax node. - - - The new Implements to update this ClassBlockSyntaxSyntax node with. If not - specified the current Implements will be used in the new ClassBlockSyntax node. - - - The new Members to update this ClassBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new ClassBlockSyntax node. - - - The new End to update this ClassBlockSyntaxSyntax node with. If not specified - the current End will be used in the new ClassBlockSyntax node. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - - - The statement that begins the type or module. - - - - - Creates a new node and sets the EnumStatement property - - - Returns a new node with the property set - - - - - The declarations contained in the enumeration. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Members property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block. - - - - - Creates a new node and sets the EndEnumStatement property - - - Returns a new node with the property set - - - - - Creates a new EnumBlockSyntax node with the specified changes. - - - The new EnumStatement to update this EnumBlockSyntaxSyntax node with. If not - specified the current EnumStatement will be used in the new EnumBlockSyntax - node. - - - The new Members to update this EnumBlockSyntaxSyntax node with. If not - specified the current Members will be used in the new EnumBlockSyntax node. - - - The new EndEnumStatement to update this EnumBlockSyntaxSyntax node with. If not - specified the current EndEnumStatement will be used in the new EnumBlockSyntax - node. - - - - - Represents an Inherits or Implements statement in a Class, Structure or - Interface. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - - - The "Inherits" keyword. - - - - - Creates a new node and sets the InheritsKeyword property - - - Returns a new node with the property set - - - - - A list of the types being inherited. - - - - - Creates a new node and sets the Types property - - - Returns a new node with the property set - - - - - Creates a new InheritsStatementSyntax node with the specified changes. - - - The new InheritsKeyword to update this InheritsStatementSyntaxSyntax node with. - If not specified the current InheritsKeyword will be used in the new - InheritsStatementSyntax node. - - - The new Types to update this InheritsStatementSyntaxSyntax node with. If not - specified the current Types will be used in the new InheritsStatementSyntax - node. - - - - - Represents an Implements statement in a Class or Structure. - - - - - The "Implements" keyword. - - - - - Creates a new node and sets the ImplementsKeyword property - - - Returns a new node with the property set - - - - - A list of the types being implemented. - - - - - Creates a new node and sets the Types property - - - Returns a new node with the property set - - - - - Creates a new ImplementsStatementSyntax node with the specified changes. - - - The new ImplementsKeyword to update this ImplementsStatementSyntaxSyntax node - with. If not specified the current ImplementsKeyword will be used in the new - ImplementsStatementSyntax node. - - - The new Types to update this ImplementsStatementSyntaxSyntax node with. If not - specified the current Types will be used in the new ImplementsStatementSyntax - node. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the type being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - Creates a new ModuleStatementSyntax node with the specified changes. - - - The new AttributeLists to update this ModuleStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - ModuleStatementSyntax node. - - - The new Modifiers to update this ModuleStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new ModuleStatementSyntax - node. - - - The new Keyword to update this ModuleStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new ModuleStatementSyntax - node. - - - The new Identifier to update this ModuleStatementSyntaxSyntax node with. If not - specified the current Identifier will be used in the new ModuleStatementSyntax - node. - - - The new TypeParameterList to update this ModuleStatementSyntaxSyntax node with. - If not specified the current TypeParameterList will be used in the new - ModuleStatementSyntax node. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the type being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - Creates a new StructureStatementSyntax node with the specified changes. - - - The new AttributeLists to update this StructureStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - StructureStatementSyntax node. - - - The new Modifiers to update this StructureStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - StructureStatementSyntax node. - - - The new Keyword to update this StructureStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new StructureStatementSyntax - node. - - - The new Identifier to update this StructureStatementSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - StructureStatementSyntax node. - - - The new TypeParameterList to update this StructureStatementSyntaxSyntax node - with. If not specified the current TypeParameterList will be used in the new - StructureStatementSyntax node. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the type being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - Creates a new InterfaceStatementSyntax node with the specified changes. - - - The new AttributeLists to update this InterfaceStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - InterfaceStatementSyntax node. - - - The new Modifiers to update this InterfaceStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - InterfaceStatementSyntax node. - - - The new Keyword to update this InterfaceStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new InterfaceStatementSyntax - node. - - - The new Identifier to update this InterfaceStatementSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - InterfaceStatementSyntax node. - - - The new TypeParameterList to update this InterfaceStatementSyntaxSyntax node - with. If not specified the current TypeParameterList will be used in the new - InterfaceStatementSyntax node. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the type being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - Creates a new ClassStatementSyntax node with the specified changes. - - - The new AttributeLists to update this ClassStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - ClassStatementSyntax node. - - - The new Modifiers to update this ClassStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new ClassStatementSyntax - node. - - - The new Keyword to update this ClassStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new ClassStatementSyntax - node. - - - The new Identifier to update this ClassStatementSyntaxSyntax node with. If not - specified the current Identifier will be used in the new ClassStatementSyntax - node. - - - The new TypeParameterList to update this ClassStatementSyntaxSyntax node with. - If not specified the current TypeParameterList will be used in the new - ClassStatementSyntax node. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Enum" keyword. - - - - - Creates a new node and sets the EnumKeyword property - - - Returns a new node with the property set - - - - - The name of the enum being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the UnderlyingType property - - - Returns a new node with the property set - - - - - Creates a new EnumStatementSyntax node with the specified changes. - - - The new AttributeLists to update this EnumStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - EnumStatementSyntax node. - - - The new Modifiers to update this EnumStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new EnumStatementSyntax - node. - - - The new EnumKeyword to update this EnumStatementSyntaxSyntax node with. If not - specified the current EnumKeyword will be used in the new EnumStatementSyntax - node. - - - The new Identifier to update this EnumStatementSyntaxSyntax node with. If not - specified the current Identifier will be used in the new EnumStatementSyntax - node. - - - The new UnderlyingType to update this EnumStatementSyntaxSyntax node with. If - not specified the current UnderlyingType will be used in the new - EnumStatementSyntax node. - - - - - Represents the type parameter list in a declaration. - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The "Of" keyword. - - - - - Creates a new node and sets the OfKeyword property - - - Returns a new node with the property set - - - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - - - Creates a new node and sets the Parameters property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new TypeParameterListSyntax node with the specified changes. - - - The new OpenParenToken to update this TypeParameterListSyntaxSyntax node with. - If not specified the current OpenParenToken will be used in the new - TypeParameterListSyntax node. - - - The new OfKeyword to update this TypeParameterListSyntaxSyntax node with. If - not specified the current OfKeyword will be used in the new - TypeParameterListSyntax node. - - - The new Parameters to update this TypeParameterListSyntaxSyntax node with. If - not specified the current Parameters will be used in the new - TypeParameterListSyntax node. - - - The new CloseParenToken to update this TypeParameterListSyntaxSyntax node with. - If not specified the current CloseParenToken will be used in the new - TypeParameterListSyntax node. - - - - - Represents a type parameter on a generic type declaration. - - - - - Represents the "In" or "Out" variance keyword on a type parameter, if present. - If no variance modifier was present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the VarianceKeyword property - - - Returns a new node with the property set - - - - - The name of the type parameter - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterConstraintClause property - - - Returns a new node with the property set - - - - - Creates a new TypeParameterSyntax node with the specified changes. - - - The new VarianceKeyword to update this TypeParameterSyntaxSyntax node with. If - not specified the current VarianceKeyword will be used in the new - TypeParameterSyntax node. - - - The new Identifier to update this TypeParameterSyntaxSyntax node with. If not - specified the current Identifier will be used in the new TypeParameterSyntax - node. - - - The new TypeParameterConstraintClause to update this TypeParameterSyntaxSyntax - node with. If not specified the current TypeParameterConstraintClause will be - used in the new TypeParameterSyntax node. - - - - - An abstract node class that is the parent of classes that describe type - parameter constraint clauses. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - - - Creates a new node and sets the AsKeyword property - - - Returns a new node with the property set - - - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - Creates a new node and sets the Constraint property - - - Returns a new node with the property set - - - - - Creates a new TypeParameterSingleConstraintClauseSyntax node with the specified - changes. - - - The new AsKeyword to update this - TypeParameterSingleConstraintClauseSyntaxSyntax node with. If not specified the - current AsKeyword will be used in the new - TypeParameterSingleConstraintClauseSyntax node. - - - The new Constraint to update this - TypeParameterSingleConstraintClauseSyntaxSyntax node with. If not specified the - current Constraint will be used in the new - TypeParameterSingleConstraintClauseSyntax node. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - - - The "As" keyword. - - - - - Creates a new node and sets the AsKeyword property - - - Returns a new node with the property set - - - - - The "{" token. - - - - - Creates a new node and sets the OpenBraceToken property - - - Returns a new node with the property set - - - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - - - Creates a new node and sets the Constraints property - - - Returns a new node with the property set - - - - - The "}" token. - - - - - Creates a new node and sets the CloseBraceToken property - - - Returns a new node with the property set - - - - - Creates a new TypeParameterMultipleConstraintClauseSyntax node with the - specified changes. - - - The new AsKeyword to update this - TypeParameterMultipleConstraintClauseSyntaxSyntax node with. If not specified - the current AsKeyword will be used in the new - TypeParameterMultipleConstraintClauseSyntax node. - - - The new OpenBraceToken to update this - TypeParameterMultipleConstraintClauseSyntaxSyntax node with. If not specified - the current OpenBraceToken will be used in the new - TypeParameterMultipleConstraintClauseSyntax node. - - - The new Constraints to update this - TypeParameterMultipleConstraintClauseSyntaxSyntax node with. If not specified - the current Constraints will be used in the new - TypeParameterMultipleConstraintClauseSyntax node. - - - The new CloseBraceToken to update this - TypeParameterMultipleConstraintClauseSyntaxSyntax node with. If not specified - the current CloseBraceToken will be used in the new - TypeParameterMultipleConstraintClauseSyntax node. - - - - - An abstract node class that is the parent of classes that describe type - parameter constraints. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - Creates a new node and sets the ConstraintKeyword property - - - Returns a new node with the property set - - - - - Creates a new SpecialConstraintSyntax node with the specified changes. - - - The new kind to update this SpecialConstraintSyntaxSyntax node with. - - - The new ConstraintKeyword to update this SpecialConstraintSyntaxSyntax node - with. If not specified the current ConstraintKeyword will be used in the new - SpecialConstraintSyntax node. - - - - - Represents a type parameter constraint that is a type. - - - - - The type describing the constraint. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - Creates a new TypeConstraintSyntax node with the specified changes. - - - The new Type to update this TypeConstraintSyntaxSyntax node with. If not - specified the current Type will be used in the new TypeConstraintSyntax node. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - An optional value for the enum member. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new EnumMemberDeclarationSyntax node with the specified changes. - - - The new AttributeLists to update this EnumMemberDeclarationSyntaxSyntax node - with. If not specified the current AttributeLists will be used in the new - EnumMemberDeclarationSyntax node. - - - The new Identifier to update this EnumMemberDeclarationSyntaxSyntax node with. - If not specified the current Identifier will be used in the new - EnumMemberDeclarationSyntax node. - - - The new Initializer to update this EnumMemberDeclarationSyntaxSyntax node with. - If not specified the current Initializer will be used in the new - EnumMemberDeclarationSyntax node. - - - - - Represents a block member declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. Examples - include methods, constructors, operators, property accessors and custom event - accessors. - - - - - The declaration that begins the block. - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - The declaration that begins the block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block declaration. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new MethodBlockSyntax node with the specified changes. - - - The new kind to update this MethodBlockSyntaxSyntax node with. - - - The new Begin to update this MethodBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new MethodBlockSyntax node. - - - The new Statements to update this MethodBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new MethodBlockSyntax - node. - - - The new End to update this MethodBlockSyntaxSyntax node with. If not specified - the current End will be used in the new MethodBlockSyntax node. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - - - The declaration that begins the block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block declaration. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new ConstructorBlockSyntax node with the specified changes. - - - The new Begin to update this ConstructorBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new ConstructorBlockSyntax - node. - - - The new Statements to update this ConstructorBlockSyntaxSyntax node with. If - not specified the current Statements will be used in the new - ConstructorBlockSyntax node. - - - The new End to update this ConstructorBlockSyntaxSyntax node with. If not - specified the current End will be used in the new ConstructorBlockSyntax node. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - The declaration that begins the block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block declaration. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new OperatorBlockSyntax node with the specified changes. - - - The new Begin to update this OperatorBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new OperatorBlockSyntax node. - - - The new Statements to update this OperatorBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new OperatorBlockSyntax - node. - - - The new End to update this OperatorBlockSyntaxSyntax node with. If not - specified the current End will be used in the new OperatorBlockSyntax node. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - The declaration that begins the block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End XXX statement that ends the block declaration. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new AccessorBlockSyntax node with the specified changes. - - - The new kind to update this AccessorBlockSyntaxSyntax node with. - - - The new Begin to update this AccessorBlockSyntaxSyntax node with. If not - specified the current Begin will be used in the new AccessorBlockSyntax node. - - - The new Statements to update this AccessorBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new AccessorBlockSyntax - node. - - - The new End to update this AccessorBlockSyntaxSyntax node with. If not - specified the current End will be used in the new AccessorBlockSyntax node. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - - - The property declaration that begins the block. - - - - - Creates a new node and sets the PropertyStatement property - - - Returns a new node with the property set - - - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - - - Creates a new node and sets the Accessors property - - - Returns a new node with the property set - - - - - The End Property statement that ends the block. - - - - - Creates a new node and sets the EndPropertyStatement property - - - Returns a new node with the property set - - - - - Creates a new PropertyBlockSyntax node with the specified changes. - - - The new PropertyStatement to update this PropertyBlockSyntaxSyntax node with. - If not specified the current PropertyStatement will be used in the new - PropertyBlockSyntax node. - - - The new Accessors to update this PropertyBlockSyntaxSyntax node with. If not - specified the current Accessors will be used in the new PropertyBlockSyntax - node. - - - The new EndPropertyStatement to update this PropertyBlockSyntaxSyntax node - with. If not specified the current EndPropertyStatement will be used in the new - PropertyBlockSyntax node. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - - - The event declaration that begins the block. - - - - - Creates a new node and sets the EventStatement property - - - Returns a new node with the property set - - - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - - - Creates a new node and sets the Accessors property - - - Returns a new node with the property set - - - - - The End Event statement that ends the block. - - - - - Creates a new node and sets the EndEventStatement property - - - Returns a new node with the property set - - - - - Creates a new EventBlockSyntax node with the specified changes. - - - The new EventStatement to update this EventBlockSyntaxSyntax node with. If not - specified the current EventStatement will be used in the new EventBlockSyntax - node. - - - The new Accessors to update this EventBlockSyntaxSyntax node with. If not - specified the current Accessors will be used in the new EventBlockSyntax node. - - - The new EndEventStatement to update this EventBlockSyntaxSyntax node with. If - not specified the current EndEventStatement will be used in the new - EventBlockSyntax node. - - - - - Represents the parameter list in a method declaration. - - - - - The "(" token that introduces the parameter list. If no parameter list was - present, Nothing is returned. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Parameters property - - - Returns a new node with the property set - - - - - The ")" token that concludes the parameter list. If no parameter list was - present, Nothing is returned. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ParameterListSyntax node with the specified changes. - - - The new OpenParenToken to update this ParameterListSyntaxSyntax node with. If - not specified the current OpenParenToken will be used in the new - ParameterListSyntax node. - - - The new Parameters to update this ParameterListSyntaxSyntax node with. If not - specified the current Parameters will be used in the new ParameterListSyntax - node. - - - The new CloseParenToken to update this ParameterListSyntaxSyntax node with. If - not specified the current CloseParenToken will be used in the new - ParameterListSyntax node. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the method being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - If present, a Handles clause indicated the events that this method handles. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the HandlesClause property - - - Returns a new node with the property set - - - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ImplementsClause property - - - Returns a new node with the property set - - - - - Creates a new MethodStatementSyntax node with the specified changes. - - - The new kind to update this MethodStatementSyntaxSyntax node with. - - - The new AttributeLists to update this MethodStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - MethodStatementSyntax node. - - - The new Modifiers to update this MethodStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new MethodStatementSyntax - node. - - - The new Keyword to update this MethodStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new MethodStatementSyntax - node. - - - The new Identifier to update this MethodStatementSyntaxSyntax node with. If not - specified the current Identifier will be used in the new MethodStatementSyntax - node. - - - The new TypeParameterList to update this MethodStatementSyntaxSyntax node with. - If not specified the current TypeParameterList will be used in the new - MethodStatementSyntax node. - - - The new ParameterList to update this MethodStatementSyntaxSyntax node with. If - not specified the current ParameterList will be used in the new - MethodStatementSyntax node. - - - The new AsClause to update this MethodStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new MethodStatementSyntax - node. - - - The new HandlesClause to update this MethodStatementSyntaxSyntax node with. If - not specified the current HandlesClause will be used in the new - MethodStatementSyntax node. - - - The new ImplementsClause to update this MethodStatementSyntaxSyntax node with. - If not specified the current ImplementsClause will be used in the new - MethodStatementSyntax node. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The "New" keyword in the constructor declaration. - - - - - Creates a new node and sets the NewKeyword property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - Creates a new SubNewStatementSyntax node with the specified changes. - - - The new AttributeLists to update this SubNewStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - SubNewStatementSyntax node. - - - The new Modifiers to update this SubNewStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new SubNewStatementSyntax - node. - - - The new Keyword to update this SubNewStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new SubNewStatementSyntax - node. - - - The new NewKeyword to update this SubNewStatementSyntaxSyntax node with. If not - specified the current NewKeyword will be used in the new SubNewStatementSyntax - node. - - - The new ParameterList to update this SubNewStatementSyntaxSyntax node with. If - not specified the current ParameterList will be used in the new - SubNewStatementSyntax node. - - - - - A Declare statement that declares an external DLL method. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Declare" keyword. - - - - - Creates a new node and sets the DeclareKeyword property - - - Returns a new node with the property set - - - - - If present, the keyword that defines the string translation semantics of the - external method. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the CharsetKeyword property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the method being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The "Lib" keyword. - - - - - Creates a new node and sets the LibKeyword property - - - Returns a new node with the property set - - - - - The string literal with the library name. - - - - - Creates a new node and sets the LibraryName property - - - Returns a new node with the property set - - - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AliasKeyword property - - - Returns a new node with the property set - - - - - The string literal with the alias. If not present, returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AliasName property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - Creates a new DeclareStatementSyntax node with the specified changes. - - - The new kind to update this DeclareStatementSyntaxSyntax node with. - - - The new AttributeLists to update this DeclareStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - DeclareStatementSyntax node. - - - The new Modifiers to update this DeclareStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new DeclareStatementSyntax - node. - - - The new DeclareKeyword to update this DeclareStatementSyntaxSyntax node with. - If not specified the current DeclareKeyword will be used in the new - DeclareStatementSyntax node. - - - The new CharsetKeyword to update this DeclareStatementSyntaxSyntax node with. - If not specified the current CharsetKeyword will be used in the new - DeclareStatementSyntax node. - - - The new Keyword to update this DeclareStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new DeclareStatementSyntax - node. - - - The new Identifier to update this DeclareStatementSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - DeclareStatementSyntax node. - - - The new LibKeyword to update this DeclareStatementSyntaxSyntax node with. If - not specified the current LibKeyword will be used in the new - DeclareStatementSyntax node. - - - The new LibraryName to update this DeclareStatementSyntaxSyntax node with. If - not specified the current LibraryName will be used in the new - DeclareStatementSyntax node. - - - The new AliasKeyword to update this DeclareStatementSyntaxSyntax node with. If - not specified the current AliasKeyword will be used in the new - DeclareStatementSyntax node. - - - The new AliasName to update this DeclareStatementSyntaxSyntax node with. If not - specified the current AliasName will be used in the new DeclareStatementSyntax - node. - - - The new ParameterList to update this DeclareStatementSyntaxSyntax node with. If - not specified the current ParameterList will be used in the new - DeclareStatementSyntax node. - - - The new AsClause to update this DeclareStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new DeclareStatementSyntax - node. - - - - - A statement that declares a delegate type. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The "Delegate" keyword. - - - - - Creates a new node and sets the DelegateKeyword property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the delegate being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the TypeParameterList property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - Creates a new DelegateStatementSyntax node with the specified changes. - - - The new kind to update this DelegateStatementSyntaxSyntax node with. - - - The new AttributeLists to update this DelegateStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - DelegateStatementSyntax node. - - - The new Modifiers to update this DelegateStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - DelegateStatementSyntax node. - - - The new DelegateKeyword to update this DelegateStatementSyntaxSyntax node with. - If not specified the current DelegateKeyword will be used in the new - DelegateStatementSyntax node. - - - The new Keyword to update this DelegateStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new DelegateStatementSyntax - node. - - - The new Identifier to update this DelegateStatementSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - DelegateStatementSyntax node. - - - The new TypeParameterList to update this DelegateStatementSyntaxSyntax node - with. If not specified the current TypeParameterList will be used in the new - DelegateStatementSyntax node. - - - The new ParameterList to update this DelegateStatementSyntaxSyntax node with. - If not specified the current ParameterList will be used in the new - DelegateStatementSyntax node. - - - The new AsClause to update this DelegateStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new DelegateStatementSyntax - node. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The optional Custom keyword for custom event declarations. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the CustomKeyword property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the event being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ImplementsClause property - - - Returns a new node with the property set - - - - - Creates a new EventStatementSyntax node with the specified changes. - - - The new AttributeLists to update this EventStatementSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - EventStatementSyntax node. - - - The new Modifiers to update this EventStatementSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new EventStatementSyntax - node. - - - The new CustomKeyword to update this EventStatementSyntaxSyntax node with. If - not specified the current CustomKeyword will be used in the new - EventStatementSyntax node. - - - The new Keyword to update this EventStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new EventStatementSyntax - node. - - - The new Identifier to update this EventStatementSyntaxSyntax node with. If not - specified the current Identifier will be used in the new EventStatementSyntax - node. - - - The new ParameterList to update this EventStatementSyntaxSyntax node with. If - not specified the current ParameterList will be used in the new - EventStatementSyntax node. - - - The new AsClause to update this EventStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new EventStatementSyntax - node. - - - The new ImplementsClause to update this EventStatementSyntaxSyntax node with. - If not specified the current ImplementsClause will be used in the new - EventStatementSyntax node. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The operator being defined. - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - Creates a new OperatorStatementSyntax node with the specified changes. - - - The new AttributeLists to update this OperatorStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - OperatorStatementSyntax node. - - - The new Modifiers to update this OperatorStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - OperatorStatementSyntax node. - - - The new Keyword to update this OperatorStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new OperatorStatementSyntax - node. - - - The new OperatorToken to update this OperatorStatementSyntaxSyntax node with. - If not specified the current OperatorToken will be used in the new - OperatorStatementSyntax node. - - - The new ParameterList to update this OperatorStatementSyntaxSyntax node with. - If not specified the current ParameterList will be used in the new - OperatorStatementSyntax node. - - - The new AsClause to update this OperatorStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new OperatorStatementSyntax - node. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The name of the property being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ImplementsClause property - - - Returns a new node with the property set - - - - - Creates a new PropertyStatementSyntax node with the specified changes. - - - The new AttributeLists to update this PropertyStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - PropertyStatementSyntax node. - - - The new Modifiers to update this PropertyStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - PropertyStatementSyntax node. - - - The new Keyword to update this PropertyStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new PropertyStatementSyntax - node. - - - The new Identifier to update this PropertyStatementSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - PropertyStatementSyntax node. - - - The new ParameterList to update this PropertyStatementSyntaxSyntax node with. - If not specified the current ParameterList will be used in the new - PropertyStatementSyntax node. - - - The new AsClause to update this PropertyStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new PropertyStatementSyntax - node. - - - The new Initializer to update this PropertyStatementSyntaxSyntax node with. If - not specified the current Initializer will be used in the new - PropertyStatementSyntax node. - - - The new ImplementsClause to update this PropertyStatementSyntaxSyntax node - with. If not specified the current ImplementsClause will be used in the new - PropertyStatementSyntax node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - Creates a new AccessorStatementSyntax node with the specified changes. - - - The new kind to update this AccessorStatementSyntaxSyntax node with. - - - The new AttributeLists to update this AccessorStatementSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - AccessorStatementSyntax node. - - - The new Modifiers to update this AccessorStatementSyntaxSyntax node with. If - not specified the current Modifiers will be used in the new - AccessorStatementSyntax node. - - - The new Keyword to update this AccessorStatementSyntaxSyntax node with. If not - specified the current Keyword will be used in the new AccessorStatementSyntax - node. - - - The new ParameterList to update this AccessorStatementSyntaxSyntax node with. - If not specified the current ParameterList will be used in the new - AccessorStatementSyntax node. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - - - The "Implements" keyword. - - - - - Creates a new node and sets the ImplementsKeyword property - - - Returns a new node with the property set - - - - - The list of interface members being implemented. - - - - - Creates a new node and sets the InterfaceMembers property - - - Returns a new node with the property set - - - - - Creates a new ImplementsClauseSyntax node with the specified changes. - - - The new ImplementsKeyword to update this ImplementsClauseSyntaxSyntax node - with. If not specified the current ImplementsKeyword will be used in the new - ImplementsClauseSyntax node. - - - The new InterfaceMembers to update this ImplementsClauseSyntaxSyntax node with. - If not specified the current InterfaceMembers will be used in the new - ImplementsClauseSyntax node. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - - - The "Handles" keyword. - - - - - Creates a new node and sets the HandlesKeyword property - - - Returns a new node with the property set - - - - - The list of event members being handled. - - - - - Creates a new node and sets the Events property - - - Returns a new node with the property set - - - - - Creates a new HandlesClauseSyntax node with the specified changes. - - - The new HandlesKeyword to update this HandlesClauseSyntaxSyntax node with. If - not specified the current HandlesKeyword will be used in the new - HandlesClauseSyntax node. - - - The new Events to update this HandlesClauseSyntaxSyntax node with. If not - specified the current Events will be used in the new HandlesClauseSyntax node. - - - - - Represents container of an event in a Handles clause item. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - - - The container of the event. This can be one of the special keywords: "Me", - "MyBase" or "MyClass". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new KeywordEventContainerSyntax node with the specified changes. - - - The new Keyword to update this KeywordEventContainerSyntaxSyntax node with. If - not specified the current Keyword will be used in the new - KeywordEventContainerSyntax node. - - - - - Represents event container that refers to a WithEvents member. - - - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - Creates a new WithEventsEventContainerSyntax node with the specified changes. - - - The new Identifier to update this WithEventsEventContainerSyntaxSyntax node - with. If not specified the current Identifier will be used in the new - WithEventsEventContainerSyntax node. - - - - - Represents event container that refers to a WithEvents member's property. - - - - - The container of the event. - - - - - Creates a new node and sets the WithEventsContainer property - - - Returns a new node with the property set - - - - - The "." token. - - - - - Creates a new node and sets the DotToken property - - - Returns a new node with the property set - - - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Creates a new node and sets the [Property] property - - - Returns a new node with the property set - - - - - Creates a new WithEventsPropertyEventContainerSyntax node with the specified - changes. - - - The new WithEventsContainer to update this - WithEventsPropertyEventContainerSyntaxSyntax node with. If not specified the - current WithEventsContainer will be used in the new - WithEventsPropertyEventContainerSyntax node. - - - The new DotToken to update this WithEventsPropertyEventContainerSyntaxSyntax - node with. If not specified the current DotToken will be used in the new - WithEventsPropertyEventContainerSyntax node. - - - The new Property to update this WithEventsPropertyEventContainerSyntaxSyntax - node with. If not specified the current Property will be used in the new - WithEventsPropertyEventContainerSyntax node. - - - - - Represents a single handled event in a "Handles ..." clause. - - - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - - - Creates a new node and sets the EventContainer property - - - Returns a new node with the property set - - - - - The "." token. - - - - - Creates a new node and sets the DotToken property - - - Returns a new node with the property set - - - - - The event being handled. This must be a simple identifier. - - - - - Creates a new node and sets the EventMember property - - - Returns a new node with the property set - - - - - Creates a new HandlesClauseItemSyntax node with the specified changes. - - - The new EventContainer to update this HandlesClauseItemSyntaxSyntax node with. - If not specified the current EventContainer will be used in the new - HandlesClauseItemSyntax node. - - - The new DotToken to update this HandlesClauseItemSyntaxSyntax node with. If not - specified the current DotToken will be used in the new HandlesClauseItemSyntax - node. - - - The new EventMember to update this HandlesClauseItemSyntaxSyntax node with. If - not specified the current EventMember will be used in the new - HandlesClauseItemSyntax node. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The missing identifier token for this incomplete member. Should only be used to - have a location for error reporting. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the MissingIdentifier property - - - Returns a new node with the property set - - - - - Creates a new IncompleteMemberSyntax node with the specified changes. - - - The new AttributeLists to update this IncompleteMemberSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - IncompleteMemberSyntax node. - - - The new Modifiers to update this IncompleteMemberSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new IncompleteMemberSyntax - node. - - - The new MissingIdentifier to update this IncompleteMemberSyntaxSyntax node - with. If not specified the current MissingIdentifier will be used in the new - IncompleteMemberSyntax node. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Creates a new node and sets the Declarators property - - - Returns a new node with the property set - - - - - Creates a new FieldDeclarationSyntax node with the specified changes. - - - The new AttributeLists to update this FieldDeclarationSyntaxSyntax node with. - If not specified the current AttributeLists will be used in the new - FieldDeclarationSyntax node. - - - The new Modifiers to update this FieldDeclarationSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new FieldDeclarationSyntax - node. - - - The new Declarators to update this FieldDeclarationSyntaxSyntax node with. If - not specified the current Declarators will be used in the new - FieldDeclarationSyntax node. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - - - Creates a new node and sets the Names property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type, and possibly includes "New", - "With" or "From". If no As clause was present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - If present, an "= initial-value" clause describing the initial value of the - variable or the value of the constant. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new VariableDeclaratorSyntax node with the specified changes. - - - The new Names to update this VariableDeclaratorSyntaxSyntax node with. If not - specified the current Names will be used in the new VariableDeclaratorSyntax - node. - - - The new AsClause to update this VariableDeclaratorSyntaxSyntax node with. If - not specified the current AsClause will be used in the new - VariableDeclaratorSyntax node. - - - The new Initializer to update this VariableDeclaratorSyntaxSyntax node with. If - not specified the current Initializer will be used in the new - VariableDeclaratorSyntax node. - - - - - Abstract node class that represents the different kinds of "As {type-name}" - clauses in a declaration: simple "As" clauses and "As New" clauses. The type - has optional attributes associated with it, although attributes are not - permitted in all possible places where this node occurs. - - - - - The "As" keyword. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - - - The "As" keyword. - - - - - Creates a new node and sets the AsKeyword property - - - Returns a new node with the property set - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - The type-name part of the As clause. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - Creates a new SimpleAsClauseSyntax node with the specified changes. - - - The new AsKeyword to update this SimpleAsClauseSyntaxSyntax node with. If not - specified the current AsKeyword will be used in the new SimpleAsClauseSyntax - node. - - - The new AttributeLists to update this SimpleAsClauseSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - SimpleAsClauseSyntax node. - - - The new Type to update this SimpleAsClauseSyntaxSyntax node with. If not - specified the current Type will be used in the new SimpleAsClauseSyntax node. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - - - The "As" keyword. - - - - - Creates a new node and sets the AsKeyword property - - - Returns a new node with the property set - - - - - The New expression - - - - - Creates a new node and sets the NewExpression property - - - Returns a new node with the property set - - - - - Creates a new AsNewClauseSyntax node with the specified changes. - - - The new AsKeyword to update this AsNewClauseSyntaxSyntax node with. If not - specified the current AsKeyword will be used in the new AsNewClauseSyntax node. - - - The new NewExpression to update this AsNewClauseSyntaxSyntax node with. If not - specified the current NewExpression will be used in the new AsNewClauseSyntax - node. - - - - - An abstract node class that represents a "With" or "From" clause used to - initializer an new object. - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - - - The "With" keyword. - - - - - Creates a new node and sets the WithKeyword property - - - Returns a new node with the property set - - - - - The "{" token. - - - - - Creates a new node and sets the OpenBraceToken property - - - Returns a new node with the property set - - - - - The comma-separated list of field initializers. - - - - - Creates a new node and sets the Initializers property - - - Returns a new node with the property set - - - - - The "}" token. - - - - - Creates a new node and sets the CloseBraceToken property - - - Returns a new node with the property set - - - - - Creates a new ObjectMemberInitializerSyntax node with the specified changes. - - - The new WithKeyword to update this ObjectMemberInitializerSyntaxSyntax node - with. If not specified the current WithKeyword will be used in the new - ObjectMemberInitializerSyntax node. - - - The new OpenBraceToken to update this ObjectMemberInitializerSyntaxSyntax node - with. If not specified the current OpenBraceToken will be used in the new - ObjectMemberInitializerSyntax node. - - - The new Initializers to update this ObjectMemberInitializerSyntaxSyntax node - with. If not specified the current Initializers will be used in the new - ObjectMemberInitializerSyntax node. - - - The new CloseBraceToken to update this ObjectMemberInitializerSyntaxSyntax node - with. If not specified the current CloseBraceToken will be used in the new - ObjectMemberInitializerSyntax node. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - - - The "From" keyword. - - - - - Creates a new node and sets the FromKeyword property - - - Returns a new node with the property set - - - - - The initializer including the braces. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new ObjectCollectionInitializerSyntax node with the specified - changes. - - - The new FromKeyword to update this ObjectCollectionInitializerSyntaxSyntax node - with. If not specified the current FromKeyword will be used in the new - ObjectCollectionInitializerSyntax node. - - - The new Initializer to update this ObjectCollectionInitializerSyntaxSyntax node - with. If not specified the current Initializer will be used in the new - ObjectCollectionInitializerSyntax node. - - - - - Abstract class that represent a single field initializer used in a "With {...}" - field initializer list. - - - - - The optional "Key" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - - - The optional "Key" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the KeyKeyword property - - - Returns a new node with the property set - - - - - The value being assigned. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new InferredFieldInitializerSyntax node with the specified changes. - - - The new KeyKeyword to update this InferredFieldInitializerSyntaxSyntax node - with. If not specified the current KeyKeyword will be used in the new - InferredFieldInitializerSyntax node. - - - The new Expression to update this InferredFieldInitializerSyntaxSyntax node - with. If not specified the current Expression will be used in the new - InferredFieldInitializerSyntax node. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - - - The optional "Key" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the KeyKeyword property - - - Returns a new node with the property set - - - - - The "." token. - - - - - Creates a new node and sets the DotToken property - - - Returns a new node with the property set - - - - - The name of the field being initialized. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - The "=" token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - The value being assigned to the field. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new NamedFieldInitializerSyntax node with the specified changes. - - - The new KeyKeyword to update this NamedFieldInitializerSyntaxSyntax node with. - If not specified the current KeyKeyword will be used in the new - NamedFieldInitializerSyntax node. - - - The new DotToken to update this NamedFieldInitializerSyntaxSyntax node with. If - not specified the current DotToken will be used in the new - NamedFieldInitializerSyntax node. - - - The new Name to update this NamedFieldInitializerSyntaxSyntax node with. If not - specified the current Name will be used in the new NamedFieldInitializerSyntax - node. - - - The new EqualsToken to update this NamedFieldInitializerSyntaxSyntax node with. - If not specified the current EqualsToken will be used in the new - NamedFieldInitializerSyntax node. - - - The new Expression to update this NamedFieldInitializerSyntaxSyntax node with. - If not specified the current Expression will be used in the new - NamedFieldInitializerSyntax node. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - - - The "=" token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - The expression used as the initial value. - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new EqualsValueSyntax node with the specified changes. - - - The new EqualsToken to update this EqualsValueSyntaxSyntax node with. If not - specified the current EqualsToken will be used in the new EqualsValueSyntax - node. - - - The new Value to update this EqualsValueSyntaxSyntax node with. If not - specified the current Value will be used in the new EqualsValueSyntax node. - - - - - Represent a parameter to a method, property, constructor, etc. - - - - - A list of all attribute lists on this parameter. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of the modifier tokens "ByVal", "ByRef", "Optional" or "ParamArray" that - modify this parameter. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The name of the parameter, including any "?" or "()" modifiers. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - If present, the "As type-name" clause describing the type of the parameter. If - no As clause is present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - If present, an initializer with the default value of the parameter. If no - default value is present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the [Default] property - - - Returns a new node with the property set - - - - - Creates a new ParameterSyntax node with the specified changes. - - - The new AttributeLists to update this ParameterSyntaxSyntax node with. If not - specified the current AttributeLists will be used in the new ParameterSyntax - node. - - - The new Modifiers to update this ParameterSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new ParameterSyntax node. - - - The new Identifier to update this ParameterSyntaxSyntax node with. If not - specified the current Identifier will be used in the new ParameterSyntax node. - - - The new AsClause to update this ParameterSyntaxSyntax node with. If not - specified the current AsClause will be used in the new ParameterSyntax node. - - - The new Default to update this ParameterSyntaxSyntax node with. If not - specified the current Default will be used in the new ParameterSyntax node. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - - - The identifier that names the item being declared. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The "?" token that indicates a nullable type. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Nullable property - - - Returns a new node with the property set - - - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArrayBounds property - - - Returns a new node with the property set - - - - - A list of array modifiers for the type. If no array modifiers were present, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the ArrayRankSpecifiers property - - - Returns a new node with the property set - - - - - Creates a new ModifiedIdentifierSyntax node with the specified changes. - - - The new Identifier to update this ModifiedIdentifierSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - ModifiedIdentifierSyntax node. - - - The new Nullable to update this ModifiedIdentifierSyntaxSyntax node with. If - not specified the current Nullable will be used in the new - ModifiedIdentifierSyntax node. - - - The new ArrayBounds to update this ModifiedIdentifierSyntaxSyntax node with. If - not specified the current ArrayBounds will be used in the new - ModifiedIdentifierSyntax node. - - - The new ArrayRankSpecifiers to update this ModifiedIdentifierSyntaxSyntax node - with. If not specified the current ArrayRankSpecifiers will be used in the new - ModifiedIdentifierSyntax node. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - - - The "<" token. - - - - - Creates a new node and sets the LessThanToken property - - - Returns a new node with the property set - - - - - A comma separated list of attribute declarations in this attribute list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Attributes property - - - Returns a new node with the property set - - - - - The ">" token. - - - - - Creates a new node and sets the GreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new AttributeListSyntax node with the specified changes. - - - The new LessThanToken to update this AttributeListSyntaxSyntax node with. If - not specified the current LessThanToken will be used in the new - AttributeListSyntax node. - - - The new Attributes to update this AttributeListSyntaxSyntax node with. If not - specified the current Attributes will be used in the new AttributeListSyntax - node. - - - The new GreaterThanToken to update this AttributeListSyntaxSyntax node with. If - not specified the current GreaterThanToken will be used in the new - AttributeListSyntax node. - - - - - Represents a single attribute declaration within an attribute list. - - - - - Optional attribute target. Assembly|Module : - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Target property - - - Returns a new node with the property set - - - - - The name of the attribute. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArgumentList property - - - Returns a new node with the property set - - - - - Creates a new AttributeSyntax node with the specified changes. - - - The new Target to update this AttributeSyntaxSyntax node with. If not specified - the current Target will be used in the new AttributeSyntax node. - - - The new Name to update this AttributeSyntaxSyntax node with. If not specified - the current Name will be used in the new AttributeSyntax node. - - - The new ArgumentList to update this AttributeSyntaxSyntax node with. If not - specified the current ArgumentList will be used in the new AttributeSyntax - node. - - - - - Represents a single attribute declaration within an attribute list. - - - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - - - Creates a new node and sets the AttributeModifier property - - - Returns a new node with the property set - - - - - The ":" token, if an attribute modifier is present. If no attribute modifier is - present, Nothing is returned. - - - - - Creates a new node and sets the ColonToken property - - - Returns a new node with the property set - - - - - Creates a new AttributeTargetSyntax node with the specified changes. - - - The new AttributeModifier to update this AttributeTargetSyntaxSyntax node with. - If not specified the current AttributeModifier will be used in the new - AttributeTargetSyntax node. - - - The new ColonToken to update this AttributeTargetSyntaxSyntax node with. If not - specified the current ColonToken will be used in the new AttributeTargetSyntax - node. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - - - The list of attribute lists. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - Creates a new AttributesStatementSyntax node with the specified changes. - - - The new AttributeLists to update this AttributesStatementSyntaxSyntax node - with. If not specified the current AttributeLists will be used in the new - AttributesStatementSyntax node. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - - - The expression. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new ExpressionStatementSyntax node with the specified changes. - - - The new Expression to update this ExpressionStatementSyntaxSyntax node with. If - not specified the current Expression will be used in the new - ExpressionStatementSyntax node. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - - - "?" token. - - - - - Creates a new node and sets the QuestionToken property - - - Returns a new node with the property set - - - - - The expression whose value is being output. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new PrintStatementSyntax node with the specified changes. - - - The new QuestionToken to update this PrintStatementSyntaxSyntax node with. If - not specified the current QuestionToken will be used in the new - PrintStatementSyntax node. - - - The new Expression to update this PrintStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new PrintStatementSyntax - node. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - - - The While statement that begins the block. - - - - - Creates a new node and sets the WhileStatement property - - - Returns a new node with the property set - - - - - The statements contained in the While...End While. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End While statement that ends the block. - - - - - Creates a new node and sets the EndWhileStatement property - - - Returns a new node with the property set - - - - - Creates a new WhileBlockSyntax node with the specified changes. - - - The new WhileStatement to update this WhileBlockSyntaxSyntax node with. If not - specified the current WhileStatement will be used in the new WhileBlockSyntax - node. - - - The new Statements to update this WhileBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new WhileBlockSyntax node. - - - The new EndWhileStatement to update this WhileBlockSyntaxSyntax node with. If - not specified the current EndWhileStatement will be used in the new - WhileBlockSyntax node. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - - - The UsingStatement that begins the Using...End Using block. - - - - - Creates a new node and sets the UsingStatement property - - - Returns a new node with the property set - - - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End Using statement that ends the block. - - - - - Creates a new node and sets the EndUsingStatement property - - - Returns a new node with the property set - - - - - Creates a new UsingBlockSyntax node with the specified changes. - - - The new UsingStatement to update this UsingBlockSyntaxSyntax node with. If not - specified the current UsingStatement will be used in the new UsingBlockSyntax - node. - - - The new Statements to update this UsingBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new UsingBlockSyntax node. - - - The new EndUsingStatement to update this UsingBlockSyntaxSyntax node with. If - not specified the current EndUsingStatement will be used in the new - UsingBlockSyntax node. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - - - The SyncLock statement that begins the block. - - - - - Creates a new node and sets the SyncLockStatement property - - - Returns a new node with the property set - - - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End SyncLock statement that ends the block. - - - - - Creates a new node and sets the EndSyncLockStatement property - - - Returns a new node with the property set - - - - - Creates a new SyncLockBlockSyntax node with the specified changes. - - - The new SyncLockStatement to update this SyncLockBlockSyntaxSyntax node with. - If not specified the current SyncLockStatement will be used in the new - SyncLockBlockSyntax node. - - - The new Statements to update this SyncLockBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new SyncLockBlockSyntax - node. - - - The new EndSyncLockStatement to update this SyncLockBlockSyntaxSyntax node - with. If not specified the current EndSyncLockStatement will be used in the new - SyncLockBlockSyntax node. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - - - The WithStatement that begins the With...End With block. - - - - - Creates a new node and sets the WithStatement property - - - Returns a new node with the property set - - - - - The statements contained in the With...End With block. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The End With statement that ends the block. - - - - - Creates a new node and sets the EndWithStatement property - - - Returns a new node with the property set - - - - - Creates a new WithBlockSyntax node with the specified changes. - - - The new WithStatement to update this WithBlockSyntaxSyntax node with. If not - specified the current WithStatement will be used in the new WithBlockSyntax - node. - - - The new Statements to update this WithBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new WithBlockSyntax node. - - - The new EndWithStatement to update this WithBlockSyntaxSyntax node with. If not - specified the current EndWithStatement will be used in the new WithBlockSyntax - node. - - - - - Represents the declaration of one or more local variables or constants. - - - - - The modifier token (Static, Dim or Const) that introduces this local variable - declaration. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Creates a new node and sets the Declarators property - - - Returns a new node with the property set - - - - - Creates a new LocalDeclarationStatementSyntax node with the specified changes. - - - The new Modifiers to update this LocalDeclarationStatementSyntaxSyntax node - with. If not specified the current Modifiers will be used in the new - LocalDeclarationStatementSyntax node. - - - The new Declarators to update this LocalDeclarationStatementSyntaxSyntax node - with. If not specified the current Declarators will be used in the new - LocalDeclarationStatementSyntax node. - - - - - Represents a label statement. - - - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - - - Creates a new node and sets the LabelToken property - - - Returns a new node with the property set - - - - - The ":" token of the label statement. - - - - - Creates a new node and sets the ColonToken property - - - Returns a new node with the property set - - - - - Creates a new LabelStatementSyntax node with the specified changes. - - - The new LabelToken to update this LabelStatementSyntaxSyntax node with. If not - specified the current LabelToken will be used in the new LabelStatementSyntax - node. - - - The new ColonToken to update this LabelStatementSyntaxSyntax node with. If not - specified the current ColonToken will be used in the new LabelStatementSyntax - node. - - - - - Represents a "GoTo" statement. - - - - - The "GoTo" keyword. - - - - - Creates a new node and sets the GoToKeyword property - - - Returns a new node with the property set - - - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - Creates a new node and sets the Label property - - - Returns a new node with the property set - - - - - Creates a new GoToStatementSyntax node with the specified changes. - - - The new GoToKeyword to update this GoToStatementSyntaxSyntax node with. If not - specified the current GoToKeyword will be used in the new GoToStatementSyntax - node. - - - The new Label to update this GoToStatementSyntaxSyntax node with. If not - specified the current Label will be used in the new GoToStatementSyntax node. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - Creates a new node and sets the LabelToken property - - - Returns a new node with the property set - - - - - Creates a new LabelSyntax node with the specified changes. - - - The new kind to update this LabelSyntaxSyntax node with. - - - The new LabelToken to update this LabelSyntaxSyntax node with. If not specified - the current LabelToken will be used in the new LabelSyntax node. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - - - The "Stop" or "End" keyword. - - - - - Creates a new node and sets the StopOrEndKeyword property - - - Returns a new node with the property set - - - - - Creates a new StopOrEndStatementSyntax node with the specified changes. - - - The new kind to update this StopOrEndStatementSyntaxSyntax node with. - - - The new StopOrEndKeyword to update this StopOrEndStatementSyntaxSyntax node - with. If not specified the current StopOrEndKeyword will be used in the new - StopOrEndStatementSyntax node. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - The "Exit" keyword. - - - - - Creates a new node and sets the ExitKeyword property - - - Returns a new node with the property set - - - - - The keyword describing the block to exit. - - - - - Creates a new node and sets the BlockKeyword property - - - Returns a new node with the property set - - - - - Creates a new ExitStatementSyntax node with the specified changes. - - - The new kind to update this ExitStatementSyntaxSyntax node with. - - - The new ExitKeyword to update this ExitStatementSyntaxSyntax node with. If not - specified the current ExitKeyword will be used in the new ExitStatementSyntax - node. - - - The new BlockKeyword to update this ExitStatementSyntaxSyntax node with. If not - specified the current BlockKeyword will be used in the new ExitStatementSyntax - node. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - The "Continue" keyword. - - - - - Creates a new node and sets the ContinueKeyword property - - - Returns a new node with the property set - - - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Creates a new node and sets the BlockKeyword property - - - Returns a new node with the property set - - - - - Creates a new ContinueStatementSyntax node with the specified changes. - - - The new kind to update this ContinueStatementSyntaxSyntax node with. - - - The new ContinueKeyword to update this ContinueStatementSyntaxSyntax node with. - If not specified the current ContinueKeyword will be used in the new - ContinueStatementSyntax node. - - - The new BlockKeyword to update this ContinueStatementSyntaxSyntax node with. If - not specified the current BlockKeyword will be used in the new - ContinueStatementSyntax node. - - - - - Represents a "Return" statement. - - - - - The "Return" keyword. - - - - - Creates a new node and sets the ReturnKeyword property - - - Returns a new node with the property set - - - - - The expression being returned, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new ReturnStatementSyntax node with the specified changes. - - - The new ReturnKeyword to update this ReturnStatementSyntaxSyntax node with. If - not specified the current ReturnKeyword will be used in the new - ReturnStatementSyntax node. - - - The new Expression to update this ReturnStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new ReturnStatementSyntax - node. - - - - - Represents a line If-Then-Else statement. - - - - - The If part of the statement. - - - - - Creates a new node and sets the IfPart property - - - Returns a new node with the property set - - - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ElsePart property - - - Returns a new node with the property set - - - - - Creates a new SingleLineIfStatementSyntax node with the specified changes. - - - The new IfPart to update this SingleLineIfStatementSyntaxSyntax node with. If - not specified the current IfPart will be used in the new - SingleLineIfStatementSyntax node. - - - The new ElsePart to update this SingleLineIfStatementSyntaxSyntax node with. If - not specified the current ElsePart will be used in the new - SingleLineIfStatementSyntax node. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements controlled by this If or Else If. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new SingleLineIfPartSyntax node with the specified changes. - - - The new Begin to update this SingleLineIfPartSyntaxSyntax node with. If not - specified the current Begin will be used in the new SingleLineIfPartSyntax - node. - - - The new Statements to update this SingleLineIfPartSyntaxSyntax node with. If - not specified the current Statements will be used in the new - SingleLineIfPartSyntax node. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - The Else statement that introduces this part. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements controlled by the Else.This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new SingleLineElsePartSyntax node with the specified changes. - - - The new Begin to update this SingleLineElsePartSyntaxSyntax node with. If not - specified the current Begin will be used in the new SingleLineElsePartSyntax - node. - - - The new Statements to update this SingleLineElsePartSyntaxSyntax node with. If - not specified the current Statements will be used in the new - SingleLineElsePartSyntax node. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - - - The If part of the statement. - - - - - Creates a new node and sets the IfPart property - - - Returns a new node with the property set - - - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the ElseIfParts property - - - Returns a new node with the property set - - - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ElsePart property - - - Returns a new node with the property set - - - - - If this is a block if, returns the "End If" statement. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new MultiLineIfBlockSyntax node with the specified changes. - - - The new IfPart to update this MultiLineIfBlockSyntaxSyntax node with. If not - specified the current IfPart will be used in the new MultiLineIfBlockSyntax - node. - - - The new ElseIfParts to update this MultiLineIfBlockSyntaxSyntax node with. If - not specified the current ElseIfParts will be used in the new - MultiLineIfBlockSyntax node. - - - The new ElsePart to update this MultiLineIfBlockSyntaxSyntax node with. If not - specified the current ElsePart will be used in the new MultiLineIfBlockSyntax - node. - - - The new End to update this MultiLineIfBlockSyntaxSyntax node with. If not - specified the current End will be used in the new MultiLineIfBlockSyntax node. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements controlled by this If or Else If. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new IfPartSyntax node with the specified changes. - - - The new kind to update this IfPartSyntaxSyntax node with. - - - The new Begin to update this IfPartSyntaxSyntax node with. If not specified the - current Begin will be used in the new IfPartSyntax node. - - - The new Statements to update this IfPartSyntaxSyntax node with. If not - specified the current Statements will be used in the new IfPartSyntax node. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - The Else statement that introduces this part. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements controlled by the Else. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new ElsePartSyntax node with the specified changes. - - - The new Begin to update this ElsePartSyntaxSyntax node with. If not specified - the current Begin will be used in the new ElsePartSyntax node. - - - The new Statements to update this ElsePartSyntaxSyntax node with. If not - specified the current Statements will be used in the new ElsePartSyntax node. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ElseKeyword property - - - Returns a new node with the property set - - - - - The "If" or "ElseIf" keyword. - - - - - Creates a new node and sets the IfOrElseIfKeyword property - - - Returns a new node with the property set - - - - - The boolean expression that is being tested. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - The "Then" keyword. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ThenKeyword property - - - Returns a new node with the property set - - - - - Creates a new IfStatementSyntax node with the specified changes. - - - The new kind to update this IfStatementSyntaxSyntax node with. - - - The new ElseKeyword to update this IfStatementSyntaxSyntax node with. If not - specified the current ElseKeyword will be used in the new IfStatementSyntax - node. - - - The new IfOrElseIfKeyword to update this IfStatementSyntaxSyntax node with. If - not specified the current IfOrElseIfKeyword will be used in the new - IfStatementSyntax node. - - - The new Condition to update this IfStatementSyntaxSyntax node with. If not - specified the current Condition will be used in the new IfStatementSyntax node. - - - The new ThenKeyword to update this IfStatementSyntaxSyntax node with. If not - specified the current ThenKeyword will be used in the new IfStatementSyntax - node. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - - - The "Else" keyword - - - - - Creates a new node and sets the ElseKeyword property - - - Returns a new node with the property set - - - - - Creates a new ElseStatementSyntax node with the specified changes. - - - The new ElseKeyword to update this ElseStatementSyntaxSyntax node with. If not - specified the current ElseKeyword will be used in the new ElseStatementSyntax - node. - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - - - The Try part of the statement. - - - - - Creates a new node and sets the TryPart property - - - Returns a new node with the property set - - - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the CatchParts property - - - Returns a new node with the property set - - - - - The Finally part of the statement, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the FinallyPart property - - - Returns a new node with the property set - - - - - The "End Try" statement. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new TryBlockSyntax node with the specified changes. - - - The new TryPart to update this TryBlockSyntaxSyntax node with. If not specified - the current TryPart will be used in the new TryBlockSyntax node. - - - The new CatchParts to update this TryBlockSyntaxSyntax node with. If not - specified the current CatchParts will be used in the new TryBlockSyntax node. - - - The new FinallyPart to update this TryBlockSyntaxSyntax node with. If not - specified the current FinallyPart will be used in the new TryBlockSyntax node. - - - The new End to update this TryBlockSyntaxSyntax node with. If not specified the - current End will be used in the new TryBlockSyntax node. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - - - The TryStatement that introduces this part of the Try...Catch...Finally...End - Try. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new TryPartSyntax node with the specified changes. - - - The new Begin to update this TryPartSyntaxSyntax node with. If not specified - the current Begin will be used in the new TryPartSyntax node. - - - The new Statements to update this TryPartSyntaxSyntax node with. If not - specified the current Statements will be used in the new TryPartSyntax node. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - - - The CatchStatement that introduces this part. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements controlled by the Catch statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new CatchPartSyntax node with the specified changes. - - - The new Begin to update this CatchPartSyntaxSyntax node with. If not specified - the current Begin will be used in the new CatchPartSyntax node. - - - The new Statements to update this CatchPartSyntaxSyntax node with. If not - specified the current Statements will be used in the new CatchPartSyntax node. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - - - The FinallyStatement that introduces the Finally part of a Try. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new FinallyPartSyntax node with the specified changes. - - - The new Begin to update this FinallyPartSyntaxSyntax node with. If not - specified the current Begin will be used in the new FinallyPartSyntax node. - - - The new Statements to update this FinallyPartSyntaxSyntax node with. If not - specified the current Statements will be used in the new FinallyPartSyntax - node. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - - - The "Try" keyword - - - - - Creates a new node and sets the TryKeyword property - - - Returns a new node with the property set - - - - - Creates a new TryStatementSyntax node with the specified changes. - - - The new TryKeyword to update this TryStatementSyntaxSyntax node with. If not - specified the current TryKeyword will be used in the new TryStatementSyntax - node. - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - - - The "Catch" keyword. - - - - - Creates a new node and sets the CatchKeyword property - - - Returns a new node with the property set - - - - - The identifier representing the exception that was caught, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the IdentifierName property - - - Returns a new node with the property set - - - - - The As clause that defines the type of exception being caught. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - The "When" clause, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the WhenClause property - - - Returns a new node with the property set - - - - - Creates a new CatchStatementSyntax node with the specified changes. - - - The new CatchKeyword to update this CatchStatementSyntaxSyntax node with. If - not specified the current CatchKeyword will be used in the new - CatchStatementSyntax node. - - - The new IdentifierName to update this CatchStatementSyntaxSyntax node with. If - not specified the current IdentifierName will be used in the new - CatchStatementSyntax node. - - - The new AsClause to update this CatchStatementSyntaxSyntax node with. If not - specified the current AsClause will be used in the new CatchStatementSyntax - node. - - - The new WhenClause to update this CatchStatementSyntaxSyntax node with. If not - specified the current WhenClause will be used in the new CatchStatementSyntax - node. - - - - - Represents the When/Filter clause of a Catch statement - - - - - The "When" keyword - - - - - Creates a new node and sets the WhenKeyword property - - - Returns a new node with the property set - - - - - The filter expression - - - - - Creates a new node and sets the Filter property - - - Returns a new node with the property set - - - - - Creates a new CatchFilterClauseSyntax node with the specified changes. - - - The new WhenKeyword to update this CatchFilterClauseSyntaxSyntax node with. If - not specified the current WhenKeyword will be used in the new - CatchFilterClauseSyntax node. - - - The new Filter to update this CatchFilterClauseSyntaxSyntax node with. If not - specified the current Filter will be used in the new CatchFilterClauseSyntax - node. - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - - - The "Finally" keyword. - - - - - Creates a new node and sets the FinallyKeyword property - - - Returns a new node with the property set - - - - - Creates a new FinallyStatementSyntax node with the specified changes. - - - The new FinallyKeyword to update this FinallyStatementSyntaxSyntax node with. - If not specified the current FinallyKeyword will be used in the new - FinallyStatementSyntax node. - - - - - Represents the "Error" statement. - - - - - The "Error" keyword. - - - - - Creates a new node and sets the ErrorKeyword property - - - Returns a new node with the property set - - - - - The expression that represents the error number. - - - - - Creates a new node and sets the ErrorNumber property - - - Returns a new node with the property set - - - - - Creates a new ErrorStatementSyntax node with the specified changes. - - - The new ErrorKeyword to update this ErrorStatementSyntaxSyntax node with. If - not specified the current ErrorKeyword will be used in the new - ErrorStatementSyntax node. - - - The new ErrorNumber to update this ErrorStatementSyntaxSyntax node with. If not - specified the current ErrorNumber will be used in the new ErrorStatementSyntax - node. - - - - - Represents an OnError Goto statement. - - - - - The "On" keyword - - - - - Creates a new node and sets the OnKeyword property - - - Returns a new node with the property set - - - - - The "Error" keyword. - - - - - Creates a new node and sets the ErrorKeyword property - - - Returns a new node with the property set - - - - - The "GoTo" keyword - - - - - Creates a new node and sets the GoToKeyword property - - - Returns a new node with the property set - - - - - An optional minus for On Error Goto -1 - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Minus property - - - Returns a new node with the property set - - - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Creates a new node and sets the Label property - - - Returns a new node with the property set - - - - - Creates a new OnErrorGoToStatementSyntax node with the specified changes. - - - The new kind to update this OnErrorGoToStatementSyntaxSyntax node with. - - - The new OnKeyword to update this OnErrorGoToStatementSyntaxSyntax node with. If - not specified the current OnKeyword will be used in the new - OnErrorGoToStatementSyntax node. - - - The new ErrorKeyword to update this OnErrorGoToStatementSyntaxSyntax node with. - If not specified the current ErrorKeyword will be used in the new - OnErrorGoToStatementSyntax node. - - - The new GoToKeyword to update this OnErrorGoToStatementSyntaxSyntax node with. - If not specified the current GoToKeyword will be used in the new - OnErrorGoToStatementSyntax node. - - - The new Minus to update this OnErrorGoToStatementSyntaxSyntax node with. If not - specified the current Minus will be used in the new OnErrorGoToStatementSyntax - node. - - - The new Label to update this OnErrorGoToStatementSyntaxSyntax node with. If not - specified the current Label will be used in the new OnErrorGoToStatementSyntax - node. - - - - - Represents an OnError Resume Next statement. - - - - - The "On" keyword - - - - - Creates a new node and sets the OnKeyword property - - - Returns a new node with the property set - - - - - The "Error" keyword. - - - - - Creates a new node and sets the ErrorKeyword property - - - Returns a new node with the property set - - - - - The "Resume" keyword. - - - - - Creates a new node and sets the ResumeKeyword property - - - Returns a new node with the property set - - - - - The "Next" - - - - - Creates a new node and sets the NextKeyword property - - - Returns a new node with the property set - - - - - Creates a new OnErrorResumeNextStatementSyntax node with the specified changes. - - - The new OnKeyword to update this OnErrorResumeNextStatementSyntaxSyntax node - with. If not specified the current OnKeyword will be used in the new - OnErrorResumeNextStatementSyntax node. - - - The new ErrorKeyword to update this OnErrorResumeNextStatementSyntaxSyntax node - with. If not specified the current ErrorKeyword will be used in the new - OnErrorResumeNextStatementSyntax node. - - - The new ResumeKeyword to update this OnErrorResumeNextStatementSyntaxSyntax - node with. If not specified the current ResumeKeyword will be used in the new - OnErrorResumeNextStatementSyntax node. - - - The new NextKeyword to update this OnErrorResumeNextStatementSyntaxSyntax node - with. If not specified the current NextKeyword will be used in the new - OnErrorResumeNextStatementSyntax node. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - The "Resume" keyword. - - - - - Creates a new node and sets the ResumeKeyword property - - - Returns a new node with the property set - - - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Label property - - - Returns a new node with the property set - - - - - Creates a new ResumeStatementSyntax node with the specified changes. - - - The new kind to update this ResumeStatementSyntaxSyntax node with. - - - The new ResumeKeyword to update this ResumeStatementSyntaxSyntax node with. If - not specified the current ResumeKeyword will be used in the new - ResumeStatementSyntax node. - - - The new Label to update this ResumeStatementSyntaxSyntax node with. If not - specified the current Label will be used in the new ResumeStatementSyntax node. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - - - The Select Case statement that begins the block. - - - - - Creates a new node and sets the SelectStatement property - - - Returns a new node with the property set - - - - - A list of the contained Case blocks. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the CaseBlocks property - - - Returns a new node with the property set - - - - - The End Select statement that ends the block. - - - - - Creates a new node and sets the EndSelectStatement property - - - Returns a new node with the property set - - - - - Creates a new SelectBlockSyntax node with the specified changes. - - - The new SelectStatement to update this SelectBlockSyntaxSyntax node with. If - not specified the current SelectStatement will be used in the new - SelectBlockSyntax node. - - - The new CaseBlocks to update this SelectBlockSyntaxSyntax node with. If not - specified the current CaseBlocks will be used in the new SelectBlockSyntax - node. - - - The new EndSelectStatement to update this SelectBlockSyntaxSyntax node with. If - not specified the current EndSelectStatement will be used in the new - SelectBlockSyntax node. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - - - The "Select" keyword. - - - - - Creates a new node and sets the SelectKeyword property - - - Returns a new node with the property set - - - - - The "Case" keyword, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the CaseKeyword property - - - Returns a new node with the property set - - - - - The value that branching is based on. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new SelectStatementSyntax node with the specified changes. - - - The new SelectKeyword to update this SelectStatementSyntaxSyntax node with. If - not specified the current SelectKeyword will be used in the new - SelectStatementSyntax node. - - - The new CaseKeyword to update this SelectStatementSyntaxSyntax node with. If - not specified the current CaseKeyword will be used in the new - SelectStatementSyntax node. - - - The new Expression to update this SelectStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new SelectStatementSyntax - node. - - - - - Represents a case statement and its subsequent block. - - - - - The statement that begins the case block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the case block. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Creates a new CaseBlockSyntax node with the specified changes. - - - The new kind to update this CaseBlockSyntaxSyntax node with. - - - The new Begin to update this CaseBlockSyntaxSyntax node with. If not specified - the current Begin will be used in the new CaseBlockSyntax node. - - - The new Statements to update this CaseBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new CaseBlockSyntax node. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - - - The "Case" keyword - - - - - Creates a new node and sets the CaseKeyword property - - - Returns a new node with the property set - - - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Creates a new node and sets the Cases property - - - Returns a new node with the property set - - - - - Creates a new CaseStatementSyntax node with the specified changes. - - - The new kind to update this CaseStatementSyntaxSyntax node with. - - - The new CaseKeyword to update this CaseStatementSyntaxSyntax node with. If not - specified the current CaseKeyword will be used in the new CaseStatementSyntax - node. - - - The new Cases to update this CaseStatementSyntaxSyntax node with. If not - specified the current Cases will be used in the new CaseStatementSyntax node. - - - - - Represents a single clause in a case statement. An abstract node that is the - parent of different kinds of Case clauses. - - - - - The "Else" part in a Case Else statement. - - - - - The "Else" keyword. - - - - - Creates a new node and sets the ElseKeyword property - - - Returns a new node with the property set - - - - - Creates a new CaseElseClauseSyntax node with the specified changes. - - - The new ElseKeyword to update this CaseElseClauseSyntaxSyntax node with. If not - specified the current ElseKeyword will be used in the new CaseElseClauseSyntax - node. - - - - - Represents a single value in a Case. - - - - - The expression that denotes the value being tested against. - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new CaseValueClauseSyntax node with the specified changes. - - - The new Value to update this CaseValueClauseSyntaxSyntax node with. If not - specified the current Value will be used in the new CaseValueClauseSyntax node. - - - - - Represents a range "expression To expression" in a Case. - - - - - The lower bound of the range. - - - - - Creates a new node and sets the LowerBound property - - - Returns a new node with the property set - - - - - The "To" keyword - - - - - Creates a new node and sets the ToKeyword property - - - Returns a new node with the property set - - - - - The upper bound of the range. - - - - - Creates a new node and sets the UpperBound property - - - Returns a new node with the property set - - - - - Creates a new CaseRangeClauseSyntax node with the specified changes. - - - The new LowerBound to update this CaseRangeClauseSyntaxSyntax node with. If not - specified the current LowerBound will be used in the new CaseRangeClauseSyntax - node. - - - The new ToKeyword to update this CaseRangeClauseSyntaxSyntax node with. If not - specified the current ToKeyword will be used in the new CaseRangeClauseSyntax - node. - - - The new UpperBound to update this CaseRangeClauseSyntaxSyntax node with. If not - specified the current UpperBound will be used in the new CaseRangeClauseSyntax - node. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - The "Is" keyword, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the IsKeyword property - - - Returns a new node with the property set - - - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The expression that denotes the value being tested against. - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new CaseRelationalClauseSyntax node with the specified changes. - - - The new kind to update this CaseRelationalClauseSyntaxSyntax node with. - - - The new IsKeyword to update this CaseRelationalClauseSyntaxSyntax node with. If - not specified the current IsKeyword will be used in the new - CaseRelationalClauseSyntax node. - - - The new OperatorToken to update this CaseRelationalClauseSyntaxSyntax node - with. If not specified the current OperatorToken will be used in the new - CaseRelationalClauseSyntax node. - - - The new Value to update this CaseRelationalClauseSyntaxSyntax node with. If not - specified the current Value will be used in the new CaseRelationalClauseSyntax - node. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - - - The "SyncLock" keyword. - - - - - Creates a new node and sets the SyncLockKeyword property - - - Returns a new node with the property set - - - - - The expression being synchronized on. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new SyncLockStatementSyntax node with the specified changes. - - - The new SyncLockKeyword to update this SyncLockStatementSyntaxSyntax node with. - If not specified the current SyncLockKeyword will be used in the new - SyncLockStatementSyntax node. - - - The new Expression to update this SyncLockStatementSyntaxSyntax node with. If - not specified the current Expression will be used in the new - SyncLockStatementSyntax node. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - - - The Do statement that begins the block. - - - - - Creates a new node and sets the DoStatement property - - - Returns a new node with the property set - - - - - The statements contained in the block statement. This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The Loop statement that ends the block. - - - - - Creates a new node and sets the LoopStatement property - - - Returns a new node with the property set - - - - - Creates a new DoLoopBlockSyntax node with the specified changes. - - - The new kind to update this DoLoopBlockSyntaxSyntax node with. - - - The new DoStatement to update this DoLoopBlockSyntaxSyntax node with. If not - specified the current DoStatement will be used in the new DoLoopBlockSyntax - node. - - - The new Statements to update this DoLoopBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new DoLoopBlockSyntax - node. - - - The new LoopStatement to update this DoLoopBlockSyntaxSyntax node with. If not - specified the current LoopStatement will be used in the new DoLoopBlockSyntax - node. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - - - The "Do" keyword. - - - - - Creates a new node and sets the DoKeyword property - - - Returns a new node with the property set - - - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the WhileUntilClause property - - - Returns a new node with the property set - - - - - Creates a new DoStatementSyntax node with the specified changes. - - - The new DoKeyword to update this DoStatementSyntaxSyntax node with. If not - specified the current DoKeyword will be used in the new DoStatementSyntax node. - - - The new WhileUntilClause to update this DoStatementSyntaxSyntax node with. If - not specified the current WhileUntilClause will be used in the new - DoStatementSyntax node. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - - - The "Loop" keyword. - - - - - Creates a new node and sets the LoopKeyword property - - - Returns a new node with the property set - - - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the WhileUntilClause property - - - Returns a new node with the property set - - - - - Creates a new LoopStatementSyntax node with the specified changes. - - - The new LoopKeyword to update this LoopStatementSyntaxSyntax node with. If not - specified the current LoopKeyword will be used in the new LoopStatementSyntax - node. - - - The new WhileUntilClause to update this LoopStatementSyntaxSyntax node with. If - not specified the current WhileUntilClause will be used in the new - LoopStatementSyntax node. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - - - The "While" or "Until" keyword. - - - - - Creates a new node and sets the WhileOrUntilKeyword property - - - Returns a new node with the property set - - - - - The boolean expression after the While or Until. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - Creates a new WhileUntilClauseSyntax node with the specified changes. - - - The new kind to update this WhileUntilClauseSyntaxSyntax node with. - - - The new WhileOrUntilKeyword to update this WhileUntilClauseSyntaxSyntax node - with. If not specified the current WhileOrUntilKeyword will be used in the new - WhileUntilClauseSyntax node. - - - The new Condition to update this WhileUntilClauseSyntaxSyntax node with. If not - specified the current Condition will be used in the new WhileUntilClauseSyntax - node. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - - - The "While" keyword. - - - - - Creates a new node and sets the WhileKeyword property - - - Returns a new node with the property set - - - - - The boolean expression that controls the While loop. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - Creates a new WhileStatementSyntax node with the specified changes. - - - The new WhileKeyword to update this WhileStatementSyntaxSyntax node with. If - not specified the current WhileKeyword will be used in the new - WhileStatementSyntax node. - - - The new Condition to update this WhileStatementSyntaxSyntax node with. If not - specified the current Condition will be used in the new WhileStatementSyntax - node. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - - - The For or For Each statement that begins the block. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the NextStatement property - - - Returns a new node with the property set - - - - - Creates a new ForBlockSyntax node with the specified changes. - - - The new kind to update this ForBlockSyntaxSyntax node with. - - - The new Begin to update this ForBlockSyntaxSyntax node with. If not specified - the current Begin will be used in the new ForBlockSyntax node. - - - The new Statements to update this ForBlockSyntaxSyntax node with. If not - specified the current Statements will be used in the new ForBlockSyntax node. - - - The new NextStatement to update this ForBlockSyntaxSyntax node with. If not - specified the current NextStatement will be used in the new ForBlockSyntax - node. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The "For" keyword. - - - - - Creates a new node and sets the ForKeyword property - - - Returns a new node with the property set - - - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - - - Creates a new node and sets the ControlVariable property - - - Returns a new node with the property set - - - - - The "=" token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - The expression denoting the initial value of the iteration. - - - - - Creates a new node and sets the FromValue property - - - Returns a new node with the property set - - - - - The "To" keyword. - - - - - Creates a new node and sets the ToKeyword property - - - Returns a new node with the property set - - - - - The expression denoting the final value of the iteration. - - - - - Creates a new node and sets the ToValue property - - - Returns a new node with the property set - - - - - The optional Step clause. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the StepClause property - - - Returns a new node with the property set - - - - - Creates a new ForStatementSyntax node with the specified changes. - - - The new ForKeyword to update this ForStatementSyntaxSyntax node with. If not - specified the current ForKeyword will be used in the new ForStatementSyntax - node. - - - The new ControlVariable to update this ForStatementSyntaxSyntax node with. If - not specified the current ControlVariable will be used in the new - ForStatementSyntax node. - - - The new EqualsToken to update this ForStatementSyntaxSyntax node with. If not - specified the current EqualsToken will be used in the new ForStatementSyntax - node. - - - The new FromValue to update this ForStatementSyntaxSyntax node with. If not - specified the current FromValue will be used in the new ForStatementSyntax - node. - - - The new ToKeyword to update this ForStatementSyntaxSyntax node with. If not - specified the current ToKeyword will be used in the new ForStatementSyntax - node. - - - The new ToValue to update this ForStatementSyntaxSyntax node with. If not - specified the current ToValue will be used in the new ForStatementSyntax node. - - - The new StepClause to update this ForStatementSyntaxSyntax node with. If not - specified the current StepClause will be used in the new ForStatementSyntax - node. - - - - - The Step clause in a For Statement. - - - - - The "Step" keyword. - - - - - Creates a new node and sets the StepKeyword property - - - Returns a new node with the property set - - - - - The expression denoting the step increment. - - - - - Creates a new node and sets the StepValue property - - - Returns a new node with the property set - - - - - Creates a new ForStepClauseSyntax node with the specified changes. - - - The new StepKeyword to update this ForStepClauseSyntaxSyntax node with. If not - specified the current StepKeyword will be used in the new ForStepClauseSyntax - node. - - - The new StepValue to update this ForStepClauseSyntaxSyntax node with. If not - specified the current StepValue will be used in the new ForStepClauseSyntax - node. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The "For" keyword. - - - - - Creates a new node and sets the ForKeyword property - - - Returns a new node with the property set - - - - - The "Each" keyword. - - - - - Creates a new node and sets the EachKeyword property - - - Returns a new node with the property set - - - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - - - Creates a new node and sets the ControlVariable property - - - Returns a new node with the property set - - - - - The "In" keyword. - - - - - Creates a new node and sets the InKeyword property - - - Returns a new node with the property set - - - - - The expression denoting the collection to iterate over. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new ForEachStatementSyntax node with the specified changes. - - - The new ForKeyword to update this ForEachStatementSyntaxSyntax node with. If - not specified the current ForKeyword will be used in the new - ForEachStatementSyntax node. - - - The new EachKeyword to update this ForEachStatementSyntaxSyntax node with. If - not specified the current EachKeyword will be used in the new - ForEachStatementSyntax node. - - - The new ControlVariable to update this ForEachStatementSyntaxSyntax node with. - If not specified the current ControlVariable will be used in the new - ForEachStatementSyntax node. - - - The new InKeyword to update this ForEachStatementSyntaxSyntax node with. If not - specified the current InKeyword will be used in the new ForEachStatementSyntax - node. - - - The new Expression to update this ForEachStatementSyntaxSyntax node with. If - not specified the current Expression will be used in the new - ForEachStatementSyntax node. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - - - The "Next" keyword. - - - - - Creates a new node and sets the NextKeyword property - - - Returns a new node with the property set - - - - - The variables in the Next statement, if present - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the ControlVariables property - - - Returns a new node with the property set - - - - - Creates a new NextStatementSyntax node with the specified changes. - - - The new NextKeyword to update this NextStatementSyntaxSyntax node with. If not - specified the current NextKeyword will be used in the new NextStatementSyntax - node. - - - The new ControlVariables to update this NextStatementSyntaxSyntax node with. If - not specified the current ControlVariables will be used in the new - NextStatementSyntax node. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - - - The "Using" keyword. - - - - - Creates a new node and sets the UsingKeyword property - - - Returns a new node with the property set - - - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Variables property - - - Returns a new node with the property set - - - - - Creates a new UsingStatementSyntax node with the specified changes. - - - The new UsingKeyword to update this UsingStatementSyntaxSyntax node with. If - not specified the current UsingKeyword will be used in the new - UsingStatementSyntax node. - - - The new Expression to update this UsingStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new UsingStatementSyntax - node. - - - The new Variables to update this UsingStatementSyntaxSyntax node with. If not - specified the current Variables will be used in the new UsingStatementSyntax - node. - - - - - Represents a Throw statement. - - - - - The "Throw" keyword - - - - - Creates a new node and sets the ThrowKeyword property - - - Returns a new node with the property set - - - - - The expression denoting the value being thrown. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new ThrowStatementSyntax node with the specified changes. - - - The new ThrowKeyword to update this ThrowStatementSyntaxSyntax node with. If - not specified the current ThrowKeyword will be used in the new - ThrowStatementSyntax node. - - - The new Expression to update this ThrowStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new ThrowStatementSyntax - node. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - The target (left hand side) of the assignment. - - - - - Creates a new node and sets the Left property - - - Returns a new node with the property set - - - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The source (right hand side) of the assignment. - - - - - Creates a new node and sets the Right property - - - Returns a new node with the property set - - - - - Creates a new AssignmentStatementSyntax node with the specified changes. - - - The new kind to update this AssignmentStatementSyntaxSyntax node with. - - - The new Left to update this AssignmentStatementSyntaxSyntax node with. If not - specified the current Left will be used in the new AssignmentStatementSyntax - node. - - - The new OperatorToken to update this AssignmentStatementSyntaxSyntax node with. - If not specified the current OperatorToken will be used in the new - AssignmentStatementSyntax node. - - - The new Right to update this AssignmentStatementSyntaxSyntax node with. If not - specified the current Right will be used in the new AssignmentStatementSyntax - node. - - - - - Represents a left-hand side of a MidAssignment statement. - - - - - The "Mid" possibly followed by a type character. - - - - - Creates a new node and sets the Mid property - - - Returns a new node with the property set - - - - - The argument list. - - - - - Creates a new node and sets the ArgumentList property - - - Returns a new node with the property set - - - - - Creates a new MidExpressionSyntax node with the specified changes. - - - The new Mid to update this MidExpressionSyntaxSyntax node with. If not - specified the current Mid will be used in the new MidExpressionSyntax node. - - - The new ArgumentList to update this MidExpressionSyntaxSyntax node with. If not - specified the current ArgumentList will be used in the new MidExpressionSyntax - node. - - - - - Represent an call statement (also known as a invocation statement). - - - - - The "Call" keyword. - - - - - Creates a new node and sets the CallKeyword property - - - Returns a new node with the property set - - - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Creates a new node and sets the Invocation property - - - Returns a new node with the property set - - - - - Creates a new CallStatementSyntax node with the specified changes. - - - The new CallKeyword to update this CallStatementSyntaxSyntax node with. If not - specified the current CallKeyword will be used in the new CallStatementSyntax - node. - - - The new Invocation to update this CallStatementSyntaxSyntax node with. If not - specified the current Invocation will be used in the new CallStatementSyntax - node. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - - - The "AddHandler" or "RemoveHandler" keyword. - - - - - Creates a new node and sets the AddHandlerOrRemoveHandlerKeyword property - - - Returns a new node with the property set - - - - - The event being accessed. - - - - - Creates a new node and sets the EventExpression property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - The delegate being added or removed. - - - - - Creates a new node and sets the DelegateExpression property - - - Returns a new node with the property set - - - - - Creates a new AddRemoveHandlerStatementSyntax node with the specified changes. - - - The new kind to update this AddRemoveHandlerStatementSyntaxSyntax node with. - - - The new AddHandlerOrRemoveHandlerKeyword to update this - AddRemoveHandlerStatementSyntaxSyntax node with. If not specified the current - AddHandlerOrRemoveHandlerKeyword will be used in the new - AddRemoveHandlerStatementSyntax node. - - - The new EventExpression to update this AddRemoveHandlerStatementSyntaxSyntax - node with. If not specified the current EventExpression will be used in the new - AddRemoveHandlerStatementSyntax node. - - - The new CommaToken to update this AddRemoveHandlerStatementSyntaxSyntax node - with. If not specified the current CommaToken will be used in the new - AddRemoveHandlerStatementSyntax node. - - - The new DelegateExpression to update this AddRemoveHandlerStatementSyntaxSyntax - node with. If not specified the current DelegateExpression will be used in the - new AddRemoveHandlerStatementSyntax node. - - - - - Represent a RaiseEvent statement. - - - - - The "RaiseEvent" keyword - - - - - Creates a new node and sets the RaiseEventKeyword property - - - Returns a new node with the property set - - - - - The name of the event being raised. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - The argument list, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArgumentList property - - - Returns a new node with the property set - - - - - Creates a new RaiseEventStatementSyntax node with the specified changes. - - - The new RaiseEventKeyword to update this RaiseEventStatementSyntaxSyntax node - with. If not specified the current RaiseEventKeyword will be used in the new - RaiseEventStatementSyntax node. - - - The new Name to update this RaiseEventStatementSyntaxSyntax node with. If not - specified the current Name will be used in the new RaiseEventStatementSyntax - node. - - - The new ArgumentList to update this RaiseEventStatementSyntaxSyntax node with. - If not specified the current ArgumentList will be used in the new - RaiseEventStatementSyntax node. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - - - The "With" keyword. - - - - - Creates a new node and sets the WithKeyword property - - - Returns a new node with the property set - - - - - The expression that is the operand of the With statement. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new WithStatementSyntax node with the specified changes. - - - The new WithKeyword to update this WithStatementSyntaxSyntax node with. If not - specified the current WithKeyword will be used in the new WithStatementSyntax - node. - - - The new Expression to update this WithStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new WithStatementSyntax - node. - - - - - Represents a ReDim statement. - - - - - The "ReDim" keyword. - - - - - Creates a new node and sets the ReDimKeyword property - - - Returns a new node with the property set - - - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the PreserveKeyword property - - - Returns a new node with the property set - - - - - The list of ReDim clauses. - - - - - Creates a new node and sets the Clauses property - - - Returns a new node with the property set - - - - - Creates a new ReDimStatementSyntax node with the specified changes. - - - The new kind to update this ReDimStatementSyntaxSyntax node with. - - - The new ReDimKeyword to update this ReDimStatementSyntaxSyntax node with. If - not specified the current ReDimKeyword will be used in the new - ReDimStatementSyntax node. - - - The new PreserveKeyword to update this ReDimStatementSyntaxSyntax node with. If - not specified the current PreserveKeyword will be used in the new - ReDimStatementSyntax node. - - - The new Clauses to update this ReDimStatementSyntaxSyntax node with. If not - specified the current Clauses will be used in the new ReDimStatementSyntax - node. - - - - - Represents a ReDim statement clause. - - - - - The target of the ReDim statement. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The ArraySizeInitializationModifier. - - - - - Creates a new node and sets the ArrayBounds property - - - Returns a new node with the property set - - - - - Creates a new RedimClauseSyntax node with the specified changes. - - - The new Expression to update this RedimClauseSyntaxSyntax node with. If not - specified the current Expression will be used in the new RedimClauseSyntax - node. - - - The new ArrayBounds to update this RedimClauseSyntaxSyntax node with. If not - specified the current ArrayBounds will be used in the new RedimClauseSyntax - node. - - - - - Represents an "Erase" statement. - - - - - The "Erase" keyword. - - - - - Creates a new node and sets the EraseKeyword property - - - Returns a new node with the property set - - - - - A list of expressions denoting the arrays to erase. - - - - - Creates a new node and sets the Expressions property - - - Returns a new node with the property set - - - - - Creates a new EraseStatementSyntax node with the specified changes. - - - The new EraseKeyword to update this EraseStatementSyntaxSyntax node with. If - not specified the current EraseKeyword will be used in the new - EraseStatementSyntax node. - - - The new Expressions to update this EraseStatementSyntaxSyntax node with. If not - specified the current Expressions will be used in the new EraseStatementSyntax - node. - - - - - An abstract base class for all node classes that define expressions. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Creates a new node and sets the Token property - - - Returns a new node with the property set - - - - - Creates a new LiteralExpressionSyntax node with the specified changes. - - - The new kind to update this LiteralExpressionSyntaxSyntax node with. - - - The new Token to update this LiteralExpressionSyntaxSyntax node with. If not - specified the current Token will be used in the new LiteralExpressionSyntax - node. - - - - - Represents a parenthesized expression. - - - - - The "(" token - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The expression inside the parentheses. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The ")" token - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ParenthesizedExpressionSyntax node with the specified changes. - - - The new OpenParenToken to update this ParenthesizedExpressionSyntaxSyntax node - with. If not specified the current OpenParenToken will be used in the new - ParenthesizedExpressionSyntax node. - - - The new Expression to update this ParenthesizedExpressionSyntaxSyntax node - with. If not specified the current Expression will be used in the new - ParenthesizedExpressionSyntax node. - - - The new CloseParenToken to update this ParenthesizedExpressionSyntaxSyntax node - with. If not specified the current CloseParenToken will be used in the new - ParenthesizedExpressionSyntax node. - - - - - Identifies one of the special instances "Me", "MyClass" or "MyBase". The Kind - property identifies which. - - - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "Me" - - - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new MeExpressionSyntax node with the specified changes. - - - The new Keyword to update this MeExpressionSyntaxSyntax node with. If not - specified the current Keyword will be used in the new MeExpressionSyntax node. - - - - - Identifies the special instance "MyBase" - - - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new MyBaseExpressionSyntax node with the specified changes. - - - The new Keyword to update this MyBaseExpressionSyntaxSyntax node with. If not - specified the current Keyword will be used in the new MyBaseExpressionSyntax - node. - - - - - Identifies the special instance "MyClass" - - - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new MyClassExpressionSyntax node with the specified changes. - - - The new Keyword to update this MyClassExpressionSyntaxSyntax node with. If not - specified the current Keyword will be used in the new MyClassExpressionSyntax - node. - - - - - Represents a GetType expression. - - - - - The "GetType" keyword. - - - - - Creates a new node and sets the GetTypeKeyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The type to get the Type object for. This can be an open generic type. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new GetTypeExpressionSyntax node with the specified changes. - - - The new GetTypeKeyword to update this GetTypeExpressionSyntaxSyntax node with. - If not specified the current GetTypeKeyword will be used in the new - GetTypeExpressionSyntax node. - - - The new OpenParenToken to update this GetTypeExpressionSyntaxSyntax node with. - If not specified the current OpenParenToken will be used in the new - GetTypeExpressionSyntax node. - - - The new Type to update this GetTypeExpressionSyntaxSyntax node with. If not - specified the current Type will be used in the new GetTypeExpressionSyntax - node. - - - The new CloseParenToken to update this GetTypeExpressionSyntaxSyntax node with. - If not specified the current CloseParenToken will be used in the new - GetTypeExpressionSyntax node. - - - - - Represents a TypeOf...Is or IsNot expression. - - - - - The "TypeOf" keyword. - - - - - Creates a new node and sets the TypeOfKeyword property - - - Returns a new node with the property set - - - - - The expression being tested. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "Is" or "IsNot" keyword. - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The name of the type being tested against. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - Creates a new TypeOfExpressionSyntax node with the specified changes. - - - The new kind to update this TypeOfExpressionSyntaxSyntax node with. - - - The new TypeOfKeyword to update this TypeOfExpressionSyntaxSyntax node with. If - not specified the current TypeOfKeyword will be used in the new - TypeOfExpressionSyntax node. - - - The new Expression to update this TypeOfExpressionSyntaxSyntax node with. If - not specified the current Expression will be used in the new - TypeOfExpressionSyntax node. - - - The new OperatorToken to update this TypeOfExpressionSyntaxSyntax node with. If - not specified the current OperatorToken will be used in the new - TypeOfExpressionSyntax node. - - - The new Type to update this TypeOfExpressionSyntaxSyntax node with. If not - specified the current Type will be used in the new TypeOfExpressionSyntax node. - - - - - Represents a GetXmlNamespace expression. - - - - - The "GetXmlNamespace" keyword. - - - - - Creates a new node and sets the GetXmlNamespaceKeyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The Xml namespace name being referenced. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new GetXmlNamespaceExpressionSyntax node with the specified changes. - - - The new GetXmlNamespaceKeyword to update this - GetXmlNamespaceExpressionSyntaxSyntax node with. If not specified the current - GetXmlNamespaceKeyword will be used in the new GetXmlNamespaceExpressionSyntax - node. - - - The new OpenParenToken to update this GetXmlNamespaceExpressionSyntaxSyntax - node with. If not specified the current OpenParenToken will be used in the new - GetXmlNamespaceExpressionSyntax node. - - - The new Name to update this GetXmlNamespaceExpressionSyntaxSyntax node with. If - not specified the current Name will be used in the new - GetXmlNamespaceExpressionSyntax node. - - - The new CloseParenToken to update this GetXmlNamespaceExpressionSyntaxSyntax - node with. If not specified the current CloseParenToken will be used in the new - GetXmlNamespaceExpressionSyntax node. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - - - The expression on the left-hand-side of the "." or "!" token. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "." or "!" token. - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The identifier after the "." or "!" token. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new MemberAccessExpressionSyntax node with the specified changes. - - - The new kind to update this MemberAccessExpressionSyntaxSyntax node with. - - - The new Expression to update this MemberAccessExpressionSyntaxSyntax node with. - If not specified the current Expression will be used in the new - MemberAccessExpressionSyntax node. - - - The new OperatorToken to update this MemberAccessExpressionSyntaxSyntax node - with. If not specified the current OperatorToken will be used in the new - MemberAccessExpressionSyntax node. - - - The new Name to update this MemberAccessExpressionSyntaxSyntax node with. If - not specified the current Name will be used in the new - MemberAccessExpressionSyntax node. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Base property - - - Returns a new node with the property set - - - - - The initial dot "." part of the separator. - - - - - Creates a new node and sets the Token1 property - - - Returns a new node with the property set - - - - - The "@" part of .@ or the second "." of "...". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Token2 property - - - Returns a new node with the property set - - - - - The third "." in a "..." separator. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Token3 property - - - Returns a new node with the property set - - - - - The identifier after the ".", ".@" or "..." - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new XmlMemberAccessExpressionSyntax node with the specified changes. - - - The new kind to update this XmlMemberAccessExpressionSyntaxSyntax node with. - - - The new Base to update this XmlMemberAccessExpressionSyntaxSyntax node with. If - not specified the current Base will be used in the new - XmlMemberAccessExpressionSyntax node. - - - The new Token1 to update this XmlMemberAccessExpressionSyntaxSyntax node with. - If not specified the current Token1 will be used in the new - XmlMemberAccessExpressionSyntax node. - - - The new Token2 to update this XmlMemberAccessExpressionSyntaxSyntax node with. - If not specified the current Token2 will be used in the new - XmlMemberAccessExpressionSyntax node. - - - The new Token3 to update this XmlMemberAccessExpressionSyntaxSyntax node with. - If not specified the current Token3 will be used in the new - XmlMemberAccessExpressionSyntax node. - - - The new Name to update this XmlMemberAccessExpressionSyntaxSyntax node with. If - not specified the current Name will be used in the new - XmlMemberAccessExpressionSyntax node. - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - - - The target of the call or index expression. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The argument list. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArgumentList property - - - Returns a new node with the property set - - - - - Creates a new InvocationExpressionSyntax node with the specified changes. - - - The new Expression to update this InvocationExpressionSyntaxSyntax node with. - If not specified the current Expression will be used in the new - InvocationExpressionSyntax node. - - - The new ArgumentList to update this InvocationExpressionSyntaxSyntax node with. - If not specified the current ArgumentList will be used in the new - InvocationExpressionSyntax node. - - - - - Base class for object, array and anonymous object creation expressions - - - - - The "New" keyword. - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - - - The "New" keyword. - - - - - Creates a new node and sets the NewKeyword property - - - Returns a new node with the property set - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - The type of the object being initialized. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArgumentList property - - - Returns a new node with the property set - - - - - An optional From or With clause to initialize the new object. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new ObjectCreationExpressionSyntax node with the specified changes. - - - The new NewKeyword to update this ObjectCreationExpressionSyntaxSyntax node - with. If not specified the current NewKeyword will be used in the new - ObjectCreationExpressionSyntax node. - - - The new AttributeLists to update this ObjectCreationExpressionSyntaxSyntax node - with. If not specified the current AttributeLists will be used in the new - ObjectCreationExpressionSyntax node. - - - The new Type to update this ObjectCreationExpressionSyntaxSyntax node with. If - not specified the current Type will be used in the new - ObjectCreationExpressionSyntax node. - - - The new ArgumentList to update this ObjectCreationExpressionSyntaxSyntax node - with. If not specified the current ArgumentList will be used in the new - ObjectCreationExpressionSyntax node. - - - The new Initializer to update this ObjectCreationExpressionSyntaxSyntax node - with. If not specified the current Initializer will be used in the new - ObjectCreationExpressionSyntax node. - - - - - Represents a New expression that create an object of anonymous type. - - - - - The "New" keyword. - - - - - Creates a new node and sets the NewKeyword property - - - Returns a new node with the property set - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - The With clause to initialize the new object. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new AnonymousObjectCreationExpressionSyntax node with the specified - changes. - - - The new NewKeyword to update this AnonymousObjectCreationExpressionSyntaxSyntax - node with. If not specified the current NewKeyword will be used in the new - AnonymousObjectCreationExpressionSyntax node. - - - The new AttributeLists to update this - AnonymousObjectCreationExpressionSyntaxSyntax node with. If not specified the - current AttributeLists will be used in the new - AnonymousObjectCreationExpressionSyntax node. - - - The new Initializer to update this - AnonymousObjectCreationExpressionSyntaxSyntax node with. If not specified the - current Initializer will be used in the new - AnonymousObjectCreationExpressionSyntax node. - - - - - Represents an expression that creates a new array. - - - - - The "New" keyword. - - - - - Creates a new node and sets the NewKeyword property - - - Returns a new node with the property set - - - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - The element type of the array being created. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ArrayBounds property - - - Returns a new node with the property set - - - - - A list of array modifiers such as "()" or "(,)". If no array modifiers were - present, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the RankSpecifiers property - - - Returns a new node with the property set - - - - - The initializer including the braces. - - - - - Creates a new node and sets the Initializer property - - - Returns a new node with the property set - - - - - Creates a new ArrayCreationExpressionSyntax node with the specified changes. - - - The new NewKeyword to update this ArrayCreationExpressionSyntaxSyntax node - with. If not specified the current NewKeyword will be used in the new - ArrayCreationExpressionSyntax node. - - - The new AttributeLists to update this ArrayCreationExpressionSyntaxSyntax node - with. If not specified the current AttributeLists will be used in the new - ArrayCreationExpressionSyntax node. - - - The new Type to update this ArrayCreationExpressionSyntaxSyntax node with. If - not specified the current Type will be used in the new - ArrayCreationExpressionSyntax node. - - - The new ArrayBounds to update this ArrayCreationExpressionSyntaxSyntax node - with. If not specified the current ArrayBounds will be used in the new - ArrayCreationExpressionSyntax node. - - - The new RankSpecifiers to update this ArrayCreationExpressionSyntaxSyntax node - with. If not specified the current RankSpecifiers will be used in the new - ArrayCreationExpressionSyntax node. - - - The new Initializer to update this ArrayCreationExpressionSyntaxSyntax node - with. If not specified the current Initializer will be used in the new - ArrayCreationExpressionSyntax node. - - - - - Represents an expression that creates a new array without naming the element - type. - - - - - The "{" token. - - - - - Creates a new node and sets the OpenBraceToken property - - - Returns a new node with the property set - - - - - The list of initializers between the braces. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Initializers property - - - Returns a new node with the property set - - - - - The "}" token. - - - - - Creates a new node and sets the CloseBraceToken property - - - Returns a new node with the property set - - - - - Creates a new CollectionInitializerSyntax node with the specified changes. - - - The new OpenBraceToken to update this CollectionInitializerSyntaxSyntax node - with. If not specified the current OpenBraceToken will be used in the new - CollectionInitializerSyntax node. - - - The new Initializers to update this CollectionInitializerSyntaxSyntax node - with. If not specified the current Initializers will be used in the new - CollectionInitializerSyntax node. - - - The new CloseBraceToken to update this CollectionInitializerSyntaxSyntax node - with. If not specified the current CloseBraceToken will be used in the new - CollectionInitializerSyntax node. - - - - - Represents a CType, DirectCast or TryCast conversion expression. The Kind - property determines which kind of cast it is. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - - - The "(" token. - - - - - The expression being cast. - - - - - The "," token. - - - - - The type the expression is being cast to. - - - - - The ")" token. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The expression being cast. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - The type the expression is being cast to. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new CTypeExpressionSyntax node with the specified changes. - - - The new Keyword to update this CTypeExpressionSyntaxSyntax node with. If not - specified the current Keyword will be used in the new CTypeExpressionSyntax - node. - - - The new OpenParenToken to update this CTypeExpressionSyntaxSyntax node with. If - not specified the current OpenParenToken will be used in the new - CTypeExpressionSyntax node. - - - The new Expression to update this CTypeExpressionSyntaxSyntax node with. If not - specified the current Expression will be used in the new CTypeExpressionSyntax - node. - - - The new CommaToken to update this CTypeExpressionSyntaxSyntax node with. If not - specified the current CommaToken will be used in the new CTypeExpressionSyntax - node. - - - The new Type to update this CTypeExpressionSyntaxSyntax node with. If not - specified the current Type will be used in the new CTypeExpressionSyntax node. - - - The new CloseParenToken to update this CTypeExpressionSyntaxSyntax node with. - If not specified the current CloseParenToken will be used in the new - CTypeExpressionSyntax node. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The expression being cast. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - The type the expression is being cast to. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new DirectCastExpressionSyntax node with the specified changes. - - - The new Keyword to update this DirectCastExpressionSyntaxSyntax node with. If - not specified the current Keyword will be used in the new - DirectCastExpressionSyntax node. - - - The new OpenParenToken to update this DirectCastExpressionSyntaxSyntax node - with. If not specified the current OpenParenToken will be used in the new - DirectCastExpressionSyntax node. - - - The new Expression to update this DirectCastExpressionSyntaxSyntax node with. - If not specified the current Expression will be used in the new - DirectCastExpressionSyntax node. - - - The new CommaToken to update this DirectCastExpressionSyntaxSyntax node with. - If not specified the current CommaToken will be used in the new - DirectCastExpressionSyntax node. - - - The new Type to update this DirectCastExpressionSyntaxSyntax node with. If not - specified the current Type will be used in the new DirectCastExpressionSyntax - node. - - - The new CloseParenToken to update this DirectCastExpressionSyntaxSyntax node - with. If not specified the current CloseParenToken will be used in the new - DirectCastExpressionSyntax node. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The expression being cast. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - The type the expression is being cast to. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new TryCastExpressionSyntax node with the specified changes. - - - The new Keyword to update this TryCastExpressionSyntaxSyntax node with. If not - specified the current Keyword will be used in the new TryCastExpressionSyntax - node. - - - The new OpenParenToken to update this TryCastExpressionSyntaxSyntax node with. - If not specified the current OpenParenToken will be used in the new - TryCastExpressionSyntax node. - - - The new Expression to update this TryCastExpressionSyntaxSyntax node with. If - not specified the current Expression will be used in the new - TryCastExpressionSyntax node. - - - The new CommaToken to update this TryCastExpressionSyntaxSyntax node with. If - not specified the current CommaToken will be used in the new - TryCastExpressionSyntax node. - - - The new Type to update this TryCastExpressionSyntaxSyntax node with. If not - specified the current Type will be used in the new TryCastExpressionSyntax - node. - - - The new CloseParenToken to update this TryCastExpressionSyntaxSyntax node with. - If not specified the current CloseParenToken will be used in the new - TryCastExpressionSyntax node. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - - - The keyword that was used in the cast operation. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The expression being cast. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new PredefinedCastExpressionSyntax node with the specified changes. - - - The new Keyword to update this PredefinedCastExpressionSyntaxSyntax node with. - If not specified the current Keyword will be used in the new - PredefinedCastExpressionSyntax node. - - - The new OpenParenToken to update this PredefinedCastExpressionSyntaxSyntax node - with. If not specified the current OpenParenToken will be used in the new - PredefinedCastExpressionSyntax node. - - - The new Expression to update this PredefinedCastExpressionSyntaxSyntax node - with. If not specified the current Expression will be used in the new - PredefinedCastExpressionSyntax node. - - - The new CloseParenToken to update this PredefinedCastExpressionSyntaxSyntax - node with. If not specified the current CloseParenToken will be used in the new - PredefinedCastExpressionSyntax node. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - The left operand. - - - - - Creates a new node and sets the Left property - - - Returns a new node with the property set - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The right operand. - - - - - Creates a new node and sets the Right property - - - Returns a new node with the property set - - - - - Creates a new BinaryExpressionSyntax node with the specified changes. - - - The new kind to update this BinaryExpressionSyntaxSyntax node with. - - - The new Left to update this BinaryExpressionSyntaxSyntax node with. If not - specified the current Left will be used in the new BinaryExpressionSyntax node. - - - The new OperatorToken to update this BinaryExpressionSyntaxSyntax node with. If - not specified the current OperatorToken will be used in the new - BinaryExpressionSyntax node. - - - The new Right to update this BinaryExpressionSyntaxSyntax node with. If not - specified the current Right will be used in the new BinaryExpressionSyntax - node. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - The token that is the operator. - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - The expression being operated on. - - - - - Creates a new node and sets the Operand property - - - Returns a new node with the property set - - - - - Creates a new UnaryExpressionSyntax node with the specified changes. - - - The new kind to update this UnaryExpressionSyntaxSyntax node with. - - - The new OperatorToken to update this UnaryExpressionSyntaxSyntax node with. If - not specified the current OperatorToken will be used in the new - UnaryExpressionSyntax node. - - - The new Operand to update this UnaryExpressionSyntaxSyntax node with. If not - specified the current Operand will be used in the new UnaryExpressionSyntax - node. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - The "If" keyword - - - - - Creates a new node and sets the IfKeyword property - - - Returns a new node with the property set - - - - - The "(" token - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The first expression inside the parentheses. - - - - - Creates a new node and sets the FirstExpression property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - The second expression inside the parentheses. - - - - - Creates a new node and sets the SecondExpression property - - - Returns a new node with the property set - - - - - The ")" token - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new BinaryConditionalExpressionSyntax node with the specified - changes. - - - The new IfKeyword to update this BinaryConditionalExpressionSyntaxSyntax node - with. If not specified the current IfKeyword will be used in the new - BinaryConditionalExpressionSyntax node. - - - The new OpenParenToken to update this BinaryConditionalExpressionSyntaxSyntax - node with. If not specified the current OpenParenToken will be used in the new - BinaryConditionalExpressionSyntax node. - - - The new FirstExpression to update this BinaryConditionalExpressionSyntaxSyntax - node with. If not specified the current FirstExpression will be used in the new - BinaryConditionalExpressionSyntax node. - - - The new CommaToken to update this BinaryConditionalExpressionSyntaxSyntax node - with. If not specified the current CommaToken will be used in the new - BinaryConditionalExpressionSyntax node. - - - The new SecondExpression to update this BinaryConditionalExpressionSyntaxSyntax - node with. If not specified the current SecondExpression will be used in the - new BinaryConditionalExpressionSyntax node. - - - The new CloseParenToken to update this BinaryConditionalExpressionSyntaxSyntax - node with. If not specified the current CloseParenToken will be used in the new - BinaryConditionalExpressionSyntax node. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - The "If" keyword - - - - - Creates a new node and sets the IfKeyword property - - - Returns a new node with the property set - - - - - The "(" token - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The first expression inside the parentheses. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the FirstCommaToken property - - - Returns a new node with the property set - - - - - The second expression inside the parentheses. - - - - - Creates a new node and sets the WhenTrue property - - - Returns a new node with the property set - - - - - The "," token. - - - - - Creates a new node and sets the SecondCommaToken property - - - Returns a new node with the property set - - - - - The second expression inside the parentheses. - - - - - Creates a new node and sets the WhenFalse property - - - Returns a new node with the property set - - - - - The ")" token - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new TernaryConditionalExpressionSyntax node with the specified - changes. - - - The new IfKeyword to update this TernaryConditionalExpressionSyntaxSyntax node - with. If not specified the current IfKeyword will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new OpenParenToken to update this TernaryConditionalExpressionSyntaxSyntax - node with. If not specified the current OpenParenToken will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new Condition to update this TernaryConditionalExpressionSyntaxSyntax node - with. If not specified the current Condition will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new FirstCommaToken to update this TernaryConditionalExpressionSyntaxSyntax - node with. If not specified the current FirstCommaToken will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new WhenTrue to update this TernaryConditionalExpressionSyntaxSyntax node - with. If not specified the current WhenTrue will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new SecondCommaToken to update this - TernaryConditionalExpressionSyntaxSyntax node with. If not specified the - current SecondCommaToken will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new WhenFalse to update this TernaryConditionalExpressionSyntaxSyntax node - with. If not specified the current WhenFalse will be used in the new - TernaryConditionalExpressionSyntax node. - - - The new CloseParenToken to update this TernaryConditionalExpressionSyntaxSyntax - node with. If not specified the current CloseParenToken will be used in the new - TernaryConditionalExpressionSyntax node. - - - - - Represents a lambda expression, either single line or multi-line. - - - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - - - Represents a multi-line lambda expression. - - - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - - - Creates a new node and sets the Begin property - - - Returns a new node with the property set - - - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Statements property - - - Returns a new node with the property set - - - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Creates a new node and sets the [End] property - - - Returns a new node with the property set - - - - - Creates a new MultiLineLambdaExpressionSyntax node with the specified changes. - - - The new kind to update this MultiLineLambdaExpressionSyntaxSyntax node with. - - - The new Begin to update this MultiLineLambdaExpressionSyntaxSyntax node with. - If not specified the current Begin will be used in the new - MultiLineLambdaExpressionSyntax node. - - - The new Statements to update this MultiLineLambdaExpressionSyntaxSyntax node - with. If not specified the current Statements will be used in the new - MultiLineLambdaExpressionSyntax node. - - - The new End to update this MultiLineLambdaExpressionSyntaxSyntax node with. If - not specified the current End will be used in the new - MultiLineLambdaExpressionSyntax node. - - - - - Represents the header part of a lambda expression - - - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AttributeLists property - - - Returns a new node with the property set - - - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Modifiers property - - - Returns a new node with the property set - - - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ParameterList property - - - Returns a new node with the property set - - - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - Creates a new LambdaHeaderSyntax node with the specified changes. - - - The new kind to update this LambdaHeaderSyntaxSyntax node with. - - - The new AttributeLists to update this LambdaHeaderSyntaxSyntax node with. If - not specified the current AttributeLists will be used in the new - LambdaHeaderSyntax node. - - - The new Modifiers to update this LambdaHeaderSyntaxSyntax node with. If not - specified the current Modifiers will be used in the new LambdaHeaderSyntax - node. - - - The new Keyword to update this LambdaHeaderSyntaxSyntax node with. If not - specified the current Keyword will be used in the new LambdaHeaderSyntax node. - - - The new ParameterList to update this LambdaHeaderSyntaxSyntax node with. If not - specified the current ParameterList will be used in the new LambdaHeaderSyntax - node. - - - The new AsClause to update this LambdaHeaderSyntaxSyntax node with. If not - specified the current AsClause will be used in the new LambdaHeaderSyntax node. - - - - - Represents a parenthesized argument list. - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Arguments property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ArgumentListSyntax node with the specified changes. - - - The new OpenParenToken to update this ArgumentListSyntaxSyntax node with. If - not specified the current OpenParenToken will be used in the new - ArgumentListSyntax node. - - - The new Arguments to update this ArgumentListSyntaxSyntax node with. If not - specified the current Arguments will be used in the new ArgumentListSyntax - node. - - - The new CloseParenToken to update this ArgumentListSyntaxSyntax node with. If - not specified the current CloseParenToken will be used in the new - ArgumentListSyntax node. - - - - - Base class for the possible kinds of arguments that can appear in an argument - list. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - - - An empty token because all non terminals must have a token. - - - - - Creates a new node and sets the Empty property - - - Returns a new node with the property set - - - - - Creates a new OmittedArgumentSyntax node with the specified changes. - - - The new Empty to update this OmittedArgumentSyntaxSyntax node with. If not - specified the current Empty will be used in the new OmittedArgumentSyntax node. - - - - - Represents a simple argument that is just an expression. - - - - - The expression that is the argument. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new SimpleArgumentSyntax node with the specified changes. - - - The new Expression to update this SimpleArgumentSyntaxSyntax node with. If not - specified the current Expression will be used in the new SimpleArgumentSyntax - node. - - - - - Represents a named argument, such as "Value:=7". - - - - - The name used to identify the named argument. - - - - - Creates a new node and sets the IdentifierName property - - - Returns a new node with the property set - - - - - The ":=" token. - - - - - Creates a new node and sets the ColonEqualsToken property - - - Returns a new node with the property set - - - - - The expression that is the named argument. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new NamedArgumentSyntax node with the specified changes. - - - The new IdentifierName to update this NamedArgumentSyntaxSyntax node with. If - not specified the current IdentifierName will be used in the new - NamedArgumentSyntax node. - - - The new ColonEqualsToken to update this NamedArgumentSyntaxSyntax node with. If - not specified the current ColonEqualsToken will be used in the new - NamedArgumentSyntax node. - - - The new Expression to update this NamedArgumentSyntaxSyntax node with. If not - specified the current Expression will be used in the new NamedArgumentSyntax - node. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - - - The lower bound of the range. This is typically the integer constant zero. - - - - - Creates a new node and sets the LowerBound property - - - Returns a new node with the property set - - - - - The "To" keyword. - - - - - Creates a new node and sets the ToKeyword property - - - Returns a new node with the property set - - - - - The upper bound of the range. - - - - - Creates a new node and sets the UpperBound property - - - Returns a new node with the property set - - - - - Creates a new RangeArgumentSyntax node with the specified changes. - - - The new LowerBound to update this RangeArgumentSyntaxSyntax node with. If not - specified the current LowerBound will be used in the new RangeArgumentSyntax - node. - - - The new ToKeyword to update this RangeArgumentSyntaxSyntax node with. If not - specified the current ToKeyword will be used in the new RangeArgumentSyntax - node. - - - The new UpperBound to update this RangeArgumentSyntaxSyntax node with. If not - specified the current UpperBound will be used in the new RangeArgumentSyntax - node. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - Creates a new node and sets the Clauses property - - - Returns a new node with the property set - - - - - Creates a new QueryExpressionSyntax node with the specified changes. - - - The new Clauses to update this QueryExpressionSyntaxSyntax node with. If not - specified the current Clauses will be used in the new QueryExpressionSyntax - node. - - - - - This is a base class for all query operators. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - - - The name of the range variable being defined. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - Describes the type of the variable being defined. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - The "In" keyword. - - - - - Creates a new node and sets the InKeyword property - - - Returns a new node with the property set - - - - - The expression that serves as the source of items for the range variable. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new CollectionRangeVariableSyntax node with the specified changes. - - - The new Identifier to update this CollectionRangeVariableSyntaxSyntax node - with. If not specified the current Identifier will be used in the new - CollectionRangeVariableSyntax node. - - - The new AsClause to update this CollectionRangeVariableSyntaxSyntax node with. - If not specified the current AsClause will be used in the new - CollectionRangeVariableSyntax node. - - - The new InKeyword to update this CollectionRangeVariableSyntaxSyntax node with. - If not specified the current InKeyword will be used in the new - CollectionRangeVariableSyntax node. - - - The new Expression to update this CollectionRangeVariableSyntaxSyntax node - with. If not specified the current Expression will be used in the new - CollectionRangeVariableSyntax node. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the expression. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the NameEquals property - - - Returns a new node with the property set - - - - - The expression used to initialize the expression variable. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new ExpressionRangeVariableSyntax node with the specified changes. - - - The new NameEquals to update this ExpressionRangeVariableSyntaxSyntax node - with. If not specified the current NameEquals will be used in the new - ExpressionRangeVariableSyntax node. - - - The new Expression to update this ExpressionRangeVariableSyntaxSyntax node - with. If not specified the current Expression will be used in the new - ExpressionRangeVariableSyntax node. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the aggregation - expression. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the NameEquals property - - - Returns a new node with the property set - - - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Creates a new node and sets the Aggregation property - - - Returns a new node with the property set - - - - - Creates a new AggregationRangeVariableSyntax node with the specified changes. - - - The new NameEquals to update this AggregationRangeVariableSyntaxSyntax node - with. If not specified the current NameEquals will be used in the new - AggregationRangeVariableSyntax node. - - - The new Aggregation to update this AggregationRangeVariableSyntaxSyntax node - with. If not specified the current Aggregation will be used in the new - AggregationRangeVariableSyntax node. - - - - - Represents the name and optional type of an expression range variable. - - - - - The name of the variable being defined. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - Describes the type of the variable being defined. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - The "=" token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - Creates a new VariableNameEqualsSyntax node with the specified changes. - - - The new Identifier to update this VariableNameEqualsSyntaxSyntax node with. If - not specified the current Identifier will be used in the new - VariableNameEqualsSyntax node. - - - The new AsClause to update this VariableNameEqualsSyntaxSyntax node with. If - not specified the current AsClause will be used in the new - VariableNameEqualsSyntax node. - - - The new EqualsToken to update this VariableNameEqualsSyntaxSyntax node with. If - not specified the current EqualsToken will be used in the new - VariableNameEqualsSyntax node. - - - - - Represents aggregation in aggregation range variable declaration of a Group By, - Group Join or Aggregate query operator. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - - - The name of the aggregation function. - - - - - Creates a new node and sets the FunctionName property - - - Returns a new node with the property set - - - - - The "(" token if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The argument to the aggregation function. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Argument property - - - Returns a new node with the property set - - - - - The ")" token, if present. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new FunctionAggregationSyntax node with the specified changes. - - - The new FunctionName to update this FunctionAggregationSyntaxSyntax node with. - If not specified the current FunctionName will be used in the new - FunctionAggregationSyntax node. - - - The new OpenParenToken to update this FunctionAggregationSyntaxSyntax node - with. If not specified the current OpenParenToken will be used in the new - FunctionAggregationSyntax node. - - - The new Argument to update this FunctionAggregationSyntaxSyntax node with. If - not specified the current Argument will be used in the new - FunctionAggregationSyntax node. - - - The new CloseParenToken to update this FunctionAggregationSyntaxSyntax node - with. If not specified the current CloseParenToken will be used in the new - FunctionAggregationSyntax node. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - - - The "Group" keyword. - - - - - Creates a new node and sets the GroupKeyword property - - - Returns a new node with the property set - - - - - Creates a new GroupAggregationSyntax node with the specified changes. - - - The new GroupKeyword to update this GroupAggregationSyntaxSyntax node with. If - not specified the current GroupKeyword will be used in the new - GroupAggregationSyntax node. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - - - The "From" keyword. - - - - - Creates a new node and sets the FromKeyword property - - - Returns a new node with the property set - - - - - The list of collection variables declared by this From operator. - - - - - Creates a new node and sets the Variables property - - - Returns a new node with the property set - - - - - Creates a new FromClauseSyntax node with the specified changes. - - - The new FromKeyword to update this FromClauseSyntaxSyntax node with. If not - specified the current FromKeyword will be used in the new FromClauseSyntax - node. - - - The new Variables to update this FromClauseSyntaxSyntax node with. If not - specified the current Variables will be used in the new FromClauseSyntax node. - - - - - Represents a "Let" query operator. - - - - - The "Let" keyword. - - - - - Creates a new node and sets the LetKeyword property - - - Returns a new node with the property set - - - - - The list of expression range variable being defined by the Let operator. - - - - - Creates a new node and sets the Variables property - - - Returns a new node with the property set - - - - - Creates a new LetClauseSyntax node with the specified changes. - - - The new LetKeyword to update this LetClauseSyntaxSyntax node with. If not - specified the current LetKeyword will be used in the new LetClauseSyntax node. - - - The new Variables to update this LetClauseSyntaxSyntax node with. If not - specified the current Variables will be used in the new LetClauseSyntax node. - - - - - Represents an Aggregate query operator. - - - - - The "Aggregate" keyword. - - - - - Creates a new node and sets the AggregateKeyword property - - - Returns a new node with the property set - - - - - The list of collection range variables declared by this Aggregate operator. - - - - - Creates a new node and sets the Variables property - - - Returns a new node with the property set - - - - - A list of additional query operators. It may be empty. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AdditionalQueryOperators property - - - Returns a new node with the property set - - - - - The "Into" keyword. - - - - - Creates a new node and sets the IntoKeyword property - - - Returns a new node with the property set - - - - - The list of new variables being defined by the aggregation. - - - - - Creates a new node and sets the AggregationVariables property - - - Returns a new node with the property set - - - - - Creates a new AggregateClauseSyntax node with the specified changes. - - - The new AggregateKeyword to update this AggregateClauseSyntaxSyntax node with. - If not specified the current AggregateKeyword will be used in the new - AggregateClauseSyntax node. - - - The new Variables to update this AggregateClauseSyntaxSyntax node with. If not - specified the current Variables will be used in the new AggregateClauseSyntax - node. - - - The new AdditionalQueryOperators to update this AggregateClauseSyntaxSyntax - node with. If not specified the current AdditionalQueryOperators will be used - in the new AggregateClauseSyntax node. - - - The new IntoKeyword to update this AggregateClauseSyntaxSyntax node with. If - not specified the current IntoKeyword will be used in the new - AggregateClauseSyntax node. - - - The new AggregationVariables to update this AggregateClauseSyntaxSyntax node - with. If not specified the current AggregationVariables will be used in the new - AggregateClauseSyntax node. - - - - - Represents the "Distinct" query operator. - - - - - The "Distinct" keyword. - - - - - Creates a new node and sets the DistinctKeyword property - - - Returns a new node with the property set - - - - - Creates a new DistinctClauseSyntax node with the specified changes. - - - The new DistinctKeyword to update this DistinctClauseSyntaxSyntax node with. If - not specified the current DistinctKeyword will be used in the new - DistinctClauseSyntax node. - - - - - Represents a "Where" query operator. - - - - - The "Where" keyword. - - - - - Creates a new node and sets the WhereKeyword property - - - Returns a new node with the property set - - - - - The boolean expression used for filtering. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - Creates a new WhereClauseSyntax node with the specified changes. - - - The new WhereKeyword to update this WhereClauseSyntaxSyntax node with. If not - specified the current WhereKeyword will be used in the new WhereClauseSyntax - node. - - - The new Condition to update this WhereClauseSyntaxSyntax node with. If not - specified the current Condition will be used in the new WhereClauseSyntax node. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - - - The "Skip" or "Take" keyword. - - - - - Creates a new node and sets the SkipOrTakeKeyword property - - - Returns a new node with the property set - - - - - The "While" keyword. - - - - - Creates a new node and sets the WhileKeyword property - - - Returns a new node with the property set - - - - - The boolean expression used for partitioning. - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - Creates a new PartitionWhileClauseSyntax node with the specified changes. - - - The new kind to update this PartitionWhileClauseSyntaxSyntax node with. - - - The new SkipOrTakeKeyword to update this PartitionWhileClauseSyntaxSyntax node - with. If not specified the current SkipOrTakeKeyword will be used in the new - PartitionWhileClauseSyntax node. - - - The new WhileKeyword to update this PartitionWhileClauseSyntaxSyntax node with. - If not specified the current WhileKeyword will be used in the new - PartitionWhileClauseSyntax node. - - - The new Condition to update this PartitionWhileClauseSyntaxSyntax node with. If - not specified the current Condition will be used in the new - PartitionWhileClauseSyntax node. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - - - The "Skip" or "Take" keyword. - - - - - Creates a new node and sets the SkipOrTakeKeyword property - - - Returns a new node with the property set - - - - - Represents the expression with the number of items to take or skip. - - - - - Creates a new node and sets the Count property - - - Returns a new node with the property set - - - - - Creates a new PartitionClauseSyntax node with the specified changes. - - - The new kind to update this PartitionClauseSyntaxSyntax node with. - - - The new SkipOrTakeKeyword to update this PartitionClauseSyntaxSyntax node with. - If not specified the current SkipOrTakeKeyword will be used in the new - PartitionClauseSyntax node. - - - The new Count to update this PartitionClauseSyntaxSyntax node with. If not - specified the current Count will be used in the new PartitionClauseSyntax node. - - - - - Represents the "Group By" query operator. - - - - - The "Group" keyword. - - - - - Creates a new node and sets the GroupKeyword property - - - Returns a new node with the property set - - - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Items property - - - Returns a new node with the property set - - - - - The "By" keyword. - - - - - Creates a new node and sets the ByKeyword property - - - Returns a new node with the property set - - - - - The key values being used for grouping. - - - - - Creates a new node and sets the Keys property - - - Returns a new node with the property set - - - - - Creates a new node and sets the IntoKeyword property - - - Returns a new node with the property set - - - - - The list of new variables that calculate aggregations. - - - - - Creates a new node and sets the AggregationVariables property - - - Returns a new node with the property set - - - - - Creates a new GroupByClauseSyntax node with the specified changes. - - - The new GroupKeyword to update this GroupByClauseSyntaxSyntax node with. If not - specified the current GroupKeyword will be used in the new GroupByClauseSyntax - node. - - - The new Items to update this GroupByClauseSyntaxSyntax node with. If not - specified the current Items will be used in the new GroupByClauseSyntax node. - - - The new ByKeyword to update this GroupByClauseSyntaxSyntax node with. If not - specified the current ByKeyword will be used in the new GroupByClauseSyntax - node. - - - The new Keys to update this GroupByClauseSyntaxSyntax node with. If not - specified the current Keys will be used in the new GroupByClauseSyntax node. - - - The new IntoKeyword to update this GroupByClauseSyntaxSyntax node with. If not - specified the current IntoKeyword will be used in the new GroupByClauseSyntax - node. - - - The new AggregationVariables to update this GroupByClauseSyntaxSyntax node - with. If not specified the current AggregationVariables will be used in the new - GroupByClauseSyntax node. - - - - - Represents a Join or a Group Join query operator. - - - - - The "Join" keyword. - - - - - Defines the collection range variables being joined to. - - - - - An additional Join or Group Join query operator. - - - If nothing is present, an empty list is returned. - - - - - The "On" keyword. - - - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents the "expression Equals expression" condition in a Join. - - - - - The left expression in the Join condition. - - - - - Creates a new node and sets the Left property - - - Returns a new node with the property set - - - - - The "Equals" keyword. - - - - - Creates a new node and sets the EqualsKeyword property - - - Returns a new node with the property set - - - - - The right expression in the Join condition. - - - - - Creates a new node and sets the Right property - - - Returns a new node with the property set - - - - - Creates a new JoinConditionSyntax node with the specified changes. - - - The new Left to update this JoinConditionSyntaxSyntax node with. If not - specified the current Left will be used in the new JoinConditionSyntax node. - - - The new EqualsKeyword to update this JoinConditionSyntaxSyntax node with. If - not specified the current EqualsKeyword will be used in the new - JoinConditionSyntax node. - - - The new Right to update this JoinConditionSyntaxSyntax node with. If not - specified the current Right will be used in the new JoinConditionSyntax node. - - - - - Represents a Join query operator. - - - - - The "Join" keyword. - - - - - Creates a new node and sets the JoinKeyword property - - - Returns a new node with the property set - - - - - Defines the collection range variables being joined to. - - - - - Creates a new node and sets the JoinedVariables property - - - Returns a new node with the property set - - - - - An additional Join or Group Join query operator. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AdditionalJoins property - - - Returns a new node with the property set - - - - - The "On" keyword. - - - - - Creates a new node and sets the OnKeyword property - - - Returns a new node with the property set - - - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Creates a new node and sets the JoinConditions property - - - Returns a new node with the property set - - - - - Creates a new SimpleJoinClauseSyntax node with the specified changes. - - - The new JoinKeyword to update this SimpleJoinClauseSyntaxSyntax node with. If - not specified the current JoinKeyword will be used in the new - SimpleJoinClauseSyntax node. - - - The new JoinedVariables to update this SimpleJoinClauseSyntaxSyntax node with. - If not specified the current JoinedVariables will be used in the new - SimpleJoinClauseSyntax node. - - - The new AdditionalJoins to update this SimpleJoinClauseSyntaxSyntax node with. - If not specified the current AdditionalJoins will be used in the new - SimpleJoinClauseSyntax node. - - - The new OnKeyword to update this SimpleJoinClauseSyntaxSyntax node with. If not - specified the current OnKeyword will be used in the new SimpleJoinClauseSyntax - node. - - - The new JoinConditions to update this SimpleJoinClauseSyntaxSyntax node with. - If not specified the current JoinConditions will be used in the new - SimpleJoinClauseSyntax node. - - - - - Represents the "Group Join" query operator. - - - - - The "Group" keyword. - - - - - Creates a new node and sets the GroupKeyword property - - - Returns a new node with the property set - - - - - The "Join" keyword. - - - - - Creates a new node and sets the JoinKeyword property - - - Returns a new node with the property set - - - - - Defines the collection range variables being joined to. - - - - - Creates a new node and sets the JoinedVariables property - - - Returns a new node with the property set - - - - - An additional Join or Group Join query operator. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the AdditionalJoins property - - - Returns a new node with the property set - - - - - The "On" keyword. - - - - - Creates a new node and sets the OnKeyword property - - - Returns a new node with the property set - - - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Creates a new node and sets the JoinConditions property - - - Returns a new node with the property set - - - - - The "Into" keyword. - - - - - Creates a new node and sets the IntoKeyword property - - - Returns a new node with the property set - - - - - The list of new variables that calculate aggregations. - - - - - Creates a new node and sets the AggregationVariables property - - - Returns a new node with the property set - - - - - Creates a new GroupJoinClauseSyntax node with the specified changes. - - - The new GroupKeyword to update this GroupJoinClauseSyntaxSyntax node with. If - not specified the current GroupKeyword will be used in the new - GroupJoinClauseSyntax node. - - - The new JoinKeyword to update this GroupJoinClauseSyntaxSyntax node with. If - not specified the current JoinKeyword will be used in the new - GroupJoinClauseSyntax node. - - - The new JoinedVariables to update this GroupJoinClauseSyntaxSyntax node with. - If not specified the current JoinedVariables will be used in the new - GroupJoinClauseSyntax node. - - - The new AdditionalJoins to update this GroupJoinClauseSyntaxSyntax node with. - If not specified the current AdditionalJoins will be used in the new - GroupJoinClauseSyntax node. - - - The new OnKeyword to update this GroupJoinClauseSyntaxSyntax node with. If not - specified the current OnKeyword will be used in the new GroupJoinClauseSyntax - node. - - - The new JoinConditions to update this GroupJoinClauseSyntaxSyntax node with. If - not specified the current JoinConditions will be used in the new - GroupJoinClauseSyntax node. - - - The new IntoKeyword to update this GroupJoinClauseSyntaxSyntax node with. If - not specified the current IntoKeyword will be used in the new - GroupJoinClauseSyntax node. - - - The new AggregationVariables to update this GroupJoinClauseSyntaxSyntax node - with. If not specified the current AggregationVariables will be used in the new - GroupJoinClauseSyntax node. - - - - - Represents the "Order By" query operator. - - - - - The "Order" keyword - - - - - Creates a new node and sets the OrderKeyword property - - - Returns a new node with the property set - - - - - The "By" keyword. - - - - - Creates a new node and sets the ByKeyword property - - - Returns a new node with the property set - - - - - The list of OrderExpression's to sort by. - - - - - Creates a new node and sets the Orderings property - - - Returns a new node with the property set - - - - - Creates a new OrderByClauseSyntax node with the specified changes. - - - The new OrderKeyword to update this OrderByClauseSyntaxSyntax node with. If not - specified the current OrderKeyword will be used in the new OrderByClauseSyntax - node. - - - The new ByKeyword to update this OrderByClauseSyntaxSyntax node with. If not - specified the current ByKeyword will be used in the new OrderByClauseSyntax - node. - - - The new Orderings to update this OrderByClauseSyntaxSyntax node with. If not - specified the current Orderings will be used in the new OrderByClauseSyntax - node. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - - - The expression to sort by. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AscendingOrDescendingKeyword property - - - Returns a new node with the property set - - - - - Creates a new OrderingSyntax node with the specified changes. - - - The new kind to update this OrderingSyntaxSyntax node with. - - - The new Expression to update this OrderingSyntaxSyntax node with. If not - specified the current Expression will be used in the new OrderingSyntax node. - - - The new AscendingOrDescendingKeyword to update this OrderingSyntaxSyntax node - with. If not specified the current AscendingOrDescendingKeyword will be used in - the new OrderingSyntax node. - - - - - Represents the "Select" query operator. - - - - - The "Select" keyword. - - - - - Creates a new node and sets the SelectKeyword property - - - Returns a new node with the property set - - - - - The list of expression range variables being defined by the Select query - operator. - - - - - Creates a new node and sets the Variables property - - - Returns a new node with the property set - - - - - Creates a new SelectClauseSyntax node with the specified changes. - - - The new SelectKeyword to update this SelectClauseSyntaxSyntax node with. If not - specified the current SelectKeyword will be used in the new SelectClauseSyntax - node. - - - The new Variables to update this SelectClauseSyntaxSyntax node with. If not - specified the current Variables will be used in the new SelectClauseSyntax - node. - - - - - This is the base class for all XML expression syntax nodes (XmlDocument and - XmlElement). - - - - - Represents an XML Document literal expression. - - - - - Creates a new node and sets the Declaration property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the PrecedingMisc property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Root property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the FollowingMisc property - - - Returns a new node with the property set - - - - - Creates a new XmlDocumentSyntax node with the specified changes. - - - The new Declaration to update this XmlDocumentSyntaxSyntax node with. If not - specified the current Declaration will be used in the new XmlDocumentSyntax - node. - - - The new PrecedingMisc to update this XmlDocumentSyntaxSyntax node with. If not - specified the current PrecedingMisc will be used in the new XmlDocumentSyntax - node. - - - The new Root to update this XmlDocumentSyntaxSyntax node with. If not specified - the current Root will be used in the new XmlDocumentSyntax node. - - - The new FollowingMisc to update this XmlDocumentSyntaxSyntax node with. If not - specified the current FollowingMisc will be used in the new XmlDocumentSyntax - node. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Creates a new node and sets the LessThanQuestionToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the XmlKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Version property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Encoding property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Standalone property - - - Returns a new node with the property set - - - - - Creates a new node and sets the QuestionGreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlDeclarationSyntax node with the specified changes. - - - The new LessThanQuestionToken to update this XmlDeclarationSyntaxSyntax node - with. If not specified the current LessThanQuestionToken will be used in the - new XmlDeclarationSyntax node. - - - The new XmlKeyword to update this XmlDeclarationSyntaxSyntax node with. If not - specified the current XmlKeyword will be used in the new XmlDeclarationSyntax - node. - - - The new Version to update this XmlDeclarationSyntaxSyntax node with. If not - specified the current Version will be used in the new XmlDeclarationSyntax - node. - - - The new Encoding to update this XmlDeclarationSyntaxSyntax node with. If not - specified the current Encoding will be used in the new XmlDeclarationSyntax - node. - - - The new Standalone to update this XmlDeclarationSyntaxSyntax node with. If not - specified the current Standalone will be used in the new XmlDeclarationSyntax - node. - - - The new QuestionGreaterThanToken to update this XmlDeclarationSyntaxSyntax node - with. If not specified the current QuestionGreaterThanToken will be used in the - new XmlDeclarationSyntax node. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Equals property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new XmlDeclarationOptionSyntax node with the specified changes. - - - The new Name to update this XmlDeclarationOptionSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlDeclarationOptionSyntax - node. - - - The new Equals to update this XmlDeclarationOptionSyntaxSyntax node with. If - not specified the current Equals will be used in the new - XmlDeclarationOptionSyntax node. - - - The new Value to update this XmlDeclarationOptionSyntaxSyntax node with. If not - specified the current Value will be used in the new XmlDeclarationOptionSyntax - node. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Creates a new node and sets the StartTag property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Content property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndTag property - - - Returns a new node with the property set - - - - - Creates a new XmlElementSyntax node with the specified changes. - - - The new StartTag to update this XmlElementSyntaxSyntax node with. If not - specified the current StartTag will be used in the new XmlElementSyntax node. - - - The new Content to update this XmlElementSyntaxSyntax node with. If not - specified the current Content will be used in the new XmlElementSyntax node. - - - The new EndTag to update this XmlElementSyntaxSyntax node with. If not - specified the current EndTag will be used in the new XmlElementSyntax node. - - - - - Represents Xml text. - - - - - A list of all the text tokens in the Xml text. This list always contains at - least one token. - - - - - Creates a new node and sets the TextTokens property - - - Returns a new node with the property set - - - - - Creates a new XmlTextSyntax node with the specified changes. - - - The new TextTokens to update this XmlTextSyntaxSyntax node with. If not - specified the current TextTokens will be used in the new XmlTextSyntax node. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Creates a new node and sets the LessThanToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Attributes property - - - Returns a new node with the property set - - - - - Creates a new node and sets the GreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlElementStartTagSyntax node with the specified changes. - - - The new LessThanToken to update this XmlElementStartTagSyntaxSyntax node with. - If not specified the current LessThanToken will be used in the new - XmlElementStartTagSyntax node. - - - The new Name to update this XmlElementStartTagSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlElementStartTagSyntax - node. - - - The new Attributes to update this XmlElementStartTagSyntaxSyntax node with. If - not specified the current Attributes will be used in the new - XmlElementStartTagSyntax node. - - - The new GreaterThanToken to update this XmlElementStartTagSyntaxSyntax node - with. If not specified the current GreaterThanToken will be used in the new - XmlElementStartTagSyntax node. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Creates a new node and sets the LessThanSlashToken property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the GreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlElementEndTagSyntax node with the specified changes. - - - The new LessThanSlashToken to update this XmlElementEndTagSyntaxSyntax node - with. If not specified the current LessThanSlashToken will be used in the new - XmlElementEndTagSyntax node. - - - The new Name to update this XmlElementEndTagSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlElementEndTagSyntax node. - - - The new GreaterThanToken to update this XmlElementEndTagSyntaxSyntax node with. - If not specified the current GreaterThanToken will be used in the new - XmlElementEndTagSyntax node. - - - - - Represents an empty XML element of the form <element /> - - - - - Creates a new node and sets the LessThanToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Attributes property - - - Returns a new node with the property set - - - - - Creates a new node and sets the SlashGreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlEmptyElementSyntax node with the specified changes. - - - The new LessThanToken to update this XmlEmptyElementSyntaxSyntax node with. If - not specified the current LessThanToken will be used in the new - XmlEmptyElementSyntax node. - - - The new Name to update this XmlEmptyElementSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlEmptyElementSyntax node. - - - The new Attributes to update this XmlEmptyElementSyntaxSyntax node with. If not - specified the current Attributes will be used in the new XmlEmptyElementSyntax - node. - - - The new SlashGreaterThanToken to update this XmlEmptyElementSyntaxSyntax node - with. If not specified the current SlashGreaterThanToken will be used in the - new XmlEmptyElementSyntax node. - - - - - Represents an XML attribute in an XML literal expression. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new XmlAttributeSyntax node with the specified changes. - - - The new Name to update this XmlAttributeSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlAttributeSyntax node. - - - The new EqualsToken to update this XmlAttributeSyntaxSyntax node with. If not - specified the current EqualsToken will be used in the new XmlAttributeSyntax - node. - - - The new Value to update this XmlAttributeSyntaxSyntax node with. If not - specified the current Value will be used in the new XmlAttributeSyntax node. - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Creates a new node and sets the StartQuoteToken property - - - Returns a new node with the property set - - - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the TextTokens property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndQuoteToken property - - - Returns a new node with the property set - - - - - Creates a new XmlStringSyntax node with the specified changes. - - - The new StartQuoteToken to update this XmlStringSyntaxSyntax node with. If not - specified the current StartQuoteToken will be used in the new XmlStringSyntax - node. - - - The new TextTokens to update this XmlStringSyntaxSyntax node with. If not - specified the current TextTokens will be used in the new XmlStringSyntax node. - - - The new EndQuoteToken to update this XmlStringSyntaxSyntax node with. If not - specified the current EndQuoteToken will be used in the new XmlStringSyntax - node. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new XmlPrefixNameSyntax node with the specified changes. - - - The new Name to update this XmlPrefixNameSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlPrefixNameSyntax node. - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Prefix property - - - Returns a new node with the property set - - - - - Creates a new node and sets the LocalName property - - - Returns a new node with the property set - - - - - Creates a new XmlNameSyntax node with the specified changes. - - - The new Prefix to update this XmlNameSyntaxSyntax node with. If not specified - the current Prefix will be used in the new XmlNameSyntax node. - - - The new LocalName to update this XmlNameSyntaxSyntax node with. If not - specified the current LocalName will be used in the new XmlNameSyntax node. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Creates a new node and sets the LessThanToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the GreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlBracketedNameSyntax node with the specified changes. - - - The new LessThanToken to update this XmlBracketedNameSyntaxSyntax node with. If - not specified the current LessThanToken will be used in the new - XmlBracketedNameSyntax node. - - - The new Name to update this XmlBracketedNameSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlBracketedNameSyntax node. - - - The new GreaterThanToken to update this XmlBracketedNameSyntaxSyntax node with. - If not specified the current GreaterThanToken will be used in the new - XmlBracketedNameSyntax node. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ColonToken property - - - Returns a new node with the property set - - - - - Creates a new XmlPrefixSyntax node with the specified changes. - - - The new Name to update this XmlPrefixSyntaxSyntax node with. If not specified - the current Name will be used in the new XmlPrefixSyntax node. - - - The new ColonToken to update this XmlPrefixSyntaxSyntax node with. If not - specified the current ColonToken will be used in the new XmlPrefixSyntax node. - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Creates a new node and sets the LessThanExclamationMinusMinusToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the TextTokens property - - - Returns a new node with the property set - - - - - Creates a new node and sets the MinusMinusGreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlCommentSyntax node with the specified changes. - - - The new LessThanExclamationMinusMinusToken to update this - XmlCommentSyntaxSyntax node with. If not specified the current - LessThanExclamationMinusMinusToken will be used in the new XmlCommentSyntax - node. - - - The new TextTokens to update this XmlCommentSyntaxSyntax node with. If not - specified the current TextTokens will be used in the new XmlCommentSyntax node. - - - The new MinusMinusGreaterThanToken to update this XmlCommentSyntaxSyntax node - with. If not specified the current MinusMinusGreaterThanToken will be used in - the new XmlCommentSyntax node. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Creates a new node and sets the LessThanQuestionToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the TextTokens property - - - Returns a new node with the property set - - - - - Creates a new node and sets the QuestionGreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlProcessingInstructionSyntax node with the specified changes. - - - The new LessThanQuestionToken to update this - XmlProcessingInstructionSyntaxSyntax node with. If not specified the current - LessThanQuestionToken will be used in the new XmlProcessingInstructionSyntax - node. - - - The new Name to update this XmlProcessingInstructionSyntaxSyntax node with. If - not specified the current Name will be used in the new - XmlProcessingInstructionSyntax node. - - - The new TextTokens to update this XmlProcessingInstructionSyntaxSyntax node - with. If not specified the current TextTokens will be used in the new - XmlProcessingInstructionSyntax node. - - - The new QuestionGreaterThanToken to update this - XmlProcessingInstructionSyntaxSyntax node with. If not specified the current - QuestionGreaterThanToken will be used in the new XmlProcessingInstructionSyntax - node. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Creates a new node and sets the BeginCDataToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the TextTokens property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndCDataToken property - - - Returns a new node with the property set - - - - - Creates a new XmlCDataSectionSyntax node with the specified changes. - - - The new BeginCDataToken to update this XmlCDataSectionSyntaxSyntax node with. - If not specified the current BeginCDataToken will be used in the new - XmlCDataSectionSyntax node. - - - The new TextTokens to update this XmlCDataSectionSyntaxSyntax node with. If not - specified the current TextTokens will be used in the new XmlCDataSectionSyntax - node. - - - The new EndCDataToken to update this XmlCDataSectionSyntaxSyntax node with. If - not specified the current EndCDataToken will be used in the new - XmlCDataSectionSyntax node. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Creates a new node and sets the LessThanPercentEqualsToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new node and sets the PercentGreaterThanToken property - - - Returns a new node with the property set - - - - - Creates a new XmlEmbeddedExpressionSyntax node with the specified changes. - - - The new LessThanPercentEqualsToken to update this - XmlEmbeddedExpressionSyntaxSyntax node with. If not specified the current - LessThanPercentEqualsToken will be used in the new XmlEmbeddedExpressionSyntax - node. - - - The new Expression to update this XmlEmbeddedExpressionSyntaxSyntax node with. - If not specified the current Expression will be used in the new - XmlEmbeddedExpressionSyntax node. - - - The new PercentGreaterThanToken to update this - XmlEmbeddedExpressionSyntaxSyntax node with. If not specified the current - PercentGreaterThanToken will be used in the new XmlEmbeddedExpressionSyntax - node. - - - - - Abstract node class that represents the textual description of a type, possibly - include generic type arguments, qualified names, array specifiers, nullable - specifier and the like. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - - - The type of the elements of the array. - - - - - Creates a new node and sets the ElementType property - - - Returns a new node with the property set - - - - - Represents the list of "()" or "(,,)" modifiers on the array type. - - - - - Creates a new node and sets the RankSpecifiers property - - - Returns a new node with the property set - - - - - Creates a new ArrayTypeSyntax node with the specified changes. - - - The new ElementType to update this ArrayTypeSyntaxSyntax node with. If not - specified the current ElementType will be used in the new ArrayTypeSyntax node. - - - The new RankSpecifiers to update this ArrayTypeSyntaxSyntax node with. If not - specified the current RankSpecifiers will be used in the new ArrayTypeSyntax - node. - - - - - A type name that represents a nullable type, such as "Integer?". - - - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - - - Creates a new node and sets the ElementType property - - - Returns a new node with the property set - - - - - The "?" token. - - - - - Creates a new node and sets the QuestionMarkToken property - - - Returns a new node with the property set - - - - - Creates a new NullableTypeSyntax node with the specified changes. - - - The new ElementType to update this NullableTypeSyntaxSyntax node with. If not - specified the current ElementType will be used in the new NullableTypeSyntax - node. - - - The new QuestionMarkToken to update this NullableTypeSyntaxSyntax node with. If - not specified the current QuestionMarkToken will be used in the new - NullableTypeSyntax node. - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - - - The keyword that was used to describe the built-in type. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new PredefinedTypeSyntax node with the specified changes. - - - The new Keyword to update this PredefinedTypeSyntaxSyntax node with. If not - specified the current Keyword will be used in the new PredefinedTypeSyntax - node. - - - - - Abstract node class that represents a name, possibly include generic arguments. - - - - - The identifier in the name. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - - - The identifier in the name. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - Creates a new IdentifierNameSyntax node with the specified changes. - - - The new Identifier to update this IdentifierNameSyntaxSyntax node with. If not - specified the current Identifier will be used in the new IdentifierNameSyntax - node. - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - - - The identifier in the name. - - - - - Creates a new node and sets the Identifier property - - - Returns a new node with the property set - - - - - The generic argument list. - - - - - Creates a new node and sets the TypeArgumentList property - - - Returns a new node with the property set - - - - - Creates a new GenericNameSyntax node with the specified changes. - - - The new Identifier to update this GenericNameSyntaxSyntax node with. If not - specified the current Identifier will be used in the new GenericNameSyntax - node. - - - The new TypeArgumentList to update this GenericNameSyntaxSyntax node with. If - not specified the current TypeArgumentList will be used in the new - GenericNameSyntax node. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - - - Creates a new node and sets the Left property - - - Returns a new node with the property set - - - - - The "." token that separates the names. - - - - - Creates a new node and sets the DotToken property - - - Returns a new node with the property set - - - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Creates a new node and sets the Right property - - - Returns a new node with the property set - - - - - Creates a new QualifiedNameSyntax node with the specified changes. - - - The new Left to update this QualifiedNameSyntaxSyntax node with. If not - specified the current Left will be used in the new QualifiedNameSyntax node. - - - The new DotToken to update this QualifiedNameSyntaxSyntax node with. If not - specified the current DotToken will be used in the new QualifiedNameSyntax - node. - - - The new Right to update this QualifiedNameSyntaxSyntax node with. If not - specified the current Right will be used in the new QualifiedNameSyntax node. - - - - - Represents a name in the global namespace. - - - - - The "Global" keyword. - - - - - Creates a new node and sets the GlobalKeyword property - - - Returns a new node with the property set - - - - - Creates a new GlobalNameSyntax node with the specified changes. - - - The new GlobalKeyword to update this GlobalNameSyntaxSyntax node with. If not - specified the current GlobalKeyword will be used in the new GlobalNameSyntax - node. - - - - - Represents a parenthesized list of generic type arguments. - - - - - The "(" token. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - The "Of" keyword. - - - - - Creates a new node and sets the OfKeyword property - - - Returns a new node with the property set - - - - - A list of all the type arguments. - - - - - Creates a new node and sets the Arguments property - - - Returns a new node with the property set - - - - - The ")" token. - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new TypeArgumentListSyntax node with the specified changes. - - - The new OpenParenToken to update this TypeArgumentListSyntaxSyntax node with. - If not specified the current OpenParenToken will be used in the new - TypeArgumentListSyntax node. - - - The new OfKeyword to update this TypeArgumentListSyntaxSyntax node with. If not - specified the current OfKeyword will be used in the new TypeArgumentListSyntax - node. - - - The new Arguments to update this TypeArgumentListSyntaxSyntax node with. If not - specified the current Arguments will be used in the new TypeArgumentListSyntax - node. - - - The new CloseParenToken to update this TypeArgumentListSyntaxSyntax node with. - If not specified the current CloseParenToken will be used in the new - TypeArgumentListSyntax node. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Signature property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the AsClause property - - - Returns a new node with the property set - - - - - Creates a new CrefReferenceSyntax node with the specified changes. - - - The new Name to update this CrefReferenceSyntaxSyntax node with. If not - specified the current Name will be used in the new CrefReferenceSyntax node. - - - The new Signature to update this CrefReferenceSyntaxSyntax node with. If not - specified the current Signature will be used in the new CrefReferenceSyntax - node. - - - The new AsClause to update this CrefReferenceSyntaxSyntax node with. If not - specified the current AsClause will be used in the new CrefReferenceSyntax - node. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ArgumentTypes property - - - Returns a new node with the property set - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new CrefSignatureSyntax node with the specified changes. - - - The new OpenParenToken to update this CrefSignatureSyntaxSyntax node with. If - not specified the current OpenParenToken will be used in the new - CrefSignatureSyntax node. - - - The new ArgumentTypes to update this CrefSignatureSyntaxSyntax node with. If - not specified the current ArgumentTypes will be used in the new - CrefSignatureSyntax node. - - - The new CloseParenToken to update this CrefSignatureSyntaxSyntax node with. If - not specified the current CloseParenToken will be used in the new - CrefSignatureSyntax node. - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Modifier property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the Type property - - - Returns a new node with the property set - - - - - Creates a new CrefSignaturePartSyntax node with the specified changes. - - - The new Modifier to update this CrefSignaturePartSyntaxSyntax node with. If not - specified the current Modifier will be used in the new CrefSignaturePartSyntax - node. - - - The new Type to update this CrefSignaturePartSyntaxSyntax node with. If not - specified the current Type will be used in the new CrefSignaturePartSyntax - node. - - - - - Creates a new node and sets the Keyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the OperatorToken property - - - Returns a new node with the property set - - - - - Creates a new CrefOperatorReferenceSyntax node with the specified changes. - - - The new Keyword to update this CrefOperatorReferenceSyntaxSyntax node with. If - not specified the current Keyword will be used in the new - CrefOperatorReferenceSyntax node. - - - The new OperatorToken to update this CrefOperatorReferenceSyntaxSyntax node - with. If not specified the current OperatorToken will be used in the new - CrefOperatorReferenceSyntax node. - - - - - Creates a new node and sets the Left property - - - Returns a new node with the property set - - - - - Creates a new node and sets the DotToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Right property - - - Returns a new node with the property set - - - - - Creates a new QualifiedCrefOperatorReferenceSyntax node with the specified - changes. - - - The new Left to update this QualifiedCrefOperatorReferenceSyntaxSyntax node - with. If not specified the current Left will be used in the new - QualifiedCrefOperatorReferenceSyntax node. - - - The new DotToken to update this QualifiedCrefOperatorReferenceSyntaxSyntax node - with. If not specified the current DotToken will be used in the new - QualifiedCrefOperatorReferenceSyntax node. - - - The new Right to update this QualifiedCrefOperatorReferenceSyntaxSyntax node - with. If not specified the current Right will be used in the new - QualifiedCrefOperatorReferenceSyntax node. - - - - - Represent a Yield statement. - - - - - The "Yield" keyword. - - - - - Creates a new node and sets the YieldKeyword property - - - Returns a new node with the property set - - - - - The expression whose value is being yielded. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new YieldStatementSyntax node with the specified changes. - - - The new YieldKeyword to update this YieldStatementSyntaxSyntax node with. If - not specified the current YieldKeyword will be used in the new - YieldStatementSyntax node. - - - The new Expression to update this YieldStatementSyntaxSyntax node with. If not - specified the current Expression will be used in the new YieldStatementSyntax - node. - - - - - Represent a Await expression. - - - - - The "Await" keyword. - - - - - Creates a new node and sets the AwaitKeyword property - - - Returns a new node with the property set - - - - - The expression being awaited. - - - - - Creates a new node and sets the Expression property - - - Returns a new node with the property set - - - - - Creates a new AwaitExpressionSyntax node with the specified changes. - - - The new AwaitKeyword to update this AwaitExpressionSyntaxSyntax node with. If - not specified the current AwaitKeyword will be used in the new - AwaitExpressionSyntax node. - - - The new Expression to update this AwaitExpressionSyntaxSyntax node with. If not - specified the current Expression will be used in the new AwaitExpressionSyntax - node. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - - - The list of tokens that were skipped by the parser. - - - If nothing is present, an empty list is returned. - - - - - Creates a new node and sets the Tokens property - - - Returns a new node with the property set - - - - - Creates a new SkippedTokensTriviaSyntax node with the specified changes. - - - The new Tokens to update this SkippedTokensTriviaSyntaxSyntax node with. If not - specified the current Tokens will be used in the new SkippedTokensTriviaSyntax - node. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the StartQuoteToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Reference property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndQuoteToken property - - - Returns a new node with the property set - - - - - Creates a new XmlCrefAttributeSyntax node with the specified changes. - - - The new Name to update this XmlCrefAttributeSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlCrefAttributeSyntax node. - - - The new EqualsToken to update this XmlCrefAttributeSyntaxSyntax node with. If - not specified the current EqualsToken will be used in the new - XmlCrefAttributeSyntax node. - - - The new StartQuoteToken to update this XmlCrefAttributeSyntaxSyntax node with. - If not specified the current StartQuoteToken will be used in the new - XmlCrefAttributeSyntax node. - - - The new Reference to update this XmlCrefAttributeSyntaxSyntax node with. If not - specified the current Reference will be used in the new XmlCrefAttributeSyntax - node. - - - The new EndQuoteToken to update this XmlCrefAttributeSyntaxSyntax node with. If - not specified the current EndQuoteToken will be used in the new - XmlCrefAttributeSyntax node. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the StartQuoteToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Reference property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndQuoteToken property - - - Returns a new node with the property set - - - - - Creates a new XmlNameAttributeSyntax node with the specified changes. - - - The new Name to update this XmlNameAttributeSyntaxSyntax node with. If not - specified the current Name will be used in the new XmlNameAttributeSyntax node. - - - The new EqualsToken to update this XmlNameAttributeSyntaxSyntax node with. If - not specified the current EqualsToken will be used in the new - XmlNameAttributeSyntax node. - - - The new StartQuoteToken to update this XmlNameAttributeSyntaxSyntax node with. - If not specified the current StartQuoteToken will be used in the new - XmlNameAttributeSyntax node. - - - The new Reference to update this XmlNameAttributeSyntaxSyntax node with. If not - specified the current Reference will be used in the new XmlNameAttributeSyntax - node. - - - The new EndQuoteToken to update this XmlNameAttributeSyntaxSyntax node with. If - not specified the current EndQuoteToken will be used in the new - XmlNameAttributeSyntax node. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - The "Const" keyword. - - - - - Creates a new node and sets the ConstKeyword property - - - Returns a new node with the property set - - - - - The name of the pre-processing constant being defined. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - The "=" token. - - - - - Creates a new node and sets the EqualsToken property - - - Returns a new node with the property set - - - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Creates a new node and sets the Value property - - - Returns a new node with the property set - - - - - Creates a new ConstDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this ConstDirectiveTriviaSyntaxSyntax node with. If - not specified the current HashToken will be used in the new - ConstDirectiveTriviaSyntax node. - - - The new ConstKeyword to update this ConstDirectiveTriviaSyntaxSyntax node with. - If not specified the current ConstKeyword will be used in the new - ConstDirectiveTriviaSyntax node. - - - The new Name to update this ConstDirectiveTriviaSyntaxSyntax node with. If not - specified the current Name will be used in the new ConstDirectiveTriviaSyntax - node. - - - The new EqualsToken to update this ConstDirectiveTriviaSyntaxSyntax node with. - If not specified the current EqualsToken will be used in the new - ConstDirectiveTriviaSyntax node. - - - The new Value to update this ConstDirectiveTriviaSyntaxSyntax node with. If not - specified the current Value will be used in the new ConstDirectiveTriviaSyntax - node. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ElseKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the IfOrElseIfKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Condition property - - - Returns a new node with the property set - - - - - This child is optional. If it is not present, then Nothing is returned. - - - - - Creates a new node and sets the ThenKeyword property - - - Returns a new node with the property set - - - - - Creates a new IfDirectiveTriviaSyntax node with the specified changes. - - - The new kind to update this IfDirectiveTriviaSyntaxSyntax node with. - - - The new HashToken to update this IfDirectiveTriviaSyntaxSyntax node with. If - not specified the current HashToken will be used in the new - IfDirectiveTriviaSyntax node. - - - The new ElseKeyword to update this IfDirectiveTriviaSyntaxSyntax node with. If - not specified the current ElseKeyword will be used in the new - IfDirectiveTriviaSyntax node. - - - The new IfOrElseIfKeyword to update this IfDirectiveTriviaSyntaxSyntax node - with. If not specified the current IfOrElseIfKeyword will be used in the new - IfDirectiveTriviaSyntax node. - - - The new Condition to update this IfDirectiveTriviaSyntaxSyntax node with. If - not specified the current Condition will be used in the new - IfDirectiveTriviaSyntax node. - - - The new ThenKeyword to update this IfDirectiveTriviaSyntaxSyntax node with. If - not specified the current ThenKeyword will be used in the new - IfDirectiveTriviaSyntax node. - - - - - Represents an #Else pre-processing directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ElseKeyword property - - - Returns a new node with the property set - - - - - Creates a new ElseDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this ElseDirectiveTriviaSyntaxSyntax node with. If - not specified the current HashToken will be used in the new - ElseDirectiveTriviaSyntax node. - - - The new ElseKeyword to update this ElseDirectiveTriviaSyntaxSyntax node with. - If not specified the current ElseKeyword will be used in the new - ElseDirectiveTriviaSyntax node. - - - - - Represents an #End If pre-processing directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the IfKeyword property - - - Returns a new node with the property set - - - - - Creates a new EndIfDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this EndIfDirectiveTriviaSyntaxSyntax node with. If - not specified the current HashToken will be used in the new - EndIfDirectiveTriviaSyntax node. - - - The new EndKeyword to update this EndIfDirectiveTriviaSyntaxSyntax node with. - If not specified the current EndKeyword will be used in the new - EndIfDirectiveTriviaSyntax node. - - - The new IfKeyword to update this EndIfDirectiveTriviaSyntaxSyntax node with. If - not specified the current IfKeyword will be used in the new - EndIfDirectiveTriviaSyntax node. - - - - - Represents the beginning of a #Region directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - The "Region" keyword. - - - - - Creates a new node and sets the RegionKeyword property - - - Returns a new node with the property set - - - - - The label of the code region being defined. - - - - - Creates a new node and sets the Name property - - - Returns a new node with the property set - - - - - Creates a new RegionDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this RegionDirectiveTriviaSyntaxSyntax node with. - If not specified the current HashToken will be used in the new - RegionDirectiveTriviaSyntax node. - - - The new RegionKeyword to update this RegionDirectiveTriviaSyntaxSyntax node - with. If not specified the current RegionKeyword will be used in the new - RegionDirectiveTriviaSyntax node. - - - The new Name to update this RegionDirectiveTriviaSyntaxSyntax node with. If not - specified the current Name will be used in the new RegionDirectiveTriviaSyntax - node. - - - - - Represents an #End Region directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - The "End" keyword. - - - - - Creates a new node and sets the EndKeyword property - - - Returns a new node with the property set - - - - - The "Region" keyword. - - - - - Creates a new node and sets the RegionKeyword property - - - Returns a new node with the property set - - - - - Creates a new EndRegionDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this EndRegionDirectiveTriviaSyntaxSyntax node - with. If not specified the current HashToken will be used in the new - EndRegionDirectiveTriviaSyntax node. - - - The new EndKeyword to update this EndRegionDirectiveTriviaSyntaxSyntax node - with. If not specified the current EndKeyword will be used in the new - EndRegionDirectiveTriviaSyntax node. - - - The new RegionKeyword to update this EndRegionDirectiveTriviaSyntaxSyntax node - with. If not specified the current RegionKeyword will be used in the new - EndRegionDirectiveTriviaSyntax node. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ExternalSourceKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ExternalSource property - - - Returns a new node with the property set - - - - - Creates a new node and sets the CommaToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the LineStart property - - - Returns a new node with the property set - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ExternalSourceDirectiveTriviaSyntax node with the specified - changes. - - - The new HashToken to update this ExternalSourceDirectiveTriviaSyntaxSyntax node - with. If not specified the current HashToken will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new ExternalSourceKeyword to update this - ExternalSourceDirectiveTriviaSyntaxSyntax node with. If not specified the - current ExternalSourceKeyword will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new OpenParenToken to update this ExternalSourceDirectiveTriviaSyntaxSyntax - node with. If not specified the current OpenParenToken will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new ExternalSource to update this ExternalSourceDirectiveTriviaSyntaxSyntax - node with. If not specified the current ExternalSource will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new CommaToken to update this ExternalSourceDirectiveTriviaSyntaxSyntax - node with. If not specified the current CommaToken will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new LineStart to update this ExternalSourceDirectiveTriviaSyntaxSyntax node - with. If not specified the current LineStart will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - The new CloseParenToken to update this - ExternalSourceDirectiveTriviaSyntaxSyntax node with. If not specified the - current CloseParenToken will be used in the new - ExternalSourceDirectiveTriviaSyntax node. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the EndKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ExternalSourceKeyword property - - - Returns a new node with the property set - - - - - Creates a new EndExternalSourceDirectiveTriviaSyntax node with the specified - changes. - - - The new HashToken to update this EndExternalSourceDirectiveTriviaSyntaxSyntax - node with. If not specified the current HashToken will be used in the new - EndExternalSourceDirectiveTriviaSyntax node. - - - The new EndKeyword to update this EndExternalSourceDirectiveTriviaSyntaxSyntax - node with. If not specified the current EndKeyword will be used in the new - EndExternalSourceDirectiveTriviaSyntax node. - - - The new ExternalSourceKeyword to update this - EndExternalSourceDirectiveTriviaSyntaxSyntax node with. If not specified the - current ExternalSourceKeyword will be used in the new - EndExternalSourceDirectiveTriviaSyntax node. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ExternalChecksumKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the OpenParenToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ExternalSource property - - - Returns a new node with the property set - - - - - Creates a new node and sets the FirstCommaToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Guid property - - - Returns a new node with the property set - - - - - Creates a new node and sets the SecondCommaToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the Checksum property - - - Returns a new node with the property set - - - - - Creates a new node and sets the CloseParenToken property - - - Returns a new node with the property set - - - - - Creates a new ExternalChecksumDirectiveTriviaSyntax node with the specified - changes. - - - The new HashToken to update this ExternalChecksumDirectiveTriviaSyntaxSyntax - node with. If not specified the current HashToken will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new ExternalChecksumKeyword to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current ExternalChecksumKeyword will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new OpenParenToken to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current OpenParenToken will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new ExternalSource to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current ExternalSource will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new FirstCommaToken to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current FirstCommaToken will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new Guid to update this ExternalChecksumDirectiveTriviaSyntaxSyntax node - with. If not specified the current Guid will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new SecondCommaToken to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current SecondCommaToken will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new Checksum to update this ExternalChecksumDirectiveTriviaSyntaxSyntax - node with. If not specified the current Checksum will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - The new CloseParenToken to update this - ExternalChecksumDirectiveTriviaSyntaxSyntax node with. If not specified the - current CloseParenToken will be used in the new - ExternalChecksumDirectiveTriviaSyntax node. - - - - - Represents an #r directive appearing in scripts. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new node and sets the ReferenceKeyword property - - - Returns a new node with the property set - - - - - Creates a new node and sets the File property - - - Returns a new node with the property set - - - - - Creates a new ReferenceDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this ReferenceDirectiveTriviaSyntaxSyntax node - with. If not specified the current HashToken will be used in the new - ReferenceDirectiveTriviaSyntax node. - - - The new ReferenceKeyword to update this ReferenceDirectiveTriviaSyntaxSyntax - node with. If not specified the current ReferenceKeyword will be used in the - new ReferenceDirectiveTriviaSyntax node. - - - The new File to update this ReferenceDirectiveTriviaSyntaxSyntax node with. If - not specified the current File will be used in the new - ReferenceDirectiveTriviaSyntax node. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - - - The "#" token in a preprocessor directive. - - - - - Creates a new node and sets the HashToken property - - - Returns a new node with the property set - - - - - Creates a new BadDirectiveTriviaSyntax node with the specified changes. - - - The new HashToken to update this BadDirectiveTriviaSyntaxSyntax node with. If - not specified the current HashToken will be used in the new - BadDirectiveTriviaSyntax node. - - - - - Adds predefined preprocessor symbols VBC_VER and TARGET to given list of preprocessor symbols if not included yet. - - The Output kind to derive the value of TARGET symbol from. - A collection of KeyValue pairs representing existing symbols. - Array of symbols that include VBC_VER and TARGET. - - - - Adds predefined preprocessor symbols VBC_VER and TARGET to given list of preprocessor symbols if not included yet. - - The Output kind to derive the value of TARGET symbol from. - An parameter array of KeyValue pairs representing existing symbols. - Array of symbols that include VBC_VER and TARGET. - - - - Adds predefined preprocessor symbols VBC_VER and TARGET to given list of preprocessor symbols if not included yet. - - The Output kind to derive the value of TARGET symbol from. - An ImmutableArray of KeyValue pairs representing existing symbols. - Array of symbols that include VBC_VER and TARGET. - - - - Provides members for determining Syntax facts about characters and Unicode conversions. - - - - - Determines if Unicode character represents a whitespace. - - The Unicode character. - A boolean value set to True if character represents whitespace. - - - - Determines if Unicode character represents a XML whitespace. - - The unicode character - A boolean value set to True if character represents XML whitespace. - - - - Determines if the Unicode character is a newline character. - - The Unicode character. - A boolean value set to True if character is a newline character. - - - - Determines if the unicode character is a colon character. - - The unicode character. - A boolean value set to True if character is a colon character. - - - - Determines if the unicode character is a underscore character. - - The unicode character. - A boolean value set to True if character is an underscore character. - - - - Determines if the unicode character is a hash character. - - The unicode character. - A boolean value set to True if character is a hash character. - - - - Determines if the Unicode character can be the starting character of a Visual Basic identifier. - - The Unicode character. - A boolean value set to True if character can be part of a valid start charcater in an identifier. - - - - Determines if the Unicode character can be a part of a Visual Basic identifier. - - The Unicode character. - A boolean value set to True if character can be part of a valid identifier. - - - - Determines if the name is a valid identifier. - - The identifier name. - A boolean value set to True if name is valid identifier. - - - - Creates a half width form Unicode character string. - - The text representing the original identifier. This can be in full width or half width Unicode form. - A string representing the text in a half width Unicode form. - - - - matches one char or another. - Typical usage is for matching lowercase and uppercase. - - - - - matches one char or another. - it will try normal width and then fullwidth variations. - Typical usage is for matching lowercase and uppercase. - - - - - Determine if the kind represents a reserved keyword - - - - - Determine if the kind represents a contextual keyword - - - - - Determine if the token instance represents a syntax trivia such as comment, whitespace, etc... - - - - - Determine if the token instance represents 'Me', 'MyBase' or 'MyClass' keywords - - - - - Return correspondent expression syntax for 'Me', 'MyBase' and 'MyClass' - keywords or SyntaxKind.None for other syntax kinds - - - - - Determine if the token instance represents a preprocessor keyword - - - - - Get all reserved and contextual keywords - - - - - Get all reserved keywords - - - - - Get contextual keywords - - - - - Get punctuations - - - - - Get preprocessor keywords - - - - - Helper to check whether the token is a predefined type - - True if it is a predefined type - - - - Helper to check whether the token is a predefined type OR Variant keyword - - True if it is a predefined type OR Variant keyword - - - - Returns true if the node is the object of an invocation expression - - - - - Returns true if the node is the operand of an AddressOf expression - - - - - Returns true if the node is the operand of an AddressOf expression, or the object - of an invocation. This is used for special binding rules around the return value variable - inside Functions and Property Get accessors. - - - - - Determines if possibleLambda is a lambda expression and position is in the interior. - - - - - If "node" is a block statement return the Begin statement of "node", otherwise return "node". - - - - - Checks if the SyntaxNode is an attribute name. To be an attribute name, the syntax - must be parented by an Attribute and the node itself must be equal to the Attribute.Name - property. - - - - - - - - Is the node the name of a named argument of an invocation or object creation expression, - but not an attribute. - - - - - Return keyword or punctuation text based on SyntaxKind - - - - - Indicates whether a newline may validly follow the specified SyntaxToken without requiring an explicit line continuation sequence ' _' or terminating the containing statement. - - The token to test. This token must be parented by a SyntaxNode. - True if implicit line continuation is allowed after token. - - Refer to "Statements in Visual Basic", 2010 version, http://msdn.microsoft.com/en-us/library/865x40k4(v=vs.100).aspx - for examples. - Implicit line continuation may be used in Visual Basic: - - After a comma (,). - After a less-than sign (<) or before a greater-than sign (>) when you specify an attribute. - After an open parenthesis (() or before a closing parenthesis ()). - After an open curly brace ({) or before a closing curly brace (}). - After an open embedded expression (<%=) or before the close of an embedded expression (%>) within an XML literal. - - Before and after query operators (Aggregate, Distinct, From, Group By, Group Join, Join, Let, - Order By, Select, Skip, Skip While, Take, Take While, Where, In, Into, On, Ascending, and Descending). - You cannot break a line between the keywords of query operators that are made up of multiple keywords - (Order By, Group Join, Take While, and Skip While). - - After the concatenation operator (&). - After assignment operators (=, &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=). - After binary operators (+, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor) within an expression. - After the Is and IsNot operators. - After a less-than sign (<) or before a greater-than sign (>) when you specify an attribute. - - Also after a greater-than sign (>) when you specify an attribute. - However, you must include a line-continuation character (_) when you specify assembly-level or module-level attributes. - - - After a member qualifier character (.) and before the member name. - However, you must include a line-continuation character (_) following a member qualifier character when you are using the With statement or - supplying values in the initialization list for a type. - - - After an XML axis property qualifier (. or ...). - However, you must include a line-continuation character (_) when you specify a member qualifier when you are using the With keyword. - - After the From keyword in a collection initializer. - After the With keyword in a member initializer. - After the In keyword in a For Each statement. - - - - - - Indicates whether a newline may validly precede the specified SyntaxToken without requiring an explicit line continuation sequence ' _' or terminating the containing statement. - - The token to test. This token must be parented by a SyntaxNode. - True if implicit line continuation is allowed after token. - - Refer to "Statements in Visual Basic", 2010 version, http://msdn.microsoft.com/en-us/library/865x40k4(v=vs.100).aspx - for examples. - Implicit line continuation may be used in Visual Basic: - - After a comma (,). - After a less-than sign (<) or before a greater-than sign (>) when you specify an attribute. - After an open parenthesis (() or before a closing parenthesis ()). - After an open curly brace ({) or before a closing curly brace (}). - After an open embedded expression (<%=) or before the close of an embedded expression (%>) within an XML literal. - - Before and after query operators (Aggregate, Distinct, From, Group By, Group Join, Join, Let, - Order By, Select, Skip, Skip While, Take, Take While, Where, In, Into, On, Ascending, and Descending). - You cannot break a line between the keywords of query operators that are made up of multiple keywords - (Order By, Group Join, Take While, and Skip While). - - After the concatenation operator (&). - After assignment operators (=, &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=). - After binary operators (+, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor) within an expression. - After the Is and IsNot operators. - After a less-than sign (<) or before a greater-than sign (>) when you specify an attribute. - - Also after a greater-than sign (>) when you specify an attribute. - However, you must include a line-continuation character (_) when you specify assembly-level or module-level attributes. - - - After a member qualifier character (.) and before the member name. - However, you must include a line-continuation character (_) following a member qualifier character when you are using the With statement or - supplying values in the initialization list for a type. - - - After an XML axis property qualifier (. or ...). - However, you must include a line-continuation character (_) when you specify a member qualifier when you are using the With keyword. - - After the From keyword in a collection initializer. - After the With keyword in a member initializer. - After the In keyword in a For Each statement. - - - - - - Return keyword or punctuation text based on SyntaxKind - - - - - The possible reasons a symbol may be inaccessible - - - - - - Contains the code for determining VB accessibility rules. - - - - - Checks if 'symbol' is accessible from within assembly 'within'. - - - - - Checks if 'symbol' is accessible from within assembly 'within'. - - - - - Checks if 'symbol' is accessible from within type 'within', with - an optional qualifier of type "throughTypeOpt". - - - - - Checks if 'symbol' is accessible from within type 'within', with - an qualifier of type "throughTypeOpt". Sets "failedThroughTypeCheck" to true - if it failed the "through type" check. - - - - - Checks if 'symbol' is accessible from within 'within', which must be a NamedTypeSymbol or - an AssemblySymbol. If 'symbol' is accessed off - of an expression then 'throughTypeOpt' is the type of that expression. This is needed to - properly do protected access checks. Sets "failedThroughTypeCheck" to true if this protected - check failed. - - - - - Captures information about illegal access exposure. - - - - - - The exposed type. - - - - - Namespace or type that "gains" access to the type. - - - - - Returns true if there is no illegal access exposure, false otherwise. - - - Type or member exposing the type. - - - The exposed type. - - - If function returns false, it requests an instance of ArrayBuilder from the pool and populates - it with information about illegal exposure. The caller is responsible for returning the ArrayBuilder - to the pool. - - - - - - - Returns true if there is no illegal access exposure, false otherwise. - - - - - Determine if member is the definition of the type, or - is contained (directly or indirectly) in the definition of the type. - - - - - Returns true if there is no illegal access exposure, false otherwise. - - Four cases: - 1: Member is not protected, non of its enclosing scopes are protected - 2: Member is not protected, but some of its enclosing scopes are protected - 3: Member is protected, non of its enclosing scopes are protected - 4: Member is protected, some of its enclosing scopes are also protected - - - - - Can type be accessed through container's inheritance? - - - - - This function finds the inner most enclosing scope whose Access - is lesser than or equal to the given access "StopAtAccess". - - Member - for which the enclosing scope has to be found - the enclosing scope's access has to be lesser than - - - - - Returns false if there were errors reported due to access exposure, true otherwise. - - - - - Narrow a quadword result to a specific integral type, setting Overflow true - if the result value cannot be represented in the result type. - - - - - Summarizes whether a conversion is allowed, and if so, which kind of conversion (and in some cases, the - associated symbol). - - - - - Returns True if the conversion exists, either as a widening or narrowing conversion. - - - If this returns True, exactly one of or will return True. - If this returns False, neither or will return True. - - - - - Returns True if this conversion a narrowing conversion, and not a widening conversion. - - - - - Returns True if this conversion is a widening conversion, and not a narrowing conversion. - - - - - Returns True if this conversion is an identity conversion. - - - Note that identity conversion are also considered widening conversions. - - - - - Returns True if this conversion is a default conversion (a conversion from the "Nothing" literal). - - Note that default conversions are considered widening conversions. - - - - Returns True if this conversion is a widening numeric conversion or a narrowing numeric conversion, as defined in - section 8.3. - - - - - Returns True if this conversion is a narrowing boolean conversion, as defined in section 8.2. - - - - - Returns True if this conversion is a widening reference conversion or narrowing reference conversion, as defined in - section 8.4. - - - - - Returns True if this conversion is a widening anonymous delegate conversion as defined in section 8.8, or a - narrowing anonymous delegate conversion as defined in section 8.9. - - - - - Returns True if this is a lambda conversion. - - - - - Returns True if this conversion is a widening array conversion or a narrowing array conversion, as defined in - section 8.5. - - - - - Returns True if this conversion a widening value type conversion or a narrowing value type conversion as defined in - section 8.6. - - - - - Returns True if this conversion a widening nullable value type conversion or a narrowing nullable value type - conversion as defined in section 8.6.1. - - - - - Returns True if this conversion a widening string conversion or a narrowing string conversion as defined in section - 8.7. - - - - - Returns True if this conversion a widening type parameter or a narrowing type parameter conversion, as defined in - section 8.10. - - - - - Returns True if this conversion a widening user defined or a narrowing user defined conversion, as defined in - section 8.11. - - - If this returns True, the involved conversion method can be obtained with the - property. - - - - - Returns the method that defines the user defined conversion, if any. Otherwise returns Nothing. - - - - - Returns True if two values are equal. - - The left value. - The right value. - - - - Returns True if two values are not equal. - - The left value. - The right value. - - - - Determines whether the specified object is equal to the current object. - - - The object to compare with the current object. - - - - - Determines whether the specified object is equal to the current object. - - - The object to compare with the current object. - - - - - Returns a hash code for the current object. - - - - - Returns a string that represents the current object. - - - - - Because flags can be combined, use the method IsIdentityConversion when testing for ConversionKind.Identity - - - - - - The purpose of this class is to answer questions about convertibility of one type to another. - It also answers questions about conversions from an expression to a type. - - The code is organized such that each method attempts to implement exactly one section of the - specification. - - - - - - Attempts to fold conversion of a constant expression. - - Returns Nothing if conversion cannot be folded. - - If conversion failed due to non-integer overflow, ConstantValue.Bad is returned. Consumer - is responsible for reporting appropriate diagnostics. - - If integer overflow occurs, integerOverflow is set to True and ConstantValue for overflowed result is returned. - Consumer is responsible for reporting appropriate diagnostics and potentially discarding the result. - - - - - Attempts to fold conversion of a constant expression. - - Returns Nothing if conversion cannot be folded, i.e. unexpected source and destination types. - Returns Bad value (Discriminator = ConstantValueTypeDiscriminator.Bad) if conversion failed due to non-integer overflow. - - If integer overflow occurs, integerOverflow is set to True and the overflowed result is returned. - - - - - This function classifies all intrinsic language conversions and user-defined conversions. - - - - - This function classifies all intrinsic language conversions, such as inheritance, - implementation, array covariance, and conversions between intrinsic types. - - - - - This function classifies all intrinsic language conversions and user-defined conversions. - - - - - Reclassify lambdas, array literals, etc. - - - - - This function classifies user-defined conversions between two types. - - - - - - - - - This function classifies user-defined conversions. - - - - - - - - - This function classifies all intrinsic language conversions, such as inheritance, - implementation, array covariance, and conversions between intrinsic types. - - - - - Helper structure to classify conversions from named types to interfaces - in accumulating fashion. - - - - - Accumulates classification information about conversion to interface. - Returns True when classification gets promoted to Identity, this method should not - be called after that. - - - - - Returns when classification gets promoted to Identity. - - - - - Returns true if and only if baseType is a base class of derivedType. - - - Derived class type. - - - Target base class type. - - - - - - - - Calculate MethodConversionKind based on required return type conversion. - - TODO: It looks like Dev10 MethodConversionKinds for return are badly named because - they appear to give classification in the direction opposite to the data - flow. This is very confusing. However, I am not going to rename them just yet. - Will do this when all parts are ported and working together, otherwise it will - be very hard to port the rest of the feature. - - We are trying to classify conversion between methods - ConvertFrom(...) As returnTypeOfConvertFromMethod -> ConvertTo(...) As returnTypeOfConvertToMethod - - The relaxation stub would look like: - Stub(...) As returnTypeOfConvertToMethod - Return ConvertFrom(...) - End ... - - - - - Returns the methods conversions for the given conversion kind - - We are trying to classify conversion between methods arguments - delegateInvoke(parameterConvertFrom) -> targetMethod(parameterConvertTo) - - The relaxation stub would look like (stub has same signature as delegate invoke): - Stub(parameterConvertFrom) - return targetMethod(parameterConvertTo) - End Method - - The conversion. - The delegate parameter type. - - - - Will set only bits used for delegate relaxation level. - - - - - Determine the relaxation level of a given conversion. This will be used by - overload resolution in case of conflict. This is to prevent applications that compiled in VB8 - to fail in VB9 because there are more matches. And the same for flipping strict On to Off. - - Will set only bits used for delegate relaxation level. - - - - - Determines whether a stub needed for the delegate creations conversion based on the given method conversions. - - The method conversions. - true if a stub needed for conversion; otherwise, false. - - - - - Tells whether the method conversion is considered to be narrowing or not. - - - - - Determines whether the given conversion is CLR supported conversion or not. - - The conversion. - true if the given conversion is a CLR supported conversion; otherwise, false. - - - - - Used by ClassifyUserDefinedConversion to pass an ArrayTypeSymbol that has a link back to the BoundArrayLiteral node. - This allows the ClassifyConversionOperatorInOutConversions to properly classify a conversion from the inferred array - type to the input type of a user defined conversion. - - - - - - Create a new ArrayTypeSymbol. - - - - - A map from Operator name to number of parameters and kind. - - - - - Operator kind and expected number of parameters. - - - - - Returns UnaryOperatorKind.Error in case of error, otherwise adjusted operator kind. - - - - - Returns result type of the operator or SpecialType.None if operator is not supported. - - - - - Attempts to fold unary operator applied to a constant expression. - - Returns Nothing if operator cannot be folded. - - If folding failed due to non-integer overflow, ConstantValue.Bad is returned. Consumer - is responsible for reporting appropriate diagnostics. - - If integer overflow occurs, integerOverflow is set to True and ConstantValue for overflowed result is returned. - Consumer is responsible for reporting appropriate diagnostics and potentially discarding the result. - - - - - Returns UnaryOperatorKind.Error in case of error, otherwise adjusted operator kind. - - For comparison operators, the operator type computed here is not - the result type of the comparison (which is typically boolean), - but is the type to which the operands are to be converted. For - other operators, the type computed here is both the result type - and the common operand type. - - - - - Attempts to fold binary operator applied to constant expressions. - - Returns Nothing if operator cannot be folded. - - If folding failed due to non-integer overflow or divide by zero, - ConstantValue.Bad is returned. Consumer is responsible for reporting appropriate diagnostics. - - If divide by zero occurs, divideByZero is set to True. - - If integer overflow occurs, integerOverflow is set to True and ConstantValue for overflowed result is returned. - Consumer is responsible for reporting appropriate diagnostics and potentially discarding the result. - - - - - Returns result type of the operator or SpecialType.None if operator is not supported. - - - - - Returns True if resolution of user defined conversions is complete, i.e. there were operators - applicable for the "Most Specific Widening Conversion" purposes. - This, however, doesn't mean that resolution is successful. - - - - - Returns false if operator should be ignored. - - - - - Returns True if resolution of user defined conversions is complete, i.e. there was an operator - that converts from the most specific source type to the most specific target type. - This, however, doesn't mean that resolution is successful. - - - - - The most encompassed type in a set of types is the one type that is encompassed - by all other types in the set. If no single type is encompassed by all other types, - then the set has no most encompassed type. In intuitive terms, the most encompassed - type is the “smallest” type in the set—the one type that can be converted from each - of the other types through a narrowing conversion. - - - - - The most encompassing type in a set of types is the one type that encompasses - all other types in the set. If no single type encompasses all other types, then - the set has no most encompassing type. In intuitive terms, the most encompassing - type is the “largest” type in the set—the one type to which each of the other - types can be converted through a widening conversion. - - - - - Returns number of types in the list of {input type, output type} that refer to a generic type parameter. - - - - - A quick check whether given conversion operator is a widening operator. - - - - - Collect user-defined conversion operators. - Operators declared in the same type are grouped together. - Within a group, widening operators are followed by narrowing operators. - - - - - Collect user-defined operators. - Operators declared in the same type are grouped together. - Within a group, name1 operators are followed by name2 operators. - - - - - Returns True if we should stop climbing inheritence hierarchy. - - - - - Given the type of operator's argument, return corresponding type to - look for operator in. Can return Nothing. - - - - - Information about a candidate from a group. - Will have different implementation for methods, extension methods and properties. - - - - - - Whether the method is used as extension method vs. called as a static method. - - - - - Whether the method is used as an operator. - - - - - Whether the method is used in a lifted to nullable form. - - - - - Precedence level for an extension method. - - - - - Extension method type parameters that were fixed during currying, if any. - If none were fixed, BitArray.Null should be returned. - - - - - Receiver type for extension method. Otherwise, containing type. - - - - - For extension methods, the type of the fist parameter in method's definition (i.e. before type parameters are substituted). - Otherwise, same as the ReceiverType. - - - - - Implementation for an ordinary method (based on usage). - - - - - Implementation for an extension method, i.e. it is used as an extension method. - - - - - Implementation for an operator - - - - - Implementation for a lifted operator. - - - - - Implementation for a property. - - - - - Only bits specific to delegate relaxation level are returned. - - - - - This might simplify error reporting. If not, consider getting rid of this property. - - - - - Perform overload resolution on the given method or property group, with the given arguments and names. - The names can be null if no names were supplied to any arguments. - - - - - Perform overload resolution on the given method group, with the given arguments. - - - - - Perform overload resolution on the given method group, with the given arguments and names. - The names can be null if no names were supplied to any arguments. - - - - - Perform overload resolution on the given array of property symbols. - - - - - Given instance method candidates gone through applicability analysis, - figure out if we should consider extension methods, if any. - - - - - §11.8.1 Overloaded Method Resolution - 6. Next, if, given any two members of the set, M and N, M is more applicable than N - to the argument list, eliminate N from the set. If more than one member remains - in the set and the remaining members are not equally applicable to the argument - list, a compile-time error results. - 7. Otherwise, given any two members of the set, M and N, apply the following tie-breaking rules, in order. - - Returns amount of applicable candidates left. - - Note that less applicable candidates are going to be eliminated if and only if there are most applicable - candidates. - - - - - Returns amount of applicable candidates left. - - - - - Returns True if there are most applicable candidates. - - indexesOfMostApplicableCandidates will contain indexes of equally applicable candidates, which are most applicable - by comparison to the other (non-equal) candidates. The indexes will be in ascending order. - - - - - §11.8.1 Overloaded Method Resolution - 7. Otherwise, given any two members of the set, M and N, apply the following tie-breaking rules, in order. - - - - - §11.8.1 Overloaded Method Resolution - 7. Otherwise, given any two members of the set, M and N, apply the following tie-breaking rules, in order. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.10. If the overload resolution is being done to resolve the target of a - delegate-creation expression from an AddressOf expression and M is a - function, while N is a subroutine, eliminate N from the set. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.8. If one or more arguments are AddressOf or lambda expressions, and all of the corresponding - delegate types in M match exactly, but not all do in N, eliminate N from the set. - 7.9. If one or more arguments are AddressOf or lambda expressions, and all of the corresponding - delegate types in M are widening conversions, but not all are in N, eliminate N from the set. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.9. If M did not use any optional parameter defaults in place of explicit - arguments, but N did, then eliminate N from the set. - - !!!WARNING!!! The index (7.9) is based on "VB11 spec [draft 3]" version of documentation rather - than Dev10 documentation. - TODO: Update indexes of other overload method resolution rules - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.7. If M and N both required type inference to produce type arguments, and M did not - require determining the dominant type for any of its type arguments (i.e. each the - type arguments inferred to a single type), but N did, eliminate N from the set. - - - - - §11.8.1.1 Applicability - - - - - §11.8.1.1 Applicability - - - - - This method groups equally applicable (§11.8.1.1 Applicability) candidates into buckets. - - Returns an ArrayBuilder of buckets. Each bucket is represented by an ArrayBuilder(Of Integer), - which contains indexes of equally applicable candidates from input parameter 'candidates'. - - - - - §11.8.1 Overloaded Method Resolution - 3. Next, eliminate all members from the set that require narrowing conversions - to be applicable to the argument list, except for the case where the argument - expression type is Object. - 4. Next, eliminate all remaining members from the set that require narrowing coercions - to be applicable to the argument list. If the set is empty, the type containing the - method group is not an interface, and strict semantics are not being used, the - invocation target expression is reclassified as a late-bound method access. - Otherwise, the normal rules apply. - - Returns amount of applicable candidates left. - - - - - - - §11.8.1 Overloaded Method Resolution - 2. Next, eliminate all members from the set that are inaccessible or not applicable to the argument list. - - Note, similar to Dev10 compiler this process will eliminate candidates requiring narrowing conversions - if strict semantics is used, exception are candidates that require narrowing only from numeric constants. - - Returns amount of applicable candidates left. - - - - - - - Figure out corresponding arguments for parameters §11.8.2 Applicable Methods. - - Note, this function mutates the candidate structure. - - If non-Nothing ArrayBuilders are returned through parameterToArgumentMap and paramArrayItems - parameters, the caller is responsible fo returning them into the pool. - - Assumptions: - 1) This function is never called for a candidate that should be rejected due to parameter count. - 2) Omitted arguments [ Call Foo(a, , b) ] are represented by OmittedArgumentExpression node in the arguments array. - 3) Omitted argument never has name. - 4) argumentNames contains Nothing for all positional arguments. - - !!! Should keep this function in sync with Binder.PassArguments, which uses data this function populates. !!! - !!! Should keep this function in sync with Binder.ReportOverloadResolutionFailureForASingleCandidate. !!! - !!! Everything we flag as an error here, Binder.ReportOverloadResolutionFailureForASingleCandidate should detect as well. !!! - - - - - Match candidate's parameters to arguments §11.8.2 Applicable Methods. - - Note, similar to Dev10 compiler this process will eliminate candidate requiring narrowing conversions - if strict semantics is used, exception are candidates that require narrowing only from numeric constants. - - Assumptions: - 1) This function is never called for a candidate that should be rejected due to parameter count. - 2) Omitted arguments [ Call Foo(a, , b) ] are represented by OmittedArgumentExpression node in the arguments array. - 3) Omitted argument never has name. - 4) argumentNames contains Nothing for all positional arguments. - - !!! Should keep this function in sync with Binder.PassArguments, which uses data this function populates. !!! - !!! Should keep this function in sync with Binder.ReportOverloadResolutionFailureForASingleCandidate. !!! - !!! Should keep this function in sync with InferenceGraph.PopulateGraph. !!! - !!! Everything we flag as an error here, Binder.ReportOverloadResolutionFailureForASingleCandidate should detect as well. !!! - - - - - Should be in sync with Binder.ReportByRefConversionErrors. - - - - - Should be in sync with Binder.ReportByValConversionErrors. - - - - - Performs an initial pass through the group of candidates and does - the following in the process. - 1) Eliminates candidates based on the number of supplied arguments and number of supplied generic type arguments. - 2) Adds additional entries for expanded ParamArray forms when applicable. - 3) Infers method's generic type arguments if needed. - 4) Substitutes method's generic type arguments. - 5) Eliminates candidates based on shadowing by signature. - This partially takes care of §11.8.1 Overloaded Method Resolution, section 7.1. - If M is defined in a more derived type than N, eliminate N from the set. - 6) Eliminates candidates with identical virtual signatures by applying various shadowing and - tie-breaking rules from §11.8.1 Overloaded Method Resolution, section 7.0 - • If M has fewer parameters from an expanded paramarray than N, eliminate N from the set. - 7) Takes care of unsupported overloading within the same type for instance methods/properties. - - Assumptions: - 1) Shadowing by name has been already applied. - 2) group can include extension methods. - 3) group contains original definitions, i.e. method type arguments have not been substituted yet. - Exception are extension methods with type parameters substituted based on receiver type rather - than based on type arguments supplied at the call site. - 4) group contains only accessible candidates. - 5) group doesn't contain members involved into unsupported overloading, i.e. differ by casing or custom modifiers only. - 6) group does not contain duplicates. - 7) All elements of arguments array are Not Nothing, omitted arguments are represented by OmittedArgumentExpression node. - - - This method is destructive to content of the [group] parameter. - - - - - Combine new candidate with the list of existing candidates, applying various shadowing and - tie-breaking rules. New candidate may or may not be added to the result, some - existing candidates may be removed from the result. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.5. If M is not an extension method and N is, eliminate N from the set. - 7.6. If M and N are extension methods and M was found before N, eliminate N from the set. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.4. If M is less generic than N, eliminate N from the set. - - - - - Implements shadowing based on - §11.8.1.3 Depth of genericity - - - - - - - False if node of candidates wins - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.3. If M and N are extension methods and the target type of M has fewer type - parameters than the target type of N, eliminate N from the set. - !!! Note that spec talks about "fewer type parameters", but it is not really about count. - !!! It is about one refers to a type parameter and the other one doesn't. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - 7.1. If M is defined in a more derived type than N, eliminate N from the set. - This rule also applies to the types that extension methods are defined on. - 7.2. If M and N are extension methods and the target type of M is a class or - structure and the target type of N is an interface, eliminate N from the set. - - - - - For a receiver to match an instance, more or less, the type of that instance has to be convertible - to the type of the receiver with the same bit-representation (i.e. identity on value-types - and reference-convertibility on reference types). - Actually, we don't include the reference-convertibilities that seem nonsensical, e.g. enum() to underlyingtype() - We do include inheritance, implements and variance conversions amongst others. - - - - - Implements shadowing based on - §11.8.1 Overloaded Method Resolution. - • If M has fewer parameters from an expanded paramarray than N, eliminate N from the set. - - - - - This class walks all the statements in some syntax, in order, except those statements that are contained - inside expressions (a statement can occur inside an expression if it is inside - a lambda.) - - This is used when collecting the declarations and declaration spaces of a method body. - - Typically the client overrides this class and overrides various Visit methods, being sure to always - delegate back to the base. - - - - - The only public entry point is the Infer method. - - - - - Returns True if the inference algorithm should be restarted. - - - - - Returns False if the search should be cancelled. - - - - - Returns False if the search should be cancelled. - - - - - This class associates a symbol with particular custom format for display. - It can be passed as an argument for an error message in place where symbol display should go, - which allows to defer building strings and doing many other things (like loading metadata) - associated with that until the error message is actually requested. - - - - - Displays a value in the VisualBasic style. - - - - - - Displays a symbol in the Visual Basic style, based on a . - - The symbol to be displayed. - The formatting options to apply. If Nothing is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid Visual Basic. - - - - - Displays a symbol in the Visual Basic style, based on a . - Based on the context, qualify type And member names as little as possible without - introducing ambiguities. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the Or . - The formatting options to apply. If null is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid Visual Basic. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - The formatting options to apply. If Nothing Is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the or . - The formatting options to apply. If null is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Returns a string representation of an object of primitive type. - - A value to display as a string. - Whether or not to quote string literals. - Whether or not to display integral literals in hexadecimal. - A string representation of an object of primitive type (or null if the type is not supported). - - Handles , , , - , , , , , - , , , , , - , and Nothing. - - - - - Formats string literal. - - Literal value. - True to double-quote the value. Also enables pretty-listing of non-printable characters using ChrW function and vb* constants. - If specified non-printable characters are replaced by this character. - Use hexadecimal numbers as arguments to ChrW functions. - - - - Displays a symbol in the VisualBasic style. - - - - - - Displays a symbol in the Visual Basic style, based on a . - - The symbol to be displayed. - The formatting options to apply. If Nothing is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid Visual Basic. - - - - - Displays a symbol in the Visual Basic style, based on a . - Based on the context, qualify type And member names as little as possible without - introducing ambiguities. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the Or . - The formatting options to apply. If null is passed, will be used. - A formatted string that can be displayed to the user. - - The return value is not expected to be syntactically valid Visual Basic. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - The formatting options to apply. If Nothing Is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Convert a symbol to an array of string parts, each of which has a kind. Useful for - colorizing the display string. - - The symbol to be displayed. - Semantic information about the context in which the symbol is being displayed. - A position within the or . - The formatting options to apply. If null is passed, will be used. - A list of display parts. - - Parts are not localized until they are converted to strings. - - - - - Returns a string representation of an object of primitive type. - - A value to display as a string. - Whether or not to quote string literals. - Whether or not to display integral literals in hexadecimal. - A string representation of an object of primitive type (or null if the type is not supported). - - Handles , , , - , , , , , - , , , , , - , and Nothing. - - - - - Return the number of special constraints ('Class', 'Structure', - and 'New') associated with the type parameter. - - - - Append a default argument (i.e. the default argument of an optional parameter). - Assumed to be non-null. - - - - - represents a single item in Handles list. - - - - - Kind of Handles event container. (Me, MyBase, MyClass or a WithEvents variable) - - - - - Symbol for the event handled in current Handles item. - - - - - Kind of a Handles item represented by a HandledEvent - - - - - Handles Me.Event1 - - - - - Handles MyClass.Event1 - - - - - Handles MyBase.Event1 - - - - - Handles SomeWithEventsVariable.Event1 - - - - - Virtual dispatch based on a symbol's particular class. - - Result type - Additional argument type - - - - Call the correct VisitXXX method in this class based on the particular type of symbol that is passed in. - - - - - Returns the System.String that represents the current TypedConstant. - - A System.String that represents the current TypedConstant. - - - - This is a SyntaxReference implementation that lazily finds the beginning of the block (if any) of the original syntax reference - - - - - this is a SyntaxReference implementation that lazily translates the result (SyntaxNode) of the original syntax reference - to other one. - - - - - Returns the TypeSyntax of the given NewExpressionSyntax if specified. - - - - - Returns the TypeSyntax of the given AsClauseSyntax if specified. - - - - - Returns the AttributeBlockSyntax of the given AsClauseSyntax if specified. - - - - - Updates the given SimpleNameSyntax node with the given identifier token. - This function is a wrapper that calls WithIdentifier on derived syntax nodes. - - - - The given simple name updated with the given identifier. - - - - Names on the right of qualified names and member access expressions are not stand-alone expressions. - This method returns the appropriate parent of name syntax nodes that are on right of these constructs. - - - - Creates a token with kind IntegerLiteralToken from a 4-byte signed integer value. - The 4-byte signed integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 4-byte signed integer value. - The raw text of the literal. The 4-byte signed integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 4-byte signed integer value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte signed integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind IntegerLiteralToken from a 4-byte unsigned integer - value. - The 4-byte unsigned integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 4-byte unsigned integer value. - The raw text of the literal. - The 4-byte unsigned integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 4-byte unsigned integer value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte unsigned integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind IntegerLiteralToken from an 8-byte signed integer value. - The 8-byte signed integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 8-byte signed integer value. - The raw text of the literal. - The 8-byte signed integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 8-byte signed integer value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte signed integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind IntegerLiteralToken from an 8-byte unsigned integer value. - The 8-byte unsigned integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 8-byte unsigned integer value. - The raw text of the literal. - The 8-byte unsigned integer value to be represented by the returned token. - - - Creates a token with kind IntegerLiteralToken from the text and corresponding 8-byte unsigned integer value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte unsigned integer value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind FloatingLiteralToken from a 4-byte floating point value. - The 4-byte floating point value to be represented by the returned token. - - - Creates a token with kind FloatingLiteralToken from the text and corresponding 4-byte floating point value. - The raw text of the literal. - The 4-byte floating point value to be represented by the returned token. - - - Creates a token with kind FloatingLiteralToken from the text and corresponding 4-byte floating point value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 4-byte floating point value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind FloatingLiteralToken from an 8-byte floating point value. - The 8-byte floating point value to be represented by the returned token. - - - Creates a token with kind FloatingLiteralToken from the text and corresponding 8-byte floating point value. - The raw text of the literal. - The 8-byte floating point value to be represented by the returned token. - - - Creates a token with kind FloatingLiteralToken from the text and corresponding 8-byte floating point value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The 8-byte floating point value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind DecimalLiteralToken from a decimal value. - The decimal value to be represented by the returned token. - - - Creates a token with kind DecimalLiteralToken from the text and corresponding decimal value. - The raw text of the literal. - The decimal value to be represented by the returned token. - - - Creates a token with kind DecimalLiteralToken from the text and corresponding decimal value. - A list of trivia immediately preceding the token. - The raw text of the literal. - The decimal value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind StringLiteralToken from a string value. - The string value to be represented by the returned token. - - - Creates a token with kind StringLiteralToken from the text and corresponding string value. - The raw text of the literal, including quotes and escape sequences. - The string value to be represented by the returned token. - - - Creates a token with kind StringLiteralToken from the text and corresponding string value. - A list of trivia immediately preceding the token. - The raw text of the literal, including quotes and escape sequences. - The string value to be represented by the returned token. - A list of trivia immediately following the token. - - - Creates a token with kind CharacterLiteralToken from a character value. - The character value to be represented by the returned token. - - - Creates a token with kind CharacterLiteralToken from the text and corresponding character value. - The raw text of the literal, including quotes and escape sequences. - The character value to be represented by the returned token. - - - Creates a token with kind CharacterLiteralToken from the text and corresponding character value. - A list of trivia immediately preceding the token. - The raw text of the literal, including quotes and escape sequences. - The character value to be represented by the returned token. - A list of trivia immediately following the token. - - - - Determines if two trees are the same, disregarding trivia differences. - - The original tree. - The new tree. - - True to ignore any differences of nodes inside bodies of methods, operators, constructors and accessors, and field and auto-property initializers, - otherwise all nodes and tokens must be equivalent. - - - - - Determines if two syntax nodes are the same, disregarding trivia differences. - - The old node. - The new node. - - True to ignore any differences of nodes inside bodies of methods, operators, constructors and accessors, and field and auto-property initializers, - otherwise all nodes and tokens must be equivalent. - - - - - Determines if two syntax nodes are the same, disregarding trivia differences. - - The old node. - The new node. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Determines if two syntax tokens are the same, disregarding trivia differences. - - The old token. - The new token. - - - - Determines if two lists of tokens are the same, disregarding trivia differences. - - The old token list. - The new token list. - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Determines if two lists of syntax nodes are the same, disregarding trivia differences. - - The old list. - The new list. - - If specified called for every child syntax node (not token) that is visited during the comparison. - It it returns true the child is recursively visited, otherwise the child and its subtree is disregarded. - - - - - Create a new syntax tree from a syntax node. - - - - - Produces a syntax tree by parsing the source text. - - - - - Produces a syntax tree by parsing the source text. - - - - -Parse the input for leading trivia. - - The input string - The starting offset in the string - - - - Parse the input for trailing trivia. - - The input string - The starting offset in the string - - - - Parse one token. - - The input string - The starting offset in the string - Scan using rules for the start of a statement - - - - Parse tokens in the input. - - The input string - The starting offset in the string - The position of the first token - - - - Parse a name. - - The input string - The starting offset in the string - - - - Parse a type name. - - The input string - The starting offset in the string - - - - Parse an expression. - - The input string - The starting offset in the string - - - - Parse an executable statement. - - The input string - The starting offset in the string - - - - Parse a compilation unit (a single source file). - - The input string - The starting offset in the string - - - - Parse a parameter list. - - The input string - The starting offset in the string - - - - Parse an argument list. - - The input string - The starting offset in the string - - - - Helper method for wrapping a string and offset in an SourceText. - - - - - Try parse the attribute represented as a stand-alone string like [cref="A.B"] and recognize - 'cref' and 'name' attributes like in documentation-comment mode. This method should only be - used internally from code handling documentation comment includes. - - - - - Create a bracketed identifier. - - - - - Create a bracketed identifier. - - - - - Create a missing identifier. - - - - - Create a missing contextual keyword. - - - - - Create a missing keyword. - - - - - Create a missing punctutation mark. - - - - - Create a missing string literal. - - - - - Create a missing character literal. - - - - - Create a missing integer literal. - - - - - Creates a copy of a token. - - - - The new token - - - - Creates an empty list of syntax nodes. - - The specific type of the element nodes. - - - - Creates a singleton list of syntax nodes. - - The specific type of the element nodes. - The single element node. - - - - Creates a list of syntax nodes. - - The specific type of the element nodes. - A sequence of element nodes. - - - - Creates an empty list of tokens. - - - - - Creates a singleton list of tokens. - - The single token. - - - - Creates a list of tokens. - - An array of tokens. - - - - Creates a list of tokens. - - - - - - Creates an empty list of trivia. - - - - - Creates a singleton list of trivia. - - A single trivia. - - - - Creates a list of trivia. - - An array of trivia. - - - - Creates a list of trivia. - - A sequence of trivia. - - - - Creates an empty separated list. - - The specific type of the element nodes. - - - - Creates a singleton separated list. - - The specific type of the element nodes. - A single node. - - - - Creates a separated list of nodes from a sequence of nodes, synthesizing comma separators in between. - - The specific type of the element nodes. - A sequence of syntax nodes. - - - - Creates a separated list of nodes from a sequence of nodes and a sequence of separator tokens. - - The specific type of the element nodes. - A sequence of syntax nodes. - A sequence of token to be interleaved between the nodes. The number of tokens must - be one less than the number of nodes. - - - - Creates a separated list from a sequence of nodes or tokens. - The sequence must start with a node and alternate between nodes and separator tokens. - - The specific type of the element nodes. - A alternating sequence of nodes and tokens. - - - - Creates a separated list from a . - The must start with a node and alternate between nodes and separator tokens. - - The specific type of the element nodes. - An alternating list of nodes and tokens. - - - - Creates an empty . - - - - - Creates a from a sequence of nodes and tokens. - - A sequence of nodes and tokens. - - - - Creates a from one or more nodes and tokens. - - An array of nodes and tokens. - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - An empty token because all non terminals must have a token. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - A representing the specific kind of - EndBlockStatementSyntax. One of EndIfStatement, EndUsingStatement, - EndWithStatement, EndSelectStatement, EndStructureStatement, EndEnumStatement, - EndInterfaceStatement, EndClassStatement, EndModuleStatement, - EndNamespaceStatement, EndSubStatement, EndFunctionStatement, EndGetStatement, - EndSetStatement, EndPropertyStatement, EndOperatorStatement, EndEventStatement, - EndAddHandlerStatement, EndRemoveHandlerStatement, EndRaiseEventStatement, - EndWhileStatement, EndTryStatement, EndSyncLockStatement. - - - The "End" keyword - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - A representing the specific kind of - EndBlockStatementSyntax. One of EndIfStatement, EndUsingStatement, - EndWithStatement, EndSelectStatement, EndStructureStatement, EndEnumStatement, - EndInterfaceStatement, EndClassStatement, EndModuleStatement, - EndNamespaceStatement, EndSubStatement, EndFunctionStatement, EndGetStatement, - EndSetStatement, EndPropertyStatement, EndOperatorStatement, EndEventStatement, - EndAddHandlerStatement, EndRemoveHandlerStatement, EndRaiseEventStatement, - EndWhileStatement, EndTryStatement, EndSyncLockStatement. - - - The keyword that ends the block. Must be one of: "If", "Using", "With", - "Select", "Structure", "Enum", "Interface", "Class", "Module", "Namespace", - "Sub", "Function", "Get, "Set", "Property", "Operator", "Event", "AddHandler", - "RemoveHandler", "RaiseEvent", "While", "Try" or "SyncLock". - - - - - Represents an entire source file of VB code. - - - Represents the list of Option statements at the beginning of a source file. - - - Represents the list of Imports statements at the beginning of a source file. - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - Represents the end of the source file. This token may have trivia (whitespace, - comments, ...) attached to it. - - - - - Represents an entire source file of VB code. - - - Represents the list of Option statements at the beginning of a source file. - - - Represents the list of Imports statements at the beginning of a source file. - - - Represents the list of AttributeStatements at the beginning of a source file - that contain the Assembly and Module attributes. - - - Represents the members of the default namespace for this source file: all the - top-level type and namespace declarations in the file. May also contain - Statements that are not valid - - - - - Represents an entire source file of VB code. - - - - - Represents an Option statement, such as "Option Strict On". - - - The "Option" keyword. - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - - - Represents an Option statement, such as "Option Strict On". - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - The keyword that identifiers the value being set for the opition: On, Off, Text - or Binary. - - - - - Represents an Option statement, such as "Option Strict On". - - - The keyword that identifies the option being set: Explicit, Strict, Compare or - Infer. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - The "Imports" keyword. - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - A list of one or more import clauses. Each clause is either an alias, namespace - or XML namespace import. - - - - - Represents an Imports statement, which has one or more imports clauses. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - The identifier that the alias is being defined for. - - - The equals sign token. - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - The identifier that the alias is being defined for. - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - The identifier that the alias is being defined for. - - - The namespace or type the alias refers to. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - The namespace or type being imported. - - - - - Defines a XML namespace for XML expressions. - - - Identifies the XML namespace alias and URI. - - - - - Defines a XML namespace for XML expressions. - - - Identifies the XML namespace alias and URI. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - The statement that begins the NamespaceBlock. - - - The declarations contained in the namespace statement. - - - The End Namespace statement that ends the block. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - The statement that begins the NamespaceBlock. - - - The declarations contained in the namespace statement. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - The statement that begins the NamespaceBlock. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - The "Namespace" keyword. - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - A (possibly dotted) name denoting the namespace being declared. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - The statement that begins the type or module. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - A list of the Inherits declarations for the type. - - - A list of the Implements declarations for the type. - - - The declarations contained in the type or module. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - The statement that begins the type or module. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - The statement that begins the type or module. - - - The declarations contained in the enumeration. - - - The End XXX statement that ends the block. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - The statement that begins the type or module. - - - The declarations contained in the enumeration. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - The statement that begins the type or module. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - The "Inherits" keyword. - - - A list of the types being inherited. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - A list of the types being inherited. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - A list of the types being inherited. - - - - - Represents an Implements statement in a Class or Structure. - - - The "Implements" keyword. - - - A list of the types being implemented. - - - - - Represents an Implements statement in a Class or Structure. - - - A list of the types being implemented. - - - - - Represents an Implements statement in a Class or Structure. - - - A list of the types being implemented. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Module", "Class", "Interface" or "Structure" keyword. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The name of the type being declared. - - - If present, a type parameter list with generic parameters for this type. If no - generic parameters were present, Nothing is returned. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - The name of the type being declared. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The "Enum" keyword. - - - The name of the enum being declared. - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The name of the enum being declared. - - - Optional "As XXX" clause describing the underlying type of the enumeration. If - no As clause was specified, Nothing is returned. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - The name of the enum being declared. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - The name of the enum being declared. - - - - - Represents the type parameter list in a declaration. - - - The "(" token. - - - The "Of" keyword. - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - The ")" token. - - - - - Represents the type parameter list in a declaration. - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - - - Represents the type parameter list in a declaration. - - - A list of the type parameters. There must be at least one type parameter in the - list. - - - - - Represents a type parameter on a generic type declaration. - - - Represents the "In" or "Out" variance keyword on a type parameter, if present. - If no variance modifier was present, Nothing is returned. - - - The name of the type parameter - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - - - Represents a type parameter on a generic type declaration. - - - The name of the type parameter - - - - - Represents a type parameter on a generic type declaration. - - - The name of the type parameter - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - The "As" keyword, if any type constraints were supplied. If no type constraints - were supplied, Nothing is returned. - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - A list of the supplied constraints. If no constraints were supplied, Nothing is - returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - The "As" keyword. - - - The "{" token. - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - The "}" token. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - A list of the supplied constraints. If no constraints were supplied, an empty - list is returned. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - A representing the specific kind of - SpecialConstraintSyntax. One of NewConstraint, ClassConstraint, - StructureConstraint. - - - The "New", "Class" or "Structure" keyword that denotes the kind of special - constraint. - - - - - Represents a type parameter constraint that is a type. - - - The type describing the constraint. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - An optional value for the enum member. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - A representing the specific kind of MethodBlockSyntax. - One of SubBlock, FunctionBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - A representing the specific kind of MethodBlockSyntax. - One of SubBlock, FunctionBlock. - - - The declaration that begins the block. - - - The End XXX statement that ends the block declaration. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - The declaration that begins the block. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - A representing the specific kind of AccessorBlockSyntax. - One of PropertyGetBlock, PropertySetBlock, AddHandlerBlock, RemoveHandlerBlock, - RaiseEventBlock. - - - The declaration that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The End XXX statement that ends the block declaration. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - A representing the specific kind of AccessorBlockSyntax. - One of PropertyGetBlock, PropertySetBlock, AddHandlerBlock, RemoveHandlerBlock, - RaiseEventBlock. - - - The declaration that begins the block. - - - The End XXX statement that ends the block declaration. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - The property declaration that begins the block. - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - The End Property statement that ends the block. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - The property declaration that begins the block. - - - The accessor blocks contained in the property, between the Property and the End - Property statements. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - The event declaration that begins the block. - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - The End Event statement that ends the block. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - The event declaration that begins the block. - - - The accessor blocks contained in the custom event declaration, between the - Event statement and the End Event statement. - - - - - Represents the parameter list in a method declaration. - - - The "(" token that introduces the parameter list. If no parameter list was - present, Nothing is returned. - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - The ")" token that concludes the parameter list. If no parameter list was - present, Nothing is returned. - - - - - Represents the parameter list in a method declaration. - - - The list of parameters. If no parameter list was present, Nothing is returned. - - - - - Represents the parameter list in a method declaration. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - The name of the method being declared. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - The name of the method being declared. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - The name of the method being declared. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - The name of the method being declared. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A representing the specific kind of - MethodStatementSyntax. One of SubStatement, FunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - If present, a type parameter list with generic type parameters for this method. - If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, a Handles clause indicated the events that this method handles. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A representing the specific kind of - MethodStatementSyntax. One of SubStatement, FunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A representing the specific kind of - MethodStatementSyntax. One of SubStatement, FunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The "New" keyword in the constructor declaration. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The name of the method being declared. - - - The string literal with the library name. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A Declare statement that declares an external DLL method. - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The name of the method being declared. - - - The string literal with the library name. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A Declare statement that declares an external DLL method. - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Declare" keyword. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The "Lib" keyword. - - - The string literal with the library name. - - - If present, the "Alias" keyword. If not present, returns Nothing. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - If present, the keyword that defines the string translation semantics of the - external method. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The string literal with the library name. - - - The string literal with the alias. If not present, returns Nothing. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A Declare statement that declares an external DLL method. - - - A representing the specific kind of - DeclareStatementSyntax. One of DeclareSubStatement, DeclareFunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the method being declared. - - - The string literal with the library name. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - The name of the delegate being declared. - - - - - A statement that declares a delegate type. - - - The name of the delegate being declared. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - The name of the delegate being declared. - - - - - A statement that declares a delegate type. - - - The name of the delegate being declared. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The "Delegate" keyword. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - If present, a type parameter list with generic type parameters for this - delegate. If no generic type parameters were present, Nothing is returned. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - - - A statement that declares a delegate type. - - - A representing the specific kind of - DelegateStatementSyntax. One of DelegateSubStatement, - DelegateFunctionStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the delegate being declared. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The optional Custom keyword for custom event declarations. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the event being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the event being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an Implements clause indicates the interface methods that this - method implements. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - The name of the event being declared. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - The name of the event being declared. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The operator being defined. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The operator being defined. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - The operator being defined. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The name of the property being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The name of the property being declared. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - property. - - - If present, an Implements clause indicated the interface methods that this - method implements. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - The name of the property being declared. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - The name of the property being declared. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A representing the specific kind of - AccessorStatementSyntax. One of GetAccessorStatement, SetAccessorStatement, - AddHandlerAccessorStatement, RemoveHandlerAccessorStatement, - RaiseEventAccessorStatement. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - A representing the specific kind of - AccessorStatementSyntax. One of GetAccessorStatement, SetAccessorStatement, - AddHandlerAccessorStatement, RemoveHandlerAccessorStatement, - RaiseEventAccessorStatement. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - The "Implements" keyword. - - - The list of interface members being implemented. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - The list of interface members being implemented. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - The list of interface members being implemented. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - The "Handles" keyword. - - - The list of event members being handled. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - The list of event members being handled. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - The list of event members being handled. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - The container of the event. This can be one of the special keywords: "Me", - "MyBase" or "MyClass". - - - - - Represents event container that refers to a WithEvents member. - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Represents event container that refers to a WithEvents member. - - - The container of the event. It is a simple identifier that refers to a - WithEvents member of the containing type. - - - - - Represents event container that refers to a WithEvents member's property. - - - The container of the event. - - - The "." token. - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Represents event container that refers to a WithEvents member's property. - - - The container of the event. - - - The provider of the event. It is a property of a WithEvents member of the - containing type. - - - - - Represents a single handled event in a "Handles ..." clause. - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - The "." token. - - - The event being handled. This must be a simple identifier. - - - - - Represents a single handled event in a "Handles ..." clause. - - - The container of the event. This can either be a simple identifier (identifying - a members of the containing type) or one of the special keywords "Me", "MyBase" - or "MyClass". - - - The event being handled. This must be a simple identifier. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The missing identifier token for this incomplete member. Should only be used to - have a location for error reporting. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - A list of all attribute lists on this declaration. If no attributes were - specified, an empty list is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - The "As" clause that describes the return type, and possibly includes "New", - "With" or "From". If no As clause was present, Nothing is returned. - - - If present, an "= initial-value" clause describing the initial value of the - variable or the value of the constant. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - The names of the variables being declared. Each name might have a "?" or "()" - modifier(s) attached. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - The "As" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type-name part of the As clause. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type-name part of the As clause. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - The type-name part of the As clause. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - The "As" keyword. - - - The New expression - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - The New expression - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - The "With" keyword. - - - The "{" token. - - - The comma-separated list of field initializers. - - - The "}" token. - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - The comma-separated list of field initializers. - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - The comma-separated list of field initializers. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - The "From" keyword. - - - The initializer including the braces. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - The initializer including the braces. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - The optional "Key" keyword. - - - The value being assigned. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - The value being assigned. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - The optional "Key" keyword. - - - The "." token. - - - The name of the field being initialized. - - - The "=" token. - - - The value being assigned to the field. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - The name of the field being initialized. - - - The value being assigned to the field. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - The "=" token. - - - The expression used as the initial value. - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - The expression used as the initial value. - - - - - Represent a parameter to a method, property, constructor, etc. - - - A list of all attribute lists on this parameter. If no attributes were - specified, Nothing is returned. - - - A list of the modifier tokens "ByVal", "ByRef", "Optional" or "ParamArray" that - modify this parameter. - - - The name of the parameter, including any "?" or "()" modifiers. - - - If present, the "As type-name" clause describing the type of the parameter. If - no As clause is present, Nothing is returned. - - - If present, an initializer with the default value of the parameter. If no - default value is present, Nothing is returned. - - - - - Represent a parameter to a method, property, constructor, etc. - - - The name of the parameter, including any "?" or "()" modifiers. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - The "?" token that indicates a nullable type. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers for the type. If no array modifiers were present, an - empty list is returned. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - The identifier that names the item being declared. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - The "(" token. - - - The comma tokens in the array type. There is one less comma than the rank. - - - The ")" token. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - - - Represents a group of attributes within "<" and ">" brackets. - - - The "<" token. - - - A comma separated list of attribute declarations in this attribute list. - - - The ">" token. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - A comma separated list of attribute declarations in this attribute list. - - - - - Represents a group of attributes within "<" and ">" brackets. - - - - - Represents a single attribute declaration within an attribute list. - - - Optional attribute target. Assembly|Module : - - - The name of the attribute. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - - - Represents a single attribute declaration within an attribute list. - - - The name of the attribute. - - - - - Represents a single attribute declaration within an attribute list. - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - The ":" token, if an attribute modifier is present. If no attribute modifier is - present, Nothing is returned. - - - - - Represents a single attribute declaration within an attribute list. - - - The "Assembly" or "Module" attribute modifier, is present. If no attribute - modifier is present, Nothing is returned. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - The list of attribute lists. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - The expression. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - "?" token. - - - The expression whose value is being output. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - The expression whose value is being output. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - The While statement that begins the block. - - - The statements contained in the While...End While. This might be an empty list. - - - The End While statement that ends the block. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - The While statement that begins the block. - - - The statements contained in the While...End While. This might be an empty list. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - The While statement that begins the block. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - The UsingStatement that begins the Using...End Using block. - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - The End Using statement that ends the block. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - The UsingStatement that begins the Using...End Using block. - - - The statements contained in the Using...End Using block. This might be an empty - list. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - The UsingStatement that begins the Using...End Using block. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - The SyncLock statement that begins the block. - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - The End SyncLock statement that ends the block. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - The SyncLock statement that begins the block. - - - The statements contained in the SyncLock...End SyncLock statement. This might - be an empty list. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - The SyncLock statement that begins the block. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - The WithStatement that begins the With...End With block. - - - The statements contained in the With...End With block. This might be an empty - list. - - - The End With statement that ends the block. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - The WithStatement that begins the With...End With block. - - - The statements contained in the With...End With block. This might be an empty - list. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - The WithStatement that begins the With...End With block. - - - - - Represents the declaration of one or more local variables or constants. - - - The modifier token (Static, Dim or Const) that introduces this local variable - declaration. - - - The list of variable declarator. Each declarator specifies one or more variable - names along with a type and/or initializer. - - - - - Represents a label statement. - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - The ":" token of the label statement. - - - - - Represents a label statement. - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - - - Represents a label statement. - - - The name of the label. If the label is a line number, returns an IntegerLiteral - that is the line number, otherwise, returns an Identifier. - - - - - Represents a "GoTo" statement. - - - The "GoTo" keyword. - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - Represents a "GoTo" statement. - - - The name of the label. If the label is a line number, wraps an IntegerLiteral - that is the line number, otherwise, wraps an Identifier. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - A representing the specific kind of LabelSyntax. One of - IdentifierLabel, NumericLabel, NextLabel. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - A representing the specific kind of LabelSyntax. One of - IdentifierLabel, NumericLabel, NextLabel. - - - The label name (identifier), line number (integer literal), or next keyword - token. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - The "Stop" or "End" keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - A representing the specific kind of - StopOrEndStatementSyntax. One of StopStatement, EndStatement. - - - The "Stop" or "End" keyword. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - A representing the specific kind of ExitStatementSyntax. - One of ExitDoStatement, ExitForStatement, ExitSubStatement, - ExitFunctionStatement, ExitOperatorStatement, ExitPropertyStatement, - ExitTryStatement, ExitSelectStatement, ExitWhileStatement. - - - The "Exit" keyword. - - - The keyword describing the block to exit. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - A representing the specific kind of ExitStatementSyntax. - One of ExitDoStatement, ExitForStatement, ExitSubStatement, - ExitFunctionStatement, ExitOperatorStatement, ExitPropertyStatement, - ExitTryStatement, ExitSelectStatement, ExitWhileStatement. - - - The keyword describing the block to exit. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - A representing the specific kind of - ContinueStatementSyntax. One of ContinueWhileStatement, ContinueDoStatement, - ContinueForStatement. - - - The "Continue" keyword. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - A representing the specific kind of - ContinueStatementSyntax. One of ContinueWhileStatement, ContinueDoStatement, - ContinueForStatement. - - - The "Do", "For" or "While" keyword that identifies the kind of loop being - continued. - - - - - Represents a "Return" statement. - - - The "Return" keyword. - - - The expression being returned, if present. - - - - - Represents a "Return" statement. - - - The expression being returned, if present. - - - - - Represents a "Return" statement. - - - - - Represents a line If-Then-Else statement. - - - The If part of the statement. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - - - Represents a line If-Then-Else statement. - - - The If part of the statement. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else.This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The statements controlled by the Else.This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - The If part of the statement. - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - If this is a block if, returns the "End If" statement. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - The If part of the statement. - - - A list of the "ElseIf" parts of the statement. If there are no ElseIf parts, - then an empty list is returned. - - - The Else part of the statement. If there is no Else part, Nothing is returned. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - The If part of the statement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - A representing the specific kind of IfPartSyntax. One of - IfPart, ElseIfPart. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - The statements controlled by this If or Else If. This might be an empty list. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - A representing the specific kind of IfPartSyntax. One of - IfPart, ElseIfPart. - - - The statement that introduces this part of the If...Then...Else...End If. This - must be an IfStatement. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The Else statement that introduces this part. - - - The statements controlled by the Else. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - The statements controlled by the Else. This might be an empty list. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - A representing the specific kind of IfStatementSyntax. - One of IfStatement, ElseIfStatement. - - - If this ElseIf was written as "Else If", contains the "Else" keyword. Otherwise - returns Nothing. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - The "Then" keyword. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - A representing the specific kind of IfStatementSyntax. - One of IfStatement, ElseIfStatement. - - - The "If" or "ElseIf" keyword. - - - The boolean expression that is being tested. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - The "Else" keyword - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - The Try part of the statement. - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - The Finally part of the statement, if present. - - - The "End Try" statement. - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - The Try part of the statement. - - - A list of the Catch parts of the statement. If there are no Catch parts, then - an empty list is returned. - - - The Finally part of the statement, if present. - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - The Try part of the statement. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - The TryStatement that introduces this part of the Try...Catch...Finally...End - Try. - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - The statements inside the Try part of the Try...Catch...Finally...End Try. This - might be an empty list. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - The CatchStatement that introduces this part. - - - The statements controlled by the Catch statement. This might be an empty list. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - The CatchStatement that introduces this part. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - The FinallyStatement that introduces the Finally part of a Try. - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - The statements inside the Finally part of the Try...Catch...Finally...End Try. - This might be an empty list. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - The "Try" keyword - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - The "Catch" keyword. - - - The identifier representing the exception that was caught, if present. - - - The As clause that defines the type of exception being caught. - - - The "When" clause, if present. - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - The identifier representing the exception that was caught, if present. - - - The As clause that defines the type of exception being caught. - - - The "When" clause, if present. - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - - - Represents the When/Filter clause of a Catch statement - - - The "When" keyword - - - The filter expression - - - - - Represents the When/Filter clause of a Catch statement - - - The filter expression - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - The "Finally" keyword. - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - - - Represents the "Error" statement. - - - The "Error" keyword. - - - The expression that represents the error number. - - - - - Represents the "Error" statement. - - - The expression that represents the error number. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - A representing the specific kind of - OnErrorGoToStatementSyntax. One of OnErrorGoToZeroStatement, - OnErrorGoToMinusOneStatement, OnErrorGoToLabelStatement. - - - The "On" keyword - - - The "Error" keyword. - - - The "GoTo" keyword - - - An optional minus for On Error Goto -1 - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Goto statement. - - - A representing the specific kind of - OnErrorGoToStatementSyntax. One of OnErrorGoToZeroStatement, - OnErrorGoToMinusOneStatement, OnErrorGoToLabelStatement. - - - The name of the label. If the label is a line number, 0 or -1, wraps an - IntegerLiteralToken that is the line number, otherwise, wraps an Identifier. - - - - - Represents an OnError Resume Next statement. - - - The "On" keyword - - - The "Error" keyword. - - - The "Resume" keyword. - - - The "Next" - - - - - Represents an OnError Resume Next statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - A representing the specific kind of - ResumeStatementSyntax. One of ResumeStatement, ResumeLabelStatement, - ResumeNextStatement. - - - The "Resume" keyword. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - A representing the specific kind of - ResumeStatementSyntax. One of ResumeStatement, ResumeLabelStatement, - ResumeNextStatement. - - - The label. The value of this depends on the Kind. If Kind=Resume, returns - Nothing. If Kind=ResumeNext, wraps the keyword "Next", If Kind=ResumeLabel, - wraps an Identifier or IntegerLiteralToken with the label or line number. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - A representing the specific kind of - ResumeStatementSyntax. One of ResumeStatement, ResumeLabelStatement, - ResumeNextStatement. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - The Select Case statement that begins the block. - - - A list of the contained Case blocks. - - - The End Select statement that ends the block. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - The Select Case statement that begins the block. - - - A list of the contained Case blocks. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - The Select Case statement that begins the block. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - The "Select" keyword. - - - The "Case" keyword, if present. - - - The value that branching is based on. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - The value that branching is based on. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a case statement and its subsequent block. - - - The statement that begins the case block. - - - - - Represents a case statement and its subsequent block. - - - A representing the specific kind of CaseBlockSyntax. One - of CaseBlock, CaseElseBlock. - - - The statement that begins the case block. - - - The statements contained in the case block. This might be an empty list. - - - - - Represents a case statement and its subsequent block. - - - A representing the specific kind of CaseBlockSyntax. One - of CaseBlock, CaseElseBlock. - - - The statement that begins the case block. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A representing the specific kind of CaseStatementSyntax. - One of CaseStatement, CaseElseStatement. - - - The "Case" keyword - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A representing the specific kind of CaseStatementSyntax. - One of CaseStatement, CaseElseStatement. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - A representing the specific kind of CaseStatementSyntax. - One of CaseStatement, CaseElseStatement. - - - A list of clauses associated with this Case. If Kind=CaseElse, then this list - has exactly one child, which is a CaseElseClause. - - - - - The "Else" part in a Case Else statement. - - - The "Else" keyword. - - - - - The "Else" part in a Case Else statement. - - - - - Represents a single value in a Case. - - - The expression that denotes the value being tested against. - - - - - Represents a range "expression To expression" in a Case. - - - The lower bound of the range. - - - The "To" keyword - - - The upper bound of the range. - - - - - Represents a range "expression To expression" in a Case. - - - The lower bound of the range. - - - The upper bound of the range. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - A representing the specific kind of - CaseRelationalClauseSyntax. One of CaseEqualsClause, CaseNotEqualsClause, - CaseLessThanClause, CaseLessThanOrEqualClause, CaseGreaterThanOrEqualClause, - CaseGreaterThanClause. - - - The "Is" keyword, if present. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - A representing the specific kind of - CaseRelationalClauseSyntax. One of CaseEqualsClause, CaseNotEqualsClause, - CaseLessThanClause, CaseLessThanOrEqualClause, CaseGreaterThanOrEqualClause, - CaseGreaterThanClause. - - - The operator in the relational clause. One of "=", "<", ">", "<=" or - ">=". - - - The expression that denotes the value being tested against. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - The "SyncLock" keyword. - - - The expression being synchronized on. - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - The expression being synchronized on. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - The Do statement that begins the block. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - A representing the specific kind of DoLoopBlockSyntax. - One of DoLoopTopTestBlock, DoLoopBottomTestBlock, DoLoopForeverBlock. - - - The Do statement that begins the block. - - - The statements contained in the block statement. This might be an empty list. - - - The Loop statement that ends the block. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - A representing the specific kind of DoLoopBlockSyntax. - One of DoLoopTopTestBlock, DoLoopBottomTestBlock, DoLoopForeverBlock. - - - The Do statement that begins the block. - - - The Loop statement that ends the block. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - The "Do" keyword. - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - The "While expression" or "Until expression" part of the Do statement, if - present. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - The "Loop" keyword. - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - The "While expression" or "Until expression" part of the Loop statement, if - present. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - The boolean expression after the While or Until. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - A representing the specific kind of - WhileUntilClauseSyntax. One of WhileClause, UntilClause. - - - The "While" or "Until" keyword. - - - The boolean expression after the While or Until. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - The "While" keyword. - - - The boolean expression that controls the While loop. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - The boolean expression that controls the While loop. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - The For or For Each statement that begins the block. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - A representing the specific kind of ForBlockSyntax. One - of ForBlock, ForEachBlock. - - - The For or For Each statement that begins the block. - - - The statements contained in the For or For Each loop. This might be an empty - list. - - - The Next statement that ends the block. If two For statements are ended by a - single Next statement, the inner For will not have an EndStatement. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - A representing the specific kind of ForBlockSyntax. One - of ForBlock, ForEachBlock. - - - The For or For Each statement that begins the block. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "=" token. - - - The expression denoting the initial value of the iteration. - - - The "To" keyword. - - - The expression denoting the final value of the iteration. - - - The optional Step clause. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The expression denoting the initial value of the iteration. - - - The expression denoting the final value of the iteration. - - - The optional Step clause. - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The expression denoting the initial value of the iteration. - - - The expression denoting the final value of the iteration. - - - - - The Step clause in a For Statement. - - - The "Step" keyword. - - - The expression denoting the step increment. - - - - - The Step clause in a For Statement. - - - The expression denoting the step increment. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - The "For" keyword. - - - The "Each" keyword. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The "In" keyword. - - - The expression denoting the collection to iterate over. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - If the For or For Each statement is of a form that does not declare a new loop - control variable, this is the expression that denotes the loop control - variable. If this loop is of a form that does declare a new control variable, - this is a VariableDeclarator that has the variable being declared. - - - The expression denoting the collection to iterate over. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - The "Next" keyword. - - - The variables in the Next statement, if present - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - The variables in the Next statement, if present - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - The "Using" keyword. - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - If the Using statement is of a form that does not declare a new variable, this - is the expression used in the using. Otherwise, Nothing is returned. - - - If the Using statement is of a form that declares one or more new variables, - this is the list of variable declarations. Otherwise, Nothing is returned. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - - - Represents a Throw statement. - - - The "Throw" keyword - - - The expression denoting the value being thrown. - - - - - Represents a Throw statement. - - - The expression denoting the value being thrown. - - - - - Represents a Throw statement. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - The target (left hand side) of the assignment. - - - The source (right hand side) of the assignment. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - A representing the specific kind of - AssignmentStatementSyntax. One of SimpleAssignmentStatement, - MidAssignmentStatement, AddAssignmentStatement, SubtractAssignmentStatement, - MultiplyAssignmentStatement, DivideAssignmentStatement, - IntegerDivideAssignmentStatement, ExponentiateAssignmentStatement, - LeftShiftAssignmentStatement, RightShiftAssignmentStatement, - ConcatenateAssignmentStatement. - - - The target (left hand side) of the assignment. - - - The operator used in the assignment statement. One of "=", "+=", "-=", "*=", - "/=", "\=", "^=", "&=", "<<=" or ">>=". - - - The source (right hand side) of the assignment. - - - - - Represents a left-hand side of a MidAssignment statement. - - - The "Mid" possibly followed by a type character. - - - The argument list. - - - - - Represents a left-hand side of a MidAssignment statement. - - - The "Mid" possibly followed by a type character. - - - The argument list. - - - - - Represent an call statement (also known as a invocation statement). - - - The "Call" keyword. - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Represent an call statement (also known as a invocation statement). - - - The expression denoting the call. This could be an Invocation or a MemberAccess - (in the case where no parentheses were supplied.) - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The event being accessed. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - The event being accessed. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - A representing the specific kind of - AddRemoveHandlerStatementSyntax. One of AddHandlerStatement, - RemoveHandlerStatement. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The "," token. - - - The delegate being added or removed. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - A representing the specific kind of - AddRemoveHandlerStatementSyntax. One of AddHandlerStatement, - RemoveHandlerStatement. - - - The "AddHandler" or "RemoveHandler" keyword. - - - The event being accessed. - - - The delegate being added or removed. - - - - - Represent a RaiseEvent statement. - - - The "RaiseEvent" keyword - - - The name of the event being raised. - - - The argument list, if present. - - - - - Represent a RaiseEvent statement. - - - The name of the event being raised. - - - The argument list, if present. - - - - - Represent a RaiseEvent statement. - - - The name of the event being raised. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - The "With" keyword. - - - The expression that is the operand of the With statement. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - The expression that is the operand of the With statement. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - A representing the specific kind of - ReDimStatementSyntax. One of ReDimStatement, ReDimPreserveStatement. - - - The "ReDim" keyword. - - - Returns Nothing if Kind=ReDim, returns the "Preserve" keyword if - Kind=RedimPreserve. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - A representing the specific kind of - ReDimStatementSyntax. One of ReDimStatement, ReDimPreserveStatement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement. - - - A representing the specific kind of - ReDimStatementSyntax. One of ReDimStatement, ReDimPreserveStatement. - - - The list of ReDim clauses. - - - - - Represents a ReDim statement clause. - - - The target of the ReDim statement. - - - The ArraySizeInitializationModifier. - - - - - Represents an "Erase" statement. - - - The "Erase" keyword. - - - A list of expressions denoting the arrays to erase. - - - - - Represents an "Erase" statement. - - - A list of expressions denoting the arrays to erase. - - - - - Represents an "Erase" statement. - - - A list of expressions denoting the arrays to erase. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - A representing the specific kind of - LiteralExpressionSyntax. One of CharacterLiteralExpression, - TrueLiteralExpression, FalseLiteralExpression, NumericLiteralExpression, - DateLiteralExpression, StringLiteralExpression, NothingLiteralExpression. - - - The token that represents the literal. The Kind property determines what type - this property returns: Kind=IntegerLiteral ==> Returns IntegerLiteralToken. - Kind=CharacterLiteral ==> Returns CharacterLiteralToken. Kind=DecimalLiteral - ==> Returns DecimalLiteralToken Kind=FloatingLiteral ==> Returns - FloatingLiteralToken Kind=DateLiteral ==> Returns DateLiteralToken - Kind=StringLiteral ==> Returns StringLiteralToken Kind=BooleanLiteral ==> - Returns Keyword (with it's kind being TrueKeyword or FalseKeyword) - Kind=NothingLiteral ==> Returns Keyword (with it's kind being - NothingKeyword) - - - - - Represents a parenthesized expression. - - - The "(" token - - - The expression inside the parentheses. - - - The ")" token - - - - - Represents a parenthesized expression. - - - The expression inside the parentheses. - - - - - Identifies the special instance "Me" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "Me" - - - - - Identifies the special instance "MyBase" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyBase" - - - - - Identifies the special instance "MyClass" - - - The "Me", "MyClass" or "MyBase" keyword. - - - - - Identifies the special instance "MyClass" - - - - - Represents a GetType expression. - - - The "GetType" keyword. - - - The "(" token. - - - The type to get the Type object for. This can be an open generic type. - - - The ")" token. - - - - - Represents a GetType expression. - - - The type to get the Type object for. This can be an open generic type. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The expression being tested. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - The expression being tested. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - A representing the specific kind of - TypeOfExpressionSyntax. One of TypeOfIsExpression, TypeOfIsNotExpression. - - - The "TypeOf" keyword. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a TypeOf...Is or IsNot expression. - - - A representing the specific kind of - TypeOfExpressionSyntax. One of TypeOfIsExpression, TypeOfIsNotExpression. - - - The expression being tested. - - - The "Is" or "IsNot" keyword. - - - The name of the type being tested against. - - - - - Represents a GetXmlNamespace expression. - - - The "GetXmlNamespace" keyword. - - - The "(" token. - - - The Xml namespace name being referenced. - - - The ")" token. - - - - - Represents a GetXmlNamespace expression. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The expression on the left-hand-side of the "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - A representing the specific kind of - MemberAccessExpressionSyntax. One of SimpleMemberAccessExpression, - DictionaryAccessExpression. - - - The expression on the left-hand-side of the "." or "!" token. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - A representing the specific kind of - MemberAccessExpressionSyntax. One of SimpleMemberAccessExpression, - DictionaryAccessExpression. - - - The "." or "!" token. - - - The identifier after the "." or "!" token. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The "@" part of .@ or the second "." of "...". - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The "@" part of .@ or the second "." of "...". - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The "@" part of .@ or the second "." of "...". - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - A representing the specific kind of - XmlMemberAccessExpressionSyntax. One of XmlElementAccessExpression, - XmlDescendantAccessExpression, XmlAttributeAccessExpression. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The initial dot "." part of the separator. - - - The "@" part of .@ or the second "." of "...". - - - The third "." in a "..." separator. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - A representing the specific kind of - XmlMemberAccessExpressionSyntax. One of XmlElementAccessExpression, - XmlDescendantAccessExpression, XmlAttributeAccessExpression. - - - The expression on the left-hand-side of the ".", ".@" or "..." . - - - The "@" part of .@ or the second "." of "...". - - - The identifier after the ".", ".@" or "..." - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - A representing the specific kind of - XmlMemberAccessExpressionSyntax. One of XmlElementAccessExpression, - XmlDescendantAccessExpression, XmlAttributeAccessExpression. - - - The identifier after the ".", ".@" or "..." - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - The target of the call or index expression. - - - The argument list. - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - The target of the call or index expression. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type of the object being initialized. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - An optional From or With clause to initialize the new object. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The type of the object being initialized. - - - The argument list, if present. If no argument list was supplied, Nothing is - returned. - - - An optional From or With clause to initialize the new object. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - The type of the object being initialized. - - - - - Represents a New expression that create an object of anonymous type. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The With clause to initialize the new object. - - - - - Represents a New expression that create an object of anonymous type. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The With clause to initialize the new object. - - - - - Represents a New expression that create an object of anonymous type. - - - The With clause to initialize the new object. - - - - - Represents an expression that creates a new array. - - - The "New" keyword. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The element type of the array being created. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - A list of array modifiers such as "()" or "(,)". If no array modifiers were - present, an empty list is returned. - - - The initializer including the braces. - - - - - Represents an expression that creates a new array. - - - A list of all attribute lists on the type. If no attributes were specified, an - empty list is returned. - - - The element type of the array being created. - - - The optional array bounds, such as "(4)" or "(0 to 5, 0 To 6)". - - - The initializer including the braces. - - - - - Represents an expression that creates a new array. - - - The element type of the array being created. - - - The initializer including the braces. - - - - - Represents an expression that creates a new array without naming the element - type. - - - The "{" token. - - - The list of initializers between the braces. - - - The "}" token. - - - - - Represents an expression that creates a new array without naming the element - type. - - - The list of initializers between the braces. - - - - - Represents an expression that creates a new array without naming the element - type. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The expression being cast. - - - The type the expression is being cast to. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The expression being cast. - - - The type the expression is being cast to. - - - - - The "CType", "DirectCast" or "TryCast" keyword. - - - The "(" token. - - - The expression being cast. - - - The "," token. - - - The type the expression is being cast to. - - - The ")" token. - - - - - The expression being cast. - - - The type the expression is being cast to. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - The keyword that was used in the cast operation. - - - The "(" token. - - - The expression being cast. - - - The ")" token. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - The keyword that was used in the cast operation. - - - The expression being cast. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - The left operand. - - - The right operand. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - A representing the specific kind of - BinaryExpressionSyntax. One of AddExpression, SubtractExpression, - MultiplyExpression, DivideExpression, IntegerDivideExpression, - ExponentiateExpression, LeftShiftExpression, RightShiftExpression, - ConcatenateExpression, ModuloExpression, EqualsExpression, NotEqualsExpression, - LessThanExpression, LessThanOrEqualExpression, GreaterThanOrEqualExpression, - GreaterThanExpression, IsExpression, IsNotExpression, LikeExpression, - OrExpression, ExclusiveOrExpression, AndExpression, OrElseExpression, - AndAlsoExpression. - - - The left operand. - - - The right operand. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The token that is the operator. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - The expression being operated on. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - A representing the specific kind of - UnaryExpressionSyntax. One of UnaryPlusExpression, UnaryMinusExpression, - NotExpression, AddressOfExpression. - - - The token that is the operator. - - - The expression being operated on. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The first expression inside the parentheses. - - - The second expression inside the parentheses. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The "If" keyword - - - The "(" token - - - The first expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The "," token. - - - The second expression inside the parentheses. - - - The ")" token - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - The first expression inside the parentheses. - - - The second expression inside the parentheses. - - - The second expression inside the parentheses. - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a single line lambda expression. - - - A representing the specific kind of - SingleLineLambdaExpressionSyntax. One of SingleLineFunctionLambdaExpression, - SingleLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - Statement (single-line Sub lambda) or Expression (single-line Function). - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - A representing the specific kind of - MultiLineLambdaExpressionSyntax. One of MultiLineFunctionLambdaExpression, - MultiLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - The body of the lambda. Depending on the kind of lambda, this is either a - StatementBody (multi-line lambda), Statement (single-line Sub lambda) or - Expression (single-line Function). This might be an empty list. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents a multi-line lambda expression. - - - A representing the specific kind of - MultiLineLambdaExpressionSyntax. One of MultiLineFunctionLambdaExpression, - MultiLineSubLambdaExpression. - - - The header part of the lambda that includes the "Sub" or "Function" keyword, - the argument list and return type. - - - Returns the "End Sub" or "End Function" statement if this is a multi-line - lambda. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - - - Represents the header part of a lambda expression - - - A representing the specific kind of LambdaHeaderSyntax. - One of SubLambdaHeader, FunctionLambdaHeader. - - - A list of all attribute lists on this declaration. If no attributes were - specified, Nothing is returned. - - - A list of all the modifier tokens that were present on this declaration. If no - modifiers were specified, an empty list is returned. A bitfield version of all - the modifiers ORed together, which is in many cases easier to use, can be - obtained with the Modifiers property. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - The method's parameter list including the parentheses. If no parameter list was - present, Nothing is returned. - - - The "As" clause that describes the return type. If no As clause was present, - Nothing is returned. - - - - - Represents the header part of a lambda expression - - - A representing the specific kind of LambdaHeaderSyntax. - One of SubLambdaHeader, FunctionLambdaHeader. - - - The keyword that introduces this method declaration. One of "Sub", "Function", - "Operator", "Event", "Property", "Get", "Set", "AddHandler", "RemoveHandler" or - "RaiseEvent". - - - - - Represents a parenthesized argument list. - - - The "(" token. - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - The ")" token. - - - - - Represents a parenthesized argument list. - - - The list of arguments. This may be empty. Omitted argument are represented by - an OmittedArgumentSyntax node. - - - - - Represents a parenthesized argument list. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - An empty token because all non terminals must have a token. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - - - Represents a simple argument that is just an expression. - - - The expression that is the argument. - - - - - Represents a named argument, such as "Value:=7". - - - The name used to identify the named argument. - - - The ":=" token. - - - The expression that is the named argument. - - - - - Represents a named argument, such as "Value:=7". - - - The name used to identify the named argument. - - - The expression that is the named argument. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - The lower bound of the range. This is typically the integer constant zero. - - - The "To" keyword. - - - The upper bound of the range. - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - The lower bound of the range. This is typically the integer constant zero. - - - The upper bound of the range. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - A list of all the query operators in this query expression. This list always - contains at least one operator. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - The name of the range variable being defined. - - - Describes the type of the variable being defined. - - - The "In" keyword. - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - The name of the range variable being defined. - - - Describes the type of the variable being defined. - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - The name of the range variable being defined. - - - The expression that serves as the source of items for the range variable. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the expression. - - - The expression used to initialize the expression variable. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - The expression used to initialize the expression variable. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - The optional name and type of the expression range variable. If omitted, the - name of the expression range variable is inferred from the aggregation - expression. - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - The name of the aggregation function. The "Group" aggregation function is - represented by the identifier "Group". - - - - - Represents the name and optional type of an expression range variable. - - - The name of the variable being defined. - - - Describes the type of the variable being defined. - - - The "=" token. - - - - - Represents the name and optional type of an expression range variable. - - - The name of the variable being defined. - - - Describes the type of the variable being defined. - - - - - Represents the name and optional type of an expression range variable. - - - The name of the variable being defined. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - The "(" token if present. - - - The argument to the aggregation function. - - - The ")" token, if present. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - The argument to the aggregation function. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - The name of the aggregation function. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - The "Group" keyword. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - The "From" keyword. - - - The list of collection variables declared by this From operator. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - The list of collection variables declared by this From operator. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - The list of collection variables declared by this From operator. - - - - - Represents a "Let" query operator. - - - The "Let" keyword. - - - The list of expression range variable being defined by the Let operator. - - - - - Represents a "Let" query operator. - - - The list of expression range variable being defined by the Let operator. - - - - - Represents a "Let" query operator. - - - The list of expression range variable being defined by the Let operator. - - - - - Represents an Aggregate query operator. - - - The "Aggregate" keyword. - - - The list of collection range variables declared by this Aggregate operator. - - - A list of additional query operators. It may be empty. - - - The "Into" keyword. - - - The list of new variables being defined by the aggregation. - - - - - Represents an Aggregate query operator. - - - The list of collection range variables declared by this Aggregate operator. - - - A list of additional query operators. It may be empty. - - - The list of new variables being defined by the aggregation. - - - - - Represents an Aggregate query operator. - - - The list of collection range variables declared by this Aggregate operator. - - - The list of new variables being defined by the aggregation. - - - - - Represents the "Distinct" query operator. - - - The "Distinct" keyword. - - - - - Represents the "Distinct" query operator. - - - - - Represents a "Where" query operator. - - - The "Where" keyword. - - - The boolean expression used for filtering. - - - - - Represents a "Where" query operator. - - - The boolean expression used for filtering. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - A representing the specific kind of - PartitionWhileClauseSyntax. One of SkipWhileClause, TakeWhileClause. - - - The "Skip" or "Take" keyword. - - - The "While" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - A representing the specific kind of - PartitionWhileClauseSyntax. One of SkipWhileClause, TakeWhileClause. - - - The "Skip" or "Take" keyword. - - - The boolean expression used for partitioning. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - Represents the expression with the number of items to take or skip. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - A representing the specific kind of - PartitionClauseSyntax. One of SkipClause, TakeClause. - - - The "Skip" or "Take" keyword. - - - Represents the expression with the number of items to take or skip. - - - - - Represents the "Group By" query operator. - - - The "Group" keyword. - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - The "By" keyword. - - - The key values being used for grouping. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Group By" query operator. - - - The optional list of variables being grouped; the contents of the Group clause. - If none were specified, an empty list is returned. - - - The key values being used for grouping. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Group By" query operator. - - - The key values being used for grouping. - - - The list of new variables that calculate aggregations. - - - - - Represents the "expression Equals expression" condition in a Join. - - - The left expression in the Join condition. - - - The "Equals" keyword. - - - The right expression in the Join condition. - - - - - Represents the "expression Equals expression" condition in a Join. - - - The left expression in the Join condition. - - - The right expression in the Join condition. - - - - - Represents a Join query operator. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents a Join query operator. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents a Join query operator. - - - Defines the collection range variables being joined to. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - - - Represents the "Group Join" query operator. - - - The "Group" keyword. - - - The "Join" keyword. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The "On" keyword. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - The "Into" keyword. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Group Join" query operator. - - - Defines the collection range variables being joined to. - - - An additional Join or Group Join query operator. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Group Join" query operator. - - - Defines the collection range variables being joined to. - - - The conditions indicating what expressions to compare during the join. Each - condition is a JoinCondition, and the separators are "And" keywords. - - - The list of new variables that calculate aggregations. - - - - - Represents the "Order By" query operator. - - - The "Order" keyword - - - The "By" keyword. - - - The list of OrderExpression's to sort by. - - - - - Represents the "Order By" query operator. - - - The list of OrderExpression's to sort by. - - - - - Represents the "Order By" query operator. - - - The list of OrderExpression's to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - The expression to sort by. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - A representing the specific kind of OrderingSyntax. One - of AscendingOrdering, DescendingOrdering. - - - The expression to sort by. - - - The "Ascending" or "Descending" keyword, if present. To determine whether to - sort in ascending or descending order, checking the Kind property is easier. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - A representing the specific kind of OrderingSyntax. One - of AscendingOrdering, DescendingOrdering. - - - The expression to sort by. - - - - - Represents the "Select" query operator. - - - The "Select" keyword. - - - The list of expression range variables being defined by the Select query - operator. - - - - - Represents the "Select" query operator. - - - The list of expression range variables being defined by the Select query - operator. - - - - - Represents the "Select" query operator. - - - The list of expression range variables being defined by the Select query - operator. - - - - - Represents an XML Document literal expression. - - - - - Represents an XML Document literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Represents Xml text. - - - A list of all the text tokens in the Xml text. This list always contains at - least one token. - - - - - Represents Xml text. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - The type of the elements of the array. - - - Represents the list of "()" or "(,,)" modifiers on the array type. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - The type of the elements of the array. - - - - - A type name that represents a nullable type, such as "Integer?". - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - The "?" token. - - - - - A type name that represents a nullable type, such as "Integer?". - - - The kind of type that is this type is a nullable of. Cannot be an array type or - a nullable type. - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - The keyword that was used to describe the built-in type. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - The identifier in the name. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - The identifier in the name. - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - The identifier in the name. - - - The generic argument list. - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - The identifier in the name. - - - The generic argument list. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - The "." token that separates the names. - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - The part of the name that appears to the left of the dot. This can itself be - any name. - - - The part of the name that appears to the right of the dot. This must be a - simple identifier. - - - - - Represents a name in the global namespace. - - - The "Global" keyword. - - - - - Represents a name in the global namespace. - - - - - Represents a parenthesized list of generic type arguments. - - - The "(" token. - - - The "Of" keyword. - - - A list of all the type arguments. - - - The ")" token. - - - - - Represents a parenthesized list of generic type arguments. - - - A list of all the type arguments. - - - - - Represents a parenthesized list of generic type arguments. - - - A list of all the type arguments. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represent a Yield statement. - - - The "Yield" keyword. - - - The expression whose value is being yielded. - - - - - Represent a Yield statement. - - - The expression whose value is being yielded. - - - - - Represent a Await expression. - - - The "Await" keyword. - - - The expression being awaited. - - - - - Represent a Await expression. - - - The expression being awaited. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - The actual text of this token. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - A representing the specific kind of XmlTextTokenSyntax. - One of XmlTextLiteralToken, XmlEntityLiteralToken, - DocumentationCommentLineBreakToken. - - - The actual text of this token. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - A representing the specific kind of XmlTextTokenSyntax. - One of XmlTextLiteralToken, XmlEntityLiteralToken, - DocumentationCommentLineBreakToken. - - - The actual text of this token. - - - - - Represents a Decimal literal token. - - - The actual text of this token. - - - - - Represents a Decimal literal token. - - - The actual text of this token. - - - - - Represents an Date literal token. - - - The actual text of this token. - - - - - Represents an Date literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents an string literal token. - - - The actual text of this token. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - The list of tokens that were skipped by the parser. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - The actual text of this token. - - - - - Trivia nodes represents parts of the program text that are not parts of the - syntactic grammar, such as spaces, newlines, comments, preprocessors - directives, and disabled code. - - - A representing the specific kind of SyntaxTrivia. One of - WhitespaceTrivia, EndOfLineTrivia, ColonTrivia, CommentTrivia, - LineContinuationTrivia, DocumentationCommentExteriorTrivia, DisabledTextTrivia. - - - The actual text of this token. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Const" keyword. - - - The name of the pre-processing constant being defined. - - - The "=" token. - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - The name of the pre-processing constant being defined. - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - The name of the pre-processing constant being defined. - - - An expression representing the value of the pre-processing constant being - defined. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - A representing the specific kind of - IfDirectiveTriviaSyntax. One of IfDirectiveTrivia, ElseIfDirectiveTrivia. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - A representing the specific kind of - IfDirectiveTriviaSyntax. One of IfDirectiveTrivia, ElseIfDirectiveTrivia. - - - - - Represents an #Else pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #Else pre-processing directive appearing in source. - - - - - Represents an #End If pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End If pre-processing directive appearing in source. - - - - - Represents the beginning of a #Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "Region" keyword. - - - The label of the code region being defined. - - - - - Represents the beginning of a #Region directive appearing in source. - - - - - Represents an #End Region directive appearing in source. - - - The "#" token in a preprocessor directive. - - - The "End" keyword. - - - The "Region" keyword. - - - - - Represents an #End Region directive appearing in source. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - The "#" token in a preprocessor directive. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - - - Represents an #r directive appearing in scripts. - - - The "#" token in a preprocessor directive. - - - - - Represents an #r directive appearing in scripts. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - The "#" token in a preprocessor directive. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - - - Find enclosing WithStatement if it exists. - - - - - - - - Simplified version of ExtractAnonymousTypeMemberName implemented on inner tokens. - - - - - Returns true if all arguments are of the specified kind and they are also missing. - - - - - Returns true if all arguments are missing. - - - - - - Given a syntax node of query clause returns its leading keyword - - - - - The base class for all nodes in the VB syntax tree. - - - - - Used by structured trivia which has no parent node, so need to know syntax tree explicitly - - - - - Creates a clone of a red node that can be used as a root of given syntaxTree. - New node has no parents, position == 0, and syntaxTree as specified. - - - - - Returns a non-null SyntaxTree that owns this node. - If this node was created with an explicit non-null SyntaxTree, returns that tree. - Otherwise, if this node has a non-null parent, then returns the parent's SyntaxTree. - Otherwise, returns a newly created SyntaxTree rooted at this node, preserving this node's reference identity. - - - - - The kind of this node. - - - - - The language name this node is syntax of. - - - - - The parent of this node. - - The parent node of this node, or Nothing if this node is the root. - - - - Returns the string representation of this node, not including its leading and trailing trivia. - - The string representation of this node, not including its leading and trailing trivia. - The length of the returned string is always the same as Span.Length - - - - Returns full string representation of this node including its leading and trailing trivia. - - The full string representation of this node including its leading and trailing trivia. - The length of the returned string is always the same as FullSpan.Length - - - - Writes the full text of this node to the specified TextWriter - - - - - Serialize this node to a byte stream. - - - - - Deserialize a syntax node from a byte stream. - - - - - Returns True if this node represents a directive. - - - - - Same as accessing on . - - - Slight performance improvement. - - - - - Get the preceding trivia nodes of this node. If this node is a token, returns the preceding trivia - associated with this node. If this is a non-terminal, returns the preceding trivia of the first token - of this node. - - A list of a the preceding trivia. - If this node is a non-terminal, the parents of the trivia will be the first token of this - non-terminal; NOT this node. - - - - Get the following trivia nodes of this node. If this node is a token, returns the following trivia - associated with this node. If this is a non-terminal, returns the following trivia of the last token - of this node. - - A list of a the following trivia. - If this node is a non-terminal, the parents of the trivia will be the first token of this - non-terminal; NOT this node. - - - - Get all syntax errors associated with this node, or any child nodes, grand-child nodes, etc. The errors - are not in order. - - - - - Push any nodes that have errors in the given collection onto a stack - - - - - Given a error info from this node, create the corresponding syntax error with the right span. - - - - - Compares to tree for structural equivalence. - - - - - Add an error to the given node, creating a new node that is the same except it has no parent, - and has the given error attached to it. The error span is the entire span of this node. - - The error to attach to this node - A new node, with no parent, that has this error added to it. - Since nodes are immutable, the only way to create nodes with errors attached is to create a node without an error, - then add an error with this method to create another node. - - - - Returns child node or token that contains given position. - - - - - Gets the location of this node. - - - - - Gets a SyntaxReference for this syntax node. SyntaxReferences can be used to regain access to a - syntax node without keeping the entire tree and source text in memory. - - - - - Gets a list of all the diagnostics in the sub tree that has this node as its root. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Finds a token according to the following rules: - 1) If position matches the End of the node's Span, then its last token is returned. - - 2) If node.FullSpan.Contains(position) the token that contains given position is returned. - If stepInto is not Nothing, then structured trivia that satisfies the condition will also be visited during the search. - - 3) Otherwise an IndexOutOfRange is thrown - - - - - Finds a token according to the following rules: - 1) If position matches the End of the node's Span, then its last token is returned. - - 2) If node.FullSpan.Contains(position) then the token that contains given position is returned. - - 3) Otherwise an IndexOutOfRange is thrown - - - - - Represents a which descends an entire graph and - may replace or remove visited SyntaxNodes in depth-first order. - - - - - The parsed representation of a Visual Basic source document. - - - - - Map containing information about all conditional symbol definitions in the source file corresponding to a parsed syntax tree. - - - - - - Conditional symbols map, where each key-value pair indicates: - Key: Conditional symbol name. - Value: Stack of all active conditional symbol definitions, i.e. #Const directives, in the source file corresponding to a parsed syntax tree. - All the defining #Const directives for a conditional symbol are pushed onto this stack in source code order. - Each stack entry is a tuple {InternalSyntax.CConst, Integer} where: - InternalSyntax.CConst: Constant value of the symbol. - Integer: Source position of the defining #Const directive. - - - - - A SyntaxTree is a tree of nodes that represents an entire file of VB - code, and is parsed by the parser. - - - - - Used to create new tree incrementally. - - - - - Get a reference to the given node. - - - - - Returns a that represents the source code of this parsed tree. - - - - - The options used by the parser to produce the syntax tree. - - - - - Returns True for MyTemplate automatically added by compiler. - - - - - Produces a clone of a SyntaxNode which will have current syntax tree as its parent. - - Caller must guarantee that if the same instance of SyntaxNode makes multiple calls - to this function, only one result is observable. - - Type of the syntax node. - The original syntax node. - A clone of the original syntax node that has current SyntaxTree as its parent. - - - - Gets the root node of the syntax tree. - - - - - Gets the root node of the syntax tree asynchronously. - - - - - Gets the root node of the syntax tree if it is available. - - - - - Returns the root of the syntax tree strongly typed to . - - - Ensure that is true for this tree prior to invoking this method. - - Throws this exception if is false. - - - - Create a new syntax based off this tree using a new source text. - - If the new source text is a minor change from the current source text an incremental parse will occur - reusing most of the current syntax tree internal data. Otherwise, a full parse will using the new - source text. - - - - - Apply a text change to this syntax tree, returning a new syntax tree with the - changes applied to it. - - - - - Create a new syntax tree from a syntax node. - - - - - Internal helper for class to create a new syntax tree rooted at the given root node. - This method does not create a clone of the given root, but instead preserves it's reference identity. - - NOTE: This method is only intended to be used from property. - NOTE: Do not use this method elsewhere, instead use method for creating a syntax tree. - - - - - Produce a syntax tree by parsing the source text. - - - - - Produce a syntax tree by parsing the source file. - - - - - Gets a list of all the diagnostics in the sub tree that has the specified node as its root. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the token and any related trivia. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics associated with the trivia. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in either the sub tree that has the specified node as its root or - associated with the token and its related trivia. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Gets a list of all the diagnostics in the syntax tree. - This method does not filter diagnostics based on compiler options like nowarn, warnaserror etc. - - - - - Gets the location in terms of path, line and column for a given span. - - Span within the tree. - Cancallation token. - - that contains path, line and column information. - The values are Not affected by line mapping directives (#ExternalSource). - - - - - Gets the location in terms of path, line and column after applying source line mapping directives (#ExternalSource). - - Span within the tree. - Cancallation token. - - A valid that contains path, line and column information. - - If the location path is not mapped the resulting path is . - - - - - Gets a location for the specified text span. - - - - - Determines if two trees are the same, disregarding trivia differences. - - The tree to compare against. - If true then the trees are equivalent if the contained nodes and tokens declaring - metadata visible symbolic information are equivalent, ignoring any differences of nodes inside method bodies - or initializer expressions, otherwise all nodes and tokens must be equivalent. - - - - - Represents a that descends an entire graph - visiting each SyntaxNode and its child SyntaxNodes and s in depth-first order. - - - - - Represents a visitor that visits only the single SyntaxNode - passed into its method. - - - - - Represents a visitor that visits only the single SyntaxNode - passed into its method and produces - a value of the type specified by the parameter. - - - The type of the return value this visitor's Visit method. - - - - - Determine whether there is any substitution of type parameters that will - make two types identical. - - - - - Determine whether there is any substitution of type parameters that will - make two types identical. - - The generic containing type. - LHS - RHS - - Substitutions performed so far (or null for none). - Keys are type parameters, values are types (possibly type parameters). - Will be updated with new subsitutions by the callee. - Irrelevant if false is returned. - - True if there exists a type map such that Map(LHS) == Map(RHS). - - Derived from C# Dev10's BSYMMGR::UnifyTypes. - Two types will not unify if they have different custom modifiers. - - - - - Add a type parameter -> type argument substitution to a TypeSubstitution object, returning a new TypeSubstitution object - ByRef. - - - - - Return true if the given type contains the specified type parameter. - - - - - Utility functions to check if two implemented interfaces have variance ambiguity. - - What is "Variance Ambiguity"? Here's an example: - Class ReflectionType - Implements IEnumerable(Of Field) - Implements IEnumerable(Of Method) - Public Sub GetEnumeratorF() As IEnumerator(Of Field) Implements IEnumerable(Of Field).GetEnumerator ... - Public Sub GetEnumeratorM() As IEnumerator(Of Method) Implements IEnumberale(Of Method).GetEnumerator ... - End Class - Dim x as new ReflectionType - Dim y as IEnumerable(Of Member) = x - Dim z = y.GetEnumerator() - - Note that, through variance, both IEnumerable(Of Field) and IEnumerable(Of Method) have widening - conversions to IEnumerable(Of Member). So it's ambiguous whether the initialization of "z" would - invoke GetEnumeratorF or GetEnumeratorM. This function avoids such ambiguity at the declaration - level, i.e. it reports a warning on the two implements classes inside ReflectionType that they - may lead to ambiguity. - - - - - Determine if two interfaces that were constructed from the same original definition - have variance ambiguity. - - We have something like left=ICocon(Of Mammal, int32[]), right=ICocon(Of Fish, int32[]) - for some interface ICocon(Of Out T, In U). And we have to decide if left and right - might lead to ambiguous member-lookup later on in execution. - - To do this: go through each type parameter T, U... - * For "Out T", judge whether the arguments Mammal/Fish cause ambiguity or prevent it. - * For "In T", judge whether the arguments int32[]/int32[] cause ambiguity or prevent it. - - "Causing/preventing ambiguity" is described further below. - - Given all that, ambiguity was prevented in any positions, then left/right are fine. - Otherwise, if ambiguity wasn't caused in any positions, then left/right are fine. - Otherwise, left/right have an ambiguity. - - - - - Check two corresponding type arguments T1 and T2 and determine if the cause or prevent variable ambiguity. - - Identical types never cause or prevent ambiguity. - - If there could exist a **distinct** third type T3, such that T1 and T2 both convert via the variance - conversion to T3, then ambiguity is caused. This boils down to: - * Invariant parameters never cause ambiguity - * Covariant parameters "Out T": ambiguity is caused when the two type arguments - are non-object types not known to be values (T3=Object) - * Contravariant parameters "In U": ambiguity is caused when both: - - Neither T1 or T2 is a value type or a sealed (NotInheritable) reference type - - If T1 and T2 are both class types, one derives from the other. - (T3 is some type deriving or implementing both T1 and T2) - - Ambiguity is prevented when there T1 and T2 cannot unify to the same type, and there - cannot be a (not necessarily distinct) third type T3 that both T1 and T2 convert to via - the variance conversion. - - This boils down to: - * Invariant parameters: Ambiguity is prevented when: - - they are non-unifying - * Covariant parameters "Out T": Ambiguity is prevented when both: - - they are non-unifying - - at least one is a value type - * Contravariant parameters "In U": Ambiguity is prevented when: - - they are non-unifying AND - - at least one is known to be a value type OR - - both are known to be class types and neither derives from the other. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to AggregateSyntax not within syntax tree. - - - - - Looks up a localized string similar to AnonymousObjectCreationExpressionSyntax not within syntax tree. - - - - - Looks up a localized string similar to Associated type does not have type parameters. - - - - - Looks up a localized string similar to Cannot add compiler special tree. - - - - - Looks up a localized string similar to Cannot remove compiler special tree. - - - - - Looks up a localized string similar to Can't reference compilation of type '{0}' from {1} compilation.. - - - - - Looks up a localized string similar to Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel.. - - - - - Looks up a localized string similar to This compilation doesn't represent an interactive submission.. - - - - - Looks up a localized string similar to Compilation (Visual Basic): . - - - - - Looks up a localized string similar to DeclarationSyntax not within syntax tree. - - - - - Looks up a localized string similar to DeclarationSyntax not within tree. - - - - - Looks up a localized string similar to Elements cannot be null.. - - - - - Looks up a localized string similar to Cannot find the interop type that matches the embedded type '{0}'. Are you missing an assembly reference?. - - - - - Looks up a localized string similar to '{0}' cannot expose type '{1}' in {2} '{3}' through {4} '{5}'.. - - - - - Looks up a localized string similar to '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing outside the project through {2} '{3}'.. - - - - - Looks up a localized string similar to '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing to {2} '{3}' through {4} '{5}'.. - - - - - Looks up a localized string similar to '{0}' cannot expose type '{1}' outside the project through {2} '{3}'.. - - - - - Looks up a localized string similar to 'AddHandler' or 'RemoveHandler' statement event operand must be a dot-qualified expression or a simple name.. - - - - - Looks up a localized string similar to The type of the 'AddHandler' method's parameter must be the same as the type of the event.. - - - - - Looks up a localized string similar to 'AddHandler' and 'RemoveHandler' method parameters must have the same delegate type as the containing event.. - - - - - Looks up a localized string similar to 'AddressOf' expressions are not valid in the first expression of a 'Select Case' statement.. - - - - - Looks up a localized string similar to 'AddressOf' expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created.. - - - - - Looks up a localized string similar to 'AddressOf' expression cannot be converted to '{0}' because '{0}' is not a delegate type.. - - - - - Looks up a localized string similar to Methods of 'System.Nullable(Of T)' cannot be used as operands of the 'AddressOf' operator.. - - - - - Looks up a localized string similar to 'AddressOf' operand must be the name of a method (without parentheses).. - - - - - Looks up a localized string similar to Object initializer syntax cannot be used to initialize an instance of 'System.Object'.. - - - - - Looks up a localized string similar to Agnostic assembly cannot have a processor specific module '{0}'.. - - - - - Looks up a localized string similar to '{0}' is ambiguous across the inherited interfaces '{1}' and '{2}'.. - - - - - Looks up a localized string similar to Option Strict On does not allow implicit conversions from '{0}' to '{1}' because the conversion is ambiguous.. - - - - - Looks up a localized string similar to No accessible '{0}' is most specific: {1}. - - - - - Looks up a localized string similar to Member '{0}.{1}' that matches this signature cannot be implemented because the interface '{2}' contains multiple members with this same name and signature: - '{3}' - '{4}'. - - - - - Looks up a localized string similar to '{0}' exists in multiple base interfaces. Use the name of the interface that declares '{0}' in the 'Implements' clause instead of the name of the derived interface.. - - - - - Looks up a localized string similar to '{0}' is ambiguous, imported from the namespaces or types '{1}'.. - - - - - Looks up a localized string similar to '{0}' is ambiguous between declarations in Modules '{1}'.. - - - - - Looks up a localized string similar to '{0}' is ambiguous in the namespace '{1}'.. - - - - - Looks up a localized string similar to '{0}' is ambiguous between declarations in namespaces '{1}'.. - - - - - Looks up a localized string similar to '{0}' is ambiguous.. - - - - - Looks up a localized string similar to Member '{0}' that matches this signature cannot be overridden because the class '{1}' contains multiple members with this same name and signature: {2}. - - - - - Looks up a localized string similar to Type of '{0}' is ambiguous because the loop bounds and the step clause do not convert to the same type.. - - - - - Looks up a localized string similar to Anonymous type member name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier.. - - - - - Looks up a localized string similar to Type characters cannot be used in anonymous type declarations.. - - - - - Looks up a localized string similar to Identifier expected, preceded with a period.. - - - - - Looks up a localized string similar to Anonymous type member name can be inferred only from a simple or qualified name with no arguments.. - - - - - Looks up a localized string similar to Anonymous type member name must be preceded by a period.. - - - - - Looks up a localized string similar to Anonymous type must contain at least one member.. - - - - - Looks up a localized string similar to Anonymous type member property '{0}' cannot be used to infer the type of another member property because the type of '{0}' is not yet established.. - - - - - Looks up a localized string similar to Copying the value of 'ByRef' parameter '{0}' back to the matching argument narrows from type '{1}' to type '{2}'.. - - - - - Looks up a localized string similar to Argument matching parameter '{0}' narrows to '{1}'.. - - - - - Looks up a localized string similar to Argument matching parameter '{0}' narrows from '{1}' to '{2}'.. - - - - - Looks up a localized string similar to option '{0}' requires '{1}'. - - - - - Looks up a localized string similar to Comma, ')', or a valid expression continuation expected.. - - - - - Looks up a localized string similar to Array initializers are valid only for arrays, but the type of '{0}' is '{1}'.. - - - - - Looks up a localized string similar to Array initializer cannot be specified for a non constant dimension; use the empty initializer '{}'.. - - - - - Looks up a localized string similar to Array initializer has too few dimensions.. - - - - - Looks up a localized string similar to Array initializer has too many dimensions.. - - - - - Looks up a localized string similar to Arrays declared as structure members cannot be declared with an initial size.. - - - - - Looks up a localized string similar to Cannot infer an element type. Specifying the type of the array might correct this error.. - - - - - Looks up a localized string similar to Cannot infer an element type, and Option Strict On does not allow 'Object' to be assumed. Specifying the type of the array might correct this error.. - - - - - Looks up a localized string similar to Cannot infer an element type because more than one type is possible. Specifying the type of the array might correct this error.. - - - - - Looks up a localized string similar to '(' unexpected. Arrays of uninstantiated generic types are not allowed.. - - - - - Looks up a localized string similar to Array exceeds the limit of 32 dimensions.. - - - - - Looks up a localized string similar to Arrays cannot be declared with 'New'.. - - - - - Looks up a localized string similar to The 'Main' method cannot be marked 'Async'.. - - - - - Looks up a localized string similar to '{0}' cannot be named as a parameter in an attribute specifier because it is not a field or property.. - - - - - Looks up a localized string similar to Type parameters, generic types or types contained in generic types cannot be used as attributes.. - - - - - Looks up a localized string similar to '{0}' cannot be used as an attribute because it is declared 'MustInherit'.. - - - - - Looks up a localized string similar to '{0}' cannot be used as an attribute because it is not a class.. - - - - - Looks up a localized string similar to '{0}' cannot be used as an attribute because it does not inherit from 'System.Attribute'.. - - - - - Looks up a localized string similar to Attributes cannot be applied to return types of lambda expressions.. - - - - - Looks up a localized string similar to XML attribute '{0}' must appear before XML attribute '{1}'.. - - - - - Looks up a localized string similar to Attribute parameter '{0}' must be specified.. - - - - - Looks up a localized string similar to Attribute parameter '{0}' or '{1}' must be specified.. - - - - - Looks up a localized string similar to Assembly or Module attribute statements must precede any declarations in a file.. - - - - - Looks up a localized string similar to Auto-implemented properties cannot have parameters.. - - - - - Looks up a localized string similar to Auto-implemented Properties contained in Structures cannot have initializers unless they are marked 'Shared'.. - - - - - Looks up a localized string similar to Cannot convert anonymous type to an expression tree because a property of the type is used to initialize another property.. - - - - - Looks up a localized string similar to Async methods cannot have ByRef parameters.. - - - - - Looks up a localized string similar to 'Await' may only be used in a query expression within the first collection expression of the initial 'From' clause or within the collection expression of a 'Join' clause.. - - - - - Looks up a localized string similar to The 'Async' modifier can only be used on Subs, or on Functions that return Task or Task(Of T).. - - - - - Looks up a localized string similar to Since this is an async method, the return expression must be of type '{0}' rather than 'Task(Of {0})'.. - - - - - Looks up a localized string similar to Attribute '{0}' is not valid: Incorrect argument value.. - - - - - Looks up a localized string similar to Attribute constructor has a parameter of type '{0}', which is not an integral, floating-point or Enum type or one of Object, Char, String, Boolean, System.Type or 1-dimensional array of these types.. - - - - - Looks up a localized string similar to Attribute constructor has a 'ByRef' parameter of type '{0}'; cannot use constructors with byref parameters to apply the attribute.. - - - - - Looks up a localized string similar to Attribute cannot be used because it does not have a Public constructor.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in an attribute because its container '{1}' is not declared 'Public'.. - - - - - Looks up a localized string similar to Attribute member '{0}' cannot be the target of an assignment because it is not declared 'Public'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in an attribute because it is not declared 'Public'.. - - - - - Looks up a localized string similar to Property or field '{0}' does not have a valid attribute type.. - - - - - Looks up a localized string similar to 'ReadOnly' attribute property '{0}' cannot be the target of an assignment.. - - - - - Looks up a localized string similar to 'Shared' attribute property '{0}' cannot be the target of an assignment.. - - - - - Looks up a localized string similar to '{0}' cannot be applied because the format of the GUID '{1}' is not correct.. - - - - - Looks up a localized string similar to 'Await' can only be used within an Async lambda expression. Consider marking this lambda expression with the 'Async' modifier.. - - - - - Looks up a localized string similar to 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task(Of {0})'.. - - - - - Looks up a localized string similar to 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task'.. - - - - - Looks up a localized string similar to 'Await' cannot be used inside a 'Catch' statement, a 'Finally' statement, or a 'SyncLock' statement.. - - - - - Looks up a localized string similar to Cannot await Nothing. Consider awaiting 'Task.Yield()' instead.. - - - - - Looks up a localized string similar to 'Await' can only be used when contained within a method or lambda expression marked with the 'Async' modifier.. - - - - - Looks up a localized string similar to Syntax error in conditional compilation expression.. - - - - - Looks up a localized string similar to Classes cannot be declared '{0}'.. - - - - - Looks up a localized string similar to code page '{0}' is invalid or not installed. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to '{0}' is not valid on a constant declaration.. - - - - - Looks up a localized string similar to Type or 'New' expected.. - - - - - Looks up a localized string similar to '{0}' is not valid on a Declare.. - - - - - Looks up a localized string similar to '{0}' is not valid on a Delegate declaration.. - - - - - Looks up a localized string similar to '{0}' is not valid on a member variable declaration.. - - - - - Looks up a localized string similar to Enum '{0}' must contain at least one member.. - - - - - Looks up a localized string similar to '{0}' is not valid on an Enum declaration.. - - - - - Looks up a localized string similar to '{0}' is not valid on an event declaration.. - - - - - Looks up a localized string similar to 'NotInheritable' classes cannot have members declared '{0}'.. - - - - - Looks up a localized string similar to 'Sub New' cannot be declared '{0}'.. - - - - - Looks up a localized string similar to The '{0}' keyword is used to overload inherited members; do not use the '{0}' keyword when overloading 'Sub New'.. - - - - - Looks up a localized string similar to 'Shared' cannot be combined with '{0}' on a method declaration.. - - - - - Looks up a localized string similar to 'Shared' cannot be combined with '{0}' on a property declaration.. - - - - - Looks up a localized string similar to Properties in a Module cannot be declared '{0}'.. - - - - - Looks up a localized string similar to 'Default' cannot be combined with '{0}'.. - - - - - Looks up a localized string similar to Type parameter '{0}' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '{1}'.. - - - - - Looks up a localized string similar to 'Await' requires that the type '{0}' have a suitable GetAwaiter method.. - - - - - Looks up a localized string similar to Implemented type must be an interface.. - - - - - Looks up a localized string similar to Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.. - - - - - Looks up a localized string similar to Class in an interface cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Delegate in an interface cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Enum in an interface cannot be declared '{0}'.. - - - - - Looks up a localized string similar to '{0}' is not valid on an Interface declaration.. - - - - - Looks up a localized string similar to Interface in an interface cannot be declared '{0}'.. - - - - - Looks up a localized string similar to '{0}' is not valid on an interface method declaration.. - - - - - Looks up a localized string similar to 'Inherits' statements must precede all declarations in an interface.. - - - - - Looks up a localized string similar to '{0}' is not valid on an interface property declaration.. - - - - - Looks up a localized string similar to Structure in an interface cannot be declared '{0}'.. - - - - - Looks up a localized string similar to 'Await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable IsCompleted, OnCompleted and GetResult members, and implement INotifyCompletion or ICriticalNotifyCompletion.. - - - - - Looks up a localized string similar to Iterator methods cannot have ByRef parameters.. - - - - - Looks up a localized string similar to Single-line lambdas cannot have the 'Iterator' modifier. Use a multiline lambda instead.. - - - - - Looks up a localized string similar to Iterator functions must return either IEnumerable(Of T), or IEnumerator(Of T), or the non-generic forms IEnumerable or IEnumerator.. - - - - - Looks up a localized string similar to '{0}' is not valid on a local constant declaration.. - - - - - Looks up a localized string similar to '{0}' is not valid on a local variable declaration.. - - - - - Looks up a localized string similar to '{0}' cannot be referenced because it is not a valid assembly.. - - - - - Looks up a localized string similar to '{0}' is not valid on a method declaration.. - - - - - Looks up a localized string similar to Unable to load module file '{0}': {1}. - - - - - Looks up a localized string similar to Modules cannot be declared '{0}'.. - - - - - Looks up a localized string similar to '{0}' is not a valid name and cannot be used as the root namespace name.. - - - - - Looks up a localized string similar to Nullable types are not allowed in conditional compilation expressions.. - - - - - Looks up a localized string similar to Operators cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' can be called:{1}. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they have different access levels.. - - - - - Looks up a localized string similar to Property accessors cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Property accessors cannot be declared '{0}' in a 'NotOverridable' property.. - - - - - Looks up a localized string similar to Property accessors cannot be declared '{0}' in a 'Default' property.. - - - - - Looks up a localized string similar to Property cannot be declared '{0}' because it contains a 'Private' accessor.. - - - - - Looks up a localized string similar to Access modifier '{0}' is not valid. The access modifier of 'Get' and 'Set' should be more restrictive than the property access level.. - - - - - Looks up a localized string similar to Properties cannot be declared '{0}'.. - - - - - Looks up a localized string similar to '{0}' is not valid on a Structure declaration.. - - - - - Looks up a localized string similar to Unable to load referenced library '{0}': {1}. - - - - - Looks up a localized string similar to The implicit return variable of an Iterator or Async method cannot be accessed.. - - - - - Looks up a localized string similar to To return a value from an Iterator function, use 'Yield' rather than 'Return'.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot be combined.. - - - - - Looks up a localized string similar to Static variables cannot appear inside Async or Iterator methods.. - - - - - Looks up a localized string similar to Local variables within generic methods cannot be declared 'Static'.. - - - - - Looks up a localized string similar to Local variables within methods of structures cannot be declared 'Static'.. - - - - - Looks up a localized string similar to Type argument '{0}' does not satisfy the 'Class' constraint for type parameter '{1}'.. - - - - - Looks up a localized string similar to Type argument '{0}' does not satisfy the 'Structure' constraint for type parameter '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' must be a value type or a type argument constrained to 'Structure' in order to be used with 'Nullable' or nullable modifier '?'.. - - - - - Looks up a localized string similar to Non-intrinsic type names are not allowed in conditional compilation expressions.. - - - - - Looks up a localized string similar to 'System.Void' can only be used in a GetType expression.. - - - - - Looks up a localized string similar to '{0}' is not valid on a WithEvents declaration.. - - - - - Looks up a localized string similar to Leading '.' or '!' can only appear inside a 'With' statement.. - - - - - Looks up a localized string similar to 'Yield' can only be used in a method marked with the 'Iterator' modifier.. - - - - - Looks up a localized string similar to 'Yield' cannot be used inside a 'Catch' statement or a 'Finally' statement.. - - - - - Looks up a localized string similar to Base class '{0}' specified for class '{1}' cannot be different from the base class '{2}' of one of its other partial types.. - - - - - Looks up a localized string similar to Class '{0}' must either be declared 'MustInherit' or override the following inherited 'MustOverride' member(s): {1}.. - - - - - Looks up a localized string similar to - Base type of '{0}' needs '{1}' to be resolved.. - - - - - Looks up a localized string similar to Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' for some type arguments.. - - - - - Looks up a localized string similar to the file '{0}' is not a text file. - - - - - Looks up a localized string similar to Operator '{0}' is not defined for types '{1}' and '{2}'.. - - - - - Looks up a localized string similar to Operator '{0}' is not defined for types '{1}' and '{2}'. You can use the 'Value' property to get the string value of the first element of '{3}'.. - - - - - Looks up a localized string similar to At least one parameter of this binary operator must be of the containing type '{0}'.. - - - - - Looks up a localized string similar to Variable '{0}' hides a variable in an enclosing block.. - - - - - Looks up a localized string similar to Statement cannot end a block outside of a line 'If' statement.. - - - - - Looks up a localized string similar to Branching out of a 'Finally' is not valid.. - - - - - Looks up a localized string similar to {0} parameters cannot be declared 'ByRef'.. - - - - - Looks up a localized string similar to References to 'ByRef' parameters cannot be converted to an expression tree.. - - - - - Looks up a localized string similar to '{0}' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.. - - - - - Looks up a localized string similar to Value '{0}' cannot be converted to '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be embedded because it has generic argument. Consider disabling the embedding of interop types.. - - - - - Looks up a localized string similar to '{0}{1}' is not valid because '{2}' is inside a scope that defines a variable that is used in a lambda or query expression.. - - - - - Looks up a localized string similar to A nullable type cannot be inferred for variable '{0}'.. - - - - - Looks up a localized string similar to Anonymous type property '{0}' cannot be used in the definition of a lambda expression within the same initialization list.. - - - - - Looks up a localized string similar to 'ByRef' parameter '{0}' cannot be used in a lambda expression.. - - - - - Looks up a localized string similar to 'ByRef' parameter '{0}' cannot be used in a query expression.. - - - - - Looks up a localized string similar to Instance of restricted type '{0}' cannot be used in a lambda expression.. - - - - - Looks up a localized string similar to Instance of restricted type '{0}' cannot be used in a query expression.. - - - - - Looks up a localized string similar to Variable of restricted type '{0}' cannot be declared in an Async or Iterator method.. - - - - - Looks up a localized string similar to Instance members and 'Me' cannot be used within a lambda expression in structures.. - - - - - Looks up a localized string similar to Instance members and 'Me' cannot be used within query expressions in structures.. - - - - - Looks up a localized string similar to Reference to class '{0}' is not allowed when its assembly is configured to embed interop types.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because it is not accessible in this context.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used across assembly boundaries because it has a generic type parameter that is an embedded interop type.. - - - - - Looks up a localized string similar to Method cannot contain both a '{0}' statement and a definition of a variable that is used in a lambda or query expression.. - - - - - Looks up a localized string similar to Constant cannot be the target of an assignment.. - - - - - Looks up a localized string similar to '{0}' does not return a Task and cannot be awaited. Consider changing it to an Async Function.. - - - - - Looks up a localized string similar to 'If' operator cannot be used in a 'Call' statement.. - - - - - Looks up a localized string similar to An Object Initializer and a Collection Initializer cannot be combined in the same initialization.. - - - - - Looks up a localized string similar to Conflicting options specified: Win32 resource file; Win32 manifest.. - - - - - Looks up a localized string similar to can't open '{0}' for writing: {1}. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because it is not declared 'Overridable'.. - - - - - Looks up a localized string similar to 'Sub New' cannot be declared 'Overrides'.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because it is declared 'NotOverridable'.. - - - - - Looks up a localized string similar to Derived classes cannot raise base class events.. - - - - - Looks up a localized string similar to Error reading ruleset file {0} - {1}. - - - - - Looks up a localized string similar to '{0}' cannot refer to itself through its default instance; use 'Me' instead.. - - - - - Looks up a localized string similar to '{0}' cannot shadow a method declared 'MustOverride'.. - - - - - Looks up a localized string similar to Nullable modifier '?' and array modifiers '(' and ')' cannot be specified on both a variable and its type.. - - - - - Looks up a localized string similar to Array modifiers cannot be specified on both a variable and its type.. - - - - - Looks up a localized string similar to Nullable modifier cannot be specified in variable declarations with 'As New'.. - - - - - Looks up a localized string similar to Nullable modifier cannot be specified on both a variable and its type.. - - - - - Looks up a localized string similar to Array modifiers cannot be specified on lambda expression parameter name. They must be specified on its type.. - - - - - Looks up a localized string similar to Expressions used with an 'If' expression cannot contain type characters.. - - - - - Looks up a localized string similar to 'Throw' operand must derive from 'System.Exception'.. - - - - - Looks up a localized string similar to The RequiredAttribute attribute is not permitted on Visual Basic types.. - - - - - Looks up a localized string similar to 'Case' cannot follow a 'Case Else' in the same 'Select' statement.. - - - - - Looks up a localized string similar to 'Case Else' can only appear inside a 'Select Case' statement.. - - - - - Looks up a localized string similar to 'Case' can only appear inside a 'Select Case' statement.. - - - - - Looks up a localized string similar to 'Catch' cannot appear after 'Finally' within a 'Try' statement.. - - - - - Looks up a localized string similar to 'Catch' cannot appear outside a 'Try' statement.. - - - - - Looks up a localized string similar to 'Catch' cannot catch type '{0}' because it is not 'System.Exception' or a class that inherits from 'System.Exception'.. - - - - - Looks up a localized string similar to '{0}' is not a local variable or parameter, and so cannot be used as a 'Catch' variable.. - - - - - Looks up a localized string similar to 'Char' values cannot be converted to '{0}'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit.. - - - - - Looks up a localized string similar to This inheritance causes circular dependencies between {0} '{1}' and its nested or base type '{2}'.. - - - - - Looks up a localized string similar to Constant '{0}' cannot depend on its own value.. - - - - - Looks up a localized string similar to Type of '{0}' cannot be inferred from an expression containing '{0}'.. - - - - - Looks up a localized string similar to '{0}' conflicts with the reserved member by this name that is implicitly declared in all enums.. - - - - - Looks up a localized string similar to Type constraint cannot be a 'NotInheritable' class.. - - - - - Looks up a localized string similar to Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to implemented interface '{2}' for some type arguments.. - - - - - Looks up a localized string similar to Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the implemented interface '{3}' inherits for some type arguments.. - - - - - Looks up a localized string similar to Cannot implement interface '{0}' because it could be identical to interface '{1}' from which the implemented interface '{2}' inherits for some type arguments.. - - - - - Looks up a localized string similar to '{0}' is a class type and cannot be used as an expression.. - - - - - Looks up a localized string similar to Attribute '{0}' given in a source file conflicts with option '{1}'.. - - - - - Looks up a localized string similar to Implementing class '{0}' for interface '{1}' cannot be found.. - - - - - Looks up a localized string similar to Type '{0}' conficts with public type defined in added module '{1}'.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' and '{0}' cannot both be applied to the same class.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is declared 'MustInherit'.. - - - - - Looks up a localized string similar to 'InterfaceId' and 'EventsId' parameters for 'Microsoft.VisualBasic.ComClassAttribute' on '{0}' cannot have the same value.. - - - - - Looks up a localized string similar to Generic methods cannot be exposed to COM.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is generic or contained inside a generic type.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because it is not declared 'Public'.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because its container '{1}' is not declared 'Public'.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves values less than zero.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves zero for the default property.. - - - - - Looks up a localized string similar to Type '{0}' must define operator '{1}' to be used in a '{2}' expression.. - - - - - Looks up a localized string similar to Conflict between the default property and the 'DefaultMemberAttribute' defined on '{0}'.. - - - - - Looks up a localized string similar to Constraint '{0}' conflicts with the constraint '{1}' already specified for type parameter '{2}'.. - - - - - Looks up a localized string similar to Assembly and module '{0}' cannot target different processors.. - - - - - Looks up a localized string similar to Error embedding Win32 manifest: Option /win32manifest conflicts with /nowin32manifest.. - - - - - Looks up a localized string similar to Constants must have a value.. - - - - - Looks up a localized string similar to Constants must be of an intrinsic or enumerated type, not a class, structure, type parameter, or array type.. - - - - - Looks up a localized string similar to Type constraint '{0}' must be either a class, interface or type parameter.. - - - - - Looks up a localized string similar to Constraint type '{0}' already specified for this type parameter.. - - - - - Looks up a localized string similar to Constraint '{0}' conflicts with the indirect constraint '{1}' obtained from the type parameter constraint '{2}'.. - - - - - Looks up a localized string similar to Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the constraint '{2}'.. - - - - - Looks up a localized string similar to Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the indirect constraint '{2}' obtained from the type parameter constraint '{3}'.. - - - - - Looks up a localized string similar to Type parameter '{0}' cannot be constrained to itself: {1}. - - - - - Looks up a localized string similar to - '{0}' is constrained to '{1}'.. - - - - - Looks up a localized string similar to '{0}' cannot be used as a type constraint.. - - - - - Looks up a localized string similar to Constructor must not have the 'Async' modifier.. - - - - - Looks up a localized string similar to 'Sub New' cannot be declared 'Partial'.. - - - - - Looks up a localized string similar to Constructor must be declared as a Sub, not as a Function.. - - - - - Looks up a localized string similar to Type '{0}' has no constructors.. - - - - - Looks up a localized string similar to 'Continue Do' can only appear inside a 'Do' statement.. - - - - - Looks up a localized string similar to 'Continue For' can only appear inside a 'For' statement.. - - - - - Looks up a localized string similar to 'Continue While' can only appear inside a 'While' statement.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from a base type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from a derived type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from an interface type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from Object.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from a type to its base type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from a type to its derived type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert to an interface type.. - - - - - Looks up a localized string similar to Conversion operators cannot convert to Object.. - - - - - Looks up a localized string similar to Conversion operators cannot convert from a type to the same type.. - - - - - Looks up a localized string similar to Value of type '{0}' cannot be converted to '{1}' because '{2}' is not derived from '{3}'.. - - - - - Looks up a localized string similar to Value of type '{0}' cannot be converted to '{1}' because the array types have different numbers of dimensions.. - - - - - Looks up a localized string similar to Value of type '{0}' cannot be converted to '{1}' because '{2}' is not a reference type.. - - - - - Looks up a localized string similar to Conversion operators must be declared either 'Widening' or 'Narrowing'.. - - - - - Looks up a localized string similar to Either the parameter type or the return type of this conversion operator must be of the containing type '{0}'.. - - - - - Looks up a localized string similar to Cannot copy the value of 'ByRef' parameter '{0}' back to the matching argument because type '{1}' cannot be converted to type '{2}'.. - - - - - Looks up a localized string similar to Cryptographic failure while creating hashes.. - - - - - Looks up a localized string similar to 'Custom' modifier is not valid on events declared in interfaces.. - - - - - Looks up a localized string similar to 'Custom' modifier is not valid on events declared without explicit delegate types.. - - - - - Looks up a localized string similar to Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method.. - - - - - Looks up a localized string similar to 'Declare' statements are not allowed in generic types or types contained in generic types.. - - - - - Looks up a localized string similar to Event '{0}' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class.. - - - - - Looks up a localized string similar to Default member of '{0}' is not a property.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because only one is declared 'Default'.. - - - - - Looks up a localized string similar to Default property access is ambiguous between the inherited interface members '{0}' of interface '{1}' and '{2}' of interface '{3}'.. - - - - - Looks up a localized string similar to Properties with no required parameters cannot be declared 'Default'.. - - - - - Looks up a localized string similar to Default values cannot be supplied for parameters that are not declared 'Optional'.. - - - - - Looks up a localized string similar to No accessible method '{0}' has a signature compatible with delegate '{1}':{2}. - - - - - Looks up a localized string similar to Method '{0}' does not have a signature compatible with delegate '{1}'.. - - - - - Looks up a localized string similar to Extension Method '{0}' defined in '{2}' does not have a signature compatible with delegate '{1}'.. - - - - - Looks up a localized string similar to Method does not have a signature compatible with the delegate.. - - - - - Looks up a localized string similar to Option Strict On does not allow narrowing in implicit type conversions between method '{0}' and delegate '{1}'.. - - - - - Looks up a localized string similar to Option Strict On does not allow narrowing in implicit type conversions between extension method '{0}' defined in '{2}' and delegate '{1}'.. - - - - - Looks up a localized string similar to Type arguments could not be inferred from the delegate.. - - - - - Looks up a localized string similar to Delegates cannot handle events.. - - - - - Looks up a localized string similar to Delegates cannot implement interface methods.. - - - - - Looks up a localized string similar to Delegate class '{0}' has no Invoke method, so an expression of this type cannot be the target of a method call.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Declare.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to 'AddHandler', 'RemoveHandler' or 'RaiseEvent' method.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Get or Set.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a method that is generic or contained in a generic type.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to instance method.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to interface methods.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Sub, Function, or Operator with a non-empty body.. - - - - - Looks up a localized string similar to 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to an Async or Iterator method.. - - - - - Looks up a localized string similar to '{0}' does not implement '{1}'.. - - - - - Looks up a localized string similar to Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method.. - - - - - Looks up a localized string similar to XML DTDs are not supported.. - - - - - Looks up a localized string similar to Only one of 'Public', 'Private', 'Protected', 'Friend', or 'Protected Friend' can be specified.. - - - - - Looks up a localized string similar to 'AddHandler' is already declared.. - - - - - Looks up a localized string similar to Multiple initializations of '{0}'. Fields and properties can be initialized only once in an object initializer expression.. - - - - - Looks up a localized string similar to Anonymous type member or property '{0}' is already declared.. - - - - - Looks up a localized string similar to 'Widening' and 'Narrowing' cannot be combined.. - - - - - Looks up a localized string similar to 'Default' can be applied to only one property name in a {0}.. - - - - - Looks up a localized string similar to Namespace or type '{0}' has already been imported.. - - - - - Looks up a localized string similar to '{0}' cannot be inherited more than once.. - - - - - Looks up a localized string similar to Local variable '{0}' is already declared in the current block.. - - - - - Looks up a localized string similar to Static local variable '{0}' is already declared.. - - - - - Looks up a localized string similar to Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider disabling the embedding of interop types.. - - - - - Looks up a localized string similar to Only one of 'NotOverridable', 'MustOverride', or 'Overridable' can be specified.. - - - - - Looks up a localized string similar to Alias '{0}' is already declared.. - - - - - Looks up a localized string similar to 'Option {0}' statement can only appear once per file.. - - - - - Looks up a localized string similar to Parameter specifier is duplicated.. - - - - - Looks up a localized string similar to Parameter already declared with name '{0}'.. - - - - - Looks up a localized string similar to XML namespace prefix '{0}' is already declared.. - - - - - Looks up a localized string similar to '{0}' has multiple definitions with identical signatures.. - - - - - Looks up a localized string similar to 'Get' is already declared.. - - - - - Looks up a localized string similar to 'Set' is already declared.. - - - - - Looks up a localized string similar to 'RaiseEvent' is already declared.. - - - - - Looks up a localized string similar to Generic type '{0}' cannot be imported more than once.. - - - - - Looks up a localized string similar to Project already has a reference to assembly '{0}'. A second reference to '{1}' cannot be added.. - - - - - Looks up a localized string similar to Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references.. - - - - - Looks up a localized string similar to 'RemoveHandler' is already declared.. - - - - - Looks up a localized string similar to Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly.. - - - - - Looks up a localized string similar to Resource name '{0}' cannot be used more than once.. - - - - - Looks up a localized string similar to Specifier is duplicated.. - - - - - Looks up a localized string similar to Type parameter already declared with name '{0}'.. - - - - - Looks up a localized string similar to 'ReadOnly' and 'WriteOnly' cannot be combined.. - - - - - Looks up a localized string similar to Duplicate XML attribute '{0}'.. - - - - - Looks up a localized string similar to 'ElseIf' must be preceded by a matching 'If' or 'ElseIf'.. - - - - - Looks up a localized string similar to 'Else' must be preceded by a matching 'If' or 'ElseIf'.. - - - - - Looks up a localized string similar to An embedded expression cannot be used here.. - - - - - Looks up a localized string similar to An aggregate collection initializer entry must contain at least one element.. - - - - - Looks up a localized string similar to Cannot continue since the edit includes a reference to an embedded type: '{0}'.. - - - - - Looks up a localized string similar to 'End Class' must be preceded by a matching 'Class'.. - - - - - Looks up a localized string similar to 'End' statement cannot be used in class library projects.. - - - - - Looks up a localized string similar to '#End ExternalSource' must be preceded by a matching '#ExternalSource'.. - - - - - Looks up a localized string similar to 'End Function' expected.. - - - - - Looks up a localized string similar to 'End If' must be preceded by a matching 'If'.. - - - - - Looks up a localized string similar to 'End Module' must be preceded by a matching 'Module'.. - - - - - Looks up a localized string similar to 'End Namespace' must be preceded by a matching 'Namespace'.. - - - - - Looks up a localized string similar to 'End Operator' expected.. - - - - - Looks up a localized string similar to 'End Operator' must be the first statement on a line.. - - - - - Looks up a localized string similar to Property missing 'End Property'.. - - - - - Looks up a localized string similar to '#End Region' must be preceded by a matching '#Region'.. - - - - - Looks up a localized string similar to 'End Select' must be preceded by a matching 'Select Case'.. - - - - - Looks up a localized string similar to 'End Structure' must be preceded by a matching 'Structure'.. - - - - - Looks up a localized string similar to 'End Sub' expected.. - - - - - Looks up a localized string similar to 'End SyncLock' must be preceded by a matching 'SyncLock'.. - - - - - Looks up a localized string similar to 'End Try' must be preceded by a matching 'Try'.. - - - - - Looks up a localized string similar to 'End Using' must be preceded by a matching 'Using'.. - - - - - Looks up a localized string similar to 'End While' must be preceded by a matching 'While'.. - - - - - Looks up a localized string similar to 'End With' must be preceded by a matching 'With'.. - - - - - Looks up a localized string similar to '{0}' is an Enum type and cannot be used as an expression.. - - - - - Looks up a localized string similar to You must reference at least one range variable on both sides of the 'Equals' operator. Range variable(s) {0} must appear on one side of the 'Equals' operator, and range variable(s) {1} must appear on the other.. - - - - - Looks up a localized string similar to 'Equals' cannot compare a value of type '{0}' with a value of type '{1}'.. - - - - - Looks up a localized string similar to Error creating Win32 resources: {0}. - - - - - Looks up a localized string similar to 'AddHandler' and 'RemoveHandler' method parameters cannot be declared 'ByRef'.. - - - - - Looks up a localized string similar to 'AddHandler' and 'RemoveHandler' methods must have exactly one parameter.. - - - - - Looks up a localized string similar to Events cannot be declared with a delegate type that has a return type.. - - - - - Looks up a localized string similar to Method '{0}' cannot handle event '{1}' because they do not have a compatible signature.. - - - - - Looks up a localized string similar to Event '{0}' cannot implement event '{1}' on interface '{2}' because their delegate types '{3}' and '{4}' do not match.. - - - - - Looks up a localized string similar to Event '{0}' cannot implement event '{1}' on interface '{2}' because the parameters of their 'RemoveHandler' methods do not match.. - - - - - Looks up a localized string similar to 'AddHandler', 'RemoveHandler' and 'RaiseEvent' method parameters cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Source interface '{0}' is missing method '{1}', which is required to embed event '{2}'.. - - - - - Looks up a localized string similar to Event '{0}' cannot be found.. - - - - - Looks up a localized string similar to Events cannot have a return type.. - - - - - Looks up a localized string similar to 'WithEvents' variables cannot be typed as arrays.. - - - - - Looks up a localized string similar to Events declared with an 'As' clause must have a delegate type.. - - - - - Looks up a localized string similar to Statement cannot appear outside of a method body.. - - - - - Looks up a localized string similar to 'Exit Do' can only appear inside a 'Do' statement.. - - - - - Looks up a localized string similar to 'Exit AddHandler', 'Exit RemoveHandler' and 'Exit RaiseEvent' are not valid. Use 'Return' to exit from event members.. - - - - - Looks up a localized string similar to 'Exit For' can only appear inside a 'For' statement.. - - - - - Looks up a localized string similar to 'Exit Function' is not valid in a Sub or Property.. - - - - - Looks up a localized string similar to 'Exit Operator' is not valid. Use 'Return' to exit an operator.. - - - - - Looks up a localized string similar to 'Exit Property' is not valid in a Function or Sub.. - - - - - Looks up a localized string similar to 'Exit Select' can only appear inside a 'Select' statement.. - - - - - Looks up a localized string similar to 'Exit Sub' is not valid in a Function or Property.. - - - - - Looks up a localized string similar to 'Exit Try' can only appear inside a 'Try' statement.. - - - - - Looks up a localized string similar to 'Exit While' can only appear inside a 'While' statement.. - - - - - Looks up a localized string similar to 'And' expected.. - - - - - Looks up a localized string similar to '{0}' statement requires an array.. - - - - - Looks up a localized string similar to 'As' expected.. - - - - - Looks up a localized string similar to '=' expected.. - - - - - Looks up a localized string similar to '=' expected (object initializer).. - - - - - Looks up a localized string similar to 'By' expected.. - - - - - Looks up a localized string similar to Statements and labels are not valid between 'Select Case' and first 'Case'.. - - - - - Looks up a localized string similar to Comma expected.. - - - - - Looks up a localized string similar to 'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected.. - - - - - Looks up a localized string similar to 'Continue' must be followed by 'Do', 'For' or 'While'.. - - - - - Looks up a localized string similar to Declaration expected.. - - - - - Looks up a localized string similar to Expected '/' for XML end tag.. - - - - - Looks up a localized string similar to '.' expected.. - - - - - Looks up a localized string similar to 'Global' must be followed by '.' and an identifier.. - - - - - Looks up a localized string similar to 'MyBase' must be followed by '.' and an identifier.. - - - - - Looks up a localized string similar to 'MyClass' must be followed by '.' and an identifier.. - - - - - Looks up a localized string similar to 'Class' statement must end with a matching 'End Class'.. - - - - - Looks up a localized string similar to '#ExternalSource' statement must end with a matching '#End ExternalSource'.. - - - - - Looks up a localized string similar to 'If' must end with a matching 'End If'.. - - - - - Looks up a localized string similar to 'Module' statement must end with a matching 'End Module'.. - - - - - Looks up a localized string similar to 'Namespace' statement must end with a matching 'End Namespace'.. - - - - - Looks up a localized string similar to End of expression expected.. - - - - - Looks up a localized string similar to '#Region' statement must end with a matching '#End Region'.. - - - - - Looks up a localized string similar to 'Select Case' must end with a matching 'End Select'.. - - - - - Looks up a localized string similar to 'Structure' statement must end with a matching 'End Structure'.. - - - - - Looks up a localized string similar to 'SyncLock' statement must end with a matching 'End SyncLock'.. - - - - - Looks up a localized string similar to 'Try' must end with a matching 'End Try'.. - - - - - Looks up a localized string similar to 'Using' must end with a matching 'End Using'.. - - - - - Looks up a localized string similar to 'While' must end with a matching 'End While'.. - - - - - Looks up a localized string similar to 'With' must end with a matching 'End With'.. - - - - - Looks up a localized string similar to End of statement expected.. - - - - - Looks up a localized string similar to '=' expected.. - - - - - Looks up a localized string similar to 'Equals' expected.. - - - - - Looks up a localized string similar to 'Exit' must be followed by 'Sub', 'Function', 'Property', 'Do', 'For', 'While', 'Select', or 'Try'.. - - - - - Looks up a localized string similar to Expression expected.. - - - - - Looks up a localized string similar to 'Option' must be followed by 'Compare', 'Explicit', 'Infer', or 'Strict'.. - - - - - Looks up a localized string similar to 'From' expected.. - - - - - Looks up a localized string similar to '>' expected.. - - - - - Looks up a localized string similar to Identifier expected.. - - - - - Looks up a localized string similar to 'Group' or an identifier expected.. - - - - - Looks up a localized string similar to 'In' expected.. - - - - - Looks up a localized string similar to 'In' or '=' expected.. - - - - - Looks up a localized string similar to Integer constant expected.. - - - - - Looks up a localized string similar to 'Into' expected.. - - - - - Looks up a localized string similar to 'Join' expected.. - - - - - Looks up a localized string similar to '{' expected.. - - - - - Looks up a localized string similar to 'Do' must end with a matching 'Loop'.. - - - - - Looks up a localized string similar to '(' expected.. - - - - - Looks up a localized string similar to Expected beginning '<' for an XML tag.. - - - - - Looks up a localized string similar to '-' expected.. - - - - - Looks up a localized string similar to Named argument expected.. - - - - - Looks up a localized string similar to 'For' must end with a matching 'Next'.. - - - - - Looks up a localized string similar to 'On' expected.. - - - - - Looks up a localized string similar to 'Optional' expected.. - - - - - Looks up a localized string similar to 'Compare' expected.. - - - - - Looks up a localized string similar to Expression is not a method.. - - - - - Looks up a localized string similar to Name of field or property being initialized in an object initializer must start with '.'.. - - - - - Looks up a localized string similar to Expression of type '{0}' is not queryable. Make sure you are not missing an assembly reference and/or namespace import for the LINQ provider.. - - - - - Looks up a localized string similar to Expected matching closing double quote for XML attribute value.. - - - - - Looks up a localized string similar to '}' expected.. - - - - - Looks up a localized string similar to Relational operator expected.. - - - - - Looks up a localized string similar to 'Resume' or 'GoTo' expected.. - - - - - Looks up a localized string similar to ')' expected.. - - - - - Looks up a localized string similar to Expected closing ';' for XML entity.. - - - - - Looks up a localized string similar to Expected one of 'Dim', 'Const', 'Public', 'Private', 'Protected', 'Friend', 'Shadows', 'ReadOnly' or 'Shared'.. - - - - - Looks up a localized string similar to Expected matching closing single quote for XML attribute value.. - - - - - Looks up a localized string similar to String constant expected.. - - - - - Looks up a localized string similar to 'Sub' or 'Function' expected.. - - - - - Looks up a localized string similar to 'Sub' or 'Function' expected after 'Delegate'.. - - - - - Looks up a localized string similar to Expected '%=' at start of an embedded expression.. - - - - - Looks up a localized string similar to Expected closing ']]>' for XML CDATA section.. - - - - - Looks up a localized string similar to Expected closing '-->' for XML comment.. - - - - - Looks up a localized string similar to Expected closing '%>' for embedded expression.. - - - - - Looks up a localized string similar to Expected closing '?>' for XML processor instruction.. - - - - - Looks up a localized string similar to XML name expected.. - - - - - Looks up a localized string similar to Namespace declaration must start with 'xmlns'.. - - - - - Looks up a localized string similar to Missing required white space.. - - - - - Looks up a localized string similar to Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly.. - - - - - Looks up a localized string similar to Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'.. - - - - - Looks up a localized string similar to Constant expression not representable in type '{0}'.. - - - - - Looks up a localized string similar to Expression cannot be converted into an expression tree.. - - - - - Looks up a localized string similar to Late binding operations cannot be converted to an expression tree.. - - - - - Looks up a localized string similar to Multi-dimensional array cannot be converted to an expression tree.. - - - - - Looks up a localized string similar to The custom-designed version of 'System.Runtime.CompilerServices.ExtensionAttribute' found by the compiler is not valid. Its attribute usage flags must be set to allow assemblies, classes, and methods.. - - - - - Looks up a localized string similar to Late-bound extension methods are not supported.. - - - - - Looks up a localized string similar to Extension methods must declare at least one parameter. The first parameter specifies which type to extend.. - - - - - Looks up a localized string similar to Extension methods can be defined only in modules.. - - - - - Looks up a localized string similar to 'Optional' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.. - - - - - Looks up a localized string similar to - Extension method '{0}' defined in '{1}'.. - - - - - Looks up a localized string similar to - Extension method '{0}' defined in '{1}': {2}. - - - - - Looks up a localized string similar to 'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.. - - - - - Looks up a localized string similar to Extension method '{0}' has type constraints that can never be satisfied.. - - - - - Looks up a localized string similar to 'Extension' attribute can be applied only to 'Module', 'Sub', or 'Function' declarations.. - - - - - Looks up a localized string similar to 'Next' statement names more variables than there are matching 'For' statements.. - - - - - Looks up a localized string similar to Specifiers valid only at the beginning of a declaration.. - - - - - Looks up a localized string similar to Error signing assembly '{0}': {1}. - - - - - Looks up a localized string similar to The field has multiple distinct constant values.. - - - - - Looks up a localized string similar to Cannot refer to '{0}' because it is a member of the value-typed field '{1}' of class '{2}' which has 'System.MarshalByRefObject' as a base class.. - - - - - Looks up a localized string similar to 'Assembly' or 'Module' expected.. - - - - - Looks up a localized string similar to file '{0}' could not be found. - - - - - Looks up a localized string similar to 'Finally' can only appear once in a 'Try' statement.. - - - - - Looks up a localized string similar to 'Finally' cannot appear outside a 'Try' statement.. - - - - - Looks up a localized string similar to Array declared as for loop control variable cannot be declared with an initial size.. - - - - - Looks up a localized string similar to 'For Each' on type '{0}' is ambiguous because the type implements multiple instantiations of 'System.Collections.Generic.IEnumerable(Of T)'.. - - - - - Looks up a localized string similar to Expression is of type '{0}', which is not a collection type.. - - - - - Looks up a localized string similar to For loop control variable '{0}' already in use by an enclosing For loop.. - - - - - Looks up a localized string similar to Type '{0}' must define operator '{1}' to be used in a 'For' statement.. - - - - - Looks up a localized string similar to 'For' loop control variable cannot be of type '{0}' because the type does not support the required operators.. - - - - - Looks up a localized string similar to Forwarded type '{0}' conflicts with type declared in primary module of this assembly.. - - - - - Looks up a localized string similar to Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'.. - - - - - Looks up a localized string similar to Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'.. - - - - - Looks up a localized string similar to Type '{0}' in assembly '{1}' has been forwarded to assembly '{2}'. Either a reference to '{2}' is missing from your project or the type '{0}' is missing from assembly '{2}'.. - - - - - Looks up a localized string similar to Member '{0}' cannot override member '{1}' defined in another assembly/project because the access modifier 'Protected Friend' expands accessibility. Use 'Protected' instead.. - - - - - Looks up a localized string similar to Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified.. - - - - - Looks up a localized string similar to Friend declaration '{0}' is invalid and cannot be resolved.. - - - - - Looks up a localized string similar to Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations.. - - - - - Looks up a localized string similar to Friend access was granted by '{0}', but the public key of the output assembly does not match that specified by the attribute in the granting assembly.. - - - - - Looks up a localized string similar to Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly.. - - - - - Looks up a localized string similar to Full width characters are not valid as XML delimiters.. - - - - - Looks up a localized string similar to '{0}' has no parameters and its return type cannot be indexed.. - - - - - Looks up a localized string similar to Error in project-level import '{0}' at '{1}' : {2}. - - - - - Looks up a localized string similar to Type arguments are not valid because attributes cannot be generic.. - - - - - Looks up a localized string similar to Classes that are generic or contained in a generic type cannot inherit from an attribute class.. - - - - - Looks up a localized string similar to Type argument '{0}' does not inherit from or implement the constraint type '{1}'.. - - - - - Looks up a localized string similar to {0} '{1}' cannot inherit from a type parameter.. - - - - - Looks up a localized string similar to Type parameters cannot be specified on this declaration.. - - - - - Looks up a localized string similar to None of the accessible 'Main' methods with the appropriate signatures found in '{0}' can be the startup method since they are all either generic or nested in generic types.. - - - - - Looks up a localized string similar to 'GoTo {0}' is not valid because '{0}' is inside a 'For' or 'For Each' statement that does not contain this statement.. - - - - - Looks up a localized string similar to 'GoTo {0}' is not valid because '{0}' is inside a 'SyncLock' statement that does not contain this statement.. - - - - - Looks up a localized string similar to 'GoTo {0}' is not valid because '{0}' is inside a 'Try', 'Catch' or 'Finally' statement that does not contain this statement.. - - - - - Looks up a localized string similar to 'GoTo {0}' is not valid because '{0}' is inside a 'Using' statement that does not contain this statement.. - - - - - Looks up a localized string similar to 'GoTo {0}' is not valid because '{0}' is inside a 'With' statement that does not contain this statement.. - - - - - Looks up a localized string similar to Generic methods cannot use 'Handles' clause.. - - - - - Looks up a localized string similar to 'Handles' in classes must specify a 'WithEvents' variable, 'MyBase', 'MyClass' or 'Me' qualified with a single identifier.. - - - - - Looks up a localized string similar to 'Handles' in modules must specify a 'WithEvents' variable qualified with a single identifier.. - - - - - Looks up a localized string similar to cannot specify both /win32icon and /win32resource. - - - - - Looks up a localized string similar to Using DirectCast operator to cast a floating-point value to the same type is not supported.. - - - - - Looks up a localized string similar to '{0}' cannot implement '{1}' because there is no matching {2} on interface '{3}'.. - - - - - Looks up a localized string similar to Cannot infer a common type.. - - - - - Looks up a localized string similar to Cannot infer a common type, and Option Strict On does not allow 'Object' to be assumed.. - - - - - Looks up a localized string similar to Cannot infer a common type because more than one type is possible.. - - - - - Looks up a localized string similar to XML declaration does not allow attribute '{0}{1}{2}'.. - - - - - Looks up a localized string similar to Inherits clause of {0} '{1}' causes cyclic dependency: {2}. - - - - - Looks up a localized string similar to Illegal call expression or index expression.. - - - - - Looks up a localized string similar to Character is not valid.. - - - - - Looks up a localized string similar to Character constant must contain exactly one character.. - - - - - Looks up a localized string similar to First operand in a binary 'If' expression must be nullable or a reference type.. - - - - - Looks up a localized string similar to Namespace declaration with prefix cannot have an empty value inside an XML literal.. - - - - - Looks up a localized string similar to Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.. - - - - - Looks up a localized string similar to Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other.. - - - - - Looks up a localized string similar to "'If' operator requires either two or three operands.". - - - - - Looks up a localized string similar to 'If' operands cannot be named arguments.. - - - - - Looks up a localized string similar to XML processing instruction name '{0}' is not valid.. - - - - - Looks up a localized string similar to Character sequence '--' is not allowed in an XML comment.. - - - - - Looks up a localized string similar to Character '{0}' ({1}) is not allowed in an XML name.. - - - - - Looks up a localized string similar to Element names cannot use the 'xmlns' prefix.. - - - - - Looks up a localized string similar to Character '{0}' ({1}) is not allowed at the beginning of an XML name.. - - - - - Looks up a localized string similar to White space cannot appear here.. - - - - - Looks up a localized string similar to Method '{0}' must be declared 'Private' in order to implement partial method '{1}'.. - - - - - Looks up a localized string similar to Type parameter not allowed in 'Implements' clause.. - - - - - Looks up a localized string similar to 'Sub New' cannot implement interface members.. - - - - - Looks up a localized string similar to 'Implements' statements must follow any 'Inherits' statement and precede all declarations in a class.. - - - - - Looks up a localized string similar to '{0}' cannot implement '{1}.{2}' because they differ by type parameter constraints.. - - - - - Looks up a localized string similar to Imports alias '{0}' conflicts with '{1}' declared in the root namespace.. - - - - - Looks up a localized string similar to 'Imports' statements must precede any declarations.. - - - - - Looks up a localized string similar to Implementing class '{0}' for interface '{1}' is not accessible in this context because it is '{2}'.. - - - - - Looks up a localized string similar to '{0}.{1}' is not accessible in this context because it is '{2}'.. - - - - - Looks up a localized string similar to '{0}' in class '{1}' cannot override '{2}' in class '{3}' because an intermediate class '{4}' overrides '{2}' in class '{3}' but is not accessible.. - - - - - Looks up a localized string similar to '{0}' is not accessible in this context because the return type is not accessible.. - - - - - Looks up a localized string similar to '{0}' is not accessible in this context because it is '{1}'.. - - - - - Looks up a localized string similar to Expression is not an array or a method, and cannot have an argument list.. - - - - - Looks up a localized string similar to Project '{0}' makes an indirect reference to assembly '{1}', which contains '{2}'. Add a file reference to '{3}' to your project.. - - - - - Looks up a localized string similar to Variable cannot be initialized with non-array type '{0}'.. - - - - - Looks up a localized string similar to '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} to {3} '{4}'.. - - - - - Looks up a localized string similar to '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} outside the assembly.. - - - - - Looks up a localized string similar to Class '{0}' cannot inherit from itself: {1}. - - - - - Looks up a localized string similar to Type '{0}' is not supported because it either directly or indirectly inherits from itself.. - - - - - Looks up a localized string similar to - '{0}' inherits from '{1}'.. - - - - - Looks up a localized string similar to '{0}' cannot inherit from {2} '{1}' because '{1}' is declared 'NotInheritable'.. - - - - - Looks up a localized string similar to Classes can inherit only from other classes.. - - - - - Looks up a localized string similar to Interface can inherit only from another interface.. - - - - - Looks up a localized string similar to Inheriting from '{0}' is not valid.. - - - - - Looks up a localized string similar to 'Inherits' statement must precede all declarations in a class.. - - - - - Looks up a localized string similar to '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' to {4} '{5}'.. - - - - - Looks up a localized string similar to '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' outside the assembly.. - - - - - Looks up a localized string similar to Expanded Properties cannot be initialized.. - - - - - Looks up a localized string similar to Initializer expected.. - - - - - Looks up a localized string similar to Initializers on structure members are valid only for 'Shared' members and constants.. - - - - - Looks up a localized string similar to Array initializer is missing {0} elements.. - - - - - Looks up a localized string similar to Array initializer has {0} too many elements.. - - - - - Looks up a localized string similar to Explicit initialization is not permitted for arrays declared with explicit bounds.. - - - - - Looks up a localized string similar to Explicit initialization is not permitted with multiple variables declared with a single type specifier.. - - - - - Looks up a localized string similar to '{0}' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit.. - - - - - Looks up a localized string similar to Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the interface '{3}' inherits for some type arguments.. - - - - - Looks up a localized string similar to '{0}' is not valid on an interface event declaration.. - - - - - Looks up a localized string similar to Interface '{0}' cannot inherit from itself: {1}. - - - - - Looks up a localized string similar to Events in interfaces cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Interface '{0}' can be implemented only once by this type.. - - - - - Looks up a localized string similar to Interface members must be methods, properties, events, or type definitions.. - - - - - Looks up a localized string similar to '{0}' cannot be indexed because it has no default property.. - - - - - Looks up a localized string similar to '{0}' is an interface type and cannot be used as an expression.. - - - - - Looks up a localized string similar to Interface '{0}' is not implemented by this class.. - - - - - Looks up a localized string similar to Cannot implement interface '{0}' because its implementation could conflict with the implementation of another implemented interface '{1}' for some type arguments.. - - - - - Looks up a localized string similar to Cannot inherit interface '{0}' because it could be identical to interface '{1}' from which the interface '{2}' inherits for some type arguments.. - - - - - Looks up a localized string similar to Cannot inherit interface '{0}' because it could be identical to interface '{1}' for some type arguments.. - - - - - Looks up a localized string similar to Embedded interop method '{0}' contains a body.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied to an assembly.. - - - - - Looks up a localized string similar to Executables cannot be satellite assemblies; culture should always be empty. - - - - - Looks up a localized string similar to '{0}' is not a valid value for /moduleassemblyname. - - - - - Looks up a localized string similar to 'Async' and 'Iterator' modifiers cannot be used together.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied to '{1}' because the attribute is not valid on this declaration type.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied to '{1}' of '{2}' because the attribute is not valid on this declaration type.. - - - - - Looks up a localized string similar to Attribute value is not valid; expecting '{0}'.. - - - - - Looks up a localized string similar to Attribute value is not valid; expecting '{0}' or '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as an implementing class.. - - - - - Looks up a localized string similar to Constructor call is valid only as the first statement in an instance constructor.. - - - - - Looks up a localized string similar to Date constant is not valid.. - - - - - Looks up a localized string similar to 'End AddHandler' must be preceded by a matching 'AddHandler' declaration.. - - - - - Looks up a localized string similar to 'End Enum' must be preceded by a matching 'Enum'.. - - - - - Looks up a localized string similar to 'End Event' must be preceded by a matching 'Custom Event'.. - - - - - Looks up a localized string similar to 'End Function' must be preceded by a matching 'Function'.. - - - - - Looks up a localized string similar to 'End Get' must be preceded by a matching 'Get'.. - - - - - Looks up a localized string similar to 'End Interface' must be preceded by a matching 'Interface'.. - - - - - Looks up a localized string similar to 'End Operator' must be preceded by a matching 'Operator'.. - - - - - Looks up a localized string similar to 'End Property' must be preceded by a matching 'Property'.. - - - - - Looks up a localized string similar to 'End RaiseEvent' must be preceded by a matching 'RaiseEvent' declaration.. - - - - - Looks up a localized string similar to 'End RemoveHandler' must be preceded by a matching 'RemoveHandler' declaration.. - - - - - Looks up a localized string similar to 'End Set' must be preceded by a matching 'Set'.. - - - - - Looks up a localized string similar to 'End Sub' must be preceded by a matching 'Sub'.. - - - - - Looks up a localized string similar to Enums must be declared as an integral type.. - - - - - Looks up a localized string similar to Command-line syntax error: Invalid Guid format '{0}' for option '{1}'. - - - - - Looks up a localized string similar to 'Handles' is not valid on operator declarations.. - - - - - Looks up a localized string similar to 'Implements' is not valid on operator declarations.. - - - - - Looks up a localized string similar to Implicit reference to object under construction is not valid when calling another constructor.. - - - - - Looks up a localized string similar to Implicit variable '{0}' is invalid because of '{1}'.. - - - - - Looks up a localized string similar to Statement is not valid in a namespace.. - - - - - Looks up a localized string similar to 'Only the 'Async' or 'Iterator' modifier is valid on a lambda.. - - - - - Looks up a localized string similar to Exponent is not valid.. - - - - - Looks up a localized string similar to 'Me' cannot be the target of an assignment.. - - - - - Looks up a localized string similar to Reference to object under construction is not valid when calling another constructor.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied to a module.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied multiple times.. - - - - - Looks up a localized string similar to Attribute '{0}' in '{1}' cannot be applied multiple times.. - - - - - Looks up a localized string similar to 'New' is not valid in this context.. - - - - - Looks up a localized string similar to 'NonSerialized' attribute will not have any effect on this member because its containing class is not exposed as 'Serializable'.. - - - - - Looks up a localized string similar to Attribute '{0}' cannot be applied to a method with optional parameters.. - - - - - Looks up a localized string similar to 'Option Compare' must be followed by 'Text' or 'Binary'.. - - - - - Looks up a localized string similar to 'Option Explicit' can be followed only by 'On' or 'Off'.. - - - - - Looks up a localized string similar to 'Option Infer' can be followed only by 'On' or 'Off'.. - - - - - Looks up a localized string similar to 'Option Strict' can be followed only by 'On' or 'Off'.. - - - - - Looks up a localized string similar to Option Strict Custom can only be used as an option to the command-line compiler (vbc.exe).. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by their return types.. - - - - - Looks up a localized string similar to Comma or ')' expected.. - - - - - Looks up a localized string similar to Invalid signature public key specified in AssemblySignatureKeyAttribute.. - - - - - Looks up a localized string similar to Only conversion operators can be declared '{0}'.. - - - - - Looks up a localized string similar to Embedded interop structure '{0}' can contain only public instance fields.. - - - - - Looks up a localized string similar to No accessible 'Main' method with an appropriate signature was found in '{0}'.. - - - - - Looks up a localized string similar to The value '{0}' is not a valid subsystem version. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise.. - - - - - Looks up a localized string similar to the value '{0}' is invalid for option '{1}'. - - - - - Looks up a localized string similar to '{1}' for the Imports alias to '{0}' does not refer to a Namespace, Class, Structure, Interface, Enum or Module.. - - - - - Looks up a localized string similar to 'Custom' modifier can only be used immediately before an 'Event' declaration.. - - - - - Looks up a localized string similar to Keyword is not valid as an identifier.. - - - - - Looks up a localized string similar to The specified version string does not conform to the required format - major[.minor[.build|*[.revision|*]]]. - - - - - Looks up a localized string similar to The specified version string does not conform to the recommended format - major.minor.build.revision. - - - - - Looks up a localized string similar to Statement is not valid inside '{0}' block.. - - - - - Looks up a localized string similar to Statement cannot appear within an Enum body. End of Enum assumed.. - - - - - Looks up a localized string similar to Statement cannot appear within an event body. End of event assumed.. - - - - - Looks up a localized string similar to Statement cannot appear within an interface body. End of interface assumed.. - - - - - Looks up a localized string similar to Statement cannot appear within a method body. End of method assumed.. - - - - - Looks up a localized string similar to Statement cannot appear within a property body. End of property assumed.. - - - - - Looks up a localized string similar to Statement cannot appear within an Enum body.. - - - - - Looks up a localized string similar to Statement cannot appear within an interface body.. - - - - - Looks up a localized string similar to Statement is not valid inside a method.. - - - - - Looks up a localized string similar to Labels are not valid outside methods.. - - - - - Looks up a localized string similar to - '{0}' is nested in '{1}'.. - - - - - Looks up a localized string similar to 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint.. - - - - - Looks up a localized string similar to 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type.. - - - - - Looks up a localized string similar to 'IsNot' requires operands that have reference types, but this operand has the value type '{0}'.. - - - - - Looks up a localized string similar to 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint.. - - - - - Looks up a localized string similar to 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type.. - - - - - Looks up a localized string similar to 'Is' operator does not accept operands of type '{0}'. Operands must be reference or nullable types.. - - - - - Looks up a localized string similar to Range variable '{0}' hides a variable in an enclosing block or a range variable previously defined in the query expression.. - - - - - Looks up a localized string similar to Range variable '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression.. - - - - - Looks up a localized string similar to You cannot use '{0}' in top-level script code. - - - - - Looks up a localized string similar to Label '{0}' is not defined.. - - - - - Looks up a localized string similar to Nested function does not have the same signature as delegate '{0}'.. - - - - - Looks up a localized string similar to Nested sub does not have a signature that is compatible with delegate '{0}'.. - - - - - Looks up a localized string similar to Lambda expressions are not valid in the first expression of a 'Select Case' statement.. - - - - - Looks up a localized string similar to Lambda expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created.. - - - - - Looks up a localized string similar to Lambda expression cannot be converted to '{0}' because '{0}' is not a delegate type.. - - - - - Looks up a localized string similar to Cannot infer a return type. Consider adding an 'As' clause to specify the return type.. - - - - - Looks up a localized string similar to Cannot infer a return type. Consider adding an 'As' clause to specify the return type.. - - - - - Looks up a localized string similar to Lambda parameter '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression.. - - - - - Looks up a localized string similar to Attributes cannot be applied to parameters of lambda expressions.. - - - - - Looks up a localized string similar to Cannot infer a return type because more than one type is possible. Consider adding an 'As' clause to specify the return type.. - - - - - Looks up a localized string similar to Late bound overload resolution cannot be applied to '{0}' because the accessing instance is an interface type.. - - - - - Looks up a localized string similar to '#ElseIf' must be preceded by a matching '#If' or '#ElseIf'.. - - - - - Looks up a localized string similar to '#ElseIf' cannot follow '#Else' as part of a '#If' block.. - - - - - Looks up a localized string similar to '#Else' must be preceded by a matching '#If' or '#ElseIf'.. - - - - - Looks up a localized string similar to '#If' block must end with a matching '#End If'.. - - - - - Looks up a localized string similar to '#ElseIf', '#Else', or '#End If' must be preceded by a matching '#If'.. - - - - - Looks up a localized string similar to /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe.. - - - - - Looks up a localized string similar to could not find library '{0}'. - - - - - Looks up a localized string similar to Line continuation character '_' must be preceded by at least one white space and must be the last character on the line.. - - - - - Looks up a localized string similar to Linked netmodule metadata must provide a full PE image: '{0}'.. - - - - - Looks up a localized string similar to Literal expected.. - - - - - Looks up a localized string similar to '{0}' is already declared as a parameter of this method.. - - - - - Looks up a localized string similar to Variable '{0}' is already declared as a parameter of this or an enclosing lambda expression.. - - - - - Looks up a localized string similar to Local variable cannot have the same name as the function containing it.. - - - - - Looks up a localized string similar to Attributes cannot be applied to local variables.. - - - - - Looks up a localized string similar to Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider disabling the embedding of interop types.. - - - - - Looks up a localized string similar to Loop control variable cannot include an 'Await'.. - - - - - Looks up a localized string similar to Loop control variable cannot be a property or a late-bound indexed array.. - - - - - Looks up a localized string similar to 'Loop' cannot have a condition if matching 'Do' has one.. - - - - - Looks up a localized string similar to 'Loop' must be preceded by a matching 'Do'.. - - - - - Looks up a localized string similar to Expression is a value and therefore cannot be the target of an assignment.. - - - - - Looks up a localized string similar to Unmanaged type '{0}' not valid for fields.. - - - - - Looks up a localized string similar to Unmanaged type '{0}' is only valid for fields.. - - - - - Looks up a localized string similar to Matching '{0}' operator is required for '{1}'.. - - - - - Looks up a localized string similar to Maximum number of errors has been exceeded.. - - - - - Looks up a localized string similar to {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in {4} '{5}'.. - - - - - Looks up a localized string similar to Conflicts with '{0}', which is implicitly declared for '{1}' in {2} '{3}'.. - - - - - Looks up a localized string similar to '{0}' is a module and cannot be referenced as an assembly.. - - - - - Looks up a localized string similar to '{0}' is an assembly and cannot be referenced as a module.. - - - - - Looks up a localized string similar to '{0}' is ambiguous because multiple kinds of members with this name exist in {1} '{2}'.. - - - - - Looks up a localized string similar to Metadata references not supported.. - - - - - Looks up a localized string similar to '{0}.{1}' cannot be implemented more than once.. - - - - - Looks up a localized string similar to First statement of a method body cannot be on the same line as the method declaration.. - - - - - Looks up a localized string similar to Method declaration statements must be the first statement on a logical line.. - - - - - Looks up a localized string similar to End tag </{0}{1}{2}> expected.. - - - - - Looks up a localized string similar to 'AddHandler' definition missing for event '{0}'.. - - - - - Looks up a localized string similar to 'AddHandler' declaration must end with a matching 'End AddHandler'.. - - - - - Looks up a localized string similar to Bracketed identifier is missing closing ']'.. - - - - - Looks up a localized string similar to 'Enum' must end with a matching 'End Enum'.. - - - - - Looks up a localized string similar to 'Custom Event' must end with a matching 'End Event'.. - - - - - Looks up a localized string similar to 'Get' statement must end with a matching 'End Get'.. - - - - - Looks up a localized string similar to 'Interface' must end with a matching 'End Interface'.. - - - - - Looks up a localized string similar to 'RaiseEvent' declaration must end with a matching 'End RaiseEvent'.. - - - - - Looks up a localized string similar to 'RemoveHandler' declaration must end with a matching 'End RemoveHandler'.. - - - - - Looks up a localized string similar to 'Set' statement must end with a matching 'End Set'.. - - - - - Looks up a localized string similar to Command-line syntax error: Missing Guid for option '{1}'. - - - - - Looks up a localized string similar to 'Is' expected.. - - - - - Looks up a localized string similar to 'Lib' expected.. - - - - - Looks up a localized string similar to Reference to '{0}' netmodule missing.. - - - - - Looks up a localized string similar to 'Next' expected.. - - - - - Looks up a localized string similar to 'RaiseEvent' definition missing for event '{0}'.. - - - - - Looks up a localized string similar to 'RemoveHandler' definition missing for event '{0}'.. - - - - - Looks up a localized string similar to Requested operation is not available because the runtime library function '{0}' is not defined.. - - - - - Looks up a localized string similar to Array subscript expression missing.. - - - - - Looks up a localized string similar to Arrays used as attribute arguments are required to explicitly specify values for all elements.. - - - - - Looks up a localized string similar to Required attribute 'version' missing from XML declaration.. - - - - - Looks up a localized string similar to Element is missing an end tag.. - - - - - Looks up a localized string similar to Event '{0}' cannot implement a Windows Runtime event '{1}' and a regular .NET event '{2}'. - - - - - Looks up a localized string similar to Module '{0}' cannot be used as a type.. - - - - - Looks up a localized string similar to 'Implements' not valid in Modules.. - - - - - Looks up a localized string similar to 'Inherits' not valid in Modules.. - - - - - Looks up a localized string similar to 'Declare' statements in a Module cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Events in a Module cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Methods in a Module cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Type in a Module cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Variables in Modules cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Failed to emit module '{0}'.. - - - - - Looks up a localized string similar to Members in a Module cannot implement interface members.. - - - - - Looks up a localized string similar to 'Module' statements can occur only at file or namespace level.. - - - - - Looks up a localized string similar to Modules cannot be generic.. - - - - - Looks up a localized string similar to 'Sub Main' is declared more than once in '{0}': {1}. - - - - - Looks up a localized string similar to Multiline lambda expression is missing 'End Function'.. - - - - - Looks up a localized string similar to Multiline lambda expression is missing 'End Sub'.. - - - - - Looks up a localized string similar to 'On Error' and 'Resume' cannot appear inside a lambda expression.. - - - - - Looks up a localized string similar to Type parameter '{0}' can only have one constraint that is a class.. - - - - - Looks up a localized string similar to Event '{0}' cannot implement event '{2}.{1}' because its delegate type does not match the delegate type of another event implemented by '{0}'.. - - - - - Looks up a localized string similar to 'Inherits' can appear only once within a 'Class' statement and can only specify one class.. - - - - - Looks up a localized string similar to 'New' constraint cannot be specified multiple times for the same type parameter.. - - - - - Looks up a localized string similar to 'Optional' and 'ParamArray' cannot be combined.. - - - - - Looks up a localized string similar to 'ByVal' and 'ByRef' cannot be combined.. - - - - - Looks up a localized string similar to 'Class' constraint cannot be specified multiple times for the same type parameter.. - - - - - Looks up a localized string similar to 'Structure' constraint cannot be specified multiple times for the same type parameter.. - - - - - Looks up a localized string similar to Label '{0}' is already defined in the current method.. - - - - - Looks up a localized string similar to '{0}' is already declared in this {1}.. - - - - - Looks up a localized string similar to '{0}' is already declared as '{1}' in this {2}.. - - - - - Looks up a localized string similar to 'Throw' statement cannot omit operand outside a 'Catch' statement or inside a 'Finally' statement.. - - - - - Looks up a localized string similar to {0} '{1}' must be declared 'Overloads' because another '{1}' is declared 'Overloads' or 'Overrides'.. - - - - - Looks up a localized string similar to Type argument '{0}' is declared 'MustInherit' and does not satisfy the 'New' constraint for type parameter '{1}'.. - - - - - Looks up a localized string similar to 'MustOverride' cannot be specified on this member because it is in a partial type that is declared 'NotInheritable' in another partial definition.. - - - - - Looks up a localized string similar to '{0}' must be declared 'MustInherit' because it contains methods declared 'MustOverride'.. - - - - - Looks up a localized string similar to {0} '{1}' must be declared 'Shadows' because another member with this name is declared 'Shadows'.. - - - - - Looks up a localized string similar to 'MyBase' cannot be used with method '{0}' because it is declared 'MustOverride'.. - - - - - Looks up a localized string similar to 'MustOverride' method '{0}' cannot be called with 'MyClass'.. - - - - - Looks up a localized string similar to 'MyClass' cannot be used outside of a class.. - - - - - Looks up a localized string similar to MyGroupCollectionAttribute cannot be applied to itself.. - - - - - Looks up a localized string similar to Parameter '{0}' already has a matching omitted argument.. - - - - - Looks up a localized string similar to Parameter '{0}' in '{1}' already has a matching omitted argument.. - - - - - Looks up a localized string similar to Parameter '{0}' in extension method '{1}' defined in '{2}' already has a matching omitted argument.. - - - - - Looks up a localized string similar to Parameter '{0}' already has a matching argument.. - - - - - Looks up a localized string similar to Parameter '{0}' of '{1}' already has a matching argument.. - - - - - Looks up a localized string similar to Parameter '{0}' of extension method '{1}' defined in '{2}' already has a matching argument.. - - - - - Looks up a localized string similar to Named argument cannot match a ParamArray parameter.. - - - - - Looks up a localized string similar to '{0}' is not a method parameter.. - - - - - Looks up a localized string similar to '{0}' is not a parameter of '{1}'.. - - - - - Looks up a localized string similar to '{0}' is not a parameter of extension method '{1}' defined in '{2}'.. - - - - - Looks up a localized string similar to Named arguments are not valid as array subscripts.. - - - - - Looks up a localized string similar to '{0}' is not declared. It may be inaccessible due to its protection level.. - - - - - Looks up a localized string similar to '{0}' is not an event of '{1}'.. - - - - - Looks up a localized string similar to '{0}' is not a member of '{1}'.. - - - - - Looks up a localized string similar to '{0}' is not a member of '{1}'; it does not exist in the current context.. - - - - - Looks up a localized string similar to '{0}' is already declared as a type parameter of this method.. - - - - - Looks up a localized string similar to You cannot declare Namespace in script code. - - - - - Looks up a localized string similar to 'Namespace' statements can occur only at file or namespace level.. - - - - - Looks up a localized string similar to '{0}' is a namespace and cannot be used as an expression.. - - - - - Looks up a localized string similar to Option Strict On disallows implicit conversions from '{0}' to '{1}'; the Visual Basic 6.0 collection type is not compatible with the .NET Framework collection type.. - - - - - Looks up a localized string similar to Option Strict On disallows implicit conversions from '{0}' to '{1}'.. - - - - - Looks up a localized string similar to the /moduleassemblyname option may only be specified when building a target of type 'module'. - - - - - Looks up a localized string similar to Array dimensions cannot have a negative size.. - - - - - Looks up a localized string similar to {0} '{1}' cannot inherit from a type nested within it.. - - - - - Looks up a localized string similar to '#ExternalSource' directives cannot be nested.. - - - - - Looks up a localized string similar to Return type of nested function matching parameter '{0}' narrows from '{1}' to '{2}'.. - - - - - Looks up a localized string similar to Global namespace may not be nested in another namespace.. - - - - - Looks up a localized string similar to Nested type '{0}' cannot be embedded.. - - - - - Looks up a localized string similar to Class '{0}' cannot reference its nested type '{1}' in Inherits clause.. - - - - - Looks up a localized string similar to Type '{0}' does not inherit the generic type parameters of its container.. - - - - - Looks up a localized string similar to Module name '{0}' stored in '{1}' must match its filename.. - - - - - Looks up a localized string similar to Module '{0}' is already defined in this assembly. Each module must have a unique filename.. - - - - - Looks up a localized string similar to 'New' constraint and 'Structure' constraint cannot be combined.. - - - - - Looks up a localized string similar to Arguments cannot be passed to a 'New' used on a type parameter.. - - - - - Looks up a localized string similar to 'Sub New' cannot handle events.. - - - - - Looks up a localized string similar to 'New' cannot be used on a type parameter that does not have a 'New' constraint.. - - - - - Looks up a localized string similar to 'New' cannot be used on an interface.. - - - - - Looks up a localized string similar to 'Sub New' cannot be declared in an interface.. - - - - - Looks up a localized string similar to Structures cannot declare a non-shared 'Sub New' with no parameters.. - - - - - Looks up a localized string similar to 'New' cannot be used on a class that is declared 'MustInherit'.. - - - - - Looks up a localized string similar to Next control variable does not match For loop control variable '{0}'.. - - - - - Looks up a localized string similar to 'Next' must be preceded by a matching 'For'.. - - - - - Looks up a localized string similar to Class '{0}' has no accessible 'Sub New' and cannot be inherited.. - - - - - Looks up a localized string similar to 'Get' accessor of property '{0}' is not accessible.. - - - - - Looks up a localized string similar to 'Set' accessor of property '{0}' is not accessible.. - - - - - Looks up a localized string similar to Cannot initialize the type '{0}' with a collection initializer because it does not have an accessible 'Add' method.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' accepts this number of arguments.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' can be called with these arguments:{1}. - - - - - Looks up a localized string similar to Bounds can be specified only for the top-level array when initializing an array of arrays.. - - - - - Looks up a localized string similar to Class '{0}' must declare a 'Sub New' because its base class '{1}' does not have an accessible 'Sub New' that can be called with no arguments.. - - - - - Looks up a localized string similar to Class '{0}' cannot be indexed because it has no default property.. - - - - - Looks up a localized string similar to Delegate '{0}' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor.. - - - - - Looks up a localized string similar to Array bounds cannot appear in type specifiers.. - - - - - Looks up a localized string similar to Property '{0}' is 'WriteOnly'.. - - - - - Looks up a localized string similar to 'Global' not allowed in this context; identifier expected.. - - - - - Looks up a localized string similar to 'Global' not allowed in handles; local name expected.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' is most specific for these arguments:{1}. - - - - - Looks up a localized string similar to Member '{0}' cannot be initialized in an object initializer expression because it is not a field or property.. - - - - - Looks up a localized string similar to '{1}' for the Imports '{0}' does not refer to a Namespace, Class, Structure, Enum or Module.. - - - - - Looks up a localized string similar to Property '{0}' with no parameters cannot be found.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' can be called without a narrowing conversion:{1}. - - - - - Looks up a localized string similar to Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete.. - - - - - Looks up a localized string similar to Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'.. - - - - - Looks up a localized string similar to 'AddressOf' cannot be applied to '{0}' because '{0}' is a partial method without an implementation.. - - - - - Looks up a localized string similar to Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute.. - - - - - Looks up a localized string similar to unable to open response file '{0}'. - - - - - Looks up a localized string similar to Expected at least one script (.vbx file) but none specified. - - - - - Looks up a localized string similar to Property '{0}' is 'ReadOnly'.. - - - - - Looks up a localized string similar to no input sources specified. - - - - - Looks up a localized string similar to cannot infer an output file name from resource only input files; provide the '/out' option. - - - - - Looks up a localized string similar to Type argument '{0}' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter '{1}'.. - - - - - Looks up a localized string similar to Type of '{0}' cannot be inferred because the loop bounds and the step clause do not convert to the same type.. - - - - - Looks up a localized string similar to Cannot initialize the type '{0}' with a collection initializer because it is not a collection type.. - - - - - Looks up a localized string similar to Not most specific.. - - - - - Looks up a localized string similar to 'NotOverridable' cannot be specified for methods that do not override another method.. - - - - - Looks up a localized string similar to Overload resolution failed because no accessible '{0}' accepts this number of type arguments.. - - - - - Looks up a localized string similar to Type characters are not allowed on Imports aliases.. - - - - - Looks up a localized string similar to Type characters are not allowed in label identifiers.. - - - - - Looks up a localized string similar to Class '{0}' must declare a 'Sub New' because its base class '{1}' has more than one accessible 'Sub New' that can be called with no arguments.. - - - - - Looks up a localized string similar to Overload resolution failed because no '{0}' is accessible.. - - - - - Looks up a localized string similar to Handles clause requires a WithEvents variable defined in the containing type or one of its base types.. - - - - - Looks up a localized string similar to XML axis properties do not support late binding.. - - - - - Looks up a localized string similar to Property '{0}' cannot be initialized in an object initializer expression because all accessible overloads require arguments.. - - - - - Looks up a localized string similar to The '?' character cannot be used here.. - - - - - Looks up a localized string similar to 'System.Nullable' does not satisfy the 'Structure' constraint for type parameter '{0}'. Only non-nullable 'Structure' types are allowed.. - - - - - Looks up a localized string similar to Nullable modifier cannot be used with a variable whose implicit type is 'Object'.. - - - - - Looks up a localized string similar to Nullable parameters must specify a type.. - - - - - Looks up a localized string similar to Nullable type inference is not supported in this context.. - - - - - Looks up a localized string similar to Object initializers require a field name to initialize.. - - - - - Looks up a localized string similar to Reference to a non-shared member requires an object reference.. - - - - - Looks up a localized string similar to Method arguments must be enclosed in parentheses.. - - - - - Looks up a localized string similar to 'As Any' is not supported in 'Declare' statements.. - - - - - Looks up a localized string similar to 'EndIf' statements are no longer supported; use 'End If' instead.. - - - - - Looks up a localized string similar to 'D' can no longer be used to indicate an exponent, use 'E' instead.. - - - - - Looks up a localized string similar to 'Get' statements are no longer supported. File I/O functionality is available in the 'Microsoft.VisualBasic' namespace.. - - - - - Looks up a localized string similar to 'GoSub' statements are no longer supported.. - - - - - Looks up a localized string similar to '{0}' cannot be applied to the 'AddHandler', 'RemoveHandler', or 'RaiseEvent' definitions. If required, apply the attribute directly to the event.. - - - - - Looks up a localized string similar to 'Let' and 'Set' assignment statements are no longer supported.. - - - - - Looks up a localized string similar to Labels that are numbers must be followed by colons.. - - - - - Looks up a localized string similar to 'Variant' is no longer a supported type; use the 'Object' type instead.. - - - - - Looks up a localized string similar to 'On GoTo' and 'On GoSub' statements are no longer supported.. - - - - - Looks up a localized string similar to Optional parameters must specify a default value.. - - - - - Looks up a localized string similar to Property Get/Let/Set are no longer supported; use the new Property declaration syntax.. - - - - - Looks up a localized string similar to 'ReDim' statements can no longer be used to declare array variables.. - - - - - Looks up a localized string similar to 'Type' statements are no longer supported; use 'Structure' statements instead.. - - - - - Looks up a localized string similar to 'Wend' statements are no longer supported; use 'End While' statements instead.. - - - - - Looks up a localized string similar to 'Of' required when specifying type arguments for a generic type or method.. - - - - - Looks up a localized string similar to Argument not specified for parameter '{0}'.. - - - - - Looks up a localized string similar to Argument not specified for parameter '{0}' of '{1}'.. - - - - - Looks up a localized string similar to Argument not specified for parameter '{0}' of extension method '{1}' defined in '{2}'.. - - - - - Looks up a localized string similar to Omitted argument cannot match a ParamArray parameter.. - - - - - Looks up a localized string similar to Operator '{0}' must have either one or two parameters.. - - - - - Looks up a localized string similar to Operator '{0}' must have one parameter.. - - - - - Looks up a localized string similar to 'On Error' statements are not valid within 'SyncLock' statements.. - - - - - Looks up a localized string similar to 'On Error' statements are not valid within 'Using' statements.. - - - - - Looks up a localized string similar to Array lower bounds can be only '0'.. - - - - - Looks up a localized string similar to Access modifier can only be applied to either 'Get' or 'Set', but not both.. - - - - - Looks up a localized string similar to Method '{0}' cannot implement partial method '{1}' because '{2}' already implements it. Only one method can implement a partial method.. - - - - - Looks up a localized string similar to Method '{0}' cannot be declared 'Partial' because only one method '{1}' can be marked 'Partial'.. - - - - - Looks up a localized string similar to Partial methods must be declared 'Private' instead of '{0}'.. - - - - - Looks up a localized string similar to Type parameters or types constructed with type parameters are not allowed in attribute arguments.. - - - - - Looks up a localized string similar to Operators cannot be declared in modules.. - - - - - Looks up a localized string similar to Operators must be declared 'Public'.. - - - - - Looks up a localized string similar to Operators must be declared 'Shared'.. - - - - - Looks up a localized string similar to Operator is not overloadable. Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse.. - - - - - Looks up a localized string similar to Operator '{0}' must have a return type of Boolean.. - - - - - Looks up a localized string similar to Operator '{0}' must have a second parameter of type 'Integer' or 'Integer?'.. - - - - - Looks up a localized string similar to '{0}' parameters cannot be declared 'Optional'.. - - - - - Looks up a localized string similar to Generic parameters used as optional parameter types must be class constrained.. - - - - - Looks up a localized string similar to 'Option' statements must precede any declarations or 'Imports' statements.. - - - - - Looks up a localized string similar to Overflow.. - - - - - Looks up a localized string similar to - {0}. - - - - - Looks up a localized string similar to - '{0}': {1}. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by 'ReadOnly' or 'WriteOnly'.. - - - - - Looks up a localized string similar to Inappropriate use of '{0}' keyword in a module.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ParamArray'.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ByRef' or 'ByVal'.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by the default values of optional parameters.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by optional parameters.. - - - - - Looks up a localized string similar to '{0}' and '{1}' cannot overload each other because they differ only by return types.. - - - - - Looks up a localized string similar to - '{0}'. - - - - - Looks up a localized string similar to {0} '{1}' cannot be declared 'Overrides' because it does not override a {0} in a base class.. - - - - - Looks up a localized string similar to Methods declared 'Overrides' cannot be declared 'Overridable' because they are implicitly overridable.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by parameters declared 'ParamArray'.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by a parameter that is marked as 'ByRef' versus 'ByVal'.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by type parameter constraints.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by the default values of optional parameters.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by optional parameters.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by the types of optional parameters.. - - - - - Looks up a localized string similar to '{0}' cannot override '{1}' because they differ by 'ReadOnly' or 'WriteOnly'.. - - - - - Looks up a localized string similar to Argument cannot match a ParamArray parameter.. - - - - - Looks up a localized string similar to '{0}' parameters cannot be declared 'ParamArray'.. - - - - - Looks up a localized string similar to ParamArray parameters must be declared 'ByVal'.. - - - - - Looks up a localized string similar to End of parameter list expected. Cannot define parameters after a paramarray parameter.. - - - - - Looks up a localized string similar to ParamArray parameter must be an array.. - - - - - Looks up a localized string similar to ParamArray parameter must be a one-dimensional array.. - - - - - Looks up a localized string similar to Method cannot have both a ParamArray and Optional parameters.. - - - - - Looks up a localized string similar to ParamArray parameters must have an array type.. - - - - - Looks up a localized string similar to The parameter has multiple distinct default values.. - - - - - Looks up a localized string similar to Property '{0}' cannot be initialized in an object initializer expression because it requires arguments.. - - - - - Looks up a localized string similar to Parameter not valid for the specified unmanaged type.. - - - - - Looks up a localized string similar to Parameter cannot have the same name as its defining function.. - - - - - Looks up a localized string similar to All parameters must be explicitly typed if any of them are explicitly typed.. - - - - - Looks up a localized string similar to Partial method '{0}' cannot use the 'Implements' keyword.. - - - - - Looks up a localized string similar to Optional parameter of a method '{0}' does not have the same default value as the corresponding parameter of the partial method '{1}'.. - - - - - Looks up a localized string similar to Method '{0}' does not have the same generic constraints as the partial method '{1}'.. - - - - - Looks up a localized string similar to Partial methods must have empty method bodies.. - - - - - Looks up a localized string similar to Parameter of a method '{0}' differs by ParamArray modifier from the corresponding parameter of the partial method '{1}'.. - - - - - Looks up a localized string similar to Parameter name '{0}' does not match the name of the corresponding parameter, '{1}', defined on the partial method declaration '{2}'.. - - - - - Looks up a localized string similar to Partial methods must be declared 'Private'.. - - - - - Looks up a localized string similar to '{0}' cannot be declared 'Partial' because partial methods must be Subs.. - - - - - Looks up a localized string similar to '{0}' cannot be declared 'Partial' because it has the 'Async' modifier.. - - - - - Looks up a localized string similar to Name of type parameter '{0}' does not match '{1}', the corresponding type parameter defined on the partial method declaration '{2}'.. - - - - - Looks up a localized string similar to Specified access '{0}' for '{1}' does not match the access '{2}' specified on one of its other partial types.. - - - - - Looks up a localized string similar to 'MustInherit' cannot be specified for partial type '{0}' because it cannot be combined with 'NotInheritable' specified for one of its other partial types.. - - - - - Looks up a localized string similar to Constraints for this type parameter do not match the constraints on the corresponding type parameter defined on one of the other partial types of '{0}'.. - - - - - Looks up a localized string similar to Type parameter name '{0}' does not match the name '{1}' of the corresponding type parameter defined on one of the other partial types of '{2}'.. - - - - - Looks up a localized string similar to Failure writing debug information: {0}. - - - - - Looks up a localized string similar to Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}'.. - - - - - Looks up a localized string similar to Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute.. - - - - - Looks up a localized string similar to Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute.. - - - - - Looks up a localized string similar to Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute.. - - - - - Looks up a localized string similar to {0} is not supported in current project type.. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for PrincipalPermission attribute.. - - - - - Looks up a localized string similar to Types declared 'Private' must be inside another type.. - - - - - Looks up a localized string similar to Project-level conditional compilation constant '{1}' is not valid: {0}. - - - - - Looks up a localized string similar to Property access must assign to the property or use its value.. - - - - - Looks up a localized string similar to '{0}' cannot be implemented by a {1} property.. - - - - - Looks up a localized string similar to '{0}' has the same name as a member used for type '{1}' exposed in a 'My' group. Rename the type or its enclosing namespace.. - - - - - Looks up a localized string similar to Field or property '{0}' is not found.. - - - - - Looks up a localized string similar to Property parameters cannot have the name 'Value'.. - - - - - Looks up a localized string similar to Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'.. - - - - - Looks up a localized string similar to Protected types can only be declared inside of a class.. - - - - - Looks up a localized string similar to Error extracting public key from container '{0}': {1}. - - - - - Looks up a localized string similar to Error extracting public key from file '{0}': {1}. - - - - - Looks up a localized string similar to ':' is not allowed. XML qualified names cannot be used in this context.. - - - - - Looks up a localized string similar to '!' requires its left operand to have a type parameter, class or interface type, but this operand has the type '{0}'.. - - - - - Looks up a localized string similar to Range variable name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier.. - - - - - Looks up a localized string similar to Type characters cannot be used in range variable declarations.. - - - - - Looks up a localized string similar to Range variable name can be inferred only from a simple or qualified name with no arguments.. - - - - - Looks up a localized string similar to Range variable '{0}' is already declared.. - - - - - Looks up a localized string similar to Range variable name cannot match the name of a member of the 'Object' class.. - - - - - Looks up a localized string similar to Name '{0}' is either not declared or not in the current scope.. - - - - - Looks up a localized string similar to Definition of method '{0}' is not accessible in this context.. - - - - - Looks up a localized string similar to Type of the range variable cannot be inferred, and late binding is not allowed with Option Strict on. Use an 'As' clause to specify the type.. - - - - - Looks up a localized string similar to Embedded expression cannot appear inside a quoted attribute value. Try removing quotes.. - - - - - Looks up a localized string similar to 'RaiseEvent' method must have the same signature as the containing event's delegate type '{0}'.. - - - - - Looks up a localized string similar to 'ReadOnly' variable cannot be the target of an assignment.. - - - - - Looks up a localized string similar to 'ReadOnly' property must provide a 'Get'.. - - - - - Looks up a localized string similar to Properties declared 'ReadOnly' cannot have a 'Set'.. - - - - - Looks up a localized string similar to 'ReadOnly' variable cannot be the target of an assignment in a lambda expression inside a constructor.. - - - - - Looks up a localized string similar to 'ReadOnly' properties cannot have an access modifier on 'Get'.. - - - - - Looks up a localized string similar to 'ReadOnly' property '{0}' cannot be the target of an assignment.. - - - - - Looks up a localized string similar to Structure '{0}' cannot contain an instance of itself: {1}. - - - - - Looks up a localized string similar to - '{0}' contains '{1}' (variable '{2}').. - - - - - Looks up a localized string similar to 'ReDim' statements require a parenthesized list of the new bounds of each dimension of the array.. - - - - - Looks up a localized string similar to 'ReDim' cannot change the number of dimensions of an array.. - - - - - Looks up a localized string similar to 'Class' constraint and a specific class type constraint cannot be combined.. - - - - - Looks up a localized string similar to 'Class' constraint and 'Structure' constraint cannot be combined.. - - - - - Looks up a localized string similar to Operator '{0}' is not defined for types '{1}' and '{2}'. Use 'Is' operator to compare two reference types.. - - - - - Looks up a localized string similar to Referenced assembly '{0}' does not have a strong name.. - - - - - Looks up a localized string similar to #R is only allowed in scripts. - - - - - Looks up a localized string similar to '{0}.{1}' is already implemented by the base class '{2}'. Re-implementation of Windows Runtime Interface '{3}' is not allowed. - - - - - Looks up a localized string similar to '{0}.{1}' from 'implements {2}' is already implemented by the base class '{3}'. Re-implementation of Windows Runtime Interface '{4}' is not allowed. - - - - - Looks up a localized string similar to In a Windows Runtime event, the type of the ‘RemoveHandler’ method parameter must be 'EventRegistrationToken'. - - - - - Looks up a localized string similar to Conversion from '{0}' to '{1}' cannot occur in a constant expression used as an argument to an attribute.. - - - - - Looks up a localized string similar to Conversion from '{0}' to '{1}' cannot occur in a constant expression.. - - - - - Looks up a localized string similar to Constant expression is required.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' does not have an accessible 'Sub New' that can be called with no arguments.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' has more than one accessible 'Sub New' that can be called with no arguments.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}'.. - - - - - Looks up a localized string similar to The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session. - - - - - Looks up a localized string similar to Prefix '{0}' cannot be bound to namespace name reserved for '{1}'.. - - - - - Looks up a localized string similar to XML namespace prefix '{0}' is reserved for use by XML and the namespace URI cannot be changed.. - - - - - Looks up a localized string similar to Cannot link resource files when building a module. - - - - - Looks up a localized string similar to Expression has the type '{0}' which is a restricted type and cannot be used to access members inherited from 'Object' or 'ValueType'.. - - - - - Looks up a localized string similar to Expression of type '{0}' cannot be converted to 'Object' or 'ValueType'.. - - - - - Looks up a localized string similar to '{0}' cannot be used as a parameter type for an Iterator or Async method.. - - - - - Looks up a localized string similar to '{0}' cannot be made nullable, and cannot be used as the data type of an array element, field, anonymous type member, type argument, 'ByRef' parameter, or return statement.. - - - - - Looks up a localized string similar to Lambdas with the 'Async' or 'Iterator' modifiers cannot be converted to expression trees.. - - - - - Looks up a localized string similar to 'On Error' and 'Resume' cannot appear inside async or iterator methods.. - - - - - Looks up a localized string similar to 'Return' statement in a Sub or a Set cannot return a value.. - - - - - Looks up a localized string similar to 'Return' statements in this Async method cannot return a value since the return type of the function is 'Task'. Consider changing the function's return type to 'Task(Of T)'.. - - - - - Looks up a localized string similar to 'Return' statement in a Function, Get, or Operator must return a value.. - - - - - Looks up a localized string similar to Member '{0}' cannot be found in class '{1}'. This condition is usually the result of a mismatched 'Microsoft.VisualBasic.dll'.. - - - - - Looks up a localized string similar to Security attribute '{0}' has an invalid SecurityAction value '{1}'.. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for security attributes applied to an assembly.. - - - - - Looks up a localized string similar to SecurityAction value '{0}' is invalid for security attributes applied to a type or a method.. - - - - - Looks up a localized string similar to Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations.. - - - - - Looks up a localized string similar to First argument to a security attribute must be a valid SecurityAction.. - - - - - Looks up a localized string similar to Security attribute '{0}' cannot be applied to an Async or Iterator method.. - - - - - Looks up a localized string similar to Async and Iterator methods are not allowed in a [Class|Structure|Interface|Module] that has the 'SecurityCritical' or 'SecuritySafeCritical' attribute.. - - - - - Looks up a localized string similar to 'Set' method cannot have more than one parameter.. - - - - - Looks up a localized string similar to 'Set' parameter cannot be declared '{0}'.. - - - - - Looks up a localized string similar to 'Set' parameter must have the same type as the containing property.. - - - - - Looks up a localized string similar to '{0}' has the same name as a type parameter.. - - - - - Looks up a localized string similar to '{0}' cannot be declared 'Shadows' outside of a class, structure, or interface.. - - - - - Looks up a localized string similar to Shared 'Sub New' cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Shared 'Sub New' cannot have any parameters.. - - - - - Looks up a localized string similar to Events of shared WithEvents variables cannot be handled by non-shared methods.. - - - - - Looks up a localized string similar to Member '{0}' cannot be initialized in an object initializer expression because it is shared.. - - - - - Looks up a localized string similar to Methods or events that implement interface members cannot be declared 'Shared'.. - - - - - Looks up a localized string similar to Non-shared members in a Structure cannot be declared 'New'.. - - - - - Looks up a localized string similar to Key file '{0}' is missing the private key needed for signing.. - - - - - Looks up a localized string similar to Interface '{0}' has an invalid source interface which is required to embed event '{1}'.. - - - - - Looks up a localized string similar to Specifiers and attributes are not valid on this statement.. - - - - - Looks up a localized string similar to Specifiers are not valid on 'AddHandler', 'RemoveHandler' and 'RaiseEvent' methods.. - - - - - Looks up a localized string similar to Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement.. - - - - - Looks up a localized string similar to Expected quoted XML attribute value or embedded expression.. - - - - - Looks up a localized string similar to 'Sub Main' was not found in '{0}'.. - - - - - Looks up a localized string similar to Statement lambdas cannot be converted to expression trees.. - - - - - Looks up a localized string similar to 'System.STAThreadAttribute' and 'System.MTAThreadAttribute' cannot both be applied to the same method.. - - - - - Looks up a localized string similar to Static local variables cannot be declared inside lambda expressions.. - - - - - Looks up a localized string similar to Option Strict On disallows narrowing from type '{1}' to type '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument.. - - - - - Looks up a localized string similar to Option Strict On requires all variable declarations to have an 'As' clause.. - - - - - Looks up a localized string similar to Option Strict On requires each lambda expression parameter to be declared with an 'As' clause if its type cannot be inferred.. - - - - - Looks up a localized string similar to Option Strict On requires that all method parameters have an 'As' clause.. - - - - - Looks up a localized string similar to Option Strict On requires all Function, Property, and Operator declarations to have an 'As' clause.. - - - - - Looks up a localized string similar to Option Strict On disallows late binding.. - - - - - Looks up a localized string similar to Option Strict On disallows operands of type Object for operator '{0}'. Use the 'Is' operator to test for object identity.. - - - - - Looks up a localized string similar to Option Strict On prohibits operands of type Object for operator '{0}'.. - - - - - Looks up a localized string similar to Structures cannot have 'Inherits' statements.. - - - - - Looks up a localized string similar to 'Declare' statements in a structure cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Members in a Structure cannot be declared '{0}'.. - - - - - Looks up a localized string similar to Attribute 'StructLayout' cannot be applied to a generic type.. - - - - - Looks up a localized string similar to Methods declared in structures cannot have 'Handles' clauses.. - - - - - Looks up a localized string similar to Method in a structure cannot be declared 'Protected' or 'Protected Friend'.. - - - - - Looks up a localized string similar to Structure '{0}' cannot be indexed because it has no default property.. - - - - - Looks up a localized string similar to '{0}' is a structure type and cannot be used as an expression.. - - - - - Looks up a localized string similar to Statement is not valid inside a single-line statement lambda.. - - - - - Looks up a localized string similar to Constructor '{0}' cannot call itself: {1}. - - - - - Looks up a localized string similar to - '{0}' calls '{1}'.. - - - - - Looks up a localized string similar to This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>)!key. - - - - - Looks up a localized string similar to This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>).Invoke(). - - - - - Looks up a localized string similar to This single-line statement lambda must be enclosed in parentheses. For example: Call (Sub() <statement>) (). - - - - - Looks up a localized string similar to Single-line statement lambdas must include exactly one statement.. - - - - - Looks up a localized string similar to option '{0}' can be followed only by '+' or '-'. - - - - - Looks up a localized string similar to The project currently contains references to more than one version of '{0}', a direct reference to version {2} and an indirect reference to version {1}. Change the direct reference to use version {1} (or higher) of {0}.. - - - - - Looks up a localized string similar to 'MethodImplOptions.Synchronized' cannot be applied to an Async method.. - - - - - Looks up a localized string similar to 'SyncLock' operand cannot be of type '{0}' because '{0}' is not a reference type.. - - - - - Looks up a localized string similar to Syntax error.. - - - - - Looks up a localized string similar to Syntax error in cast operator; two arguments separated by comma are required.. - - - - - Looks up a localized string similar to {0} '{1}' implicitly defines '{2}', which conflicts with a member of the same name in {3} '{4}'.. - - - - - Looks up a localized string similar to {0} '{1}' implicitly defines '{2}', which conflicts with a member implicitly declared for {3} '{4}' in {5} '{6}'.. - - - - - Looks up a localized string similar to '{0}', implicitly declared for {1} '{2}', cannot shadow a 'MustOverride' method in the base {3} '{4}'.. - - - - - Looks up a localized string similar to {0} '{1}' implicitly defines a member '{2}' which has the same name as a type parameter.. - - - - - Looks up a localized string similar to Too few type arguments to '{0}'.. - - - - - Looks up a localized string similar to Too few type arguments to extension method '{0}' defined in '{1}'.. - - - - - Looks up a localized string similar to Number of indices is less than the number of dimensions of the indexed array.. - - - - - Looks up a localized string similar to Name '{0}' exceeds the maximum length allowed in metadata.. - - - - - Looks up a localized string similar to Too many arguments.. - - - - - Looks up a localized string similar to Too many arguments to '{0}'.. - - - - - Looks up a localized string similar to Too many arguments to extension method '{0}' defined in '{1}'.. - - - - - Looks up a localized string similar to Too many type arguments to '{0}'.. - - - - - Looks up a localized string similar to Too many type arguments to extension method '{0}' defined in '{1}'.. - - - - - Looks up a localized string similar to Number of indices exceeds the number of dimensions of the indexed array.. - - - - - Looks up a localized string similar to Method cannot contain both a 'Try' statement and an 'On Error' or 'Resume' statement.. - - - - - Looks up a localized string similar to 'TryCast' operands must be class-constrained type parameter, but '{0}' has no class constraint.. - - - - - Looks up a localized string similar to 'TryCast' operand must be reference type, but '{0}' is a value type.. - - - - - Looks up a localized string similar to Try must have at least one 'Catch' or a 'Finally'.. - - - - - Looks up a localized string similar to Operator '{0}' must have two parameters.. - - - - - Looks up a localized string similar to Type arguments unexpected.. - - - - - Looks up a localized string similar to Type character '{0}' does not match declared data type '{1}'.. - - - - - Looks up a localized string similar to Type declaration characters are not valid in this context.. - - - - - Looks up a localized string similar to Aggregate function name cannot be used with a type character.. - - - - - Looks up a localized string similar to Type character cannot be used in a type parameter declaration.. - - - - - Looks up a localized string similar to Type character cannot be used in a 'Sub' declaration because a 'Sub' doesn't return a value.. - - - - - Looks up a localized string similar to Type character '{0}' cannot be used in a declaration with an explicit type.. - - - - - Looks up a localized string similar to {0} '{1}' conflicts with a VB Core Runtime {2} '{3}'.. - - - - - Looks up a localized string similar to {0} '{1}' and {2} '{3}' conflict in {4} '{5}'.. - - - - - Looks up a localized string similar to XML attributes cannot be selected from type '{0}'.. - - - - - Looks up a localized string similar to XML descendant elements cannot be selected from type '{0}'.. - - - - - Looks up a localized string similar to XML elements cannot be selected from type '{0}'.. - - - - - Looks up a localized string similar to '{0}' in assembly '{1}' has been forwarded to itself and so is an unsupported type.. - - - - - Looks up a localized string similar to Cannot infer a data type for '{0}' because the array dimensions do not match.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type.. - - - - - Looks up a localized string similar to Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type.. - - - - - Looks up a localized string similar to Class '{0}' cannot reference itself in Inherits clause.. - - - - - Looks up a localized string similar to Value of type '{0}' cannot be converted to '{1}'.. - - - - - Looks up a localized string similar to Value of type '{0}' cannot be converted to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'.. - - - - - Looks up a localized string similar to '{0}' is a type and cannot be used as an expression.. - - - - - Looks up a localized string similar to Expression of type '{0}' can never be of type '{1}'.. - - - - - Looks up a localized string similar to 'TypeOf ... Is' requires its left operand to have a reference type, but this operand has the value type '{0}'.. - - - - - Looks up a localized string similar to '{0}' has no type parameters and so cannot have type arguments.. - - - - - Looks up a localized string similar to Extension method '{0}' defined in '{1}' is not generic (or has no free type parameters) and so cannot have type arguments.. - - - - - Looks up a localized string similar to 'As', comma or ')' expected.. - - - - - Looks up a localized string similar to Comma or ')' expected.. - - - - - Looks up a localized string similar to Type parameter cannot have the same name as its defining function.. - - - - - Looks up a localized string similar to Type parameters cannot be used as qualifiers.. - - - - - Looks up a localized string similar to Type parameter with a 'Structure' constraint cannot be used as a constraint.. - - - - - Looks up a localized string similar to Import of type '{0}' from assembly or module '{1}' failed.. - - - - - Looks up a localized string similar to Cannot create temporary file: {0}. - - - - - Looks up a localized string similar to Unable to open resource file '{0}': {1}. - - - - - Looks up a localized string similar to Unable to open Win32 manifest file '{0}' : {1}. - - - - - Looks up a localized string similar to Return and parameter types of '{0}' must be '{1}' to be used in a 'For' statement.. - - - - - Looks up a localized string similar to Parameter types of '{0}' must be '{1}' to be used in a 'For' statement.. - - - - - Looks up a localized string similar to Return and parameter types of '{0}' must be '{1}' to be used in a '{2}' expression.. - - - - - Looks up a localized string similar to Operator '{0}' is not defined for type '{1}'.. - - - - - Looks up a localized string similar to Parameter of this unary operator must be of the containing type '{0}'.. - - - - - Looks up a localized string similar to Type parameter '{0}' cannot be inferred.. - - - - - Looks up a localized string similar to Type parameter '{0}' for '{1}' cannot be inferred.. - - - - - Looks up a localized string similar to Type parameter '{0}' for extension method '{1}' defined in '{2}' cannot be inferred.. - - - - - Looks up a localized string similar to Type '{0}' is not defined.. - - - - - Looks up a localized string similar to Type or namespace '{0}' is not defined.. - - - - - Looks up a localized string similar to XML namespace prefix '{0}' is not defined.. - - - - - Looks up a localized string similar to Expression statement is only allowed at the end of an interactive submission.. - - - - - Looks up a localized string similar to 'Group' not allowed in this context; identifier expected.. - - - - - Looks up a localized string similar to {0} '{1}' must implement '{2}' for interface '{3}'.. - - - - - Looks up a localized string similar to - {0}: {1}. - - - - - Looks up a localized string similar to Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse.. - - - - - Looks up a localized string similar to 'End' statement not valid.. - - - - - Looks up a localized string similar to Type expected.. - - - - - Looks up a localized string similar to Keyword does not name a type.. - - - - - Looks up a localized string similar to Type or 'With' expected.. - - - - - Looks up a localized string similar to Reference required to assembly '{0}' containing the type '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to assembly '{0}' containing the base class '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to assembly '{0}' containing the definition for event '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to assembly '{0}' containing the implemented interface '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to module '{0}' containing the type '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to module '{0}' containing the base class '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to module '{0}' containing the definition for event '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Reference required to module '{0}' containing the implemented interface '{1}'. Add one to your project.. - - - - - Looks up a localized string similar to Field '{0}.{1}' has an invalid constant value.. - - - - - Looks up a localized string similar to '{0}' is an unsupported event.. - - - - - Looks up a localized string similar to Field '{0}' is of an unsupported type.. - - - - - Looks up a localized string similar to '{0}' has a return type that is not supported or parameter types that are not supported.. - - - - - Looks up a localized string similar to '{0}' is an unsupported .NET module.. - - - - - Looks up a localized string similar to Property '{0}' is of an unsupported type.. - - - - - Looks up a localized string similar to '{0}' is an unsupported type.. - - - - - Looks up a localized string similar to String constants must end with a double quote.. - - - - - Looks up a localized string similar to '{0}' is not valid within a Module.. - - - - - Looks up a localized string similar to '{0}' is not valid within a structure.. - - - - - Looks up a localized string similar to '{0}' is valid only within an instance method.. - - - - - Looks up a localized string similar to Local variable '{0}' cannot be referred to before it is declared.. - - - - - Looks up a localized string similar to '{0}' accessor of '{1}' is obsolete.. - - - - - Looks up a localized string similar to '{0}' accessor of '{1}' is obsolete: '{2}'.. - - - - - Looks up a localized string similar to '{0}' is obsolete: '{1}'.. - - - - - Looks up a localized string similar to '{0}' is obsolete.. - - - - - Looks up a localized string similar to 'Using' operand of type '{0}' must implement 'System.IDisposable'.. - - - - - Looks up a localized string similar to 'Using' resource variable type can not be array type.. - - - - - Looks up a localized string similar to 'Using' resource variable must have an explicit initialization.. - - - - - Looks up a localized string similar to 'Structure' constraint and a specific class type constraint cannot be combined.. - - - - - Looks up a localized string similar to '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'.. - - - - - Looks up a localized string similar to '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'.. - - - - - Looks up a localized string similar to Keywords 'Out' and 'In' can only be used in interface and delegate declarations.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider using '{2}' instead.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in this context because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a property type in this context because '{0}' is an 'In' type parameter and the property is not marked WriteOnly.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a ReadOnly property type because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a return type because '{0}' is an 'In' type parameter.. - - - - - Looks up a localized string similar to Enumerations, classes, and structures cannot be declared in an interface that has an 'In' or 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a ByVal parameter type because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a generic type constraint because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in this context because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a property type in this context because '{0}' is an 'Out' type parameter and the property is not marked ReadOnly.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used as a WriteOnly property type because '{0}' is an 'Out' type parameter.. - - - - - Looks up a localized string similar to Event definitions with parameters are not allowed in an interface such as '{0}' that has 'In' or 'Out' type parameters. Consider declaring the event by using a delegate type which is not defined within '{0}'. For example, 'Event {1} As Action(Of ...)'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{2}' in '{3}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'.. - - - - - Looks up a localized string similar to Type '{0}' cannot be used for the '{3}' of '{4}' in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'.. - - - - - Looks up a localized string similar to The options /vbruntime* and /target:module cannot be combined.. - - - - - Looks up a localized string similar to XML attribute 'version' must be the first attribute in XML declaration.. - - - - - Looks up a localized string similar to Arrays of type 'System.Void' are not allowed in this expression.. - - - - - Looks up a localized string similar to Expression does not produce a value.. - - - - - Looks up a localized string similar to Warning treated as error : {0}. - - - - - Looks up a localized string similar to Event declarations that target WinMD must specify a delegate type. Add an As clause to the event declaration.. - - - - - Looks up a localized string similar to 'WithEvents' variables can only be typed as classes, interfaces or type parameters with class constraints.. - - - - - Looks up a localized string similar to 'WithEvents' variables must have an 'As' clause.. - - - - - Looks up a localized string similar to Properties declared 'WriteOnly' cannot have a 'Get'.. - - - - - Looks up a localized string similar to 'WriteOnly' property must provide a 'Set'.. - - - - - Looks up a localized string similar to 'WriteOnly' properties cannot have an access modifier on 'Set'.. - - - - - Looks up a localized string similar to The literal string ']]>' is not allowed in element content.. - - - - - Looks up a localized string similar to XML end element must be preceded by a matching start element.. - - - - - Looks up a localized string similar to XML entity references are not supported.. - - - - - Looks up a localized string similar to XML literals and XML axis properties are not available. Add references to System.Xml, System.Xml.Linq, and System.Core.. - - - - - Looks up a localized string similar to '{0}' is an XML prefix and cannot be used as an expression. Use the GetXmlNamespace operator to create a namespace object.. - - - - - Looks up a localized string similar to Division by zero occurred while evaluating this expression.. - - - - - Looks up a localized string similar to FieldInitializerSyntax not within syntax tree. - - - - - Looks up a localized string similar to File name '{0}' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long. - - - - - Looks up a localized string similar to FunctionSyntax not within syntax tree. - - - - - Looks up a localized string similar to IdentifierSyntax not within syntax tree. - - - - - Looks up a localized string similar to function return type. - - - - - Looks up a localized string similar to Adding embedded assembly reference '{0}'. - - - - - Looks up a localized string similar to Adding module reference '{0}'. - - - - - Looks up a localized string similar to Adding assembly reference '{0}'. - - - - - Looks up a localized string similar to <project settings>. - - - - - Looks up a localized string similar to The system cannot find the path specified. - - - - - Looks up a localized string similar to Unrecognized file format.. - - - - - Looks up a localized string similar to Unused import clause.. - - - - - Looks up a localized string similar to Unused import statement.. - - - - - Looks up a localized string similar to Location must be provided in order to provide minimal type qualification.. - - - - - Looks up a localized string similar to Microsoft (R) Visual Basic Compiler version {0}. - - - - - Looks up a localized string similar to Copyright (C) Microsoft Corporation. All rights reserved.. - - - - - Looks up a localized string similar to Node is not within syntax tree. - - - - - Looks up a localized string similar to Not a VB symbol.. - - - - - Looks up a localized string similar to not within tree. - - - - - Looks up a localized string similar to the number of type parameters and arguments should be the same. - - - - - Looks up a localized string similar to Position is not within syntax tree. - - - - - Looks up a localized string similar to Position must be within span of the syntax tree.. - - - - - Looks up a localized string similar to position of type parameter too large. - - - - - Looks up a localized string similar to Properties can not have type arguments. - - - - - Looks up a localized string similar to RangeVariableSyntax not within syntax tree. - - - - - Looks up a localized string similar to SemanticModel must be provided in order to provide minimal type qualification.. - - - - - Looks up a localized string similar to Syntax node to be speculated cannot belong to a syntax tree from the current compilation.. - - - - - Looks up a localized string similar to StatementOrExpression is not an ExecutableStatementSyntax or an ExpressionSyntax. - - - - - Looks up a localized string similar to Submission can have at most one syntax tree.. - - - - - Looks up a localized string similar to Syntax tree already present. - - - - - Looks up a localized string similar to SyntaxTree '{0}' not found to remove. - - - - - Looks up a localized string similar to There are no pointer types in VB.. - - - - - Looks up a localized string similar to There is no dynamic type in VB.. - - - - - Looks up a localized string similar to Tree must have a root node with SyntaxKind.CompilationUnit. - - - - - Looks up a localized string similar to trees({0}). - - - - - Looks up a localized string similar to trees({0}) must have root node with SyntaxKind.CompilationUnit.. - - - - - Looks up a localized string similar to Type argument cannot be Nothing. - - - - - Looks up a localized string similar to TypeParameter not within tree. - - - - - Looks up a localized string similar to variableSyntax not within syntax tree. - - - - - Looks up a localized string similar to Conversion from '{0}' to '{1}' may be ambiguous.. - - - - - Looks up a localized string similar to An instance of analyzer {0} cannot be created from {1} : {2}.. - - - - - Looks up a localized string similar to Cannot infer an element type; 'Object' assumed.. - - - - - Looks up a localized string similar to Cannot infer an element type because more than one type is possible; 'Object' assumed.. - - - - - Looks up a localized string similar to '{0}' is not CLS-compliant because it overloads '{1}' which differs from it only by array of array parameter types or by the rank of the array parameter types.. - - - - - Looks up a localized string similar to Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source.. - - - - - Looks up a localized string similar to Possible problem detected while building assembly: {0}. - - - - - Looks up a localized string similar to Possible problem detected while building assembly '{0}': {1}. - - - - - Looks up a localized string similar to This async method lacks 'Await' operators and so will run synchronously. Consider using the 'Await' operator to await non-blocking API calls, or 'Await Task.Run(...)' to do CPU-bound work on a background thread.. - - - - - Looks up a localized string similar to Some overloads here take an Async Function rather than an Async Sub. Consider either using an Async Function, or casting this Async Sub explicitly to the desired type.. - - - - - Looks up a localized string similar to Bad checksum value, non hex digits or odd number of hex digits.. - - - - - Looks up a localized string similar to Bad GUID format.. - - - - - Looks up a localized string similar to unrecognized option '{0}'; ignored. - - - - - Looks up a localized string similar to The language name '{0}' is invalid.. - - - - - Looks up a localized string similar to '{0}' is not CLS-compliant because it derives from '{1}', which is not CLS-compliant.. - - - - - Looks up a localized string similar to Could not find standard library '{0}'.. - - - - - Looks up a localized string similar to System.CLSCompliantAttribute cannot be applied to property 'Get' or 'Set'.. - - - - - Looks up a localized string similar to '{0}' method for event '{1}' cannot be marked CLS compliant because its containing type '{2}' is not CLS compliant.. - - - - - Looks up a localized string similar to {0} '{1}' cannot be marked CLS-compliant because its containing type '{2}' is not CLS-compliant.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' on class '{0}' implicitly declares {1} '{2}', which conflicts with a member of the same name in {3} '{4}'. Use 'Microsoft.VisualBasic.ComClassAttribute(InterfaceShadows:=True)' if you want to hide the name on the base {4}.. - - - - - Looks up a localized string similar to 'Microsoft.VisualBasic.ComClassAttribute' is specified for class '{0}' but '{0}' has no public members that can be exposed to COM; therefore, no COM interfaces are generated.. - - - - - Looks up a localized string similar to '{0}' cannot be exposed to COM as a property 'Let'. You will not be able to assign non-object values (such as numbers or strings) to this property from Visual Basic 6.0 using a 'Let' statement.. - - - - - Looks up a localized string similar to Attribute 'Conditional' is only valid on 'Sub' declarations.. - - - - - Looks up a localized string similar to Referenced assembly '{0}' targets a different processor.. - - - - - Looks up a localized string similar to Type arguments inferred for method '{0}' result in the following warnings :{1}. - - - - - Looks up a localized string similar to System.Diagnostics.DebuggerHiddenAttribute does not affect 'Get' or 'Set' when applied to the Property definition. Apply the attribute directly to the 'Get' and 'Set' procedures as appropriate.. - - - - - Looks up a localized string similar to Function '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.. - - - - - Looks up a localized string similar to Function '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement?. - - - - - Looks up a localized string similar to Operator '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.. - - - - - Looks up a localized string similar to Operator '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement?. - - - - - Looks up a localized string similar to Property '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.. - - - - - Looks up a localized string similar to Property '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement?. - - - - - Looks up a localized string similar to The AddHandler for Windows Runtime event '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement?. - - - - - Looks up a localized string similar to Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime.. - - - - - Looks up a localized string similar to Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime.. - - - - - Looks up a localized string similar to Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use. - - - - - Looks up a localized string similar to Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use. - - - - - Looks up a localized string similar to Default property '{0}' conflicts with the default property '{1}' in the base {2} '{3}'. '{0}' will be the default property. '{0}' should be declared 'Shadows'.. - - - - - Looks up a localized string similar to Delay signing was specified and requires a public key, but no public key was specified.. - - - - - Looks up a localized string similar to 'Catch' block never reached; '{0}' handled above in the same Try statement.. - - - - - Looks up a localized string similar to The xmlns attribute has special meaning and should not be written with a prefix.. - - - - - Looks up a localized string similar to Underlying type '{0}' of Enum is not CLS-compliant.. - - - - - Looks up a localized string similar to This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is null consider using 'Is Nothing'.. - - - - - Looks up a localized string similar to Delegate type '{0}' of event '{1}' is not CLS-compliant.. - - - - - Looks up a localized string similar to '{0}' in designer-generated type '{1}' should call InitializeComponent method.. - - - - - Looks up a localized string similar to Type of member '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to source file '{0}' specified multiple times. - - - - - Looks up a localized string similar to Generic parameter constraint type '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Cannot infer a common type; 'Object' assumed.. - - - - - Looks up a localized string similar to Cannot infer a common type because more than one type is possible; 'Object' assumed.. - - - - - Looks up a localized string similar to Option /win32manifest ignored. It can be specified only when the target is an assembly.. - - - - - Looks up a localized string similar to Implicit conversion from '{0}' to '{1}'.. - - - - - Looks up a localized string similar to Implicit conversion from '{1}' to '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument.. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly from assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly.. - - - - - Looks up a localized string similar to '{0}' is not CLS-compliant because the interface '{1}' it inherits from is not CLS-compliant.. - - - - - Looks up a localized string similar to Runtime errors might occur when converting '{0}' to '{1}'.. - - - - - Looks up a localized string similar to Assembly reference '{0}' is invalid and cannot be resolved.. - - - - - Looks up a localized string similar to The specified version string does not conform to the recommended format - major.minor.build.revision. - - - - - Looks up a localized string similar to warning number '{0}' for the option '{1}' is either not configurable or not valid. - - - - - Looks up a localized string similar to Cannot infer a return type; 'Object' assumed.. - - - - - Looks up a localized string similar to Lambda expression will not be removed from this event handler. Assign the lambda expression to a variable and use the variable to add and remove the event.. - - - - - Looks up a localized string similar to Cannot infer a return type because more than one type is possible; 'Object' assumed.. - - - - - Looks up a localized string similar to Late bound resolution; runtime errors could occur.. - - - - - Looks up a localized string similar to Using the iteration variable in a lambda expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable.. - - - - - Looks up a localized string similar to Using the iteration variable in a query expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable.. - - - - - Looks up a localized string similar to The entry point of the program is global script code; ignoring '{0}' entry point.. - - - - - Looks up a localized string similar to {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in the base {4} '{5}' and should be declared 'Shadows'.. - - - - - Looks up a localized string similar to Function without an 'As' clause; return type of Object assumed.. - - - - - Looks up a localized string similar to Operator without an 'As' clause; type of Object assumed.. - - - - - Looks up a localized string similar to Property without an 'As' clause; type of Object assumed.. - - - - - Looks up a localized string similar to Variable declaration without an 'As' clause; type of Object assumed.. - - - - - Looks up a localized string similar to File name already declared with a different GUID and checksum value.. - - - - - Looks up a localized string similar to {0} '{1}' shadows an overloadable member declared in the base {2} '{3}'. If you want to overload the base method, this method must be declared 'Overloads'.. - - - - - Looks up a localized string similar to {0} '{1}' shadows an overridable method in the base {2} '{3}'. To override the base method, this method must be declared 'Overrides'.. - - - - - Looks up a localized string similar to {0} '{1}' conflicts with other members of the same name across the inheritance hierarchy and so should be declared 'Shadows'.. - - - - - Looks up a localized string similar to Local variable '{0}' is read-only. When its type is a structure, invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block.. - - - - - Looks up a localized string similar to Local variable '{0}' is read-only and its type is a structure. Invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block.. - - - - - Looks up a localized string similar to Name '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Casing of namespace name '{0}' does not match casing of namespace name '{1}' in '{2}'.. - - - - - Looks up a localized string similar to The assembly {0} does not contain any analyzers.. - - - - - Looks up a localized string similar to ignoring /noconfig option because it was specified in a response file. - - - - - Looks up a localized string similar to Non CLS-compliant '{0}' is not allowed in a CLS-compliant interface.. - - - - - Looks up a localized string similar to Non CLS-compliant 'Mustoverride' member is not allowed in CLS-compliant type '{0}'.. - - - - - Looks up a localized string similar to Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete.. - - - - - Looks up a localized string similar to Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'.. - - - - - Looks up a localized string similar to This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is not null consider using 'IsNot Nothing'.. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to {0}. - - - - - Looks up a localized string similar to Operands of type Object used for operator '{0}'; use the 'Is' operator to test object identity.. - - - - - Looks up a localized string similar to Operands of type Object used for operator '{0}'; use the 'IsNot' operator to test object identity.. - - - - - Looks up a localized string similar to Operands of type Object used for operator '{0}'; runtime errors could occur.. - - - - - Looks up a localized string similar to Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur.. - - - - - Looks up a localized string similar to Using DirectCast operator to cast a value-type to the same type is obsolete.. - - - - - Looks up a localized string similar to Type of optional value for optional parameter '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to 'Catch' block never reached, because '{0}' inherits from '{1}'.. - - - - - Looks up a localized string similar to {0} '{1}' conflicts with {2} '{1}' in the base {3} '{4}' and should be declared 'Shadows'.. - - - - - Looks up a localized string similar to Type of parameter '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Local name '{0}' is too long for PDB. Consider shortening or compiling without /debug.. - - - - - Looks up a localized string similar to Import string '{0}' is too long for PDB. Consider shortening or compiling without /debug.. - - - - - Looks up a localized string similar to It is not recommended to have attributes named xmlns. Did you mean to write 'xmlns:{0}' to define a prefix named '{0}'?. - - - - - Looks up a localized string similar to Return type of function '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Range variable is assumed to be of type Object because its type cannot be inferred. Use an 'As' clause to specify a different type.. - - - - - Looks up a localized string similar to Statement recursively calls the containing '{0}' for event '{1}'.. - - - - - Looks up a localized string similar to Expression recursively calls the containing Operator '{0}'.. - - - - - Looks up a localized string similar to Expression recursively calls the containing property '{0}'.. - - - - - Looks up a localized string similar to Referenced assembly '{0}' has different culture setting of '{1}'.. - - - - - Looks up a localized string similar to The 'AddressOf' expression has no effect in this context because the method argument to 'AddressOf' requires a relaxed conversion to the delegate type of the event. Assign the 'AddressOf' expression to a variable, and use the variable to add or remove the method as the handler.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete.. - - - - - Looks up a localized string similar to First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}'. - - - - - Looks up a localized string similar to Attributes applied on a return type of a WriteOnly Property have no effect.. - - - - - Looks up a localized string similar to Root namespace '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Name '{0}' in the root namespace '{1}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Range specified for 'Case' statement is not valid. Make sure that the lower bound is less than or equal to the upper bound.. - - - - - Looks up a localized string similar to Type parameter '{0}' has the same name as a type parameter of an enclosing type. Enclosing type's type parameter will be shadowed.. - - - - - Looks up a localized string similar to Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.. - - - - - Looks up a localized string similar to Static variable declared without an 'As' clause; type of Object assumed.. - - - - - Looks up a localized string similar to {0} '{1}' implicitly declares '{2}', which conflicts with a member in the base {3} '{4}', and so the {0} should be declared 'Shadows'.. - - - - - Looks up a localized string similar to {0} '{1}' implicitly declares '{2}', which conflicts with a member implicitly declared for {3} '{4}' in the base {5} '{6}'. {0} should be declared 'Shadows'.. - - - - - Looks up a localized string similar to {0} '{1}' and partial {2} '{3}' conflict in {4} '{5}', but are being merged because one of them is declared partial.. - - - - - Looks up a localized string similar to Data type of '{0}' in '{1}' could not be inferred. '{2}' assumed.. - - - - - Looks up a localized string similar to Type '{0}' is not CLS-compliant.. - - - - - Looks up a localized string similar to Unable to load analyzer assembly {0} : {1}.. - - - - - Looks up a localized string similar to Namespace or type specified in the Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.. - - - - - Looks up a localized string similar to Namespace or type specified in the project-level Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.. - - - - - Looks up a localized string similar to The command line switch '{0}' is not yet implemented in Roslyn and was ignored.. - - - - - Looks up a localized string similar to The Task returned from this Async Function will be dropped, and any exceptions in it ignored. Consider changing it to an Async Sub so its exceptions are propagated.. - - - - - Looks up a localized string similar to Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the Await operator to the result of the call.. - - - - - Looks up a localized string similar to Unreachable code detected.. - - - - - Looks up a localized string similar to Unused local variable: '{0}'.. - - - - - Looks up a localized string similar to Unused local constant: '{0}'.. - - - - - Looks up a localized string similar to '{0}' accessor of '{1}' is obsolete.. - - - - - Looks up a localized string similar to '{0}' accessor of '{1}' is obsolete: '{2}'.. - - - - - Looks up a localized string similar to '{0}' is obsolete: '{1}'.. - - - - - Looks up a localized string similar to '{0}' is obsolete.. - - - - - Looks up a localized string similar to Use command-line option '{0}' or appropriate project settings instead of '{1}'.. - - - - - Looks up a localized string similar to Cannot convert '{0}' to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'.. - - - - - Looks up a localized string similar to Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'.. - - - - - Looks up a localized string similar to Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'.. - - - - - Looks up a localized string similar to Interface '{0}' is ambiguous with another implemented interface '{1}' due to the 'In' and 'Out' parameters in '{2}'.. - - - - - Looks up a localized string similar to '{0}' cannot be converted to '{1}'. Consider using '{2}' instead.. - - - - - Looks up a localized string similar to Unable to create XML documentation file '{0}': {1}. - - - - - Looks up a localized string similar to Unable to include XML fragment '{1}' of file '{0}'. {2}. - - - - - Looks up a localized string similar to XML comment type parameter '{0}' does not match a type parameter on the corresponding '{1}' statement.. - - - - - Looks up a localized string similar to XML comment parameter '{0}' does not match a parameter on the corresponding '{1}' statement.. - - - - - Looks up a localized string similar to XML comment block must immediately precede the language element to which it applies. XML comment will be ignored.. - - - - - Looks up a localized string similar to XML comment has a tag with a 'cref' attribute '{0}' that could not be resolved.. - - - - - Looks up a localized string similar to XML comment has a tag with a 'cref' attribute '{0}' that bound to a type parameter. Use the <typeparamref> tag instead.. - - - - - Looks up a localized string similar to XML comment tag '{0}' appears with identical attributes more than once in the same XML comment block.. - - - - - Looks up a localized string similar to XML comment exception must have a 'cref' attribute.. - - - - - Looks up a localized string similar to XML comment type parameter must have a 'name' attribute.. - - - - - Looks up a localized string similar to XML comment tag '{0}' is not permitted on a '{1}' language element.. - - - - - Looks up a localized string similar to XML comment cannot appear within a method or a property. XML comment will be ignored.. - - - - - Looks up a localized string similar to Unable to include XML fragment '{0}' of file '{1}'.. - - - - - Looks up a localized string similar to Only one XML comment block is allowed per language element.. - - - - - Looks up a localized string similar to XML comment must be the first statement on a line. XML comment will be ignored.. - - - - - Looks up a localized string similar to XML comment cannot be applied more than once on a partial {0}. XML comments for this {0} will be ignored.. - - - - - Looks up a localized string similar to XML comment parameter must have a 'name' attribute.. - - - - - Looks up a localized string similar to XML documentation parse error: {0} XML comment will be ignored.. - - - - - Looks up a localized string similar to XML comment tag 'returns' is not permitted on a 'declare sub' language element.. - - - - - Looks up a localized string similar to XML comment tag 'returns' is not permitted on a 'WriteOnly' Property.. - - - - - Looks up a localized string similar to XML documentation parse error: Start tag '{0}' doesn't have a matching end tag. XML comment will be ignored.. - - - - - Looks up a localized string similar to XML documentation comments must precede member or type declarations.. - - - - - Looks up a localized string similar to XML comment tag 'include' must have a '{0}' attribute. XML comment will be ignored.. - - - - - Looks up a localized string similar to Wrong number of type arguments. - - - - - Looks up a localized string similar to Expected a {0} SemanticModel.. - - - - - A class representing Visual Basic compilation Options. - - - - - Initializes a new instance of the VisualBasicCompilationOptions type with various options. - - The compilation output kind. - An optional parameter to specify the name of the assembly that this module will be a part of. - An optional parameter to specify the class or module that contains the Sub Main procedure. - An optional parameter to specify an alteranate DefaultScriptClassName object to be used. - An optional collection of GlobalImports . - An optional parameter to specify the name of the default root namespace. - An optional parameter to specify the default Option Strict behavior. - An optional parameter to specify default Option Infer behavior. - An optional parameter to specify the default Option Explicit behavior. - An optional parameter to specify the default Option Compare Text behavior. - An optional parameter to specify the embedded Visual Basic Core Runtime behavior. - An optional parameter to specify enabling/disabling overflow checking. - An optional parameter to specify enabling/disabling concurrent build. - An optional parameter to specify a key container name for a key pair to give an assembly a strong name. - An optional parameter to specify a file containing a key or key pair to give an assembly a strong name. - An optional parameter to specify whether the assembly will be fully or partially signed. - An optional parameter to specify a default base address when creating a DLL. - An optional parameter to specify where to align the sections of the output file. - An optional parameter to specify which platform version of common language runtime (CLR) can run compilation. - An optional parameter to specify the general warning level. - An optional collection representing specific warnings that differ from general warning behavior. - An optional parameter to specify whether a 64-bit executable supports high entropy Address Space Layout Randomization (ASLR). - An optional parameter to specify the level of debugging information to be generated. - An optional parameter to enabled/disable optimization. - An optional parameter to specify an alternate subsystem version. Specifies the minimum version of the subsystem on which the generated executable file can run, thereby determining the versions of Windows on which the executable file can run. Most commonly, this option ensures that the executable file can leverage particular security features that aren�t available with older versions of Windows. - An optional parameter to specify the parse options. - An optional parameter to specify the XML file resolver. - An optional parameter to specify the source file resolver. - An optional parameter the . - An optional parameter the . - An optional parameter the . - An optional parameter the . - - - - Initializes an instance of VisualBasicCompilationOptions. - - A SerializationInfo object that contains the information required to serialize the VisualBasicCompilationOptions instance. - A StreamingContext object that contains the source and destination of the serialized stream associated with the VisualBasicCompilationOptions instance. - - - - Implements the System.Runtime.Serialization.ISerializable interface and returns the data needed to serialize the VisualBasicCompilationOptions instance. - - A SerializationInfo object that contains the information required to serialize the VisualBasicCompilationOptions instance. - A StreamingContext object that contains the source and destination of the serialized stream associated with the VisualBasicCompilationOptions instance. - - - - Gets the global imports collection. - - The global imports. - - - - Gets the default namespace for all source code in the project. Corresponds to the - "RootNamespace" project option or the "/rootnamespace" command line option. - - The default namespace. - - - - Gets the Option Strict Setting. - - The Option Strict setting. - - - - Gets the Option Infer setting. - - The Option Infer setting. True if Option Infer On is in effect by default. False if Option Infer Off is on effect by default. - - - - Gets the Option Explicit setting. - - The Option Explicit setting. True if Option Explicit On is in effect by default. False if Option Explicit Off is on by default. - - - - Gets the Option Compare Text setting. - - - The Option Compare Text Setting, True if Option Compare Text is in effect by default. False if Option Compare Binary is - in effect by default. - - - - - Gets the Embed Visual Basic Core Runtime setting. - - - The EmbedVbCoreRuntime setting, True if VB core runtime should be embedded in the compilation. Equal to '/vbruntime*' - - - - - Gets the Parse Options setting. - Compilation level parse options. Used when compiling synthetic embedded code such as My template - - The Parse Options Setting. - - - - Creates a new VisualBasicCompilationOptions instance with a different OutputKind specified. - - The Output Kind. - A new instance of VisualBasicCompilationOptions, if the output kind is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance With a different ModuleName specified. - - The moduleName. - A new instance of VisualBasicCompilationOptions, if the module name is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance With a different SubSystemVersion specified. - - The SubsystemVersion for the new instance. - A new instance of VisualBasicCompilationOptions, if the subsystem version build is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a Script Class Name specified. - - The name for the ScriptClassName. - A new instance of VisualBasicCompilationOptions, if the script class name is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different Main Type name specified. - - The name for the MainType . - A new instance of VisualBasicCompilationOptions, if the main type name is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different global imports specified. - - A collection of Global Imports . - A new instance of VisualBasicCompilationOptions. - - - - Creates a new VisualBasicCompilationOptions instance with a different global imports specified. - - A collection of Global Imports . - A new instance of VisualBasicCompilationOptions. - - - - Creates a new VisualBasicCompilationOptions instance with a different global imports specified. - - A collection of Global Imports . - A new instance of VisualBasicCompilationOptions. - - - - Creates a new VisualBasicCompilationOptions instance with a different root namespace specified. - - The root namespace. - A new instance of VisualBasicCompilationOptions, if the root namespace is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different option strict specified. - - The Option Strict setting. - A new instance of VisualBasicCompilationOptions, if the option strict is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different option infer specified. - - The Option infer setting. - A new instance of VisualBasicCompilationOptions, if the option infer is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different option explicit specified. - - The Option Explicit setting. - A new instance of VisualBasicCompilationOptions, if the option explicit is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different Option Compare Text specified. - - The Option Compare Text setting. - A new instance of VisualBasicCompilationOptions, if the option compare text is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different Embed VB Core Runtime specified. - - The Embed VB Core Runtime setting. - A new instance of VisualBasicCompilationOptions, if the embed vb core runtime is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different Overflow checks specified. - - The overflow check setting. - A new instance of VisualBasicCompilationOptions, if the overflow check is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different concurrent build specified. - - The concurrent build setting. - A new instance of VisualBasicCompilationOptions, if the concurrent build is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different cryptography key container specified - - The name of the cryptography key container. - A new instance of VisualBasicCompilationOptions, if the cryptography key container name is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different cryptography key file path specified. - - The cryptography key file path. - A new instance of VisualBasicCompilationOptions, if the cryptography key path is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different delay signing specified. - - The delay signing setting. - A new instance of VisualBasicCompilationOptions, if the delay sign is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different base address specified. - - The base address setting. - A new instance of VisualBasicCompilationOptions, if the base address is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different file alignment specified. - - The file alignment setting. - A new instance of VisualBasicCompilationOptions, if the file alignment is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different platform specified. - - The platform setting. - A new instance of VisualBasicCompilationOptions, if the platform is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different report warning specified. - - The Report Warning setting. - A new instance of VisualBasicCompilationOptions, if the report warning is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with different specific warnings specified. - - Specific report warnings. - A new instance of VisualBasicCompilationOptions, if the dictionary of report warning is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with different specific warnings specified. - - Specific report warnings. - A new instance of VisualBasicCompilationOptions, if the dictionary of report warning is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different high entropy virtual address space specified - - The high entropy virtual address space setting. - A new instance of VisualBasicCompilationOptions, if the high entropy virtual address space is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different optimize specified. - - The optimize setting. - A new instance of VisualBasicCompilationOptions, if the optimize kind is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different Debug info type specified. - - The Debug setting. - A new instance of VisualBasicCompilationOptions, if the debug kind is different; otherwise current instance. - - - - Creates a new VisualBasicCompilationOptions instance with a different parse option specified. - - The parse option setting. - A new instance of VisualBasicCompilationOptions, if the parse options is different; otherwise current instance. - - - - Determines whether the current object is equal to another object of the same type. - - A VisualBasicCompilationOptions to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Indicates whether the current object is equal to another object. - - A object to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Creates a hashcode for this instance. - - A hashcode representing this instance. - - - - Checks to see if SyntaxToken is a bracketed identifier. - - The source SyntaxToken. - A boolean value, True if token represents a bracketed Identifier. - - - - Returns the Type character for a given syntax token. This returns type character for Indentifiers or Integer, Floating Point or Decimal Literals. - Examples: Dim a$ or Dim l1 = 1L - - The source SyntaxToken. - A type character used for the specific Internal Syntax Token Types. - - - - The source token base for Integer literals. Base can be Decimal, Hex or Octal. - - The source SyntaxToken. - An instance representing the integer literal base. - - - - Determines if the token represents a reserved or contextual keyword - - The source SyntaxToken. - A boolean value True if token is a keyword. - - - - Determines if the token represents a reserved keyword - - The source SyntaxToken. - A boolean value True if token is a reserved keyword. - - - - Determines if the token represents a contextual keyword - - A boolean value True if token is a contextual keyword. - - - - Determines if the token represents a preprocessor keyword - - The source SyntaxToken. - A boolean value True if token is a pre processor keyword. - - - - Returns the Identifiertext for a specified SyntaxToken. - - - - - Insert one or more tokens in the list at the specified index. - - A new list with the tokens inserted. - - - - Add one or more tokens to the end of the list. - - A new list with the tokens added. - - - - Replaces trivia on a specified SyntaxToken. - - The source SyntaxToken to change trivia on. - The original Trivia. - The updated Trivia. - The updated SyntaxToken with replaced trivia. - - - - Replaces trivia on a specified SyntaxToken. - - - - - Gets the DirectiveTriviaSyntax items for a specified SytaxNode with optional filtering. - - The source SyntaxNode. - The optional DirectiveTriva Syntax filter predicate. - A list of DirectiveTriviaSyntax items - - - - Gets the first DirectiveTriviaSyntax item for a specified SyntaxNode. - - The source SyntaxNode. - The optional DirectiveTriviaSyntax filter predicate. - The first DirectiveSyntaxTrivia item. - - - - Gets the last DirectiveTriviaSyntax item for a specified SyntaxNode. - - The source node - The optional DirectiveTriviaSyntax filter predicate. - The last DirectiveSyntaxTrivia item. - - - - Gets the root CompilationUnitSytax for a specified SyntaxTree. - - The source SyntaxTree. - A CompilationUnitSyntax. - - - - Determines if symbol is Shared. - - The source symbol. - A boolean value, True if symbol is Shared; otherwise False. - - - - Gets all module members in a namespace. - - The source namespace symbol. - An ImmutableArray of NamedTypeSymbol for all module members in namespace. - - - - Gets all module members in a specified namespace. - - The source namespace symbol. - The name of the namespace. - An ImmutableArray of NamedTypeSymbol for all module members in namespace. - - - - Gets the Semantic Model OptionStrict property. - - A source Semantic model object. - The OptionStrict object for the semantic model instance OptionStrict property, otherise Null if semantic model is Null. - - - - Gets the Semantic Model OptionInfer property. - - A source Semantic model object. - A boolean values, for the semantic model instance OptionInfer property. otherise Null if semantic model is Null. - - - - Gets the Semantic Model OptionExplicit property. - - A source Semantic model object. - A boolean values, for the semantic model instance OptionExplicit property. otherise Null if semantic model is Null. - - - - Gets the Semantic Model OptionCompareText property. - - A source Semantic model object. - A boolean values, for the semantic model instance OptionCompareText property. otherise Null if semantic model is Null. - - - - Gets the compilation RootNamespace property. - - A source Compilation object. - A NamespaceSymbol instance, for the compilation instance RootNamespace property. otherwise Null if compilation instance is Null. - - - - Gets the compilation AliasImports property. - - A source Compilation object. - An ImmutableArray of AliasSymbol, from the compilation instance AliasImports property; otherwise an empty ImmutableArray if compilation instance is Null. - - - - Gets the compilation MemberImports property. - - A source Compilation object. - An ImmutableArray of NamespaceOrTypeSymbol, from the compilation instance MemberImports property; otherwise an empty ImmutableArray if compilation instance is Null. - - - - Determines what kind of conversion there is between the specified types. - - A source Compilation object. - A source Typesymbol - A destination Typesymbol - A Conversion instance, representing the kind of conversion between the two type symbols; otherwise Null if compilation instance is Null. - - - - Gets the special type symbol in current compilation. - - A source Compilation object. - The SpecialType to get. - A NamedTypeSymbol for the specified type in compilation; Null if compilation is Null. - - - - Gets the compilation emit result. - - A source Compilation object. - A stream used to emit assembly. - A file name used to emit assembly. - A file name used to emit assembly debug information. - A stream used to emit assembly debug information. - A stream used to emit assembly XML doc comments. - A cancellation token. - A stream used to emit assembly resources. - A stream used to emit assembly manifest. - The emitted assembly; if there are no errors otherwise false; Null if compilation is Null. - - - - Determines what kind of conversion there is between the expression syntax and a specified type. - - A source semantic model. - A source expression syntax. - A destination TypeSymbol. - A Conversion instance, representing the kind of conversion between the expression and type symbol; otherwise Null if semantic model instance is Null. - - - - Determines what kind of conversion there is between the expression syntax and a specified type. - - A source semantic model. - A position within the expression syntax. - A source expression syntax. - A destination TypeSymbol. - A Conversion instance, representing the kind of conversion between the expression and type symbol; otherwise Null if semantic model instance is Null. - - - - Gets the corresponding symbol for a specified identifier. - - A source semantic model. - A IdentiferSyntax object. - A cancellation token. - A symbol, for the specified identifier; otherwise Null if semantic model is Null. - - - - Gets the corresponding PropertySymbol for a specified FieldInitializerSyntax. - - A source semantic model. - A fieldInitizerSyntax object. - A cancellation token. - A PropertySymbol. Null if semantic model is null. - - - - Gets the corresponding NamedTypeSymbol for a specified AnonymousObjectCreationExpressionSyntax. - - - - - Gets the corresponding RangeVariableSymbol for a specified ExpressionRangeVariableSyntax. - - - - - Gets the corresponding RangeVariableSymbol for a specified CollectionRangeVariableSyntax. - - - - - Gets the corresponding RangeVariableSymbol for a specified AggregationRangeVariableSyntax. - - - - - Gets the corresponding LabelSymbol for a specified LabelStatementSyntax. - - - - - Gets the corresponding FieldSymbol for a specified EnumMemberDeclarationSyntax. - - - - - Gets the corresponding NamedTypeSymbol for a specified TypeStatementSyntax. - - - - - Gets the corresponding NamedTypeSymbol for a specified TypeBlockSyntax. - - - - - Gets the corresponding NamedTypeSymbol for a specified EnumStatementSyntax. - - - - - Gets the corresponding NamedTypeSymbol for a specified EnumBlockSyntax. - - - - - Gets the corresponding NamespaceSymbol for a specified NamespaceStatementSyntax. - - - - - Gets the corresponding NamespaceSymbol for a specified NamespaceBlockSyntax. - - - - - Gets the corresponding ParameterSymbol for a specified ParameterSyntax. - - - - - Gets the corresponding TypeParameterSymbol Symbol for a specified TypeParameterSyntax. - - - - - Gets the corresponding NamedTypeSymbol for a specified DelegateStatementSyntax. - - - - - Gets the corresponding MethodSymbol for a specified SubNewStatementSyntax. - - - - - Gets the corresponding MethodSymbol for a specified MethodStatementSyntax. - - - - - Gets the corresponding symbol for a specified DeclareStatementSyntax. - - - - - Gets the corresponding MethodSymbol for a specified OperatorStatementSyntax. - - - - - Gets the corresponding MethodSymbol for a specified MethodBlockBaseSyntax. - - - - - Gets the corresponding PropertySymbol for a specified PropertyStatementSyntax. - - - - - Gets the corresponding EventSymbol for a specified EventStatementSyntax. - - - - - Gets the corresponding PropertySymbol for a specified PropertyBlockSyntax. - - - - - Gets the corresponding EventSymbol for a specified EventBlockSyntax. - - - - - Gets the corresponding LocalSymbol for a specified CatchStatementSyntax. - - - - - Gets the corresponding MethodSymbol for a specified AccessorStatementSyntax. - - - - - Gets the corresponding AliasSymbol for a specified AliasImportsClauseSyntax. - - - - - Gets the corresponding ForEachStatementInfo containing semantic info for a specified ForEachStatementSyntax. - - - - - Gets the corresponding ForEachStatementInfo containing semantic info for a specified ForBlockSyntax. - - - - - Gets the corresponding AwaitExpressionInfo containing semantic info for a specified AwaitExpressionSyntax. - - - - - If the given node is within a preprocessing directive, gets the preprocessing symbol info for it. - - - - - Gets the corresponding SymbolInfo containing semantic info for a specified ExpressionSyntax. - - - - - Returns what 'Add' method symbol(s), if any, corresponds to the given expression syntax - within . - - - - - Gets the corresponding SymbolInfo containing semantic info for a specified CrefReferenceSyntax. - - - - - Gets the corresponding SymbolInfo containing semantic info for a specified AttributeSyntax. - - - - - Gets the corresponding SymbolInfo containing semantic info for a specified AttributeSyntax. - - - - - Gets the corresponding SymbolInfo containing semantic info for specified AttributeSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the corresponding TypeInfo containing semantic info for a specified ExpressionSyntax. - - - - - Gets the corresponding TypeInfo containing semantic info for a speculating an ExpressionSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the corresponding TypeInfo containing semantic info for a specified AttributeSyntax. - - - - - Gets the corresponding ImmutableArray of Symbols for a specified ExpressionSyntax. - - - - - Gets the corresponding ImmutableArray of Symbols for a speculating an ExpressionSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the corresponding ImmutableArray of Symbols for a specified AttributeSyntax. - - - - - If "nameSyntax" resolves to an alias name, return the AliasSymbol corresponding - to A. Otherwise return null. - - - - - Binds the name in the context of the specified location and sees if it resolves to an - alias name. If it does, return the AliasSymbol corresponding to it. Otherwise, return null. - - - - - Returns information about methods associated with CollectionRangeVariableSyntax. - - - - - Returns information about methods associated with AggregateClauseSyntax. - - - - - DistinctClauseSyntax - Returns Distinct method associated with DistinctClauseSyntax. - - WhereClauseSyntax - Returns Where method associated with WhereClauseSyntax. - - PartitionWhileClauseSyntax - Returns TakeWhile/SkipWhile method associated with PartitionWhileClauseSyntax. - - PartitionClauseSyntax - Returns Take/Skip method associated with PartitionClauseSyntax. - - GroupByClauseSyntax - Returns GroupBy method associated with GroupByClauseSyntax. - - JoinClauseSyntax - Returns Join/GroupJoin method associated with JoinClauseSyntax/GroupJoinClauseSyntax. - - SelectClauseSyntax - Returns Select method associated with SelectClauseSyntax, if needed. - - FromClauseSyntax - Returns Select method associated with FromClauseSyntax, which has only one - CollectionRangeVariableSyntax and is the only query clause within - QueryExpressionSyntax. NotNeeded SymbolInfo otherwise. - The method call is injected by the compiler to make sure that query is translated to at - least one method call. - - LetClauseSyntax - NotNeeded SymbolInfo. - - OrderByClauseSyntax - NotNeeded SymbolInfo. - - AggregateClauseSyntax - Empty SymbolInfo. GetAggregateClauseInfo should be used instead. - - - - - Returns Select method associated with ExpressionRangeVariableSyntax within a LetClauseSyntax, if needed. - NotNeeded SymbolInfo otherwise. - - - - - Returns aggregate function associated with FunctionAggregationSyntax. - - - - - Returns OrdrBy/OrderByDescending/ThenBy/ThenByDescending method associated with OrderingSyntax. - - - - - Analyze control-flow within a part of a method body. - - - - - Analyze control-flow within a part of a method body. - - - - - Analyze data-flow within an expression. - - - - - Analyze data-flow within a set of contiguous statements. - - - - - Analyze data-flow within a statement. - - - - - Gets the SemanticModel for a MethodBlockBaseSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the SemanticModel for a RangeArgumentSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the SemanticModel for a ExecutableStatementSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the SemanticModel for a EqualsValueSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the SemanticModel for a AttributeSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Gets the SemanticModel for a TypeSyntax at a given position, used in Semantic Info for items not appearing in source code. - - - - - Represents Visual Basic parse options. - - - - - Creates an instance of VisualBasicParseOptions. - - The parser language version. - The comentation mode. - The kind of source code. - An immutable array of KeyValuePair representing pre processor symbols. - - - - Returns the parser language version. - - - - - The preprocessor symbols to parse with. - - - May contain duplicate keys. The last one wins. - - - - - Returns a collection of preprocessor symbol names. - - - - - Returns a VisualBasicParseOptions instance for a specified language version. - - The parser language version. - A new instance of VisualBasicParseOptions if different language version is different; otherwise current instance. - - - - Returns a VisualBasicParseOptions instance for a specified source code kind. - - The parser source code kind. - A new instance of VisualBasicParseOptions if source code kind is different; otherwise current instance. - - - - Returns a VisualBasicParseOptions instance for a specified documentation mode. - - - A new instance of VisualBasicParseOptions if documentation mode is different; otherwise current instance. - - - - Returns a VisualBasicParseOptions instance for a specified collection of KeyValuePairs representing pre-processor symbols. - - A collection representing pre-processor symbols - A new instance of VisualBasicParseOptions. - - - - Returns a VisualBasicParseOptions instance for a specified collection of KeyValuePairs representing pre-processor symbols. - - An parameter array of KeyValuePair representing pre-processor symbols. - A new instance of VisualBasicParseOptions. - - - - Returns a VisualBasicParseOptions instance for a specified collection of KeyValuePairs representing pre-processor symbols. - - An ImmutableArray of KeyValuePair representing pre-processor symbols. - A new instance of VisualBasicParseOptions. - - - - Returns a ParseOptions instance for a specified Source Code Kind. - - The parser source code kind. - A new instance of ParseOptions. - - - - Returns a ParseOptions instance for a specified Documentation Mode. - - The documentation mode. - A new instance of ParseOptions. - - - - Determines whether the current object is equal to another object of the same type. - - An VisualBasicParseOptions object to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Indicates whether the current object is equal to another object. - - An object to compare with this object - A boolean value. True if the current object is equal to the other parameter; otherwise, False. - - - - Returns a hashcode for this instance. - - A hashcode representing this instance. - - - - Implements the System.Runtime.Serialization.ISerializable interface and returns the data needed to serialize the VisualBasicParseOptions instance. - - A SerializationInfo object that contains the information required to serialize the VisualBasicParseOptions instance. - A StreamingContext object that contains the source and destination of the serialized stream associated with the VisualBasicParseOptions instance. - - - - Enumeration with all Visual Basic syntax node kinds. - - - - - A class to represent an empty statement. This can occur when a colon is on a - line without anything else. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an "End XXX" statement, where XXX is a single keyword. - - - - - Represents an entire source file of VB code. - - - - - Represents an Option statement, such as "Option Strict On". - - - - - Represents an Imports statement, which has one or more imports clauses. - - - - - Represents the clause of an Imports statement that defines an alias for a - namespace or type. - - - - - Represents the clause of an Imports statement that imports all members of a - namespace. - - - - - Defines a XML namespace for XML expressions. - - - - - Represents a Namespace statement, its contents and the End Namespace statement. - - - - - Represents the beginning statement of a namespace declaration. This node always - appears as the Begin of a BlockStatement with Kind=NamespaceBlock. - - - - - Represents a declaration of Module, its contents and the End statement that - ends it. - - - - - Represents a declaration of a Structure, its contents and the End statement - that ends it. - - - - - Represents a declaration of a Interface, its contents and the End statement - that ends it. - - - - - Represents a declaration of a Class its contents and the End statement that - ends it. - - - - - Represents a declaration of an Enum, its contents and the End Enum statement - that ends it. - - - - - Represents an Inherits statement in a Class, Structure or Interface. - - - - - Represents an Implements statement in a Class or Structure. - - - - - Represents the beginning statement of a Module declaration. This node always - appears as the Begin of a TypeBlock with Kind=ModuleDeclarationBlock. - - - - - Represents the beginning statement of a Structure declaration. This node always - appears as the Begin of a TypeBlock with Kind=StructureDeclarationBlock. - - - - - Represents the beginning statement of a Interface declaration. This node always - appears as the Begin of a TypeBlock with Kind=InterfaceDeclarationBlock. - - - - - Represents the beginning statement of a Class declaration. This node always - appears as the Begin of a TypeBlock with Kind=ClassDeclarationBlock. - - - - - Represents the beginning statement of an Enum declaration. This node always - appears as the Begin of an EnumBlock with Kind=EnumDeclarationBlock. - - - - - Represents the type parameter list in a declaration. - - - - - Represents a type parameter on a generic type declaration. - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As Constraint". - - - - - One of the type parameter constraints clauses. This represents a constraint - clause in the form of "As { Constraints }". - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - - - One of the special type parameter constraints: New, Class or Structure. Which - kind of special constraint it is can be obtained from the Kind property and is - one of: NewConstraint, ReferenceConstraint or ValueConstraint. - - - - - Represents a type parameter constraint that is a type. - - - - - Represents a name and value in an EnumDeclarationBlock. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - Represents a Function or Sub block declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - Represents a constructor block declaration: A declaration that has a beginning - declaration, a body of executable statements and an end statement. - - - - - Represents an Operator block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents an accessor block member declaration: A declaration that has a - beginning declaration, a body of executable statements and an end statement. - Examples include property accessors and custom event accessors. - - - - - Represents a block property declaration: A declaration that has a beginning - declaration, some get or set accessor blocks and an end statement. - - - - - Represents a custom event declaration: A declaration that has a beginning event - declaration, some accessor blocks and an end statement. - - - - - Represents the parameter list in a method declaration. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - The statement that declares a Sub or Function. If this method has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - A statement that declares a constructor. This statement will be the Begin of a - BlockStatement with Kind=MethodDeclarationBlock, and the body of the method - will be the Body of that BlockStatement. - - - - - A Declare statement that declares an external DLL method. - - - - - A Declare statement that declares an external DLL method. - - - - - A statement that declares a delegate type. - - - - - A statement that declares a delegate type. - - - - - A statement that declares an event. If the event being declared is a custom - event, this statement will be the Begin of a PropertyOrEventBlock, and the - accessors will be part of the Accessors of that node. - - - - - A statement that declares an operator. If this operator has a body, this - statement will be the Begin of a BlockStatement with - Kind=MethodDeclarationBlock, and the body of the method will be the Body of - that BlockStatement. - - - - - Statement that declares a property. If this property has accessors declared, - this statement will be the Begin of a BlockNode, and the accessors will be the - Body of that node. Auto properties are property declarations without a - PropertyBlock. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents a Get or Set accessor on a property declaration or an AddHandler, - RemoveHandler or RaiseEvent accessor on a custom event declaration. The Kind of - the node determines what kind of accessor this is. This statement is always the - Begin of a BlockNode, and the body of the accessor is the Body of that node. - - - - - Represents the "Implements ..." clause on a type member, which describes which - interface members this member implements. - - - - - Represents the "Handles ..." clause on a method declaration that describes - which events this method handles. - - - - - Represents event container specified through special keywords "Me", "MyBase" or - "MyClass".. - - - - - Represents event container that refers to a WithEvents member. - - - - - Represents event container that refers to a WithEvents member's property. - - - - - Represents a single handled event in a "Handles ..." clause. - - - - - Represents the beginning of a declaration. However, not enough syntax is - detected to classify this as a field, method, property or event. This is node - always represents a syntax error. - - - - - Represents the declaration of one or more variables or constants, either as - local variables or as class/structure members. In the case of a constant, it is - represented by having "Const" in the Modifiers (although technically "Const" is - not a modifier, it is represented as one in the parse trees.) - - - - - Represents the part of a variable or constant declaration statement that - associated one or more variable names with a type. - - - - - Represents an "As {type-name}" clause that does not have an initializer or - "New". The type has optional attributes associated with it, although attributes - are not permitted in all possible places where this node occurs. - - - - - Represents an "As New {type-name} [arguments] [initializers]" clause in a - declaration. The type has optional attributes associated with it, although - attributes are not permitted in many places where this node occurs (they are - permitted, for example, on automatically implemented properties.) - - - - - Represents a "With {...} clause used to initialize a new object's members. - - - - - Represents a "From {...} clause used to initialize a new collection object's - elements. - - - - - Represent a field initializer in a With {...} initializer where the field name - is inferred from the initializer expression. - - - - - Represent a named field initializer in a With {...} initializer, such as ".x = - expr". - - - - - Represents an "= initializer" clause in a declaration for a variable, - pararameter or automatic property. - - - - - Represent a parameter to a method, property, constructor, etc. - - - - - Represents an identifier with optional "?" or "()" or "(,,,)" modifiers, as - used in parameter declarations and variable declarations. - - - - - Represents a modifier that describes an array type, without bounds, such as - "()" or "(,)". - - - - - Represents a group of attributes within "<" and ">" brackets. - - - - - Represents a single attribute declaration within an attribute list. - - - - - Represents a single attribute declaration within an attribute list. - - - - - Represents a file-level attribute, in which the attributes have no other - syntactic element they are attached to. - - - - - Represent an expression in a statement context. This may only be a invocation - or await expression in standard code but may be any expression in VB - Interactive code. - - - - - Represent a "? expression" "Print" statement in VB Interactive code. - - - - - Represents a While...End While statement, including the While, body and End - While. - - - - - Represents an entire Using...End Using statement, including the Using, body and - End Using statements. - - - - - Represents a entire SyncLock...End SyncLock block, including the SyncLock - statement, the enclosed statements, and the End SyncLock statement. - - - - - Represents a With...End With block, include the With statement, the body of the - block and the End With statement. - - - - - Represents the declaration of one or more local variables or constants. - - - - - Represents a label statement. - - - - - Represents a "GoTo" statement. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - A label for a GoTo, Resume, or On Error statement. An identifier, line number, - or next keyword. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - - - Represents a "Stop" or "End" statement. The Kind can be used to determine which - kind of statement this is. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - An exit statement. The kind of block being exited can be found by examining the - Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Continue (block)" statement. THe kind of block referenced can be - determined by examining the Kind. - - - - - Represents a "Return" statement. - - - - - Represents a line If-Then-Else statement. - - - - - Represents part of a single line If statement, consisting of a beginning - if-statement, followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an SingleLineIf. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - Represents a block If...Then...Else...EndIf Statement. The Kind property can be - used to determine if it is a block or line If. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - - - Represents part of an If statement, consisting of a beginning statement (If or - ElseIf), followed by a body of statement controlled by that beginning - statement. The Kind property returns if this is an If or ElseIf. - - - - - Represents the Else part of an If statement, consisting of a Else statement, - followed by a body of statement controlled by that Else. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - - - Represents the If part or ElseIf part of a If...End If block (or line If). This - statement is always the Begin of a IfPart. The Kind can be examined to - determine if this is an If or an ElseIf statement. - - - - - Represents the Else part of a If...End If block (or line If). This statement is - always the Begin of a ElsePart. - - - - - Represents an entire Try...Catch...Finally...End Try statement. - - - - - Represents part of an Try...Catch...Finally...End Try statement, consisting of - a beginning statement (Try, Catch or Finally), followed by a body of statements - controlled by that beginning statement. The Kind property returns which kind of - part this is. - - - - - Represents a Catch part of an Try...Catch...Finally...End Try statement, - consisting of a Catch statement, followed by a body of statements controlled by - that Catch statement. The Kind property returns which kind of part this is. - - - - - Represents the Finally part of an Try...Catch...Finally...End Try statement, - consisting of a Finally statement, followed by a body of statements controlled - by the Finally. - - - - - Represents the Try part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a TryPart. - - - - - Represents the Catch part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a CatchPart. - - - - - Represents the When/Filter clause of a Catch statement - - - - - Represents the Finally part part of a Try...Catch...Finally...End Try. This - statement is always the Begin of a FinallyPart. - - - - - Represents the "Error" statement. - - - - - Represents an OnError Goto statement. - - - - - Represents an OnError Goto statement. - - - - - Represents an OnError Goto statement. - - - - - Represents an OnError Resume Next statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a "Resume" statement. The Kind property can be used to determine if - this is a "Resume", "Resume Next" or "Resume label" statement. - - - - - Represents a Select Case block, including the Select Case that begins it, the - contains Case blocks and the End Select. - - - - - Represents a Select Case statement. This statement always occurs as the Begin - of a SelectBlock. - - - - - Represents a case statement and its subsequent block. - - - - - Represents a case statement and its subsequent block. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - - - Represents a Case or Case Else statement. This statement is always the Begin of - a CaseBlock. If this is a Case Else statement, the Kind=CaseElse, otherwise the - Kind=Case. - - - - - The "Else" part in a Case Else statement. - - - - - Represents a single value in a Case. - - - - - Represents a range "expression To expression" in a Case. - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents a relation clause in a Case statement, such as "Is > expression". - - - - - Represents the "SyncLock" statement. This statement always occurs as the Begin - of a SyncLockBlock. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - - - Represents a Do-Loop block. The Kind property can be used to determine if this - is a top-test, bottom-test or infinite loop. - - - - - The Do statement that begins a Do-Loop block. This statement always occurs as - the Begin of a DoLoopBlock. - - - - - The Loop statement that ends a Do-Loop block. This statement always occurs as - the End of a DoLoopBlock. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - - - Represents a "While expression" or "Until expression" in a Do or Loop - statement. The Kind of the clause can be "WhileClause" or "UntilClause" to - indicate which kind of clause. - - - - - The While statement that begins a While...End While block. This statement - always occurs as the Begin of a WhileBlock. - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - - - Represents a For or For Each block, including the introducting statement, the - body and the "Next" (which can be omitted if a containing For has a Next with - multiple variables). - - - - - The For statement that begins a For-Next block. This statement always occurs as - the Begin of a ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The Step clause in a For Statement. - - - - - The For Each statement that begins a For Each-Next block. This statement always - occurs as the Begin of a ForBlock, and the body of the For Each-Next is the - Body of that ForBlock. Most of the time, the End of that ForBlock is the - corresponding Next statement. However, multiple nested For statements are ended - by a single Next statement with multiple variables, then the inner For - statements will have End set to Nothing, and the Next statement is the End of - the outermost For statement that is being ended. - - - - - The Next statement that ends a For-Next or For Each-Next block. This statement - always occurs as the End of a ForBlock (with Kind=ForBlock or ForEachBlock), - and the body of the For-Next is the Body of that ForBlock. The Begin of that - ForBlock has the corresponding For or For Each statement. - - - - - The Using statement that begins a Using block. This statement always occurs as - the Begin of a UsingBlock, and the body of the Using is the Body of that - UsingBlock. - - - - - Represents a Throw statement. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a simple, compound, or Mid assignment statement. Which one can be - determined by checking the Kind. - - - - - Represents a left-hand side of a MidAssignment statement. - - - - - Represent an call statement (also known as a invocation statement). - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - - - Represents an AddHandler or RemoveHandler statement. The Kind property - determines which one. - - - - - Represent a RaiseEvent statement. - - - - - Represents a "With" statement. This statement always occurs as the - BeginStatement of a WithBlock, and the body of the With is the Body of that - WithBlock. - - - - - Represents a ReDim statement. - - - - - Represents a ReDim statement. - - - - - Represents a ReDim statement clause. - - - - - Represents an "Erase" statement. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a literal. The kind of literal is determined by the Kind property: - IntegerLiteral, CharacterLiteral, BooleanLiteral, DecimalLiteral, - FloatingLiteral, DateLiteral or StringLiteral. The value of the literal can be - determined by casting the associated Token to the correct type and getting the - value from the token. - - - - - Represents a parenthesized expression. - - - - - Identifies the special instance "Me" - - - - - Identifies the special instance "MyBase" - - - - - Identifies the special instance "MyClass" - - - - - Represents a GetType expression. - - - - - Represents a TypeOf...Is or IsNot expression. - - - - - Represents a TypeOf...Is or IsNot expression. - - - - - Represents a GetXmlNamespace expression. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - - - Represents member access (.name) or dictionary access (!name). The Kind - property determines which kind of access. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - - - Represents an XML member element access (node.<Element>), attribute - access (node.@Attribute) or descendants access (node...<Descendant>). The - Kind property determines which kind of access. - - - - - Represents an invocation expression consisting of an invocation target and an - optional argument list or an array, parameterized property or object default - property index. - - - - - Represents a New expression that creates a new non-array object, possibly with - a "With" or "From" clause. - - - - - Represents a New expression that create an object of anonymous type. - - - - - Represents an expression that creates a new array. - - - - - Represents an expression that creates a new array without naming the element - type. - - - - - Represents a cast to a pre-defined type using a pre-defined cast expression, - such as CInt or CLng. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Represents a binary operator. The Kind property classifies the operators into - similar kind of operators (arithmetic, relational, logical or string); the - exact operation being performed is determined by the Operator property. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - Describes a unary operator: Plus, Negate, Not or AddressOf. - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - Represents a conditional expression, If(condition, true-expr, false-expr) or - If(expr, nothing-expr). - - - - - Represents a single line lambda expression. - - - - - Represents a single line lambda expression. - - - - - Represents a multi-line lambda expression. - - - - - Represents a multi-line lambda expression. - - - - - Represents the header part of a lambda expression - - - - - Represents the header part of a lambda expression - - - - - Represents a parenthesized argument list. - - - - - Represents an omitted argument in an argument list. An omitted argument is not - considered a syntax error but a valid case when no argument is required. - - - - - Represents a simple argument that is just an expression. - - - - - Represents a named argument, such as "Value:=7". - - - - - Represents a range argument, such as "0 to 5", used in array bounds. The - "Value" property represents the upper bound of the range. - - - - - This class represents a query expression. A query expression is composed of one - or more query operators in a row. The first query operator must be a From or - Aggregate. - - - - - Describes a single variable of the form "x [As Type] In expression" for use in - query expressions. - - - - - Describes a single variable of the form "[x [As Type] =] expression" for use in - query expressions. - - - - - Describes a single variable of the form "[x [As Type] =] aggregation-function" - for use in the Into clause of Aggregate or Group By or Group Join query - operators. - - - - - Represents the name and optional type of an expression range variable. - - - - - Represents an invocation of an Aggregation function in the aggregation range - variable declaration of a Group By, Group Join or Aggregate query operator. - - - - - Represents the use of "Group" as the aggregation function in the in the - aggregation range variable declaration of a Group By or Group Join query - operator. - - - - - Represents a "From" query operator. If this is the beginning of a query, the - Source will be Nothing. Otherwise, the Source will be the part of the query to - the left of the From. - - - - - Represents a "Let" query operator. - - - - - Represents an Aggregate query operator. - - - - - Represents the "Distinct" query operator. - - - - - Represents a "Where" query operator. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - - - Represents a "Skip While" or "Take While" query operator. The Kind property - tells which. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - - - Represents a "Skip" or "Take" query operator. The Kind property tells which. - - - - - Represents the "Group By" query operator. - - - - - Represents the "expression Equals expression" condition in a Join. - - - - - Represents a Join query operator. - - - - - Represents the "Group Join" query operator. - - - - - Represents the "Order By" query operator. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - - - An expression to order by, plus an optional ordering. The Kind indicates - whether to order in ascending or descending order. - - - - - Represents the "Select" query operator. - - - - - Represents an XML Document literal expression. - - - - - Represents the XML declaration prologue in an XML literal expression. - - - - - Represents an XML document prologue option - version, encoding, standalone or - whitespace in an XML literal expression. - - - - - Represents an XML element with content in an XML literal expression. - - - - - Represents Xml text. - - - - - Represents the start tag of an XML element of the form <element>. - - - - - Represents the end tag of an XML element of the form </element>. - - - - - Represents an empty XML element of the form <element /> - - - - - Represents an XML attribute in an XML literal expression. - - - - - Represents a string of XML characters embedded as the content of an XML - element. - - - - - Represents an XML name of the form 'name' appearing in GetXmlNamespace(). - - - - - Represents an XML name of the form 'name' or 'namespace:name' appearing in - source as part of an XML literal or member access expression or an XML - namespace import clause. - - - - - Represents an XML name of the form <xml-name> appearing in source as part - of an XML literal or member access expression or an XML namespace import - clause. - - - - - Represents an XML namespace prefix of the form 'prefix:' as in xml:ns="". - - - - - Represents an XML comment of the form <!-- Comment --> appearing in an - XML literal expression. - - - - - Represents an XML processing instruction of the form '<? XMLProcessingTarget - XMLProcessingValue ?>'. - - - - - Represents an XML CDATA section in an XML literal expression. - - - - - Represents an embedded expression in an XML literal e.g. '<name><%= - obj.Name =%></name>'. - - - - - Represents an array type, such as "A() or "A(,)", without bounds specified for - the array. - - - - - A type name that represents a nullable type, such as "Integer?". - - - - - Represents an occurrence of a Visual Basic built-in type such as Integer or - String in source code. - - - - - Represents a type name consisting of a single identifier (which might include - brackets or a type character). - - - - - Represents a simple type name with one or more generic arguments, such as "X(Of - Y, Z). - - - - - Represents a qualified type name, for example X.Y or X(Of Z).Y. - - - - - Represents a name in the global namespace. - - - - - Represents a parenthesized list of generic type arguments. - - - - - Syntax node class that represents a value of 'cref' attribute inside - documentation comment trivia. - - - - - Represents a parenthesized list of argument types for a signature inside - CrefReferenceSyntax syntax. - - - - - Represent a Yield statement. - - - - - Represent a Await expression. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single keyword in a VB program. Which keyword can be determined - from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a single punctuation mark or operator in a VB program. Which one can - be determined from the Kind property. - - - - - Represents a sequence of characters appearing in source with no possible - meaning in the Visual Basic language (e.g. the semicolon ';'). This token - should only appear in SkippedTokenTrivia as an artifact of parsing error - recovery. - - - - - Represents an Xml NCName per Namespaces in XML 1.0 - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - - - Represents character data in Xml content also known as PCData or in an Xml - attribute value. All text is here for now even text that does not need - normalization such as comment, pi and cdata text. - - - - - Represents an identifier token. This might include brackets around the name and - a type character. - - - - - Represents an integer literal token. - - - - - Represents an floating literal token. - - - - - Represents a Decimal literal token. - - - - - Represents an Date literal token. - - - - - Represents an string literal token. - - - - - Represents an string literal token. - - - - - Represents tokens that were skipped by the parser as part of error recovery, - and thus are not part of any syntactic structure. - - - - - Represents a documentation comment e.g. ''' <Summary> apearing in source. - - - - - A symbol referenced by a cref attribute (e.g. in a <see> or - <seealso> documentation comment tag). For example, the M in <see - cref="M" />. - - - - - A param or type param symbol referenced by a name attribute (e.g. in a - <param> or <typeparam> documentation comment tag). For example, the - M in <param name="M" />. - - - - - Represents true whitespace: spaces, tabs, newlines and the like. - - - - - Represents line breaks that are syntactically insignificant. - - - - - Represents colons that are syntactically insignificant. - - - - - Represents a comment. - - - - - Represents an explicit line continuation character at the end of a line, i.e., - _ - - - - - Represents a ''' prefix for an XML Documentation Comment. - - - - - Represents text in a false preprocessor block - - - - - Represents a #Const pre-processing constant declaration appearing in source. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - Represents the beginning of an #If pre-processing directive appearing in - source. - - - - - Represents an #Else pre-processing directive appearing in source. - - - - - Represents an #End If pre-processing directive appearing in source. - - - - - Represents the beginning of a #Region directive appearing in source. - - - - - Represents an #End Region directive appearing in source. - - - - - Represents the beginning of a #ExternalSource pre-processing directive - appearing in source. - - - - - Represents an #End ExternalSource pre-processing directive appearing in source. - - - - - Represents an #ExternalChecksum pre-processing directive appearing in source. - - - - - Represents an #r directive appearing in scripts. - - - - - Represents an unrecognized pre-processing directive. This occurs when the - parser encounters a hash '#' token at the beginning of a physical line but does - recognize the text that follows as a valid Visual Basic pre-processing - directive. - - - - - Return keyword or punctuation text based on SyntaxKind - - - - - Addition Visual Basic syntax extension methods. - - - - - Returns SyntaxKind for SyntaxTrivia nodes. - - - - - Returns SyntaxKind for SyntaxToken from RawKind property. - - - - - Returns SyntaxKind for SyntaxToken from RawContextualKind. - - - - - Returns SyntaxKind for SyntaxNode from RawKind property. - - - - - Returns SyntaxKind for SyntaxNodeOrToken from RawKind property. - - - - - Determines if SyntaxTrivia is a specified kind. - -The Source SyntaxTrivia. - The SyntaxKind to test for. - - - - Determines if SyntaxToken is a specified kind. - -The Source SyntaxToken. - The SyntaxKind to test for. - - - - Determines if SyntaxToken is a specified kind. - -The Source SyntaxToken. - The SyntaxKind to test for. - A boolean value if token is of specified kind; otherwise false. - - - - Determines if SyntaxNode is a specified kind. - - The Source SyntaxNode. - The SyntaxKind to test for. - A boolean value if node is of specified kind; otherwise false. - - - - Determines if a SyntaxNodeOrToken is a specified kind. - - The source SyntaxNodeOrToke. - The SyntaxKind to test for. - A boolean value if nodeoOrToken is of specified kind; otherwise false. - - - - Tests whether a list contains tokens of a particular kind. - - The to test for. - Returns true if the list contains a token which matches - - - - Tests whether a list contains tokens of a particular kind. - - The to test for. - Returns true if the list contains a token which matches - -
-
diff --git a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre.nupkg b/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre.nupkg deleted file mode 100644 index 009bd3fb6e..0000000000 Binary files a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre.nupkg and /dev/null differ diff --git a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.install.xdt b/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.install.xdt deleted file mode 100644 index d5f7db8660..0000000000 --- a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.install.xdt +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.uninstall.xdt b/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.uninstall.xdt deleted file mode 100644 index 2dc6bac3ff..0000000000 --- a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/content/web.config.uninstall.xdt +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll b/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll deleted file mode 100644 index 0da3ce7c0e..0000000000 Binary files a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll and /dev/null differ diff --git a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml b/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml deleted file mode 100644 index c57955f574..0000000000 --- a/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre/lib/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - Microsoft.CodeDom.Providers.DotNetCompilerPlatform - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to File name '{0}' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long.. - - - - - Looks up a localized string similar to Assembly reference '{0}' is invalid and cannot be resolved.. - - - - - Looks up a localized string similar to Compilation parameters:. - - - - - Looks up a localized string similar to Cannot create file: {0}. The error message is {1}. - - - - - Looks up a localized string similar to Cannot open file: {0}. The error message is {1}. - - - - - Looks up a localized string similar to Copyright (C) Microsoft Corporation. All rights reserved.. - - - - - Looks up a localized string similar to Internal Compiler Error: {0}. - - - - - Looks up a localized string similar to CodeDOM Providers for .NET Compiler Platform (“Roslyn”). - - - - - Provides a base class for CodeDomProvider implementations that use the .NET Compiler Platform. This class is abstract. - - - - - When overridden in a derived class, creates a new code generator. - - - - - Gets a for the specified data type. - - - - - Gets the default file name extension to use for source code files in the current language. - - - - - Provides access to instances of the .NET Compiler Platform C# code generator and code compiler. - - - - - Gets an instance of the .NET Compiler Platform C# code compiler. - - An instance of the .NET Compiler Platform C# code compiler - - - diff --git a/Packages/repositories.config b/Packages/repositories.config index 31e0c1165f..a3b622160a 100644 --- a/Packages/repositories.config +++ b/Packages/repositories.config @@ -1,4 +1,6 @@  + + \ No newline at end of file diff --git a/Website/WebSite.csproj b/Website/WebSite.csproj index e9ec4fdd1c..feb2f6485c 100644 --- a/Website/WebSite.csproj +++ b/Website/WebSite.csproj @@ -55,6 +55,18 @@ False ..\bin\Composite.XmlSerializers.dll + + ..\Packages\Microsoft.CodeAnalysis.Common.0.7.4052301-beta\lib\net45\Microsoft.CodeAnalysis.dll + + + ..\Packages\Microsoft.CodeAnalysis.CSharp.0.7.4052301-beta\lib\net45\Microsoft.CodeAnalysis.CSharp.dll + + + ..\Packages\Microsoft.CodeAnalysis.VisualBasic.0.7.4052301-beta\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll + + + ..\Packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.0.2.0-pre\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + False ..\bin\Microsoft.Practices.EnterpriseLibrary.Common.dll @@ -68,42 +80,42 @@ ..\bin\Microsoft.Practices.EnterpriseLibrary.Validation.dll - False - ..\Bin\Microsoft.Web.Infrastructure.dll + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll True + + ..\Packages\Microsoft.Bcl.Immutable.1.1.20-beta\lib\portable-net45+win8\System.Collections.Immutable.dll + + + ..\Packages\Microsoft.Bcl.Metadata.1.0.11-alpha\lib\portable-net45+win8\System.Reflection.Metadata.dll + - - False - ..\Bin\System.Web.Helpers.dll + + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll True - - False - ..\Bin\System.Web.Razor.dll + + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll True - - False - ..\Bin\System.Web.WebPages.dll + + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll True - - False - ..\Bin\System.Web.WebPages.Deployment.dll + + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll True - - False - ..\Bin\System.Web.WebPages.Razor.dll + + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll True @@ -1231,6 +1243,7 @@ Page.aspx ASPXCodeBehind + @@ -2556,25 +2569,6 @@ - if not exist "$(ProjectDir)bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll" ( - copy "$(ProjectDir)\..\Bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll" "$(ProjectDir)bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll" - ) - - if not exist "$(ProjectDir)bin\Microsoft.CodeAnalysis.dll" ( - copy "$(ProjectDir)\..\Bin\Microsoft.CodeAnalysis.dll" "$(ProjectDir)bin\Microsoft.CodeAnalysis.dll" - ) - - if not exist "$(ProjectDir)bin\Microsoft.CodeAnalysis.CSharp.dll" ( - copy "$(ProjectDir)\..\Bin\Microsoft.CodeAnalysis.CSharp.dll" "$(ProjectDir)bin\Microsoft.CodeAnalysis.CSharp.dll" - ) - - if not exist "$(ProjectDir)bin\System.Collections.Immutable.dll" ( - copy "$(ProjectDir)\..\Bin\System.Collections.Immutable.dll" "$(ProjectDir)bin\System.Collections.Immutable.dll" - ) - - if not exist "$(ProjectDir)bin\System.Reflection.Metadata.dll" ( - copy "$(ProjectDir)\..\Bin\System.Reflection.Metadata.dll" "$(ProjectDir)bin\System.Reflection.Metadata.dll" - ) \ No newline at end of file diff --git a/Website/packages.config b/Website/packages.config index fb17b6fa69..6bad55fcd2 100644 --- a/Website/packages.config +++ b/Website/packages.config @@ -1,5 +1,7 @@  + + @@ -7,4 +9,6 @@ + + \ No newline at end of file