diff --git a/Yavsc/Auth/AuthServer/OAuthAuthorizationServerHandler.cs b/Yavsc/Auth/AuthServer/OAuthAuthorizationServerHandler.cs index bb5cff45..03989dec 100644 --- a/Yavsc/Auth/AuthServer/OAuthAuthorizationServerHandler.cs +++ b/Yavsc/Auth/AuthServer/OAuthAuthorizationServerHandler.cs @@ -11,7 +11,6 @@ using System.Globalization; using System.IO; using System.Text; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; namespace OAuth.AspNet.AuthServer { diff --git a/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs b/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs index e530c747..92765bc2 100644 --- a/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs +++ b/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs @@ -1,4 +1,3 @@ -using Microsoft.AspNet.Authentication; using Microsoft.AspNet.Http; namespace OAuth.AspNet.AuthServer diff --git a/Yavsc/Controllers/ApplicationController.cs b/Yavsc/Controllers/ApplicationController.cs index 11d90bcf..abf62500 100644 --- a/Yavsc/Controllers/ApplicationController.cs +++ b/Yavsc/Controllers/ApplicationController.cs @@ -2,7 +2,6 @@ using System; using System.Linq; using Microsoft.AspNet.Authorization; using Microsoft.AspNet.Mvc; -using Microsoft.Data.Entity; using Yavsc.Models; namespace Yavsc.Controllers diff --git a/Yavsc/Controllers/OAuthController.cs b/Yavsc/Controllers/OAuthController.cs index cb438b9d..792e16b3 100644 --- a/Yavsc/Controllers/OAuthController.cs +++ b/Yavsc/Controllers/OAuthController.cs @@ -1,19 +1,14 @@ -using System; -using System.Linq; +using System.Linq; using System.Security.Claims; using System.Threading; using System.Threading.Tasks; -using Microsoft.AspNet.Authentication; using Microsoft.AspNet.Authorization; -using Microsoft.AspNet.Builder; using Microsoft.AspNet.DataProtection.KeyManagement; -using Microsoft.AspNet.Http.Authentication; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Mvc; using Microsoft.Data.Entity; using Microsoft.Extensions.Logging; using Microsoft.Extensions.OptionsModel; -using Microsoft.IdentityModel.Protocols.OpenIdConnect; using Yavsc.Extensions; using Yavsc.Models; using Yavsc.ViewModels.Account; diff --git a/Yavsc/Controllers/TokenController.cs b/Yavsc/Controllers/TokenController.cs index 483e22d3..523d04fb 100644 --- a/Yavsc/Controllers/TokenController.cs +++ b/Yavsc/Controllers/TokenController.cs @@ -1,12 +1,7 @@ using System; -using System.Linq; using Microsoft.AspNet.Mvc; -using System.IdentityModel.Tokens; using System.Security.Claims; using Microsoft.AspNet.Authorization; -using System.Security.Principal; -using Microsoft.AspNet.Authentication.JwtBearer; -using System.IdentityModel.Tokens.Jwt; using Microsoft.Extensions.Logging; using Microsoft.Extensions.OptionsModel; using Yavsc.Auth; diff --git a/Yavsc/Controllers/ValuesController.cs b/Yavsc/Controllers/ValuesController.cs index b113b9b3..3b83c5b9 100644 --- a/Yavsc/Controllers/ValuesController.cs +++ b/Yavsc/Controllers/ValuesController.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; +using System.Collections.Generic; using Microsoft.AspNet.Mvc; using Microsoft.AspNet.Authorization; diff --git a/Yavsc/Extensions/OAuthAuthorizationServerExtensions.cs b/Yavsc/Extensions/OAuthAuthorizationServerExtensions.cs index 5e43059d..c8089209 100644 --- a/Yavsc/Extensions/OAuthAuthorizationServerExtensions.cs +++ b/Yavsc/Extensions/OAuthAuthorizationServerExtensions.cs @@ -1,5 +1,4 @@ using System; -using Microsoft.AspNet.Builder; using OAuth.AspNet.AuthServer; namespace Microsoft.AspNet.Builder diff --git a/Yavsc/Model/ApplicationDbContext.cs b/Yavsc/Model/ApplicationDbContext.cs index 0e3edd07..f426cccb 100644 --- a/Yavsc/Model/ApplicationDbContext.cs +++ b/Yavsc/Model/ApplicationDbContext.cs @@ -5,7 +5,6 @@ using System.Threading.Tasks; using Microsoft.AspNet.Authentication.OAuth; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Data.Entity; -using Microsoft.Data.Entity.Infrastructure; using Yavsc.Models.Booking; namespace Yavsc.Models diff --git a/Yavsc/Startup/Startup.cs b/Yavsc/Startup/Startup.cs index 03491955..143b9674 100755 --- a/Yavsc/Startup/Startup.cs +++ b/Yavsc/Startup/Startup.cs @@ -21,7 +21,6 @@ using Microsoft.AspNet.Localization; using Microsoft.AspNet.Mvc; using Microsoft.AspNet.Mvc.Filters; using Microsoft.AspNet.Mvc.Razor; -using Microsoft.AspNet.StaticFiles; using Microsoft.Data.Entity; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; diff --git a/Yavsc/gulpfile.js b/Yavsc/gulpfile.js index f56e7b72..38931c03 100755 --- a/Yavsc/gulpfile.js +++ b/Yavsc/gulpfile.js @@ -51,4 +51,4 @@ gulp.task("min", ["min:js", "min:css"]); gulp.task('watch', shell.task(['MONO_OPTIONS=--debug ASPNET_ENV=Development dnx-watch web --configuration=Debug'])) gulp.task('build', shell.task(['dnu build --configuration=Debug'])) -gulp.task('publish', shell.task(['dnu publish'])) +gulp.task('publish', shell.task(['dnu publish -o ../build'])) diff --git a/Yavsc/project.json b/Yavsc/project.json index 3e636c6a..73132863 100755 --- a/Yavsc/project.json +++ b/Yavsc/project.json @@ -143,6 +143,6 @@ "prerestore": "echo before restoring packages", "postrestore": "echo after restoring packages", "prepublish": "gulp min", - "postpublish": "./postPublish.sh" + "postpublish": "echo \" (cd ../build && . ./postPublish.sh) # to push in prod.\"" } } \ No newline at end of file diff --git a/build/approot/booking b/build/approot/booking new file mode 100755 index 00000000..07804c7f --- /dev/null +++ b/build/approot/booking @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +exec "dnx" --project "$DIR/src/Yavsc" --configuration Debug booking "$@" \ No newline at end of file diff --git a/build/approot/booking.cmd b/build/approot/booking.cmd new file mode 100644 index 00000000..efa8ef90 --- /dev/null +++ b/build/approot/booking.cmd @@ -0,0 +1,27 @@ + +@echo off +SET DNX_FOLDER= +SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe" + +IF EXIST %LOCAL_DNX% ( + SET "DNX_PATH=%LOCAL_DNX%" +) + +for %%a in (%DNX_HOME%) do ( + IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe ( + SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe" + goto :continue + ) +) + +:continue + +IF "%HOME_DNX%" NEQ "" ( + SET "DNX_PATH=%HOME_DNX%" +) + +IF "%DNX_PATH%" == "" ( + SET "DNX_PATH=dnx.exe" +) + +@"%DNX_PATH%" --project "%~dp0src\Yavsc" --configuration Debug booking %* diff --git a/build/approot/ef b/build/approot/ef new file mode 100755 index 00000000..c98df893 --- /dev/null +++ b/build/approot/ef @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +exec "dnx" --project "$DIR/src/Yavsc" --configuration Debug ef "$@" \ No newline at end of file diff --git a/build/approot/ef.cmd b/build/approot/ef.cmd new file mode 100644 index 00000000..cd9770e5 --- /dev/null +++ b/build/approot/ef.cmd @@ -0,0 +1,27 @@ + +@echo off +SET DNX_FOLDER= +SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe" + +IF EXIST %LOCAL_DNX% ( + SET "DNX_PATH=%LOCAL_DNX%" +) + +for %%a in (%DNX_HOME%) do ( + IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe ( + SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe" + goto :continue + ) +) + +:continue + +IF "%HOME_DNX%" NEQ "" ( + SET "DNX_PATH=%HOME_DNX%" +) + +IF "%DNX_PATH%" == "" ( + SET "DNX_PATH=dnx.exe" +) + +@"%DNX_PATH%" --project "%~dp0src\Yavsc" --configuration Debug ef %* diff --git a/build/approot/gen b/build/approot/gen new file mode 100755 index 00000000..edeeb1a3 --- /dev/null +++ b/build/approot/gen @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +exec "dnx" --project "$DIR/src/Yavsc" --configuration Debug gen "$@" \ No newline at end of file diff --git a/build/approot/gen.cmd b/build/approot/gen.cmd new file mode 100644 index 00000000..81fd58b8 --- /dev/null +++ b/build/approot/gen.cmd @@ -0,0 +1,27 @@ + +@echo off +SET DNX_FOLDER= +SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe" + +IF EXIST %LOCAL_DNX% ( + SET "DNX_PATH=%LOCAL_DNX%" +) + +for %%a in (%DNX_HOME%) do ( + IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe ( + SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe" + goto :continue + ) +) + +:continue + +IF "%HOME_DNX%" NEQ "" ( + SET "DNX_PATH=%HOME_DNX%" +) + +IF "%DNX_PATH%" == "" ( + SET "DNX_PATH=dnx.exe" +) + +@"%DNX_PATH%" --project "%~dp0src\Yavsc" --configuration Debug gen %* diff --git a/build/approot/global.json b/build/approot/global.json new file mode 100644 index 00000000..4611a9e0 --- /dev/null +++ b/build/approot/global.json @@ -0,0 +1,11 @@ +{ + "projects": [ + "src" + ], + "sdk": { + "version": "1.0.0-rc1-update2", + "runtime": "mono", + "architecture": "x64" + }, + "packages": "packages" +} \ No newline at end of file diff --git a/build/approot/kestrel b/build/approot/kestrel new file mode 100755 index 00000000..c7e8b581 --- /dev/null +++ b/build/approot/kestrel @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +exec "dnx" --project "$DIR/src/Yavsc" --configuration Debug kestrel "$@" \ No newline at end of file diff --git a/build/approot/kestrel.cmd b/build/approot/kestrel.cmd new file mode 100644 index 00000000..0a2cdc59 --- /dev/null +++ b/build/approot/kestrel.cmd @@ -0,0 +1,27 @@ + +@echo off +SET DNX_FOLDER= +SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe" + +IF EXIST %LOCAL_DNX% ( + SET "DNX_PATH=%LOCAL_DNX%" +) + +for %%a in (%DNX_HOME%) do ( + IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe ( + SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe" + goto :continue + ) +) + +:continue + +IF "%HOME_DNX%" NEQ "" ( + SET "DNX_PATH=%HOME_DNX%" +) + +IF "%DNX_PATH%" == "" ( + SET "DNX_PATH=dnx.exe" +) + +@"%DNX_PATH%" --project "%~dp0src\Yavsc" --configuration Debug kestrel %* diff --git a/build/approot/lua b/build/approot/lua new file mode 100755 index 00000000..fa9fe66e --- /dev/null +++ b/build/approot/lua @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +exec "dnx" --project "$DIR/src/Yavsc" --configuration Debug lua "$@" \ No newline at end of file diff --git a/build/approot/lua.cmd b/build/approot/lua.cmd new file mode 100644 index 00000000..4145c066 --- /dev/null +++ b/build/approot/lua.cmd @@ -0,0 +1,27 @@ + +@echo off +SET DNX_FOLDER= +SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe" + +IF EXIST %LOCAL_DNX% ( + SET "DNX_PATH=%LOCAL_DNX%" +) + +for %%a in (%DNX_HOME%) do ( + IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe ( + SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe" + goto :continue + ) +) + +:continue + +IF "%HOME_DNX%" NEQ "" ( + SET "DNX_PATH=%HOME_DNX%" +) + +IF "%DNX_PATH%" == "" ( + SET "DNX_PATH=dnx.exe" +) + +@"%DNX_PATH%" --project "%~dp0src\Yavsc" --configuration Debug lua %* diff --git a/build/approot/packages/Antlr/3.4.1.9004/Antlr.nuspec b/build/approot/packages/Antlr/3.4.1.9004/Antlr.nuspec new file mode 100644 index 00000000..d67935b5 --- /dev/null +++ b/build/approot/packages/Antlr/3.4.1.9004/Antlr.nuspec @@ -0,0 +1,13 @@ + + + + Antlr + 3.4.1.9004 + false + Terence Parr + Terence Parr + ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. + ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. + en-US + + \ No newline at end of file diff --git a/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.dll b/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.dll new file mode 100644 index 00000000..34bd478f Binary files /dev/null and b/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.dll differ diff --git a/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.pdb b/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.pdb new file mode 100644 index 00000000..315edcf3 Binary files /dev/null and b/build/approot/packages/Antlr/3.4.1.9004/lib/Antlr3.Runtime.pdb differ diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/EntityFramework.Commands.nuspec b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/EntityFramework.Commands.nuspec new file mode 100644 index 00000000..b377ebd4 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/EntityFramework.Commands.nuspec @@ -0,0 +1,44 @@ + + + + EntityFramework.Commands + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Command line utilities for Entity Framework. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef new file mode 100644 index 00000000..fe99ce55 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef @@ -0,0 +1 @@ +dnx --appbase "$(dirname $0)" Microsoft.Dnx.ApplicationHost ef $@ \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef.cmd b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef.cmd new file mode 100644 index 00000000..276fc03f --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/ef.cmd @@ -0,0 +1 @@ +@dnx --appbase "%~dp0." Microsoft.Dnx.ApplicationHost ef %* \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/project.json b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/project.json new file mode 100644 index 00000000..6d6517d2 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/app/project.json @@ -0,0 +1 @@ +{"version":"7.0.0-*","description":"Command line utilities for Entity Framework.","repository":{"type":"git","url":"git://github.com/aspnet/entityframework"},"compilationOptions":{"warningsAsErrors":true,"keyFile":"../../tools/Key.snk"},"compile":"..\\Shared\\*.cs","namedResource":{"EntityFramework.Commands.CommandsStrings":"Properties/CommandsStrings.resx"},"dependencies":{"EntityFramework.Commands":"7.0.0-rc1-final"},"frameworks":{"net451":{},"dnx451":{"dependencies":{"Microsoft.AspNet.Hosting.Abstractions":"1.0.0-*","Microsoft.Extensions.CommandLineUtils.Sources":{"version":"1.0.0-*","type":"build"},"Microsoft.Extensions.PlatformAbstractions":"1.0.0-*"}},"dnxcore50":{"dependencies":{"Microsoft.AspNet.Hosting.Abstractions":"1.0.0-*","Microsoft.Extensions.CommandLineUtils.Sources":{"version":"1.0.0-*","type":"build"},"Microsoft.Extensions.PlatformAbstractions":"1.0.0-*","System.Console":"4.0.0-*"}},"netcore50":{"bin":{"assembly":"lib\\netcore50\\_._"}}},"packInclude":{"build/":"build/**","lib/":"lib/**","tools/":["tools/**","Design\\OperationHandlers.cs"]},"commands":{"ef":"EntityFramework.Commands"},"entryPoint":"EntityFramework.Commands","loadable":false} \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/build/netcore50/EntityFramework.Commands.props b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/build/netcore50/EntityFramework.Commands.props new file mode 100644 index 00000000..0fa84e5e --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/build/netcore50/EntityFramework.Commands.props @@ -0,0 +1,14 @@ + + + + + true + + + + %(RecursiveDir)%(Filename)%(Extension) + PreserveNewest + False + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnx451/EntityFramework.Commands.dll b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnx451/EntityFramework.Commands.dll new file mode 100644 index 00000000..186f9b6d Binary files /dev/null and b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnx451/EntityFramework.Commands.dll differ diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Commands.dll b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Commands.dll new file mode 100644 index 00000000..f408d84e Binary files /dev/null and b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Commands.dll differ diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/net451/EntityFramework.Commands.dll b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/net451/EntityFramework.Commands.dll new file mode 100644 index 00000000..df6b3d60 Binary files /dev/null and b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/net451/EntityFramework.Commands.dll differ diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/netcore50/_._ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/netcore50/_._ new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/lib/netcore50/_._ @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psd1 b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psd1 new file mode 100644 index 00000000..d06753be Binary files /dev/null and b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psd1 differ diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psm1 b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psm1 new file mode 100644 index 00000000..f9fe5e83 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/EntityFramework.psm1 @@ -0,0 +1,954 @@ +$ErrorActionPreference = 'Stop' + +$EFDefaultParameterValues = @{ + ProjectName = '' + ContextTypeName = '' +} + +# +# Use-DbContext +# + +Register-TabExpansion Use-DbContext @{ + Context = { param ($tabExpansionContext) GetContextTypes $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Sets the default DbContext to use. + +.DESCRIPTION + Sets the default DbContext to use. + +.PARAMETER Context + Specifies the DbContext to use. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + about_EntityFramework +#> +function Use-DbContext { + [CmdletBinding(PositionalBinding = $false)] + param ([Parameter(Position = 0, Mandatory = $true)] [string] $Context, [string] $Project, [string] $StartupProject, [string] $Environment) + + $dteProject = GetProject $Project + $dteStartupProject = GetStartupProject $StartupProject $dteProject + $contextTypeName = InvokeOperation $dteStartupProject $Environment $dteProject GetContextType @{ name = $Context } + + $EFDefaultParameterValues.ContextTypeName = $contextTypeName + $EFDefaultParameterValues.ProjectName = $dteProject.ProjectName +} + +# +# Add-Migration +# + +Register-TabExpansion Add-Migration @{ + Context = { param ($tabExpansionContext) GetContextTypes $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Adds a new migration. + +.DESCRIPTION + Adds a new migration. + +.PARAMETER Name + Specifies the name of the migration. + +.PARAMETER OutputDir + The directory (and sub-namespace) to use. If omitted, "Migrations" is used. + +.PARAMETER Context + Specifies the DbContext to use. If omitted, the default DbContext is used. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + Remove-Migration + Update-Database + about_EntityFramework +#> +function Add-Migration { + [CmdletBinding(PositionalBinding = $false)] + param ( + [Parameter(Position = 0, Mandatory = $true)] + [string] $Name, + [string] $OutputDir, + [string] $Context, + [string] $Project, + [string] $StartupProject, + [string] $Environment) + + $values = ProcessCommonParameters $StartupProject $Project $Context + $dteStartupProject = $values.StartupProject + $dteProject = $values.Project + $contextTypeName = $values.ContextTypeName + + $artifacts = InvokeOperation $dteStartupProject $Environment $dteProject AddMigration @{ + name = $Name + outputDir = $OutputDir + contextType = $contextTypeName + } + + $artifacts | %{ $dteProject.ProjectItems.AddFromFile($_) | Out-Null } + $DTE.ItemOperations.OpenFile($artifacts[0]) | Out-Null + ShowConsole + + Write-Output 'To undo this action, use Remove-Migration.' +} + +# +# Update-Database +# + +Register-TabExpansion Update-Database @{ + Migration = { param ($tabExpansionContext) GetMigrations $tabExpansionContext.Context $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Context = { param ($tabExpansionContext) GetContextTypes $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Updates the database to a specified migration. + +.DESCRIPTION + Updates the database to a specified migration. + +.PARAMETER Migration + Specifies the target migration. If '0', all migrations will be reverted. If omitted, all pending migrations will be applied. + +.PARAMETER Context + Specifies the DbContext to use. If omitted, the default DbContext is used. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + Script-Migration + about_EntityFramework +#> +function Update-Database { + [CmdletBinding(PositionalBinding = $false)] + param ( + [Parameter(Position = 0)] + [string] $Migration, + [string] $Context, + [string] $Project, + [string] $StartupProject, + [string] $Environment) + + $values = ProcessCommonParameters $StartupProject $Project $Context + $dteStartupProject = $values.StartupProject + $dteProject = $values.Project + $contextTypeName = $values.ContextTypeName + + $targetFrameworkMoniker = GetProperty $dteProject.Properties TargetFrameworkMoniker + $frameworkName = New-Object System.Runtime.Versioning.FrameworkName $targetFrameworkMoniker + if ($frameworkName.Identifier -eq '.NETCore') { + throw 'Update-Database should not be used with Universal Windows apps. Instead, call DbContext.Database.Migrate() at runtime.' + } + + InvokeOperation $dteStartupProject $Environment $dteProject UpdateDatabase @{ + targetMigration = $Migration + contextType = $contextTypeName + } +} + +# +# Apply-Migration (Obsolete) +# + +function Apply-Migration { + # TODO: Remove before RTM + throw 'Apply-Migration has been removed. Use Update-Database instead.' +} + +# +# Script-Migration +# + +Register-TabExpansion Script-Migration @{ + From = { param ($tabExpansionContext) GetMigrations $tabExpansionContext.Context $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + To = { param ($tabExpansionContext) GetMigrations $tabExpansionContext.Context $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Context = { param ($tabExpansionContext) GetContextTypes $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Generates a SQL script from migrations. + +.DESCRIPTION + Generates a SQL script from migrations. + +.PARAMETER From + Specifies the starting migration. If omitted, '0' (the initial database) is used. + +.PARAMETER To + Specifies the ending migration. If omitted, the last migration is used. + +.PARAMETER Idempotent + Generates an idempotent script that can used on a database at any migration. + +.PARAMETER Context + Specifies the DbContext to use. If omitted, the default DbContext is used. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + Update-Database + about_EntityFramework +#> +function Script-Migration { + [CmdletBinding(PositionalBinding = $false)] + param ( + [Parameter(ParameterSetName = 'WithoutTo')] + [Parameter(ParameterSetName = 'WithTo', Mandatory = $true)] + [string] $From, + [Parameter(ParameterSetName = 'WithTo', Mandatory = $true)] + [string] $To, + [switch] $Idempotent, + [string] $Context, + [string] $Project, + [string] $StartupProject, + [string] $Environment) + + $values = ProcessCommonParameters $StartupProject $Project $Context + $dteStartupProject = $values.StartupProject + $dteProject = $values.Project + $contextTypeName = $values.ContextTypeName + + $script = InvokeOperation $dteStartupProject $Environment $dteProject ScriptMigration @{ + fromMigration = $From + toMigration = $To + idempotent = [bool]$Idempotent + contextType = $contextTypeName + } + + try { + # NOTE: Certain SKUs cannot create new SQL files + $window = $DTE.ItemOperations.NewFile('General\Sql File') + $textDocument = $window.Document.Object('TextDocument') + $editPoint = $textDocument.StartPoint.CreateEditPoint() + $editPoint.Insert($script) + } + catch { + $fullPath = GetProperty $dteProject.Properties FullPath + $intermediatePath = GetProperty $dteProject.ConfigurationManager.ActiveConfiguration.Properties IntermediatePath + $fullIntermediatePath = Join-Path $fullPath $intermediatePath + $fileName = [IO.Path]::GetRandomFileName() + $fileName = [IO.Path]::ChangeExtension($fileName, '.sql') + $scriptFile = Join-Path $fullIntermediatePath $fileName + $script | Out-File $scriptFile + $DTE.ItemOperations.OpenFile($scriptFile) | Out-Null + } + + ShowConsole +} + +# +# Remove-Migration +# + +Register-TabExpansion Remove-Migration @{ + Context = { param ($tabExpansionContext) GetContextTypes $tabExpansionContext.Project $tabExpansionContext.StartupProject $tabExpansionContext.Environment } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Removes the last migration. + +.DESCRIPTION + Removes the last migration. + +.PARAMETER Context + Specifies the DbContext to use. If omitted, the default DbContext is used. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + Add-Migration + about_EntityFramework +#> +function Remove-Migration { + [CmdletBinding(PositionalBinding = $false)] + param ([string] $Context, [string] $Project, [string] $StartupProject, [string] $Environment) + + $values = ProcessCommonParameters $StartupProject $Project $Context + $dteProject = $values.Project + $contextTypeName = $values.ContextTypeName + $dteStartupProject = $values.StartupProject + + $filesToRemove = InvokeOperation $dteStartupProject $Environment $dteProject RemoveMigration @{ + contextType = $contextTypeName + } + + $filesToRemove | %{ + $projectItem = GetProjectItem $dteProject $_ + if ($projectItem) { + $projectItem.Remove() + } + } +} + +# +# Scaffold-DbContext +# + +Register-TabExpansion Scaffold-DbContext @{ + Provider = { param ($tabExpansionContext) GetProviders $tabExpansionContext.Project } + Project = { GetProjects } + StartupProject = { GetProjects } +} + +<# +.SYNOPSIS + Scaffolds a DbContext and entity type classes for a specified database. + +.DESCRIPTION + Scaffolds a DbContext and entity type classes for a specified database. + +.PARAMETER Connection + Specifies the connection string of the database. + +.PARAMETER Provider + Specifies the provider to use. For example, EntityFramework.MicrosoftSqlServer. + +.PARAMETER OutputDirectory + Specifies the directory to use to output the classes. If omitted, the top-level project directory is used. + +.PARAMETER Context + Specifies the name of the generated DbContext class. + +.PARAMETER Schemas + Specifies the schemas for which to generate classes. + +.PARAMETER Tables + Specifies the tables for which to generate classes. + +.PARAMETER DataAnnotations + Use DataAnnotation attributes to configure the model where possible. If omitted, the output code will use only the fluent API. + +.PARAMETER Project + Specifies the project to use. If omitted, the default project is used. + +.PARAMETER StartupProject + Specifies the startup project to use. If omitted, the solution's startup project is used. + +.PARAMETER Environment + Specifies the environment to use. If omitted, "Development" is used. + +.LINK + about_EntityFramework +#> +function Scaffold-DbContext { + [CmdletBinding(PositionalBinding = $false)] + param ( + [Parameter(Position = 0, Mandatory = $true)] + [string] $Connection, + [Parameter(Position = 1, Mandatory = $true)] + [string] $Provider, + [string] $OutputDirectory, + [string] $ContextClassName, + [string[]] $Schemas, + [string[]] $Tables, + [switch] $DataAnnotations, + [string] $Project, + [string] $StartupProject, + [string] $Environment) + + $values = ProcessCommonParameters $StartupProject $Project + $dteStartupProject = $values.StartupProject + $dteProject = $values.Project + + $artifacts = InvokeOperation $dteStartupProject $Environment $dteProject ReverseEngineer @{ + connectionString = $Connection + provider = $Provider + outputDir = $OutputDirectory + dbContextClassName = $ContextClassName + schemaFilters = $Schemas + tableFilters = $Tables + useDataAnnotations = [bool]$DataAnnotations + } + + $artifacts | %{ $dteProject.ProjectItems.AddFromFile($_) | Out-Null } + $DTE.ItemOperations.OpenFile($artifacts[0]) | Out-Null + ShowConsole +} + +# +# Enable-Migrations (Obsolete) +# + +function Enable-Migrations { + # TODO: Link to some docs on the changes to Migrations + Write-Warning 'Enable-Migrations is obsolete. Use Add-Migration to start using Migrations.' +} + +# +# (Private Helpers) +# + +function GetProjects { + $projects = Get-Project -All + $groups = $projects | group Name + + return $projects | %{ + if ($groups | ? Name -eq $_.Name | ? Count -eq 1) { + return $_.Name + } + + return $_.ProjectName + } +} + +function GetContextTypes($projectName, $startupProjectName, $environment) { + $values = ProcessCommonParameters $startupProjectName $projectName + $startupProject = $values.StartupProject + $project = $values.Project + + $contextTypes = InvokeOperation $startupProject $environment $project GetContextTypes -skipBuild + + return $contextTypes | %{ $_.SafeName } +} + +function GetMigrations($contextTypeName, $projectName, $startupProjectName, $environment) { + $values = ProcessCommonParameters $startupProjectName $projectName $contextTypeName + $startupProject = $values.StartupProject + $project = $values.Project + $contextTypeName = $values.ContextTypeName + + $migrations = InvokeOperation $startupProject $environment $project GetMigrations @{ contextTypeName = $contextTypeName } -skipBuild + + return $migrations | %{ $_.SafeName } +} + +function ProcessCommonParameters($startupProjectName, $projectName, $contextTypeName) { + $project = GetProject $projectName + + if (!$contextTypeName -and $project.ProjectName -eq $EFDefaultParameterValues.ProjectName) { + $contextTypeName = $EFDefaultParameterValues.ContextTypeName + } + + $startupProject = GetStartupProject $startupProjectName $project + + return @{ + Project = $project + ContextTypeName = $contextTypeName + StartupProject = $startupProject + } +} + +function GetProject($projectName) { + if ($projectName) { + return Get-Project $projectName + } + + return Get-Project +} + +function ShowConsole { + $componentModel = Get-VSComponentModel + $powerConsoleWindow = $componentModel.GetService([NuGetConsole.IPowerConsoleWindow]) + $powerConsoleWindow.Show() +} + +function InvokeOperation($startupProject, $environment, $project, $operation, $arguments = @{}, [switch] $skipBuild) { + $startupProjectName = $startupProject.ProjectName + + Write-Verbose "Using startup project '$startupProjectName'." + + $projectName = $project.ProjectName + + Write-Verbose "Using project '$projectName'" + + $package = Get-Package -ProjectName $startupProjectName | ? Id -eq EntityFramework.Commands + if (!($package)) { + throw "Cannot execute this command because EntityFramework.Commands is not installed in the startup project '$startupProjectName'." + } + + if (!$skipBuild) { + Write-Verbose 'Build started...' + + # TODO: Only build required project. Don't use BuildProject, you can't specify platform + $solutionBuild = $DTE.Solution.SolutionBuild + $solutionBuild.Build($true) + if ($solutionBuild.LastBuildInfo) { + throw "Build failed." + } + + Write-Verbose 'Build succeeded.' + } + + if (![Type]::GetType('Microsoft.Data.Entity.Design.OperationResultHandler')) { + Add-Type -Path (Join-Path $PSScriptRoot OperationHandlers.cs) -CompilerParameters ( + New-Object CodeDom.Compiler.CompilerParameters -Property @{ + CompilerOptions = '/d:ENABLE_HANDLERS' + }) + } + + $logHandler = New-Object Microsoft.Data.Entity.Design.OperationLogHandler @( + { param ($message) Write-Error $message } + { param ($message) Write-Warning $message } + { param ($message) Write-Host $message } + { param ($message) Write-Verbose $message } + { param ($message) Write-Debug $message } + ) + + $properties = $project.Properties + $fullPath = GetProperty $properties FullPath + + $startupOutputPath = GetProperty $startupProject.ConfigurationManager.ActiveConfiguration.Properties OutputPath + $startupProperties = $startupProject.Properties + $startupFullPath = GetProperty $startupProperties FullPath + $startupTargetDir = Join-Path $startupFullPath $startupOutputPath + + $webConfig = GetProjectItem $startupProject 'Web.Config' + $appConfig = GetProjectItem $startupProject 'App.Config' + + if ($webConfig) { + $configurationFile = GetProperty $webConfig.Properties FullPath + $dataDirectory = Join-Path $startupFullPath 'App_Data' + } + elseif ($appConfig) { + $configurationFile = GetProperty $appConfig.Properties FullPath + } + + Write-Verbose "Using application base '$startupTargetDir'." + + $info = New-Object AppDomainSetup -Property @{ + ApplicationBase = $startupTargetDir + ShadowCopyFiles = 'true' + } + + if ($configurationFile) { + Write-Verbose "Using application configuration '$configurationFile'" + $info.ConfigurationFile = $configurationFile + } + else { + Write-Verbose 'No configuration file found.' + } + + $domain = [AppDomain]::CreateDomain('EntityFrameworkDesignDomain', $null, $info) + if ($dataDirectory) { + Write-Verbose "Using data directory '$dataDirectory'" + $domain.SetData('DataDirectory', $dataDirectory) + } + try { + $commandsAssembly = 'EntityFramework.Commands' + $operationExecutorTypeName = 'Microsoft.Data.Entity.Design.OperationExecutor' + $targetAssemblyName = GetProperty $properties AssemblyName + $startupAssemblyName = GetProperty $startupProperties AssemblyName + $rootNamespace = GetProperty $properties RootNamespace + + $executor = $domain.CreateInstanceAndUnwrap( + $commandsAssembly, + $operationExecutorTypeName, + $false, + 0, + $null, + @( + [MarshalByRefObject]$logHandler, + @{ + startupTargetName = $startupAssemblyName + targetName = $targetAssemblyName + environment = $environment + projectDir = $fullPath + rootNamespace = $rootNamespace + } + ), + $null, + $null) + + $resultHandler = New-Object Microsoft.Data.Entity.Design.OperationResultHandler + $currentDirectory = [IO.Directory]::GetCurrentDirectory() + + Write-Verbose "Using current directory '$startupTargetDir'." + + [IO.Directory]::SetCurrentDirectory($startupTargetDir) + try { + $domain.CreateInstance( + $commandsAssembly, + "$operationExecutorTypeName+$operation", + $false, + 0, + $null, + ($executor, [MarshalByRefObject]$resultHandler, $arguments), + $null, + $null) | Out-Null + } + finally { + [IO.Directory]::SetCurrentDirectory($currentDirectory) + } + } + finally { + [AppDomain]::Unload($domain) + } + + if ($resultHandler.ErrorType) { + if ($resultHandler.ErrorType -eq 'Microsoft.Data.Entity.Design.OperationException') { + Write-Verbose $resultHandler.ErrorStackTrace + } + else { + Write-Host $resultHandler.ErrorStackTrace + } + + throw $resultHandler.ErrorMessage + } + if ($resultHandler.HasResult) { + return $resultHandler.Result + } +} + +function GetProperty($properties, $propertyName) { + $property = $properties.Item($propertyName) + if (!$property) { + return $null + } + + return $property.Value +} + +function GetProjectItem($project, $path) { + $fullPath = GetProperty $project.Properties FullPath + + if (Split-Path $path -IsAbsolute) { + $path = $path.Substring($fullPath.Length) + } + + $itemDirectory = (Split-Path $path -Parent) + + $projectItems = $project.ProjectItems + if ($itemDirectory) { + $directories = $itemDirectory.Split('\') + $directories | %{ + $projectItems = $projectItems.Item($_).ProjectItems + } + } + + $itemName = Split-Path $path -Leaf + + try { + return $projectItems.Item($itemName) + } + catch [Exception] { + } + + return $null +} + +function GetStartUpProject($name, $fallbackProject) { + if ($name) { + return Get-Project $name + } + + $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects + if ($startupProjectPaths) { + if ($startupProjectPaths.Length -eq 1) { + $startupProjectPath = $startupProjectPaths[0] + if (!(Split-Path -IsAbsolute $startupProjectPath)) { + $solutionPath = Split-Path (GetProperty $DTE.Solution.Properties Path) + $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve + } + + $startupProject = GetSolutionProjects | ?{ + try { + $fullName = $_.FullName + } + catch [NotImplementedException] { + return $false + } + + if ($fullName -and $fullName.EndsWith('\')) { + $fullName = $fullName.Substring(0, $fullName.Length - 1) + } + + return $fullName -eq $startupProjectPath + } + if ($startupProject) { + return $startupProject + } + + Write-Warning "Unable to resolve startup project '$startupProjectPath'." + } + else { + Write-Verbose 'More than one startup project found.' + } + } + else { + Write-Verbose 'No startup project found.' + } + + return $fallbackProject +} + +function GetSolutionProjects() { + $projects = New-Object System.Collections.Stack + + $DTE.Solution.Projects | %{ + $projects.Push($_) + } + + while ($projects.Count -ne 0) { + $project = $projects.Pop(); + + # NOTE: This line is similar to doing a "yield return" in C# + $project + + if ($project.ProjectItems) { + $project.ProjectItems | ?{ $_.SubProject } | %{ + $projects.Push($_.SubProject) + } + } + } +} + +function GetProviders($projectName) { + if (!($projectName)) { + $projectName = (Get-Project).ProjectName + } + + return Get-Package -ProjectName $projectName | select -ExpandProperty Id +} + + +# SIG # Begin signature block +# MIIkCAYJKoZIhvcNAQcCoIIj+TCCI/UCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBb+AHUwlUcC0P0 +# KEW7krPhrAf1rCRDDgYuENfAzicT/aCCDZIwggYQMIID+KADAgECAhMzAAAAZEeE +# lIbbQRk4AAAAAABkMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTUxMDI4MjAzMTQ2WhcNMTcwMTI4MjAzMTQ2WjCBgzEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEAky7a2OY+mNkbD2RfTahYTRQ793qE/DwRMTrvicJK +# LUGlSF3dEp7vq2YoNNV9KlV7TE2K8sDxstNSFYu2swi4i1AL3X/7agmg3GcExPHf +# vHUYIEC+eCyZVt3u9S7dPkL5Wh8wrgEUirCCtVGg4m1l/vcYCo0wbU06p8XzNi3u +# XyygkgCxHEziy/f/JCV/14/A3ZduzrIXtsccRKckyn6B5uYxuRbZXT7RaO6+zUjQ +# hiyu3A4hwcCKw+4bk1kT9sY7gHIYiFP7q78wPqB3vVKIv3rY6LCTraEbjNR+phBQ +# EL7hyBxk+ocu+8RHZhbAhHs2r1+6hURsAg8t4LAOG6I+JQIDAQABo4IBfzCCAXsw +# HwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjdMCAEwHQYDVR0OBBYEFFhWcQTw +# vbsz9YNozOeARvdXr9IiMFEGA1UdEQRKMEikRjBEMQ0wCwYDVQQLEwRNT1BSMTMw +# MQYDVQQFEyozMTY0Mis0OWU4YzNmMy0yMzU5LTQ3ZjYtYTNiZS02YzhjNDc1MWM0 +# YjYwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3IrVtqMp1ApUwVAYDVR0fBE0wSzBJ +# oEegRYZDaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljQ29k +# U2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggrBgEFBQcBAQRVMFMwUQYIKwYB +# BQUHMAKGRWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj +# Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG +# SIb3DQEBCwUAA4ICAQCI4gxkQx3dXK6MO4UktZ1A1r1mrFtXNdn06DrARZkQTdu0 +# kOTLdlGBCfCzk0309RLkvUgnFKpvLddrg9TGp3n80yUbRsp2AogyrlBU+gP5ggHF +# i7NjGEpj5bH+FDsMw9PygLg8JelgsvBVudw1SgUt625nY7w1vrwk+cDd58TvAyJQ +# FAW1zJ+0ySgB9lu2vwg0NKetOyL7dxe3KoRLaztUcqXoYW5CkI+Mv3m8HOeqlhyf +# FTYxPB5YXyQJPKQJYh8zC9b90JXLT7raM7mQ94ygDuFmlaiZ+QSUR3XVupdEngrm +# ZgUB5jX13M+Pl2Vv7PPFU3xlo3Uhj1wtupNC81epoxGhJ0tRuLdEajD/dCZ0xIni +# esRXCKSC4HCL3BMnSwVXtIoj/QFymFYwD5+sAZuvRSgkKyD1rDA7MPcEI2i/Bh5O +# MAo9App4sR0Gp049oSkXNhvRi/au7QG6NJBTSBbNBGJG8Qp+5QThKoQUk8mj0ugr +# 4yWRsA9JTbmqVw7u9suB5OKYBMUN4hL/yI+aFVsE/KJInvnxSzXJ1YHka45ADYMK +# AMl+fLdIqm3nx6rIN0RkoDAbvTAAXGehUCsIod049A1T3IJyUJXt3OsTd3WabhIB +# XICYfxMg10naaWcyUePgW3+VwP0XLKu4O1+8ZeGyaDSi33GnzmmyYacX3BTqMDCC +# B3owggVioAMCAQICCmEOkNIAAAAAAAMwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m +# dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDExMB4XDTExMDcwODIwNTkw +# OVoXDTI2MDcwODIxMDkwOVowfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAx +# MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvw+nIQHC6t2G6qghBN +# NLrytlghn0IbKmvpWlCquAY4GgRJun/DDB7dN2vGEtgL8DjCmQawyDnVARQxQtOJ +# DXlkh36UYCRsr55JnOloXtLfm1OyCizDr9mpK656Ca/XllnKYBoF6WZ26DJSJhIv +# 56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW9Ea64DhkrG5kNXimoGMPLdNAk/jj3gcN +# 1Vx5pUkp5w2+oBN3vpQ97/vjK1oQH01WKKJ6cuASOrdJXtjt7UORg9l7snuGG9k+ +# sYxd6IlPhBryoS9Z5JA7La4zWMW3Pv4y07MDPbGyr5I4ftKdgCz1TlaRITUlwzlu +# ZH9TupwPrRkjhMv0ugOGjfdf8NBSv4yUh7zAIXQlXxgotswnKDglmDlKNs98sZKu +# HCOnqWbsYR9q4ShJnV+I4iVd0yFLPlLEtVc/JAPw0XpbL9Uj43BdD1FGd7P4AOG8 +# rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhEfEXkwcNyeuBy5yTfv0aZxe/CHFfbg43s +# TUkwp6uO3+xbn6/83bBm4sGXgXvt1u1L50kppxMopqd9Z4DmimJ4X7IvhNdXnFy/ +# dygo8e1twyiPLI9AN0/B4YVEicQJTMXUpUMvdJX3bvh4IFgsE11glZo+TzOE2rCI +# F96eTvSWsLxGoGyY0uDWiIwLAgMBAAGjggHtMIIB6TAQBgkrBgEEAYI3FQEEAwIB +# ADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3IrVtqMp1ApUwGQYJKwYBBAGCNxQCBAwe +# CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +# BBgwFoAUci06AjGQQ7kUBU7h6qfHMdEjiTQwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0 +# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNybDBeBggrBgEFBQcBAQRSMFAwTgYIKwYBBQUH +# MAKGQmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNydDCBnwYDVR0gBIGXMIGUMIGRBgkrBgEEAYI3 +# LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv +# cHMvZG9jcy9wcmltYXJ5Y3BzLmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh +# AGwAXwBwAG8AbABpAGMAeQBfAHMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG +# 9w0BAQsFAAOCAgEAZ/KGpZjgVHkaLtPYdGcimwuWEeFjkplCln3SeQyQwWVfLiw+ +# +MNy0W2D/r4/6ArKO79HqaPzadtjvyI1pZddZYSQfYtGUFXYDJJ80hpLHPM8QotS +# 0LD9a+M+By4pm+Y9G6XUtR13lDni6WTJRD14eiPzE32mkHSDjfTLJgJGKsKKELuk +# qQUMm+1o+mgulaAqPyprWEljHwlpblqYluSD9MCP80Yr3vw70L01724lruWvJ+3Q +# 3fMOr5kol5hNDj0L8giJ1h/DMhji8MUtzluetEk5CsYKwsatruWy2dsViFFFWDgy +# cScaf7H0J/jeLDogaZiyWYlobm+nt3TDQAUGpgEqKD6CPxNNZgvAs0314Y9/HG8V +# fUWnduVAKmWjw11SYobDHWM2l4bf2vP48hahmifhzaWX0O5dY0HjWwechz4GdwbR +# BrF1HxS+YWG18NzGGwS+30HHDiju3mUv7Jf2oVyW2ADWoUa9WfOXpQlLSBCZgB/Q +# ACnFsZulP0V3HjXG0qKin3p6IvpIlR+r+0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL +# /9azI2h15q/6/IvrC4DqaTuv/DDtBEyO3991bWORPdGdVk5Pv4BXIqF4ETIheu9B +# CrE/+6jMpF3BoYibV3FWTkhFwELJm3ZbCoBIa/15n8G9bW1qyVJzEw16UM0xghXM +# MIIVyAIBATCBlTB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExAhMzAAAA +# ZEeElIbbQRk4AAAAAABkMA0GCWCGSAFlAwQCAQUAoIG6MBkGCSqGSIb3DQEJAzEM +# BgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqG +# SIb3DQEJBDEiBCANVv19l8rn4c1QuRlGPJQ3b4ubzgxowZjqY7YfFyLeEDBOBgor +# BgEEAYI3AgEMMUAwPqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABBAFMAUAAuAE4A +# RQBUoRaAFGh0dHA6Ly93d3cuYXNwLm5ldC8gMA0GCSqGSIb3DQEBAQUABIIBAD7/ +# xK5eHMaXbVfA7waWvQkzx5olLN5kYFnPyDrL20LnF5B3sXT2Ln7LsYotNYRJWiE/ +# /DmdioFvnp6dfx12wxEGSK9pPIyaJJHtz8bH/6EoTp0igFOfTqOH3AHK4uQe9JfQ +# 6ONr7aYoF6kfzOq133WCgNJ/wU0pKva0S8ZxbzhnektaHO2ufsF+Ls1VID8/5Rvs +# laS0BeEpLqxlLgPqKu4r8qmruTghY5fwLGu3rlg+GuG+8QdWSRN1cTfHgSJ13iiX +# Vgah/8aAAXjrrbh8PV7nJEwNtZkCgDvawIZJfypSxpE08Y5VrdQ8KSQKJm4tckj+ +# kL8ZgGhsAIm/bSWpxoehghNKMIITRgYKKwYBBAGCNwMDATGCEzYwghMyBgkqhkiG +# 9w0BBwKgghMjMIITHwIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQ +# AQSgggErBIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg +# ECS/t9aSzk2D6TdYMWhFaIHuvFSJcL8SQbM7GUBrIjsCBlYqdFSZDxgTMjAxNTEx +# MTcwMDAyMTYuMTA1WjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzAR +# BgNVBAgTCldhc2hpbmd0b24xDzANBgNVBAcTBlJlZG1vZDEeMBwGA1UEChMVTWlj +# cm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lw +# aGVyIERTRSBFU046MzFDNS0zMEJBLTdDOTExJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2Wggg7OMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjAN +# BgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y +# aXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +# AQoCggEBAKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2 +# tz5mK1vwFVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZz +# MFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24o +# xhr5hoC732H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5n +# f/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9Nxk +# vaQBwSAJk3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcV +# AQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3 +# FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAf +# BgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBH +# hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNS +# b29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF +# BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl +# ckF1dF8yMDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3 +# LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kv +# ZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBs +# AF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcN +# AQELBQADggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPC +# xWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5 +# Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbK +# egBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplm +# kIz/amJ/3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTG +# pQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGn +# Ecua2A5HmoDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd4 +# 6PioSKv33nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1V +# mXqHczsI5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5Kpqj +# EWYw07t0MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsN +# v11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCC +# A8GgAwIBAgITMwAAAHR0zK2pPny1rAAAAAAAdDANBgkqhkiG9w0BAQsFADB8MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy +# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNTEwMDcxODE3MzlaFw0xNzAx +# MDcxODE3MzlaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEP +# MA0GA1UEBxMGUmVkbW9kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# DTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjozMUM1LTMw +# QkEtN0M5MTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKtD2GPlo0EP5ToGkaOTIK29 +# Kq7brXtNqFhfOgUJwUtYQhc6JI5tqN1F5JRSMOJ+9jAWrCAEkXx3eU20k56+ehNq +# fWjE8UIz2NRljSi8J1NynAcCVgSJFuKjYAdOljvWU8rxFSI6P/KRoMPbictp6jL/ +# PzRG/BmlkhvMjNyspPfNlbH5bJRY89ihU2gNlzALmGkWfiOgdK/oRPOe+ZPU42i1 +# at+WOCReoWX2Z8mtsNn4gH9yt1NmK4cCoAgKuvuNmQVf0L+NGE2/Lx9jPJSx52Nc +# CcbqtK60yRE8x83K9944NHb9iyQROUD5fuq9rvfESl7BwVOUoWtgvMZE77Ez2skC +# AwEAAaOCARswggEXMB0GA1UdDgQWBBQ0xqxSiifT0x6XvwwDdXdKutjkMTAfBgNV +# HSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVo +# dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1T +# dGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAC +# hj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBD +# QV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUF +# BwMIMA0GCSqGSIb3DQEBCwUAA4IBAQBZkYwuw6ioh0NFGo6Zk8hEbrRwkVNITye1 +# +EbXXG4siy5OCF4iXWRR9domidXuE3uMsbjqHgHfgDYVAovD0Oi9Zqxbkc0vPEhX +# qi8xRQMLLwy4jFSjTJ6S52DlcIr+EIBQj4pOUFqvcRdO8bSFsDIKUVJxCHDkDKyK +# MwY008TjNB+OKBvhcQND6+nbQOLWtUnGYKOWEUgQpNVyKrEu90fq4yvbuEq68CMQ +# GrhHTLXSpSyxSjrE1j+OXz+e95D/jeUs4G7323tx0Q0oihO8sm+aJsC8iFmb5c8X +# HVmIof4wKgCzDkDTGwdUnpnL+kOs7FXQm07NmbPsHIKI2WA74OgSoYIDeDCCAmAC +# AQEwgeKhgbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +# MQ8wDQYDVQQHEwZSZWRtb2QxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjMxQzUt +# MzBCQS03QzkxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl +# oiUKAQEwCQYFKw4DAhoFAAMVABB2BqyiAFCEUKaVc38ZxJdOER74oIHCMIG/pIG8 +# MIG5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYDVQQL +# EwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIE5UUyBFU046NTdGNi1DMUUwLTU1NEMx +# KzApBgNVBAMTIk1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0ZXIgQ2xvY2swDQYJ +# KoZIhvcNAQEFBQACBQDZ9InrMCIYDzIwMTUxMTE2MTY1OTIzWhgPMjAxNTExMTcx +# NjU5MjNaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFANn0iesCAQAwCgIBAAICHnAC +# Af8wBwIBAAICGH8wCgIFANn122sCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYB +# BAGEWQoDAaAKMAgCAQACAxbjYKEKMAgCAQACAwehIDANBgkqhkiG9w0BAQUFAAOC +# AQEAGXYdsvH8BO5ykyXOHXanfUMbeqhL+u7tX7wN5xwL9lSKg2asdnYO53AFBg+x +# +MbVYUkW/u4IYuBW1WA981NLdzV1oDtsdkvC4aJfA/M8X7HXOd6jMfHuXMfIHeR6 +# C5dR95bwwVCVKlwhnnnYAKBH8tbw3kOZ/6oP4iS8bI1k9Nihiebb6WF1ocuAtu3I +# M1mJt3VS2G2jRWdXO/MNrmlssB+1Km4CkvRZV70ZmWssZy09L6hP0xvqd4AnKSDW +# 2X4T3PUF8OR4uUZ0aYjlkHJkfJPf1Yh0Oe/sCf5A5Qas88BlSmATyU0WSRd1YR7m +# YICUMkoEQxAzNMjGF825rTGqSzGCAvUwggLxAgEBMIGTMHwxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l +# LVN0YW1wIFBDQSAyMDEwAhMzAAAAdHTMrak+fLWsAAAAAAB0MA0GCWCGSAFlAwQC +# AQUAoIIBMjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkE +# MSIEIOrJJOKLinmYlSOIyanQfvQZGZ74mWwLN2A2/enCQgCiMIHiBgsqhkiG9w0B +# CRACDDGB0jCBzzCBzDCBsQQUEHYGrKIAUIRQppVzfxnEl04RHvgwgZgwgYCkfjB8 +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N +# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAHR0zK2pPny1rAAAAAAA +# dDAWBBQnnC6SnEZmRR+MN+ymmnNCdB8rqzANBgkqhkiG9w0BAQsFAASCAQCKhi57 +# UtfKy3nfOc/QsYoMYAwMEcw+O0QeYSc+usQnY7OuJeTFG8jbb363S9AJOEQNm8C4 +# Aq4KRfewKuxWuLYOQVwKOm67NlgmuwhvpKOpQ8wpRs110AQhpn3o7L3W4IN4XrA1 +# W72gy0sSUuMKamkj6BQ3A2FQAMzCF1a4+Fao19HXAMPblelbYVmxADqL6Ai8jGkP +# 3+lZE0/sZVxsmGnjqWi2OsurfhMnw1kiZ7gQqk6WR22Lt8LCi9RblfuZGKMyecn2 +# cY5LxEKqMlfSuF0K9Rt+4jz9Z5UbBko2540XN08Hgu1JpxFwrcygxO22CsrnT3Xl +# qdvbsRKWbxqq6IXp +# SIG # End signature block diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/OperationHandlers.cs b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/OperationHandlers.cs new file mode 100644 index 00000000..e7b3977c --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/OperationHandlers.cs @@ -0,0 +1,150 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if ENABLE_HANDLERS && !DNXCORE50 +using System; +#endif + +namespace Microsoft.Data.Entity.Design +{ +#if !OMIT_HANDLER_INTERFACES + public interface IOperationResultHandler + { + int Version { get; } + void OnResult(object value); + void OnError(string type, string message, string stackTrace); + } + + public interface IOperationLogHandler + { + int Version { get; } + void WriteError(string message); + void WriteWarning(string message); + void WriteInformation(string message); + void WriteVerbose(string message); + void WriteDebug(string message); + } +#endif + +#if ENABLE_HANDLERS && !DNXCORE50 + public class OperationResultHandler : MarshalByRefObject, IOperationResultHandler + { + private bool _hasResult; + private object _result; + private string _errorType; + private string _errorMessage; + private string _errorStackTrace; + + public virtual int Version + { + get { return 0; } + } + + public virtual bool HasResult + { + get { return _hasResult; } + } + + public virtual object Result + { + get { return _result; } + } + + public virtual string ErrorType + { + get { return _errorType; } + } + + public virtual string ErrorMessage + { + get { return _errorMessage; } + } + + public virtual string ErrorStackTrace + { + get { return _errorStackTrace; } + } + + public virtual void OnResult(object value) + { + _hasResult = true; + _result = value; + } + + public virtual void OnError(string type, string message, string stackTrace) + { + _errorType = type; + _errorMessage = message; + _errorStackTrace = stackTrace; + } + } + + public class OperationLogHandler : MarshalByRefObject, IOperationLogHandler + { + private readonly Action _writeError; + private readonly Action _writeWarning; + private readonly Action _writeInformation; + private readonly Action _writeVerbose; + private readonly Action _writeDebug; + + public virtual int Version + { + get { return 0; } + } + + public OperationLogHandler( + Action writeError = null, + Action writeWarning = null, + Action writeInformation = null, + Action writeVerbose = null, + Action writeDebug = null) + { + _writeError = writeError; + _writeWarning = writeWarning; + _writeInformation = writeInformation; + _writeVerbose = writeVerbose; + _writeDebug = writeDebug; + } + + public virtual void WriteError(string message) + { + if (_writeError != null) + { + _writeError(message); + } + } + + public virtual void WriteWarning(string message) + { + if (_writeWarning != null) + { + _writeWarning(message); + } + } + + public virtual void WriteInformation(string message) + { + if (_writeInformation != null) + { + _writeInformation(message); + } + } + + public virtual void WriteVerbose(string message) + { + if (_writeVerbose != null) + { + _writeVerbose(message); + } + } + + public virtual void WriteDebug(string message) + { + if (_writeDebug != null) + { + _writeDebug(message); + } + } + } +#endif +} diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/about_EntityFramework.help.txt b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/about_EntityFramework.help.txt new file mode 100644 index 00000000..08bf80c9 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/about_EntityFramework.help.txt @@ -0,0 +1,41 @@ + + _/\__ + ---==/ \\ + ___ ___ |. \|\ + | __|| __| | ) \\\ + | _| | _| \_/ | //|\\ + |___||_| / \\\/\\ + +TOPIC + about_EntityFramework + +SHORT DESCRIPTION + Provides information about Entity Framework commands. + +LONG DESCRIPTION + This topic describes the Entity Framework commands. Entity Framework is Microsoft's recommended data access technology for new + applications. + + The following Entity Framework cmdlets are included. + + Cmdlet Description + -------------------------- --------------------------------------------------- + Add-Migration Adds a new migration. + + Remove-Migration Removes the last migration. + + Scaffold-DbContext Scaffolds a DbContext and entity type classes for a specified database. + + Script-Migration Generates a SQL script from migrations. + + Update-Database Updates the database to a specified migration. + + Use-DbContext Sets the default DbContext to use. + +SEE ALSO + Add-Migration + Remove-Migration + Scaffold-DbContext + Script-Migration + Update-Database + Use-DbContext diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/init.ps1 b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/init.ps1 new file mode 100644 index 00000000..bb756f74 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/init.ps1 @@ -0,0 +1,203 @@ +param ($installPath, $toolsPath, $package, $project) + +if (Get-Module | ? Name -eq EntityFramework) { + Remove-Module EntityFramework +} + +Import-Module (Join-Path $PSScriptRoot EntityFramework.psd1) -DisableNameChecking + +# SIG # Begin signature block +# MIIkCgYJKoZIhvcNAQcCoIIj+zCCI/cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAFEuFOiPih1AIY +# PamyF+yrEvqPE6kgcsZGpSNmXbDw1qCCDZIwggYQMIID+KADAgECAhMzAAAAZEeE +# lIbbQRk4AAAAAABkMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTUxMDI4MjAzMTQ2WhcNMTcwMTI4MjAzMTQ2WjCBgzEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEAky7a2OY+mNkbD2RfTahYTRQ793qE/DwRMTrvicJK +# LUGlSF3dEp7vq2YoNNV9KlV7TE2K8sDxstNSFYu2swi4i1AL3X/7agmg3GcExPHf +# vHUYIEC+eCyZVt3u9S7dPkL5Wh8wrgEUirCCtVGg4m1l/vcYCo0wbU06p8XzNi3u +# XyygkgCxHEziy/f/JCV/14/A3ZduzrIXtsccRKckyn6B5uYxuRbZXT7RaO6+zUjQ +# hiyu3A4hwcCKw+4bk1kT9sY7gHIYiFP7q78wPqB3vVKIv3rY6LCTraEbjNR+phBQ +# EL7hyBxk+ocu+8RHZhbAhHs2r1+6hURsAg8t4LAOG6I+JQIDAQABo4IBfzCCAXsw +# HwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjdMCAEwHQYDVR0OBBYEFFhWcQTw +# vbsz9YNozOeARvdXr9IiMFEGA1UdEQRKMEikRjBEMQ0wCwYDVQQLEwRNT1BSMTMw +# MQYDVQQFEyozMTY0Mis0OWU4YzNmMy0yMzU5LTQ3ZjYtYTNiZS02YzhjNDc1MWM0 +# YjYwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3IrVtqMp1ApUwVAYDVR0fBE0wSzBJ +# oEegRYZDaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljQ29k +# U2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggrBgEFBQcBAQRVMFMwUQYIKwYB +# BQUHMAKGRWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj +# Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG +# SIb3DQEBCwUAA4ICAQCI4gxkQx3dXK6MO4UktZ1A1r1mrFtXNdn06DrARZkQTdu0 +# kOTLdlGBCfCzk0309RLkvUgnFKpvLddrg9TGp3n80yUbRsp2AogyrlBU+gP5ggHF +# i7NjGEpj5bH+FDsMw9PygLg8JelgsvBVudw1SgUt625nY7w1vrwk+cDd58TvAyJQ +# FAW1zJ+0ySgB9lu2vwg0NKetOyL7dxe3KoRLaztUcqXoYW5CkI+Mv3m8HOeqlhyf +# FTYxPB5YXyQJPKQJYh8zC9b90JXLT7raM7mQ94ygDuFmlaiZ+QSUR3XVupdEngrm +# ZgUB5jX13M+Pl2Vv7PPFU3xlo3Uhj1wtupNC81epoxGhJ0tRuLdEajD/dCZ0xIni +# esRXCKSC4HCL3BMnSwVXtIoj/QFymFYwD5+sAZuvRSgkKyD1rDA7MPcEI2i/Bh5O +# MAo9App4sR0Gp049oSkXNhvRi/au7QG6NJBTSBbNBGJG8Qp+5QThKoQUk8mj0ugr +# 4yWRsA9JTbmqVw7u9suB5OKYBMUN4hL/yI+aFVsE/KJInvnxSzXJ1YHka45ADYMK +# AMl+fLdIqm3nx6rIN0RkoDAbvTAAXGehUCsIod049A1T3IJyUJXt3OsTd3WabhIB +# XICYfxMg10naaWcyUePgW3+VwP0XLKu4O1+8ZeGyaDSi33GnzmmyYacX3BTqMDCC +# B3owggVioAMCAQICCmEOkNIAAAAAAAMwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m +# dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDExMB4XDTExMDcwODIwNTkw +# OVoXDTI2MDcwODIxMDkwOVowfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAx +# MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvw+nIQHC6t2G6qghBN +# NLrytlghn0IbKmvpWlCquAY4GgRJun/DDB7dN2vGEtgL8DjCmQawyDnVARQxQtOJ +# DXlkh36UYCRsr55JnOloXtLfm1OyCizDr9mpK656Ca/XllnKYBoF6WZ26DJSJhIv +# 56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW9Ea64DhkrG5kNXimoGMPLdNAk/jj3gcN +# 1Vx5pUkp5w2+oBN3vpQ97/vjK1oQH01WKKJ6cuASOrdJXtjt7UORg9l7snuGG9k+ +# sYxd6IlPhBryoS9Z5JA7La4zWMW3Pv4y07MDPbGyr5I4ftKdgCz1TlaRITUlwzlu +# ZH9TupwPrRkjhMv0ugOGjfdf8NBSv4yUh7zAIXQlXxgotswnKDglmDlKNs98sZKu +# HCOnqWbsYR9q4ShJnV+I4iVd0yFLPlLEtVc/JAPw0XpbL9Uj43BdD1FGd7P4AOG8 +# rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhEfEXkwcNyeuBy5yTfv0aZxe/CHFfbg43s +# TUkwp6uO3+xbn6/83bBm4sGXgXvt1u1L50kppxMopqd9Z4DmimJ4X7IvhNdXnFy/ +# dygo8e1twyiPLI9AN0/B4YVEicQJTMXUpUMvdJX3bvh4IFgsE11glZo+TzOE2rCI +# F96eTvSWsLxGoGyY0uDWiIwLAgMBAAGjggHtMIIB6TAQBgkrBgEEAYI3FQEEAwIB +# ADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3IrVtqMp1ApUwGQYJKwYBBAGCNxQCBAwe +# CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +# BBgwFoAUci06AjGQQ7kUBU7h6qfHMdEjiTQwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0 +# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNybDBeBggrBgEFBQcBAQRSMFAwTgYIKwYBBQUH +# MAKGQmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNydDCBnwYDVR0gBIGXMIGUMIGRBgkrBgEEAYI3 +# LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv +# cHMvZG9jcy9wcmltYXJ5Y3BzLmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh +# AGwAXwBwAG8AbABpAGMAeQBfAHMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG +# 9w0BAQsFAAOCAgEAZ/KGpZjgVHkaLtPYdGcimwuWEeFjkplCln3SeQyQwWVfLiw+ +# +MNy0W2D/r4/6ArKO79HqaPzadtjvyI1pZddZYSQfYtGUFXYDJJ80hpLHPM8QotS +# 0LD9a+M+By4pm+Y9G6XUtR13lDni6WTJRD14eiPzE32mkHSDjfTLJgJGKsKKELuk +# qQUMm+1o+mgulaAqPyprWEljHwlpblqYluSD9MCP80Yr3vw70L01724lruWvJ+3Q +# 3fMOr5kol5hNDj0L8giJ1h/DMhji8MUtzluetEk5CsYKwsatruWy2dsViFFFWDgy +# cScaf7H0J/jeLDogaZiyWYlobm+nt3TDQAUGpgEqKD6CPxNNZgvAs0314Y9/HG8V +# fUWnduVAKmWjw11SYobDHWM2l4bf2vP48hahmifhzaWX0O5dY0HjWwechz4GdwbR +# BrF1HxS+YWG18NzGGwS+30HHDiju3mUv7Jf2oVyW2ADWoUa9WfOXpQlLSBCZgB/Q +# ACnFsZulP0V3HjXG0qKin3p6IvpIlR+r+0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL +# /9azI2h15q/6/IvrC4DqaTuv/DDtBEyO3991bWORPdGdVk5Pv4BXIqF4ETIheu9B +# CrE/+6jMpF3BoYibV3FWTkhFwELJm3ZbCoBIa/15n8G9bW1qyVJzEw16UM0xghXO +# MIIVygIBATCBlTB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExAhMzAAAA +# ZEeElIbbQRk4AAAAAABkMA0GCWCGSAFlAwQCAQUAoIG6MBkGCSqGSIb3DQEJAzEM +# BgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqG +# SIb3DQEJBDEiBCA4O+tBMcuUZ+WyEmaDAHnzK0HpMe66wAR3QkVqc5WNxDBOBgor +# BgEEAYI3AgEMMUAwPqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABBAFMAUAAuAE4A +# RQBUoRaAFGh0dHA6Ly93d3cuYXNwLm5ldC8gMA0GCSqGSIb3DQEBAQUABIIBAG0c +# nTPvAlGwJ/pTUzyi8N3swpHZqfeUmN40szflYOemS2nt2qnTRxYBMfRkGktwp0GQ +# QJ5nxOsenXCQe87AMFZZs4uJBTW4koQJL46x5TPeDU0/vHJAeZCK6WJT4PXoY5d/ +# DnPUVWUcyzwTJppTK7BXBOVxm3TJvxkwKL9fBQOZOBxu3C52aW37cnqSYAVe2Xgm +# 1h6NiXPQ6ro+2xj48qejDsTDb1KhGr43mI9mdAZ0NhHel3ZcK86griUuySXX1pHL +# +0zqeG4sdu8hSdf2Xzt4sfyp0bHksCG1V0O4qGmQ2MTLBzgNLbBAYduUVH55p+Or +# nCh2L160WS4g3lJtHzehghNMMIITSAYKKwYBBAGCNwMDATGCEzgwghM0BgkqhkiG +# 9w0BBwKgghMlMIITIQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPQYLKoZIhvcNAQkQ +# AQSgggEsBIIBKDCCASQCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg +# mzSqsWLaOJBFPevixU2S/REPBC3kfYjKTmj067TMvhQCBlYqPxN8KhgTMjAxNTEx +# MTcwMDAyMTYuMTg0WjAHAgEBgAIB9KCBuaSBtjCBszELMAkGA1UEBhMCVVMxEzAR +# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +# Y3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNp +# cGhlciBEU0UgRVNOOjcyOEQtQzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQg +# VGltZS1TdGFtcCBTZXJ2aWNloIIOzzCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +# ggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHC +# drc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zW +# czBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNu +# KMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+ +# Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16HgcsOmZzTznL0S6p/Tc +# ZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3 +# FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGC +# NxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +# HwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmg +# R4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj +# Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEF +# BQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29D +# ZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGC +# Ny4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJ +# L2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEA +# bABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3 +# DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCz +# wsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GASinbMQEBBm9xcF/9c +# +V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872 +# ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6Z +# ZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0 +# xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45V3aicaoGig+JFrph +# pxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VH +# eOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgN +# VZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKnQqLJzxlBTeCG+Sqa +# oxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37 +# Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvTX4/edIhJEjCCBNow +# ggPCoAMCAQICEzMAAABuK0H3MwFZDmYAAAAAAG4wDQYJKoZIhvcNAQELBQAwfDEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj +# cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMTUxMDA3MTgxNzM2WhcNMTcw +# MTA3MTgxNzM2WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjcyOEQt +# QzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl +# MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf2+HZgB7AEROhu2Fx8M +# 1RaN2C/4eg9EGtiOzW6bJlK6zAQly+pAwyYAWdWNaYMW5zRhSNO77G4JRqZnMTu4 +# GV/o9XiIDPmIxghbyu54DfEC007cvU0ml49LBX04Os4pgboW4lTC68/zV4TiDKib +# nQCLFErtZfCEFHEVc24sdsmTkTFd2vsjHxtM8qKeCx5OzkLbCbvtKZUmwY0RzLzf +# fiHSBYvDTv9je/Ez+m9IERn0ns1KyiSh5JebmFl6Id1UIpCV2M35IQtD6j/ujGEg +# qrK43c6EgscWCAy7ykQbLA3iqxyn/aEf9REm0YVFtDqaY1kdY6FrV9zPefgoeVEr +# 2QIDAQABo4IBGzCCARcwHQYDVR0OBBYEFGV8aHj8emFMal1Xy5MrEGcr7HxwMB8G +# A1UdIwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeG +# RWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Rp +# bVN0YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUH +# MAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3Rh +# UENBXzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYB +# BQUHAwgwDQYJKoZIhvcNAQELBQADggEBAHToFwe2mgGSgIIe6kuOVU0ZgU/wiWgY +# GeXmIottU0u70OcfcnIuNW4rgoh/3nLBb5OyRM6sGT7ZAj+WTiBr4G4nHFlgg/4+ +# 2rbskZVHa1j239WIy2Luff7crJZI8IJ0qrRAR7VpEfhxGhu1dbalq11zyBS/vMRc +# ikAYeM1Fm7zq5BVMju9tvnKfcKAbKXyNJkEQYalZLUh4AN5CCcUnqGrBGEOxXkbL +# Q1I9C8wMY0Y4hoXE3tprwabaEdkeJxcfx4OXV7gt0iPcXFhJiNLsa6kCuj/HyAft +# YYhk7zmemIYxVnMCoYjwiTsnBI0zgKNNrVXmd9LHTuBAGQaXRnx2l/KhggN4MIIC +# YAIBATCB46GBuaSBtjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjcy +# OEQtQzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2 +# aWNloiUKAQEwCQYFKw4DAhoFAAMVAEIl3LaexTr0sjf6zrWu/23UWONxoIHCMIG/ +# pIG8MIG5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYD +# VQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIE5UUyBFU046NERFOS0wQzVFLTNF +# MDkxKzApBgNVBAMTIk1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0ZXIgQ2xvY2sw +# DQYJKoZIhvcNAQEFBQACBQDZ9ImNMCIYDzIwMTUxMTE2MTY1NzQ5WhgPMjAxNTEx +# MTcxNjU3NDlaMHYwPAYKKwYBBAGEWQoEATEuMCwwCgIFANn0iY0CAQAwCQIBAAIB +# HAIB/zAHAgEAAgIZTzAKAgUA2fXbDQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor +# BgEEAYRZCgMBoAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUA +# A4IBAQAzDMfpDvXLDDtPSC1Xpk/Vh3jw52fK/Pp+wMT9CICnpWtLcwV6h13rLUFW +# +Ho2OmHdvBjY/S9pDhIUNihEnvbjpWiMDLPgP2lNGesZha50Cn6lUDU7SI2yPban +# rkaoKvpazYD8K+G0m8abQjYJXK3K5GhHy4YKOXxfcGt/RKijH2KkCfQm1nTmB6y1 +# aDteNURhOXEdfB6DWbMcoayB84Nmir5stngysl8tuwEFCYI0FJVkmPyOtcYa8cQ1 +# DldVZiH4ofW3vkooBKR1cR5Rhqddfxc7AL7AixS8+/V1YMPbryi9+JkB3o2HvW9c +# LHQZBHUsvieh0VogYjahmtUEACeeMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMC +# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgUENBIDIwMTACEzMAAABuK0H3MwFZDmYAAAAAAG4wDQYJYIZIAWUD +# BAIBBQCgggEyMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0B +# CQQxIgQgbtnzeCLf6htKeVc40x2y99zPGbQxEb4QYKxDv8bjUmcwgeIGCyqGSIb3 +# DQEJEAIMMYHSMIHPMIHMMIGxBBRCJdy2nsU69LI3+s61rv9t1FjjcTCBmDCBgKR+ +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAbitB9zMBWQ5mAAAA +# AABuMBYEFBYFnFPp/LRmHJx63XMkOfd52O1qMA0GCSqGSIb3DQEBCwUABIIBAEkz +# MNqUnAwmCqcoqj8N9RnFw1+nReP2u2QlFOwNQc5dK09XHpLRnCuda0K/f/qxj/G0 +# vgzuPy3mHd6hCwAKVhj9DAmq88M+O/Xj6Ip07Ai6oq5QiiWPpyc3L0C3ic6JNrCu +# dJg0/hSUV99mLZXDMQdgQ7evO4tdbEpbdRLdpTPfbPc10a5gxayAx/Tbc8oxiTTe +# QRFrqLJz4wIMsqsuV9BNDDOvFMKd6bEW8T/4tjQiex+Sbrcqof2PjXgk6Q1kVOfZ +# 2u8Zd4pg7L0d/sStn+76U+E6SjlJWOaLqvrlbRqjvbYRf4h5c23uAangC7MckJG4 +# O5BSQfO4IXK60e1m8GE= +# SIG # End signature block diff --git a/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/install.ps1 b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/install.ps1 new file mode 100644 index 00000000..86e22471 --- /dev/null +++ b/build/approot/packages/EntityFramework.Commands/7.0.0-rc1-final/tools/install.ps1 @@ -0,0 +1,201 @@ +param ($installPath, $toolsPath, $package, $project) + +Write-Host +Write-Host 'Type ''get-help EntityFramework'' to see all available Entity Framework commands.' +Write-Host + +# SIG # Begin signature block +# MIIkCgYJKoZIhvcNAQcCoIIj+zCCI/cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB4n3xzZbr0mm2T +# iS3SyAMVPYS0t9rVJKBKmLD+wzwTTqCCDZIwggYQMIID+KADAgECAhMzAAAAZEeE +# lIbbQRk4AAAAAABkMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTUxMDI4MjAzMTQ2WhcNMTcwMTI4MjAzMTQ2WjCBgzEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEAky7a2OY+mNkbD2RfTahYTRQ793qE/DwRMTrvicJK +# LUGlSF3dEp7vq2YoNNV9KlV7TE2K8sDxstNSFYu2swi4i1AL3X/7agmg3GcExPHf +# vHUYIEC+eCyZVt3u9S7dPkL5Wh8wrgEUirCCtVGg4m1l/vcYCo0wbU06p8XzNi3u +# XyygkgCxHEziy/f/JCV/14/A3ZduzrIXtsccRKckyn6B5uYxuRbZXT7RaO6+zUjQ +# hiyu3A4hwcCKw+4bk1kT9sY7gHIYiFP7q78wPqB3vVKIv3rY6LCTraEbjNR+phBQ +# EL7hyBxk+ocu+8RHZhbAhHs2r1+6hURsAg8t4LAOG6I+JQIDAQABo4IBfzCCAXsw +# HwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjdMCAEwHQYDVR0OBBYEFFhWcQTw +# vbsz9YNozOeARvdXr9IiMFEGA1UdEQRKMEikRjBEMQ0wCwYDVQQLEwRNT1BSMTMw +# MQYDVQQFEyozMTY0Mis0OWU4YzNmMy0yMzU5LTQ3ZjYtYTNiZS02YzhjNDc1MWM0 +# YjYwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3IrVtqMp1ApUwVAYDVR0fBE0wSzBJ +# oEegRYZDaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljQ29k +# U2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggrBgEFBQcBAQRVMFMwUQYIKwYB +# BQUHMAKGRWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj +# Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG +# SIb3DQEBCwUAA4ICAQCI4gxkQx3dXK6MO4UktZ1A1r1mrFtXNdn06DrARZkQTdu0 +# kOTLdlGBCfCzk0309RLkvUgnFKpvLddrg9TGp3n80yUbRsp2AogyrlBU+gP5ggHF +# i7NjGEpj5bH+FDsMw9PygLg8JelgsvBVudw1SgUt625nY7w1vrwk+cDd58TvAyJQ +# FAW1zJ+0ySgB9lu2vwg0NKetOyL7dxe3KoRLaztUcqXoYW5CkI+Mv3m8HOeqlhyf +# FTYxPB5YXyQJPKQJYh8zC9b90JXLT7raM7mQ94ygDuFmlaiZ+QSUR3XVupdEngrm +# ZgUB5jX13M+Pl2Vv7PPFU3xlo3Uhj1wtupNC81epoxGhJ0tRuLdEajD/dCZ0xIni +# esRXCKSC4HCL3BMnSwVXtIoj/QFymFYwD5+sAZuvRSgkKyD1rDA7MPcEI2i/Bh5O +# MAo9App4sR0Gp049oSkXNhvRi/au7QG6NJBTSBbNBGJG8Qp+5QThKoQUk8mj0ugr +# 4yWRsA9JTbmqVw7u9suB5OKYBMUN4hL/yI+aFVsE/KJInvnxSzXJ1YHka45ADYMK +# AMl+fLdIqm3nx6rIN0RkoDAbvTAAXGehUCsIod049A1T3IJyUJXt3OsTd3WabhIB +# XICYfxMg10naaWcyUePgW3+VwP0XLKu4O1+8ZeGyaDSi33GnzmmyYacX3BTqMDCC +# B3owggVioAMCAQICCmEOkNIAAAAAAAMwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m +# dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDExMB4XDTExMDcwODIwNTkw +# OVoXDTI2MDcwODIxMDkwOVowfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAx +# MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvw+nIQHC6t2G6qghBN +# NLrytlghn0IbKmvpWlCquAY4GgRJun/DDB7dN2vGEtgL8DjCmQawyDnVARQxQtOJ +# DXlkh36UYCRsr55JnOloXtLfm1OyCizDr9mpK656Ca/XllnKYBoF6WZ26DJSJhIv +# 56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW9Ea64DhkrG5kNXimoGMPLdNAk/jj3gcN +# 1Vx5pUkp5w2+oBN3vpQ97/vjK1oQH01WKKJ6cuASOrdJXtjt7UORg9l7snuGG9k+ +# sYxd6IlPhBryoS9Z5JA7La4zWMW3Pv4y07MDPbGyr5I4ftKdgCz1TlaRITUlwzlu +# ZH9TupwPrRkjhMv0ugOGjfdf8NBSv4yUh7zAIXQlXxgotswnKDglmDlKNs98sZKu +# HCOnqWbsYR9q4ShJnV+I4iVd0yFLPlLEtVc/JAPw0XpbL9Uj43BdD1FGd7P4AOG8 +# rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhEfEXkwcNyeuBy5yTfv0aZxe/CHFfbg43s +# TUkwp6uO3+xbn6/83bBm4sGXgXvt1u1L50kppxMopqd9Z4DmimJ4X7IvhNdXnFy/ +# dygo8e1twyiPLI9AN0/B4YVEicQJTMXUpUMvdJX3bvh4IFgsE11glZo+TzOE2rCI +# F96eTvSWsLxGoGyY0uDWiIwLAgMBAAGjggHtMIIB6TAQBgkrBgEEAYI3FQEEAwIB +# ADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3IrVtqMp1ApUwGQYJKwYBBAGCNxQCBAwe +# CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +# BBgwFoAUci06AjGQQ7kUBU7h6qfHMdEjiTQwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0 +# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNybDBeBggrBgEFBQcBAQRSMFAwTgYIKwYBBQUH +# MAKGQmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2Vy +# QXV0MjAxMV8yMDExXzAzXzIyLmNydDCBnwYDVR0gBIGXMIGUMIGRBgkrBgEEAYI3 +# LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv +# cHMvZG9jcy9wcmltYXJ5Y3BzLmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh +# AGwAXwBwAG8AbABpAGMAeQBfAHMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG +# 9w0BAQsFAAOCAgEAZ/KGpZjgVHkaLtPYdGcimwuWEeFjkplCln3SeQyQwWVfLiw+ +# +MNy0W2D/r4/6ArKO79HqaPzadtjvyI1pZddZYSQfYtGUFXYDJJ80hpLHPM8QotS +# 0LD9a+M+By4pm+Y9G6XUtR13lDni6WTJRD14eiPzE32mkHSDjfTLJgJGKsKKELuk +# qQUMm+1o+mgulaAqPyprWEljHwlpblqYluSD9MCP80Yr3vw70L01724lruWvJ+3Q +# 3fMOr5kol5hNDj0L8giJ1h/DMhji8MUtzluetEk5CsYKwsatruWy2dsViFFFWDgy +# cScaf7H0J/jeLDogaZiyWYlobm+nt3TDQAUGpgEqKD6CPxNNZgvAs0314Y9/HG8V +# fUWnduVAKmWjw11SYobDHWM2l4bf2vP48hahmifhzaWX0O5dY0HjWwechz4GdwbR +# BrF1HxS+YWG18NzGGwS+30HHDiju3mUv7Jf2oVyW2ADWoUa9WfOXpQlLSBCZgB/Q +# ACnFsZulP0V3HjXG0qKin3p6IvpIlR+r+0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL +# /9azI2h15q/6/IvrC4DqaTuv/DDtBEyO3991bWORPdGdVk5Pv4BXIqF4ETIheu9B +# CrE/+6jMpF3BoYibV3FWTkhFwELJm3ZbCoBIa/15n8G9bW1qyVJzEw16UM0xghXO +# MIIVygIBATCBlTB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExAhMzAAAA +# ZEeElIbbQRk4AAAAAABkMA0GCWCGSAFlAwQCAQUAoIG6MBkGCSqGSIb3DQEJAzEM +# BgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqG +# SIb3DQEJBDEiBCC29cgMmbcBkzFtsX4AfGL6zLwTFV8ECJXQMjs6WUcoOjBOBgor +# BgEEAYI3AgEMMUAwPqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABBAFMAUAAuAE4A +# RQBUoRaAFGh0dHA6Ly93d3cuYXNwLm5ldC8gMA0GCSqGSIb3DQEBAQUABIIBAIW3 +# MOgQBic1148nPcftStbKNhGrAq85lisZcYYVERa5gWhomjad4U3u02F0bJ/1Ix83 +# x7HKpwvekKz9rmCwuSTLLkLmPxmkBFZZul4PNIaTIC9b4kfDPwl8Ix94cjdbxu6X +# FaX28BmWUmqDuMEgtz8SRSYVd8EgzuuxLGky5xDcAS/aB0tBZ3QhyBTdsW7wkK99 +# I62GlmWMg9gK0m7g8W9+sMrMW8QMBGayZI219Ufb8/pvc0K/g3YZUltA+HE5Xzeh +# 54ah/XWE0CiDzNNBWxzxx/bdDaibzZDYlKoaTkAcpQsBnJlO9eAa6P0yPKpTY3A6 +# PIKjzybTcq5RtyX+BcmhghNMMIITSAYKKwYBBAGCNwMDATGCEzgwghM0BgkqhkiG +# 9w0BBwKgghMlMIITIQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPQYLKoZIhvcNAQkQ +# AQSgggEsBIIBKDCCASQCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg +# kO02Slifs5XKsS2O8KsZhvbf0VDNeFSwKstdFkcEal8CBlYqPxN8KRgTMjAxNTEx +# MTcwMDAyMTYuMTQ2WjAHAgEBgAIB9KCBuaSBtjCBszELMAkGA1UEBhMCVVMxEzAR +# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +# Y3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNp +# cGhlciBEU0UgRVNOOjcyOEQtQzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQg +# VGltZS1TdGFtcCBTZXJ2aWNloIIOzzCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +# ggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHC +# drc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zW +# czBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNu +# KMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+ +# Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16HgcsOmZzTznL0S6p/Tc +# ZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3 +# FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGC +# NxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +# HwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmg +# R4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj +# Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEF +# BQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29D +# ZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGC +# Ny4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJ +# L2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEA +# bABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3 +# DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCz +# wsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GASinbMQEBBm9xcF/9c +# +V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872 +# ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6Z +# ZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0 +# xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45V3aicaoGig+JFrph +# pxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VH +# eOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgN +# VZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKnQqLJzxlBTeCG+Sqa +# oxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37 +# Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvTX4/edIhJEjCCBNow +# ggPCoAMCAQICEzMAAABuK0H3MwFZDmYAAAAAAG4wDQYJKoZIhvcNAQELBQAwfDEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj +# cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMTUxMDA3MTgxNzM2WhcNMTcw +# MTA3MTgxNzM2WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjcyOEQt +# QzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl +# MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf2+HZgB7AEROhu2Fx8M +# 1RaN2C/4eg9EGtiOzW6bJlK6zAQly+pAwyYAWdWNaYMW5zRhSNO77G4JRqZnMTu4 +# GV/o9XiIDPmIxghbyu54DfEC007cvU0ml49LBX04Os4pgboW4lTC68/zV4TiDKib +# nQCLFErtZfCEFHEVc24sdsmTkTFd2vsjHxtM8qKeCx5OzkLbCbvtKZUmwY0RzLzf +# fiHSBYvDTv9je/Ez+m9IERn0ns1KyiSh5JebmFl6Id1UIpCV2M35IQtD6j/ujGEg +# qrK43c6EgscWCAy7ykQbLA3iqxyn/aEf9REm0YVFtDqaY1kdY6FrV9zPefgoeVEr +# 2QIDAQABo4IBGzCCARcwHQYDVR0OBBYEFGV8aHj8emFMal1Xy5MrEGcr7HxwMB8G +# A1UdIwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeG +# RWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Rp +# bVN0YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUH +# MAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3Rh +# UENBXzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYB +# BQUHAwgwDQYJKoZIhvcNAQELBQADggEBAHToFwe2mgGSgIIe6kuOVU0ZgU/wiWgY +# GeXmIottU0u70OcfcnIuNW4rgoh/3nLBb5OyRM6sGT7ZAj+WTiBr4G4nHFlgg/4+ +# 2rbskZVHa1j239WIy2Luff7crJZI8IJ0qrRAR7VpEfhxGhu1dbalq11zyBS/vMRc +# ikAYeM1Fm7zq5BVMju9tvnKfcKAbKXyNJkEQYalZLUh4AN5CCcUnqGrBGEOxXkbL +# Q1I9C8wMY0Y4hoXE3tprwabaEdkeJxcfx4OXV7gt0iPcXFhJiNLsa6kCuj/HyAft +# YYhk7zmemIYxVnMCoYjwiTsnBI0zgKNNrVXmd9LHTuBAGQaXRnx2l/KhggN4MIIC +# YAIBATCB46GBuaSBtjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjcy +# OEQtQzQ1Ri1GOUVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2 +# aWNloiUKAQEwCQYFKw4DAhoFAAMVAEIl3LaexTr0sjf6zrWu/23UWONxoIHCMIG/ +# pIG8MIG5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYD +# VQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIE5UUyBFU046NERFOS0wQzVFLTNF +# MDkxKzApBgNVBAMTIk1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0ZXIgQ2xvY2sw +# DQYJKoZIhvcNAQEFBQACBQDZ9ImNMCIYDzIwMTUxMTE2MTY1NzQ5WhgPMjAxNTEx +# MTcxNjU3NDlaMHYwPAYKKwYBBAGEWQoEATEuMCwwCgIFANn0iY0CAQAwCQIBAAIB +# HAIB/zAHAgEAAgIZTzAKAgUA2fXbDQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor +# BgEEAYRZCgMBoAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUA +# A4IBAQAzDMfpDvXLDDtPSC1Xpk/Vh3jw52fK/Pp+wMT9CICnpWtLcwV6h13rLUFW +# +Ho2OmHdvBjY/S9pDhIUNihEnvbjpWiMDLPgP2lNGesZha50Cn6lUDU7SI2yPban +# rkaoKvpazYD8K+G0m8abQjYJXK3K5GhHy4YKOXxfcGt/RKijH2KkCfQm1nTmB6y1 +# aDteNURhOXEdfB6DWbMcoayB84Nmir5stngysl8tuwEFCYI0FJVkmPyOtcYa8cQ1 +# DldVZiH4ofW3vkooBKR1cR5Rhqddfxc7AL7AixS8+/V1YMPbryi9+JkB3o2HvW9c +# LHQZBHUsvieh0VogYjahmtUEACeeMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMC +# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgUENBIDIwMTACEzMAAABuK0H3MwFZDmYAAAAAAG4wDQYJYIZIAWUD +# BAIBBQCgggEyMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0B +# CQQxIgQgZzVYWXTgs6ddzgCNJz4U0tRNDPkqw5Jwfub4sBTVpRswgeIGCyqGSIb3 +# DQEJEAIMMYHSMIHPMIHMMIGxBBRCJdy2nsU69LI3+s61rv9t1FjjcTCBmDCBgKR+ +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAbitB9zMBWQ5mAAAA +# AABuMBYEFBYFnFPp/LRmHJx63XMkOfd52O1qMA0GCSqGSIb3DQEBCwUABIIBALM+ +# 5mUS3KgIfKxsUk1AgsoBH1RG0UdFI1wZ+XrgaFZKDL6Canqy/n0r+Gjpbi4S/GaC +# ngrOTdptBlrJPoqX827nbNRwTPRoOhQAKgT2+22A/8nydKYhAcl5LEzJmp8c8jbG +# CDKxpGuJHe76tR/eUccpgpaMSm2mevA3aH+mGxaj7yK7wOmvXlpquXxhUlaV6M6I +# g35evQL3+uINklt/HZcgSpboxdTdlglvz0WIPBofQs8tjOlyzIluq6nv33N3orb8 +# Ox976JHV8UicW9GsjRjs1lWYsM9MfxinFVAZKKW3FIkmGUCv/23NO1MxMupKiejN +# kpaGwfcKEF8bKx7G1OQ= +# SIG # End signature block diff --git a/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/EntityFramework.Core.nuspec b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/EntityFramework.Core.nuspec new file mode 100644 index 00000000..58d7aff9 --- /dev/null +++ b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/EntityFramework.Core.nuspec @@ -0,0 +1,125 @@ + + + + EntityFramework.Core + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Entity Framework is Microsoft's recommended data access technology for new applications. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dnx451/EntityFramework.Core.dll b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dnx451/EntityFramework.Core.dll new file mode 100644 index 00000000..794ed9f4 Binary files /dev/null and b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dnx451/EntityFramework.Core.dll differ diff --git a/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Core.dll b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Core.dll new file mode 100644 index 00000000..4b107ed1 Binary files /dev/null and b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Core.dll differ diff --git a/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/net451/EntityFramework.Core.dll b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/net451/EntityFramework.Core.dll new file mode 100644 index 00000000..a1a34879 Binary files /dev/null and b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/net451/EntityFramework.Core.dll differ diff --git a/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/netcore50/EntityFramework.Core.dll b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/netcore50/EntityFramework.Core.dll new file mode 100644 index 00000000..38fa506f Binary files /dev/null and b/build/approot/packages/EntityFramework.Core/7.0.0-rc1-final/lib/netcore50/EntityFramework.Core.dll differ diff --git a/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/EntityFramework.MicrosoftSqlServer.nuspec b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/EntityFramework.MicrosoftSqlServer.nuspec new file mode 100644 index 00000000..c0a3ae76 --- /dev/null +++ b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/EntityFramework.MicrosoftSqlServer.nuspec @@ -0,0 +1,38 @@ + + + + EntityFramework.MicrosoftSqlServer + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft SQL Server data store for Entity Framework. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.MicrosoftSqlServer.dll b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.MicrosoftSqlServer.dll new file mode 100644 index 00000000..090cd7c6 Binary files /dev/null and b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.MicrosoftSqlServer.dll differ diff --git a/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/net451/EntityFramework.MicrosoftSqlServer.dll b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/net451/EntityFramework.MicrosoftSqlServer.dll new file mode 100644 index 00000000..2ec7517b Binary files /dev/null and b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/net451/EntityFramework.MicrosoftSqlServer.dll differ diff --git a/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/netcore50/EntityFramework.MicrosoftSqlServer.dll b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/netcore50/EntityFramework.MicrosoftSqlServer.dll new file mode 100644 index 00000000..9cac6f91 Binary files /dev/null and b/build/approot/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final/lib/netcore50/EntityFramework.MicrosoftSqlServer.dll differ diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/EntityFramework.Relational.Design.nuspec b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/EntityFramework.Relational.Design.nuspec new file mode 100644 index 00000000..7bb6b811 --- /dev/null +++ b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/EntityFramework.Relational.Design.nuspec @@ -0,0 +1,45 @@ + + + + EntityFramework.Relational.Design + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Shared Design-time Entity Framework components for relational data stores. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/build/netcore50/EntityFramework.Relational.Design.props b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/build/netcore50/EntityFramework.Relational.Design.props new file mode 100644 index 00000000..57d85405 --- /dev/null +++ b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/build/netcore50/EntityFramework.Relational.Design.props @@ -0,0 +1,10 @@ + + + + + %(RecursiveDir)%(Filename)%(Extension) + PreserveNewest + False + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnx451/EntityFramework.Relational.Design.dll b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnx451/EntityFramework.Relational.Design.dll new file mode 100644 index 00000000..fe9e7381 Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnx451/EntityFramework.Relational.Design.dll differ diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Relational.Design.dll b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Relational.Design.dll new file mode 100644 index 00000000..71740653 Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/dnxcore50/EntityFramework.Relational.Design.dll differ diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.Design.dll b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.Design.dll new file mode 100644 index 00000000..898ac10f Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.Design.dll differ diff --git a/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/netcore50/_._ b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/netcore50/_._ new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/build/approot/packages/EntityFramework.Relational.Design/7.0.0-rc1-final/lib/netcore50/_._ @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/EntityFramework.Relational.nuspec b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/EntityFramework.Relational.nuspec new file mode 100644 index 00000000..716578ca --- /dev/null +++ b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/EntityFramework.Relational.nuspec @@ -0,0 +1,43 @@ + + + + EntityFramework.Relational + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Shared Entity Framework components for relational data stores. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Relational.dll b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Relational.dll new file mode 100644 index 00000000..be4ac365 Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Relational.dll differ diff --git a/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.dll b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.dll new file mode 100644 index 00000000..e6300f64 Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/net451/EntityFramework.Relational.dll differ diff --git a/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/netcore50/EntityFramework.Relational.dll b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/netcore50/EntityFramework.Relational.dll new file mode 100644 index 00000000..3cbfd7ff Binary files /dev/null and b/build/approot/packages/EntityFramework.Relational/7.0.0-rc1-final/lib/netcore50/EntityFramework.Relational.dll differ diff --git a/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/EntityFramework.Sqlite.nuspec b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/EntityFramework.Sqlite.nuspec new file mode 100644 index 00000000..dbf53c98 --- /dev/null +++ b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/EntityFramework.Sqlite.nuspec @@ -0,0 +1,38 @@ + + + + EntityFramework.Sqlite + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + SQLite data store for Entity Framework. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Sqlite.dll b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Sqlite.dll new file mode 100644 index 00000000..8060f551 Binary files /dev/null and b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/dotnet5.4/EntityFramework.Sqlite.dll differ diff --git a/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/net451/EntityFramework.Sqlite.dll b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/net451/EntityFramework.Sqlite.dll new file mode 100644 index 00000000..a8595314 Binary files /dev/null and b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/net451/EntityFramework.Sqlite.dll differ diff --git a/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/netcore50/EntityFramework.Sqlite.dll b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/netcore50/EntityFramework.Sqlite.dll new file mode 100644 index 00000000..3bc6efa3 Binary files /dev/null and b/build/approot/packages/EntityFramework.Sqlite/7.0.0-rc1-final/lib/netcore50/EntityFramework.Sqlite.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/EntityFramework7.Npgsql.Design.nuspec b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/EntityFramework7.Npgsql.Design.nuspec new file mode 100644 index 00000000..15d64824 --- /dev/null +++ b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/EntityFramework7.Npgsql.Design.nuspec @@ -0,0 +1,56 @@ + + + + EntityFramework7.Npgsql.Design + 3.1.0-rc1-5 + false + Shay Rojansky + Shay Rojansky + http://www.npgsql.org/img/postgresql.gif + Design-time Entity Framework Functionality for PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnx451/EntityFramework7.Npgsql.Design.dll b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnx451/EntityFramework7.Npgsql.Design.dll new file mode 100644 index 00000000..407dbe1d Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnx451/EntityFramework7.Npgsql.Design.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnxcore50/EntityFramework7.Npgsql.Design.dll b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnxcore50/EntityFramework7.Npgsql.Design.dll new file mode 100644 index 00000000..9340b7d5 Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/dnxcore50/EntityFramework7.Npgsql.Design.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/net451/EntityFramework7.Npgsql.Design.dll b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/net451/EntityFramework7.Npgsql.Design.dll new file mode 100644 index 00000000..abb95b30 Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5/lib/net451/EntityFramework7.Npgsql.Design.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/EntityFramework7.Npgsql.nuspec b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/EntityFramework7.Npgsql.nuspec new file mode 100644 index 00000000..15371439 --- /dev/null +++ b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/EntityFramework7.Npgsql.nuspec @@ -0,0 +1,50 @@ + + + + EntityFramework7.Npgsql + 3.1.0-rc1-3 + false + Shay Rojansky + Shay Rojansky + http://www.npgsql.org/img/postgresql.gif + PostgreSQL provider for Entity Framework 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnx451/EntityFramework7.Npgsql.dll b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnx451/EntityFramework7.Npgsql.dll new file mode 100644 index 00000000..94ea2080 Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnx451/EntityFramework7.Npgsql.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnxcore50/EntityFramework7.Npgsql.dll b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnxcore50/EntityFramework7.Npgsql.dll new file mode 100644 index 00000000..2263263e Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/dnxcore50/EntityFramework7.Npgsql.dll differ diff --git a/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/net451/EntityFramework7.Npgsql.dll b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/net451/EntityFramework7.Npgsql.dll new file mode 100644 index 00000000..0f820ba7 Binary files /dev/null and b/build/approot/packages/EntityFramework7.Npgsql/3.1.0-rc1-3/lib/net451/EntityFramework7.Npgsql.dll differ diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/Google.Apis.Core.nuspec b/build/approot/packages/Google.Apis.Core/1.11.1/Google.Apis.Core.nuspec new file mode 100644 index 00000000..8b5cb0f2 --- /dev/null +++ b/build/approot/packages/Google.Apis.Core/1.11.1/Google.Apis.Core.nuspec @@ -0,0 +1,37 @@ + + + + Google.Apis.Core + 1.11.1 + Google APIs Core Client Library + false + Google Inc. + google-apis-packages + http://www.apache.org/licenses/LICENSE-2.0 + https://developers.google.com/api-client-library/dotnet + The Google APIs Core Library contains the Google APIs HTTP layer, JSON support, Data-store, logging and so on. + + Supported Platforms: + + - .NET Framework 4.5 + + - Windows Store apps + + - Windows Phone 8 and 8.1 + + - Portable Class Libraries + Google + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/License.txt b/build/approot/packages/Google.Apis.Core/1.11.1/License.txt new file mode 100644 index 00000000..75b52484 --- /dev/null +++ b/build/approot/packages/Google.Apis.Core/1.11.1/License.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + 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 contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "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 revisions, 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 interfaces of, + the Work and Derivative Works thereof. + + "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 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 communication 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 discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, 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. + + 3. Grant of Patent License. Subject to 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, import, 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 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 infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) 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 that do not pertain to any part of + the Derivative Works; and + + (d) 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 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 provided 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 may 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. + + You may add Your own 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, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall 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 such Contributions. + + 6. Trademarks. 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 reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. 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 OF 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 redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required 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 + result 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 been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. 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 liability 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, 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. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.dll b/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.dll new file mode 100644 index 00000000..6c2b56ef Binary files /dev/null and b/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.dll differ diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.pdb b/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.pdb new file mode 100644 index 00000000..67b5dbe3 Binary files /dev/null and b/build/approot/packages/Google.Apis.Core/1.11.1/lib/net45/Google.Apis.Core.pdb differ diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll b/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll new file mode 100644 index 00000000..09b0e4d4 Binary files /dev/null and b/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll differ diff --git a/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb b/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb new file mode 100644 index 00000000..991fafec Binary files /dev/null and b/build/approot/packages/Google.Apis.Core/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/Google.Apis.nuspec b/build/approot/packages/Google.Apis/1.11.1/Google.Apis.nuspec new file mode 100644 index 00000000..72eb1be1 --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/Google.Apis.nuspec @@ -0,0 +1,37 @@ + + + + Google.Apis + 1.11.1 + Google APIs Client Library + false + Google Inc. + google-apis-packages + http://www.apache.org/licenses/LICENSE-2.0 + https://developers.google.com/api-client-library/dotnet + The Google APIs Client Library is a runtime client for working with Google services. + The library supports service requests, media upload and download, etc. + + Supported Platforms: + + - .NET Framework 4.5 + + - Windows Store apps + + - Windows Phone 8 and 8.1 + + - Portable Class Libraries + Google + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Google.Apis/1.11.1/License.txt b/build/approot/packages/Google.Apis/1.11.1/License.txt new file mode 100644 index 00000000..75b52484 --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/License.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + 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 contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "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 revisions, 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 interfaces of, + the Work and Derivative Works thereof. + + "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 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 communication 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 discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, 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. + + 3. Grant of Patent License. Subject to 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, import, 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 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 infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) 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 that do not pertain to any part of + the Derivative Works; and + + (d) 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 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 provided 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 may 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. + + You may add Your own 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, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall 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 such Contributions. + + 6. Trademarks. 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 reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. 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 OF 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 redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required 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 + result 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 been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. 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 liability 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, 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. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.dll b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.dll new file mode 100644 index 00000000..7e3c72a0 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.pdb new file mode 100644 index 00000000..cb86a65e Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.xml b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.xml new file mode 100644 index 00000000..974cbcea --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.PlatformServices.xml @@ -0,0 +1,74 @@ + + + + Google.Apis.PlatformServices + + + + A logger implementation which makes use of the log4net library. + + + Creates a new default log4net logger. + + + Creates a new log4net logger and associates it with the specified type. + + + + File data store that implements . This store creates a different file for each + combination of type and key. This file data store stores a JSON format of the specified object. + + + + Gets the full folder path. + + + + Constructs a new file data store. If fullPath is false the path will be used as relative to + , otherwise the input folder will be treated as + absolute. + The folder is created if it doesn't exist yet. + + Folder path. + + Defines weather the folder parameter is absolute or relative to + . + + + + + Stores the given value for the given key. It creates a new file (named ) in + . + + The type to store in the data store. + The key. + The value to store in the data store. + + + + Deletes the given key. It deletes the named file in + . + + The key to delete from the data store. + + + + Returns the stored value for the given key or null if the matching file ( + in doesn't exist. + + The type to retrieve. + The key to retrieve from the data store. + The stored object. + + + + Clears all values in the data store. This method deletes all files in . + + + + Creates a unique stored key based on the key and the class type. + The object key. + The type to store or retrieve. + + + diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.dll b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.dll new file mode 100644 index 00000000..24e2fb41 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.pdb new file mode 100644 index 00000000..6ce27908 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/net45/Google.Apis.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll b/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll new file mode 100644 index 00000000..ff9d7bc3 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb new file mode 100644 index 00000000..b20168d2 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.dll b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.dll new file mode 100644 index 00000000..18e67268 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.pdb new file mode 100644 index 00000000..1da51343 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.xml b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.xml new file mode 100644 index 00000000..804323ef --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.PlatformServices.xml @@ -0,0 +1,14 @@ + + + + Google.Apis.PlatformServices + + + + + Windows Store data store that implements . This store creates a different file for each + combination of type and key. + + + + diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.dll b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.dll new file mode 100644 index 00000000..ff9d7bc3 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.pdb new file mode 100644 index 00000000..b20168d2 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/win81/Google.Apis.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.dll b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.dll new file mode 100644 index 00000000..4f5686ed Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.pdb new file mode 100644 index 00000000..62141ed4 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.xml b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.xml new file mode 100644 index 00000000..9462d91a --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.PlatformServices.xml @@ -0,0 +1,26 @@ + + + + Google.Apis.PlatformServices + + + + Data protection utility to protect data. + + + Protects the given content and transform it into a byte array. + + + Unprotects the given byte array and return the original content. + + + + Windows phone data store that implements . This store creates a different file for each + combination of type and key. + + + + Reads and returns the content of the given file. + + + diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.dll b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.dll new file mode 100644 index 00000000..ff9d7bc3 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.pdb new file mode 100644 index 00000000..b20168d2 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wp8/Google.Apis.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.dll b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.dll new file mode 100644 index 00000000..0cdbd122 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.pdb new file mode 100644 index 00000000..502938e3 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.pdb differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.xml b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.xml new file mode 100644 index 00000000..3177fcb6 --- /dev/null +++ b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.PlatformServices.xml @@ -0,0 +1,28 @@ + + + + Google.Apis.PlatformServices + + + + + Credentials store that implements . + This store saves all keys encrypted in a + + + + Adds a new key to the password vault. + + + Deletes a given key from the password vault. + + + + Gets a specific key from the password vault. Returns default(T) if there is no matching entry. + + + + Removes all values from the password vault. + + + diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.dll b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.dll new file mode 100644 index 00000000..ff9d7bc3 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.dll differ diff --git a/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.pdb b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.pdb new file mode 100644 index 00000000..b20168d2 Binary files /dev/null and b/build/approot/packages/Google.Apis/1.11.1/lib/wpa81/Google.Apis.pdb differ diff --git a/build/approot/packages/Ix-Async/1.2.5/Ix-Async.nuspec b/build/approot/packages/Ix-Async/1.2.5/Ix-Async.nuspec new file mode 100644 index 00000000..1da203bc --- /dev/null +++ b/build/approot/packages/Ix-Async/1.2.5/Ix-Async.nuspec @@ -0,0 +1,23 @@ + + + + Ix-Async + 1.2.5 + true + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkId=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + Interactive Extensions Async Library used to express queries over asynchronous enumerable sequences. + Copyright (C) Microsoft Corporation + en-US + Ix Interactive Extensions Enumerable Asynchronous + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.XML b/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.XML new file mode 100644 index 00000000..4efc0cf6 --- /dev/null +++ b/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.XML @@ -0,0 +1,52 @@ + + + + System.Interactive.Async + + + + + Asynchronous version of the IEnumerable<T> interface, allowing elements of the + enumerable sequence to be retrieved asynchronously. + + Element type. + + + + Gets an asynchronous enumerator over the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the IEnumerator<T> interface, allowing elements to be + retrieved asynchronously. + + Element type. + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + Cancellation token that can be used to cancel the operation. + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.dll b/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.dll new file mode 100644 index 00000000..eb3e669c Binary files /dev/null and b/build/approot/packages/Ix-Async/1.2.5/lib/net40/System.Interactive.Async.dll differ diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.XML b/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.XML new file mode 100644 index 00000000..4efc0cf6 --- /dev/null +++ b/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.XML @@ -0,0 +1,52 @@ + + + + System.Interactive.Async + + + + + Asynchronous version of the IEnumerable<T> interface, allowing elements of the + enumerable sequence to be retrieved asynchronously. + + Element type. + + + + Gets an asynchronous enumerator over the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the IEnumerator<T> interface, allowing elements to be + retrieved asynchronously. + + Element type. + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + Cancellation token that can be used to cancel the operation. + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.dll b/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.dll new file mode 100644 index 00000000..4e8a9d52 Binary files /dev/null and b/build/approot/packages/Ix-Async/1.2.5/lib/net45/System.Interactive.Async.dll differ diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.XML b/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.XML new file mode 100644 index 00000000..4efc0cf6 --- /dev/null +++ b/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.XML @@ -0,0 +1,52 @@ + + + + System.Interactive.Async + + + + + Asynchronous version of the IEnumerable<T> interface, allowing elements of the + enumerable sequence to be retrieved asynchronously. + + Element type. + + + + Gets an asynchronous enumerator over the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the IEnumerator<T> interface, allowing elements to be + retrieved asynchronously. + + Element type. + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + Cancellation token that can be used to cancel the operation. + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + diff --git a/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.dll b/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.dll new file mode 100644 index 00000000..9b8fca42 Binary files /dev/null and b/build/approot/packages/Ix-Async/1.2.5/lib/portable-windows8+net45+wp8/System.Interactive.Async.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/MailKit.nuspec b/build/approot/packages/MailKit/1.3.0-beta7/MailKit.nuspec new file mode 100644 index 00000000..ae54973b --- /dev/null +++ b/build/approot/packages/MailKit/1.3.0-beta7/MailKit.nuspec @@ -0,0 +1,94 @@ + + + + MailKit + 1.3.0-beta7 + MailKit + false + Jeffrey Stedfast + Jeffrey Stedfast + http://opensource.org/licenses/MIT + http://github.com/jstedfast/MailKit + https://raw.github.com/jstedfast/MailKit/master/nuget/mailkit-50.png + MailKit is an Open Source cross-platform .NET mail-client library that is based on MimeKit and optimized for mobile devices. + +Features include: +* SASL Authentication via SCRAM-SHA-256, SCRAM-SHA-1, NTLM, DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN, and XOAUTH2. +* A fully-cancellable SmtpClient with support for STARTTLS, 8BITMIME, BINARYMIME, ENHANCEDSTATUSCODES, SIZE, DSN, PIPELINING and SMTPUTF8. +* A fully-cancellable Pop3Client with support for STLS, UIDL, APOP, PIPELINING, UTF8, and LANG. +* A fully-cancellable ImapClient with support for ACL, QUOTA, LITERAL+, IDLE, NAMESPACE, ID, CHILDREN, LOGINDISABLED, STARTTLS, MULTIAPPEND, UNSELECT, UIDPLUS, CONDSTORE, ESEARCH, SASL-IR, COMPRESS, WITHIN, ENABLE, QRESYNC, SORT, THREAD, ESORT, METADATA, LIST-STATUS, SPECIAL-USE, CREATE-SPECIAL-USE, MOVE, SORT=DISPLAY, SEARCH=FUZZY, UTF8=ACCEPT, UTF8=ONLY, XLIST, and X-GM-EXT1. +* Client-side sorting and threading of messages (the Ordinal Subject and the Jamie Zawinski threading algorithms are supported). +* Asynchronous versions of all methods that hit the network. +* S/MIME, OpenPGP and DKIM signature support via MimeKit. +* Microsoft TNEF support via MimeKit. + An Open Source .NET mail-client library for Windows, Mac, Linux, and mobile platforms such as iOS and Android. + * Added a work-around for GoDaddy's ASP.NET web host which does not support the iso-8859-1 + System.Text.Encoding (used as a fallback encoding within MailKit) by falling back to + Windows-1252 instead. +* Improved NTLM support. +* Added support for the SMTP VRFY and EXPN commands. +* If the IMAP server sends a `* ID NIL` response, return null for ImapClient.Identify(). +* Allow developers to override the charset used when authenticating. (issue #292) + Xamarin Inc. + en-US + smtp pop3 imap mime security dkim smime s/mime openpgp pgp mbox mail email parser tnef xamarin android ios monodroid monotouch net40 net45 wpa81 dnxcore50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/MonoAndroid10/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/MonoAndroid10/MailKit.dll new file mode 100644 index 00000000..b12527a1 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/MonoAndroid10/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/Xamarin.iOS10/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/Xamarin.iOS10/MailKit.dll new file mode 100644 index 00000000..d17e0800 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/Xamarin.iOS10/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/dotnet5.5/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/dotnet5.5/MailKit.dll new file mode 100644 index 00000000..43d31940 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/dotnet5.5/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/net40/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/net40/MailKit.dll new file mode 100644 index 00000000..b1a89507 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/net40/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/net45/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/net45/MailKit.dll new file mode 100644 index 00000000..7f4faaec Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/net45/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/net451/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/net451/MailKit.dll new file mode 100644 index 00000000..7f4faaec Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/net451/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/win81/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/win81/MailKit.dll new file mode 100644 index 00000000..81c28bf2 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/win81/MailKit.dll differ diff --git a/build/approot/packages/MailKit/1.3.0-beta7/lib/wpa81/MailKit.dll b/build/approot/packages/MailKit/1.3.0-beta7/lib/wpa81/MailKit.dll new file mode 100644 index 00000000..81c28bf2 Binary files /dev/null and b/build/approot/packages/MailKit/1.3.0-beta7/lib/wpa81/MailKit.dll differ diff --git a/build/approot/packages/MarkdownDeep-av.NET/1.5.2/MarkdownDeep-av.NET.nuspec b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/MarkdownDeep-av.NET.nuspec new file mode 100644 index 00000000..850db7e1 --- /dev/null +++ b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/MarkdownDeep-av.NET.nuspec @@ -0,0 +1,17 @@ + + + + MarkdownDeep-av.NET + 1.5.2 + MarkdownDeep-av + true + Topten Software + Topten Software + http://www.toptensoftware.com/markdowndeep/license + http://www.toptensoftware.com/markdowndeep/ + http://www.toptensoftware.com/markdowndeep/nuget_icon.png + MarkdownDeep is a high performance .NET Markdown processor. + This package contains MarkdownDeep.NET only - it does not include the JavaScript client edition + Markdown MarkdownExtra MarkdownDeep + + \ No newline at end of file diff --git a/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/dnxcore50/MarkdownDeep.dll b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/dnxcore50/MarkdownDeep.dll new file mode 100644 index 00000000..ac436cc0 Binary files /dev/null and b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/dnxcore50/MarkdownDeep.dll differ diff --git a/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/net451/MarkdownDeep.dll b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/net451/MarkdownDeep.dll new file mode 100644 index 00000000..ac436cc0 Binary files /dev/null and b/build/approot/packages/MarkdownDeep-av.NET/1.5.2/lib/net451/MarkdownDeep.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/Microsoft.AspNet.Antiforgery.nuspec b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/Microsoft.AspNet.Antiforgery.nuspec new file mode 100644 index 00000000..4bab597f --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/Microsoft.AspNet.Antiforgery.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.AspNet.Antiforgery + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + An antiforgery system for ASP.NET designed to generate and validate tokens to prevent Cross-Site Request Forgery attacks. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Antiforgery.dll b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Antiforgery.dll new file mode 100644 index 00000000..cbd311de Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Antiforgery.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Antiforgery.dll b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Antiforgery.dll new file mode 100644 index 00000000..52e8dfe6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Antiforgery.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Cookies.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Cookies.nuspec new file mode 100644 index 00000000..e3b88cfd --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Cookies.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Authentication.Cookies + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET middleware that enables an application to use cookie based authentication, similar to ASP.NET's forms authentication. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Cookies.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Cookies.dll new file mode 100644 index 00000000..2f4bb0ba Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Cookies.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Cookies.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Cookies.dll new file mode 100644 index 00000000..eeec4002 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Cookies.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Facebook.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Facebook.nuspec new file mode 100644 index 00000000..9d145d79 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Facebook.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Authentication.Facebook + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware that enables an application to support Facebook's OAuth 2.0 authentication workflow. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Facebook.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Facebook.dll new file mode 100644 index 00000000..b6b77436 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Facebook.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Facebook.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Facebook.dll new file mode 100644 index 00000000..88ce3c77 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Facebook.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/Microsoft.AspNet.Authentication.JwtBearer.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/Microsoft.AspNet.Authentication.JwtBearer.nuspec new file mode 100644 index 00000000..33b2b4da --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/Microsoft.AspNet.Authentication.JwtBearer.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Authentication.JwtBearer + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware that enables an application to receive an OpenID Connect bearer token. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll new file mode 100644 index 00000000..0511838a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.dll b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.dll new file mode 100644 index 00000000..bb9babcb Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OAuth.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OAuth.nuspec new file mode 100644 index 00000000..c2612159 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OAuth.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Authentication.OAuth + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware that enables an application to support any standard OAuth 2.0 authentication workflow. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.OAuth.dll b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.OAuth.dll new file mode 100644 index 00000000..a764eb7d Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.OAuth.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.OAuth.dll b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.OAuth.dll new file mode 100644 index 00000000..ec907f70 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.OAuth.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OpenIdConnect.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OpenIdConnect.nuspec new file mode 100644 index 00000000..d6fe29ea --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/Microsoft.AspNet.Authentication.OpenIdConnect.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Authentication.OpenIdConnect + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware that enables an application to support the OpenID Connect authentication workflow. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll new file mode 100644 index 00000000..73e75055 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.dll b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.dll new file mode 100644 index 00000000..248feffd Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Twitter.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Twitter.nuspec new file mode 100644 index 00000000..8b19e8b0 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/Microsoft.AspNet.Authentication.Twitter.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Authentication.Twitter + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware that enables an application to support Twitter's OAuth 2.0 authentication workflow. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Twitter.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Twitter.dll new file mode 100644 index 00000000..13850aca Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.Twitter.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Twitter.dll b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Twitter.dll new file mode 100644 index 00000000..c7541dd4 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.Twitter.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/Microsoft.AspNet.Authentication.nuspec b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/Microsoft.AspNet.Authentication.nuspec new file mode 100644 index 00000000..a5402b1b --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/Microsoft.AspNet.Authentication.nuspec @@ -0,0 +1,41 @@ + + + + Microsoft.AspNet.Authentication + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 common types used by the various authentication middleware. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.dll b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.dll new file mode 100644 index 00000000..de27bc9f Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authentication.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.dll b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.dll new file mode 100644 index 00000000..a5eaabdd Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authentication.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/Microsoft.AspNet.Authorization.nuspec b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/Microsoft.AspNet.Authorization.nuspec new file mode 100644 index 00000000..20747fc2 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/Microsoft.AspNet.Authorization.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Authorization + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 authorization classes. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authorization.dll b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authorization.dll new file mode 100644 index 00000000..fd1011bf Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Authorization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authorization.dll b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authorization.dll new file mode 100644 index 00000000..2e9bb37e Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Authorization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/Microsoft.AspNet.Cors.nuspec b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/Microsoft.AspNet.Cors.nuspec new file mode 100644 index 00000000..58781a38 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/Microsoft.AspNet.Cors.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.Cors + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.AspNet.Cors + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cors.dll b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cors.dll new file mode 100644 index 00000000..1722cde8 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cors.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cors.dll b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cors.dll new file mode 100644 index 00000000..4de502ff Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cors.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.Internal.nuspec b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.Internal.nuspec new file mode 100644 index 00000000..bd737f59 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.Internal.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Cryptography.Internal + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Infrastructure for ASP.NET 5 cryptographic packages. Developers should not reference this package. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.Internal.dll b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.Internal.dll new file mode 100644 index 00000000..888c03fa Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.Internal.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.Internal.dll b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.Internal.dll new file mode 100644 index 00000000..e44f3e4e Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.Internal.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.KeyDerivation.nuspec b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.KeyDerivation.nuspec new file mode 100644 index 00000000..28e99125 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/Microsoft.AspNet.Cryptography.KeyDerivation.nuspec @@ -0,0 +1,32 @@ + + + + Microsoft.AspNet.Cryptography.KeyDerivation + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 utilities for key derivation. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.KeyDerivation.dll b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.KeyDerivation.dll new file mode 100644 index 00000000..83faa9f5 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Cryptography.KeyDerivation.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll new file mode 100644 index 00000000..26fa279b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.Abstractions.nuspec new file mode 100644 index 00000000..cc923f21 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.Abstractions.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.DataProtection.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Contains the core IDataProtector and IDataProtectionProvider abstractions for ASP.NET 5 Data Protection. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.Abstractions.dll new file mode 100644 index 00000000..be67713b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll new file mode 100644 index 00000000..9b039427 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.SystemWeb.nuspec b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.SystemWeb.nuspec new file mode 100644 index 00000000..aee15f06 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.SystemWeb.nuspec @@ -0,0 +1,30 @@ + + + + Microsoft.AspNet.DataProtection.SystemWeb + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + A component to allow the ASP.NET 5 DataProtection stack to work with the ASP.NET 4.x <machineKey> element. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/content/net451/web.config.transform b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/content/net451/web.config.transform new file mode 100644 index 00000000..4fc44630 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/content/net451/web.config.transform @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll new file mode 100644 index 00000000..15b84a6d Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.nuspec b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.nuspec new file mode 100644 index 00000000..b4a37ec7 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/Microsoft.AspNet.DataProtection.nuspec @@ -0,0 +1,49 @@ + + + + Microsoft.AspNet.DataProtection + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 logic to protect and unprotect data, similar to DPAPI. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.dll b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.dll new file mode 100644 index 00000000..ce9251cb Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.DataProtection.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.dll b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.dll new file mode 100644 index 00000000..b6b29699 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.DataProtection.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Abstractions.nuspec new file mode 100644 index 00000000..507e8da5 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Abstractions.nuspec @@ -0,0 +1,28 @@ + + + + Microsoft.AspNet.Diagnostics.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 diagnostics middleware abstractions. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Abstractions.dll new file mode 100644 index 00000000..0b518ce8 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll new file mode 100644 index 00000000..8c1db2fe Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Entity.nuspec b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Entity.nuspec new file mode 100644 index 00000000..b8442c8a --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/Microsoft.AspNet.Diagnostics.Entity.nuspec @@ -0,0 +1,34 @@ + + + + Microsoft.AspNet.Diagnostics.Entity + 7.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 Middleware for Entity Framework error pages. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Entity.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Entity.dll new file mode 100644 index 00000000..978550ed Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Entity.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll new file mode 100644 index 00000000..5fe10bf5 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.nuspec b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.nuspec new file mode 100644 index 00000000..45a1ddf2 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/Microsoft.AspNet.Diagnostics.nuspec @@ -0,0 +1,47 @@ + + + + Microsoft.AspNet.Diagnostics + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 Middleware for exception handling, exception display pages, and diagnostics information. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.dll new file mode 100644 index 00000000..fb901084 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Diagnostics.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.dll b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.dll new file mode 100644 index 00000000..af2de232 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Diagnostics.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Abstractions.nuspec new file mode 100644 index 00000000..d565fdcd --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Abstractions.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.FileProviders.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 file provider interfaces. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Abstractions.dll new file mode 100644 index 00000000..be1ca3c4 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll new file mode 100644 index 00000000..eec9087e Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Physical.nuspec b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Physical.nuspec new file mode 100644 index 00000000..536b6cd5 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/Microsoft.AspNet.FileProviders.Physical.nuspec @@ -0,0 +1,37 @@ + + + + Microsoft.AspNet.FileProviders.Physical + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Implementation of ASP.NET 5 file provider abstractions for physical files. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Physical.dll b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Physical.dll new file mode 100644 index 00000000..9dbffa03 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.FileProviders.Physical.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Physical.dll b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Physical.dll new file mode 100644 index 00000000..996d5b62 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.FileProviders.Physical.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Abstractions.nuspec new file mode 100644 index 00000000..2e62e486 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Abstractions.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Hosting.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 Hosting abstractions. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Abstractions.dll new file mode 100644 index 00000000..44d0d641 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll new file mode 100644 index 00000000..393b519a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Server.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Server.Abstractions.nuspec new file mode 100644 index 00000000..c946c6c0 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Hosting.Server.Abstractions.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Hosting.Server.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 Hosting server abstractions. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Server.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Server.Abstractions.dll new file mode 100644 index 00000000..3c85bd9a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.Server.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll new file mode 100644 index 00000000..a916b76b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/Microsoft.AspNet.Hosting.nuspec b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/Microsoft.AspNet.Hosting.nuspec new file mode 100644 index 00000000..430ad965 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/Microsoft.AspNet.Hosting.nuspec @@ -0,0 +1,98 @@ + + + + Microsoft.AspNet.Hosting + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 core hosting infrastructure and startup logic for web applications. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Hosting.dll b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Hosting.dll new file mode 100644 index 00000000..b9b9ede4 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Hosting.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Hosting.dll b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Hosting.dll new file mode 100644 index 00000000..ee03eb91 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Hosting.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.dll b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.dll new file mode 100644 index 00000000..d6af33f4 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Hosting.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.dll b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.dll new file mode 100644 index 00000000..86a7722f Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Hosting.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Html.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Html.Abstractions.nuspec new file mode 100644 index 00000000..8b062161 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Html.Abstractions.nuspec @@ -0,0 +1,30 @@ + + + + Microsoft.AspNet.Html.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 HTML content interface. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Html.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Html.Abstractions.dll new file mode 100644 index 00000000..c8b8cf72 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Html.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Html.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Html.Abstractions.dll new file mode 100644 index 00000000..3f6a35d9 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Html.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Http.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Http.Abstractions.nuspec new file mode 100644 index 00000000..e6072152 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/Microsoft.AspNet.Http.Abstractions.nuspec @@ -0,0 +1,46 @@ + + + + Microsoft.AspNet.Http.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 HTTP object model. HttpContext and family. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Abstractions.dll new file mode 100644 index 00000000..7fbb4edc Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Abstractions.dll new file mode 100644 index 00000000..c0c688cc Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/Microsoft.AspNet.Http.Extensions.nuspec b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/Microsoft.AspNet.Http.Extensions.nuspec new file mode 100644 index 00000000..3c93dfa2 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/Microsoft.AspNet.Http.Extensions.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.AspNet.Http.Extensions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 common extension methods for HTTP abstractions and IApplicationBuilder. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Extensions.dll b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Extensions.dll new file mode 100644 index 00000000..7ffd24b8 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Extensions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Extensions.dll b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Extensions.dll new file mode 100644 index 00000000..deaa4e50 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Extensions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/Microsoft.AspNet.Http.Features.nuspec b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/Microsoft.AspNet.Http.Features.nuspec new file mode 100644 index 00000000..8f28039e --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/Microsoft.AspNet.Http.Features.nuspec @@ -0,0 +1,37 @@ + + + + Microsoft.AspNet.Http.Features + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 HTTP feature interface definitions. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Features.dll b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Features.dll new file mode 100644 index 00000000..31e9db52 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.Features.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Features.dll b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Features.dll new file mode 100644 index 00000000..5ac5ccdb Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.Features.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/Microsoft.AspNet.Http.nuspec b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/Microsoft.AspNet.Http.nuspec new file mode 100644 index 00000000..23547468 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/Microsoft.AspNet.Http.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.Http + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 HTTP feature implementations. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.dll b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.dll new file mode 100644 index 00000000..f8af97e1 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Http.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.dll b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.dll new file mode 100644 index 00000000..b087c2fe Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Http/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Http.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/Microsoft.AspNet.IISPlatformHandler.nuspec b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/Microsoft.AspNet.IISPlatformHandler.nuspec new file mode 100644 index 00000000..402415e9 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/Microsoft.AspNet.IISPlatformHandler.nuspec @@ -0,0 +1,32 @@ + + + + Microsoft.AspNet.IISPlatformHandler + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 components for working with the IIS HttpPlatformHandler module. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.IISPlatformHandler.dll b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.IISPlatformHandler.dll new file mode 100644 index 00000000..87ecfe37 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.IISPlatformHandler.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.IISPlatformHandler.dll b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.IISPlatformHandler.dll new file mode 100644 index 00000000..4f0f06a1 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.IISPlatformHandler.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/Microsoft.AspNet.Identity.EntityFramework.nuspec b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/Microsoft.AspNet.Identity.EntityFramework.nuspec new file mode 100644 index 00000000..4cd2040d --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/Microsoft.AspNet.Identity.EntityFramework.nuspec @@ -0,0 +1,50 @@ + + + + Microsoft.AspNet.Identity.EntityFramework + 3.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET Identity providers that use Entity Framework. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.EntityFramework.dll b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.EntityFramework.dll new file mode 100644 index 00000000..7030e124 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.EntityFramework.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll new file mode 100644 index 00000000..49c2c69e Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/Microsoft.AspNet.Identity.nuspec b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/Microsoft.AspNet.Identity.nuspec new file mode 100644 index 00000000..543eaf37 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/Microsoft.AspNet.Identity.nuspec @@ -0,0 +1,41 @@ + + + + Microsoft.AspNet.Identity + 3.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Core implementation for ASP.NET Identity. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.dll b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.dll new file mode 100644 index 00000000..f6225fb8 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Identity.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.dll b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.dll new file mode 100644 index 00000000..fd5848dc Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final/lib/net451/Microsoft.AspNet.Identity.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/Microsoft.AspNet.JsonPatch.nuspec b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/Microsoft.AspNet.JsonPatch.nuspec new file mode 100644 index 00000000..96fc629f --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/Microsoft.AspNet.JsonPatch.nuspec @@ -0,0 +1,37 @@ + + + + Microsoft.AspNet.JsonPatch + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.AspNet.JsonPatch + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.JsonPatch.dll b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.JsonPatch.dll new file mode 100644 index 00000000..cd1ee32a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.JsonPatch.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.JsonPatch.dll b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.JsonPatch.dll new file mode 100644 index 00000000..4bd40505 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.JsonPatch.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/Microsoft.AspNet.Localization.nuspec b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/Microsoft.AspNet.Localization.nuspec new file mode 100644 index 00000000..0cc20fb4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/Microsoft.AspNet.Localization.nuspec @@ -0,0 +1,38 @@ + + + + Microsoft.AspNet.Localization + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Middleware for automatically applying culture information to HTTP requests. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Localization.dll b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Localization.dll new file mode 100644 index 00000000..e694b7cd Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Localization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Localization.dll b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Localization.dll new file mode 100644 index 00000000..c38e6992 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Localization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Abstractions.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Abstractions.nuspec new file mode 100644 index 00000000..bf4639cc --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Abstractions.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Mvc.Abstractions + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + The core abstractions of ASP.NET MVC. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Abstractions.dll new file mode 100644 index 00000000..05b2615e Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll new file mode 100644 index 00000000..26b45a6c Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ApiExplorer.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ApiExplorer.nuspec new file mode 100644 index 00000000..b052f44f --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ApiExplorer.nuspec @@ -0,0 +1,29 @@ + + + + Microsoft.AspNet.Mvc.ApiExplorer + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Contains API explorer functionality for ASP.NET MVC for discovering metadata such as the list of controllers and actions, and their URLs and allowed HTTP methods. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ApiExplorer.dll b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ApiExplorer.dll new file mode 100644 index 00000000..30abec7c Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ApiExplorer.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll new file mode 100644 index 00000000..e80e4d9c Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Core.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Core.nuspec new file mode 100644 index 00000000..feb419c3 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Core.nuspec @@ -0,0 +1,45 @@ + + + + Microsoft.AspNet.Mvc.Core + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + The core runtime components of ASP.NET MVC. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Core.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Core.dll new file mode 100644 index 00000000..9cfd6056 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Core.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Core.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Core.dll new file mode 100644 index 00000000..9e74aeb7 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Core.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Cors.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Cors.nuspec new file mode 100644 index 00000000..1e5a3e23 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Cors.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Mvc.Cors + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + CORS features for the core MVC runtime + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Cors.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Cors.dll new file mode 100644 index 00000000..7a8bb9af Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Cors.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Cors.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Cors.dll new file mode 100644 index 00000000..31cee40c Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Cors.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/Microsoft.AspNet.Mvc.DataAnnotations.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/Microsoft.AspNet.Mvc.DataAnnotations.nuspec new file mode 100644 index 00000000..7ee0a2ca --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/Microsoft.AspNet.Mvc.DataAnnotations.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Mvc.DataAnnotations + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Metadata and Validation using System.ComponentModel.DataAnnotations for the MVC runtime + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.DataAnnotations.dll b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.DataAnnotations.dll new file mode 100644 index 00000000..a10971e6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.DataAnnotations.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll new file mode 100644 index 00000000..9c54342d Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Formatters.Json.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Formatters.Json.nuspec new file mode 100644 index 00000000..c1c3ac3f --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Formatters.Json.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Mvc.Formatters.Json + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + JSON input and output for the MVC runtime + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Formatters.Json.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Formatters.Json.dll new file mode 100644 index 00000000..7422a6d6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Formatters.Json.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll new file mode 100644 index 00000000..270654c3 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Localization.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Localization.nuspec new file mode 100644 index 00000000..20e42ff4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Localization.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.Mvc.Localization + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Features that enable globalization & localization of MVC applications. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Localization.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Localization.dll new file mode 100644 index 00000000..720733e5 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Localization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Localization.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Localization.dll new file mode 100644 index 00000000..819ed96b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Localization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.Host.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.Host.nuspec new file mode 100644 index 00000000..dce0a8d4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.Host.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.AspNet.Mvc.Razor.Host + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Design time hosting infrastructure for the ASP.NET MVC Razor view engine. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.Host.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.Host.dll new file mode 100644 index 00000000..2a0c38da Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.Host.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll new file mode 100644 index 00000000..a2e68d40 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.nuspec new file mode 100644 index 00000000..f88ad508 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/Microsoft.AspNet.Mvc.Razor.nuspec @@ -0,0 +1,47 @@ + + + + Microsoft.AspNet.Mvc.Razor + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + The Razor view engine for ASP.NET MVC. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.dll new file mode 100644 index 00000000..31ee18c3 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.dll b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.dll new file mode 100644 index 00000000..79bc1218 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/Microsoft.AspNet.Mvc.TagHelpers.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/Microsoft.AspNet.Mvc.TagHelpers.nuspec new file mode 100644 index 00000000..c1c52c9c --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/Microsoft.AspNet.Mvc.TagHelpers.nuspec @@ -0,0 +1,34 @@ + + + + Microsoft.AspNet.Mvc.TagHelpers + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Contains a default set of Tag Helpers for building ASP.NET MVC applications. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.TagHelpers.dll b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.TagHelpers.dll new file mode 100644 index 00000000..9bfcb0ea Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.TagHelpers.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll new file mode 100644 index 00000000..3e045fe6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ViewFeatures.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ViewFeatures.nuspec new file mode 100644 index 00000000..90d2dd2f --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/Microsoft.AspNet.Mvc.ViewFeatures.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.AspNet.Mvc.ViewFeatures + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + View Rendering features for the MVC runtime + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ViewFeatures.dll b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ViewFeatures.dll new file mode 100644 index 00000000..5a7602a2 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.ViewFeatures.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll new file mode 100644 index 00000000..ea430ab6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/Microsoft.AspNet.Mvc.nuspec b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/Microsoft.AspNet.Mvc.nuspec new file mode 100644 index 00000000..75193240 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/Microsoft.AspNet.Mvc.nuspec @@ -0,0 +1,45 @@ + + + + Microsoft.AspNet.Mvc + 6.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET MVC is a web framework that gives you a powerful, patterns-based way to build dynamic websites and Web APIs. ASP.NET MVC enables a clean separation of concerns and gives you full control over markup. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.dll b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.dll new file mode 100644 index 00000000..d5ac2c2b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Mvc.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.dll b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.dll new file mode 100644 index 00000000..d619c080 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final/lib/net451/Microsoft.AspNet.Mvc.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/Microsoft.AspNet.Owin.nuspec b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/Microsoft.AspNet.Owin.nuspec new file mode 100644 index 00000000..79250b87 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/Microsoft.AspNet.Owin.nuspec @@ -0,0 +1,43 @@ + + + + Microsoft.AspNet.Owin + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 component for running OWIN middleware. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Owin.dll b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Owin.dll new file mode 100644 index 00000000..5c313bbc Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Owin.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Owin.dll b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Owin.dll new file mode 100644 index 00000000..a012aaa1 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Owin.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.nuspec b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.nuspec new file mode 100644 index 00000000..945ea28b --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.nuspec @@ -0,0 +1,28 @@ + + + + Microsoft.AspNet.PageExecutionInstrumentation.Interfaces + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Abstractions for page instrumentation. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll new file mode 100644 index 00000000..a7942e98 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll new file mode 100644 index 00000000..96ad5980 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.Precompilation.nuspec b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.Precompilation.nuspec new file mode 100644 index 00000000..282d9d12 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.Precompilation.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.Razor.Runtime.Precompilation + 4.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Supports tag helper resolution during precompilation. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.Precompilation.dll b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.Precompilation.dll new file mode 100644 index 00000000..ccc1722a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.Precompilation.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll new file mode 100644 index 00000000..03b07ce8 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.nuspec b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.nuspec new file mode 100644 index 00000000..2fa72d69 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/Microsoft.AspNet.Razor.Runtime.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.AspNet.Razor.Runtime + 4.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Runtime components for rendering Razor pages. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.dll b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.dll new file mode 100644 index 00000000..13a8c4c7 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.dll b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.dll new file mode 100644 index 00000000..aa7f2230 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.Runtime.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/Microsoft.AspNet.Razor.nuspec b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/Microsoft.AspNet.Razor.nuspec new file mode 100644 index 00000000..ece97283 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/Microsoft.AspNet.Razor.nuspec @@ -0,0 +1,31 @@ + + + + Microsoft.AspNet.Razor + 4.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Razor is a markup syntax for adding server-side logic to web pages. This package contains the Razor parser and code generation infrastructure. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.dll b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.dll new file mode 100644 index 00000000..0d1a2132 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.dll b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.dll new file mode 100644 index 00000000..04da6338 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final/lib/net451/Microsoft.AspNet.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/Microsoft.AspNet.Routing.nuspec b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/Microsoft.AspNet.Routing.nuspec new file mode 100644 index 00000000..fac17f92 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/Microsoft.AspNet.Routing.nuspec @@ -0,0 +1,34 @@ + + + + Microsoft.AspNet.Routing + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 middleware and abstractions for routing requests to application logic and for generating links. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Routing.dll b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Routing.dll new file mode 100644 index 00000000..fdabb2d6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Routing.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Routing.dll b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Routing.dll new file mode 100644 index 00000000..1b3f8a92 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Routing.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/Microsoft.AspNet.Server.Kestrel.nuspec b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/Microsoft.AspNet.Server.Kestrel.nuspec new file mode 100644 index 00000000..f58beaf3 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/Microsoft.AspNet.Server.Kestrel.nuspec @@ -0,0 +1,79 @@ + + + + Microsoft.AspNet.Server.Kestrel + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 cross platform development web server. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll new file mode 100644 index 00000000..d4989b55 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.Kestrel.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.Kestrel.dll new file mode 100644 index 00000000..77ce3c29 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.Kestrel.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.Kestrel.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.Kestrel.dll new file mode 100644 index 00000000..9e4d3ddc Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.Kestrel.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.Kestrel.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.Kestrel.dll new file mode 100644 index 00000000..039c995c Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.Kestrel.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib new file mode 100644 index 00000000..13152a6a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win10-arm/native/libuv.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win10-arm/native/libuv.dll new file mode 100644 index 00000000..63fa2bd0 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win10-arm/native/libuv.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x64/native/libuv.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x64/native/libuv.dll new file mode 100644 index 00000000..6a606569 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x64/native/libuv.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x86/native/libuv.dll b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x86/native/libuv.dll new file mode 100644 index 00000000..0ba2289b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x86/native/libuv.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/thirdpartynotices.txt b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/thirdpartynotices.txt new file mode 100644 index 00000000..ca9ce7d1 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/thirdpartynotices.txt @@ -0,0 +1,32 @@ +This file is based on or incorporates material from the projects listed below +(Third Party IP). The original copyright notice and the license under which +Microsoft received such Third Party IP, are set forth below. Such licenses and +notices are provided for informational purposes only. Microsoft licenses the +Third Party IP to you under the licensing terms for the Microsoft product. +Microsoft reserves all other rights not expressly granted under this agreement, +whether by implication, estoppel or otherwise. + +libuv v. 1.7.3 + +Copyright Joyent, Inc. and other Node contributors. All rights reserved. + Provided for Informational Purposes Only + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the Software), to deal in the +Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/Microsoft.AspNet.Server.WebListener.nuspec b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/Microsoft.AspNet.Server.WebListener.nuspec new file mode 100644 index 00000000..84443625 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/Microsoft.AspNet.Server.WebListener.nuspec @@ -0,0 +1,49 @@ + + + + Microsoft.AspNet.Server.WebListener + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 self-host web server. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.WebListener.dll b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.WebListener.dll new file mode 100644 index 00000000..2d29ad7b Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnx451/Microsoft.AspNet.Server.WebListener.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.WebListener.dll b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.WebListener.dll new file mode 100644 index 00000000..a21a773f Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dnxcore50/Microsoft.AspNet.Server.WebListener.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.WebListener.dll b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.WebListener.dll new file mode 100644 index 00000000..4072bdfb Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Server.WebListener.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.WebListener.dll b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.WebListener.dll new file mode 100644 index 00000000..feb5d002 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Server.WebListener.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/Microsoft.AspNet.Session.nuspec b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/Microsoft.AspNet.Session.nuspec new file mode 100644 index 00000000..04487356 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/Microsoft.AspNet.Session.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.AspNet.Session + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 session state middleware. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Session.dll b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Session.dll new file mode 100644 index 00000000..22bf3294 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Session.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Session.dll b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Session.dll new file mode 100644 index 00000000..80efb711 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Session/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Session.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/Microsoft.AspNet.SignalR.Core.nuspec b/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/Microsoft.AspNet.SignalR.Core.nuspec new file mode 100644 index 00000000..ae150b17 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/Microsoft.AspNet.SignalR.Core.nuspec @@ -0,0 +1,24 @@ + + + + Microsoft.AspNet.SignalR.Core + 2.2.0 + Microsoft ASP.NET SignalR Core Components + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm + http://www.asp.net/signalr + Core server components for ASP.NET SignalR. + https://github.com/SignalR/SignalR/releases + © Microsoft Corporation. All rights reserved. + en-US + Microsoft AspNet SignalR AspNetSignalR Core + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/lib/net45/Microsoft.AspNet.SignalR.Core.dll b/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/lib/net45/Microsoft.AspNet.SignalR.Core.dll new file mode 100644 index 00000000..71b0f98d Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.SignalR.Core/2.2.0/lib/net45/Microsoft.AspNet.SignalR.Core.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/Microsoft.AspNet.SignalR.JS.nuspec b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/Microsoft.AspNet.SignalR.JS.nuspec new file mode 100644 index 00000000..6e8d1fb5 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/Microsoft.AspNet.SignalR.JS.nuspec @@ -0,0 +1,21 @@ + + + + Microsoft.AspNet.SignalR.JS + 2.2.0 + Microsoft ASP.NET SignalR JavaScript Client + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm + http://www.asp.net/signalr + JavaScript client for ASP.NET SignalR. + https://github.com/SignalR/SignalR/releases + © Microsoft Corporation. All rights reserved. + en-US + Microsoft AspNet SignalR AspNetSignalR JS + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.js b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.js new file mode 100644 index 00000000..67e3b4c4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.js @@ -0,0 +1,2928 @@ +/* jquery.signalR.core.js */ +/*global window:false */ +/*! + * ASP.NET SignalR JavaScript Library v2.2.0 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ + +/// +/// +(function ($, window, undefined) { + + var resources = { + nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.", + noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.", + errorOnNegotiate: "Error during negotiation request.", + stoppedWhileLoading: "The connection was stopped during page load.", + stoppedWhileNegotiating: "The connection was stopped during the negotiate request.", + errorParsingNegotiateResponse: "Error parsing negotiate response.", + errorDuringStartRequest: "Error during start request. Stopping the connection.", + stoppedDuringStartRequest: "The connection was stopped during the start request.", + errorParsingStartResponse: "Error parsing start response: '{0}'. Stopping the connection.", + invalidStartResponse: "Invalid start response: '{0}'. Stopping the connection.", + protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.", + sendFailed: "Send failed.", + parseFailed: "Failed at parsing response: {0}", + longPollFailed: "Long polling request failed.", + eventSourceFailedToConnect: "EventSource failed to connect.", + eventSourceError: "Error raised by EventSource", + webSocketClosed: "WebSocket closed.", + pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.", + pingServerFailed: "Failed to ping server.", + pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.", + pingServerFailedParse: "Failed to parse ping server response, stopping the connection.", + noConnectionTransport: "Connection is in an invalid state, there is no transport active.", + webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting.", + reconnectTimeout: "Couldn't reconnect within the configured timeout of {0} ms, disconnecting.", + reconnectWindowTimeout: "The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection." + }; + + if (typeof ($) !== "function") { + // no jQuery! + throw new Error(resources.nojQuery); + } + + var signalR, + _connection, + _pageLoaded = (window.document.readyState === "complete"), + _pageWindow = $(window), + _negotiateAbortText = "__Negotiate Aborted__", + events = { + onStart: "onStart", + onStarting: "onStarting", + onReceived: "onReceived", + onError: "onError", + onConnectionSlow: "onConnectionSlow", + onReconnecting: "onReconnecting", + onReconnect: "onReconnect", + onStateChanged: "onStateChanged", + onDisconnect: "onDisconnect" + }, + ajaxDefaults = { + processData: true, + timeout: null, + async: true, + global: false, + cache: false + }, + log = function (msg, logging) { + if (logging === false) { + return; + } + var m; + if (typeof (window.console) === "undefined") { + return; + } + m = "[" + new Date().toTimeString() + "] SignalR: " + msg; + if (window.console.debug) { + window.console.debug(m); + } else if (window.console.log) { + window.console.log(m); + } + }, + + changeState = function (connection, expectedState, newState) { + if (expectedState === connection.state) { + connection.state = newState; + + $(connection).triggerHandler(events.onStateChanged, [{ oldState: expectedState, newState: newState }]); + return true; + } + + return false; + }, + + isDisconnecting = function (connection) { + return connection.state === signalR.connectionState.disconnected; + }, + + supportsKeepAlive = function (connection) { + return connection._.keepAliveData.activated && + connection.transport.supportsKeepAlive(connection); + }, + + configureStopReconnectingTimeout = function (connection) { + var stopReconnectingTimeout, + onReconnectTimeout; + + // Check if this connection has already been configured to stop reconnecting after a specified timeout. + // Without this check if a connection is stopped then started events will be bound multiple times. + if (!connection._.configuredStopReconnectingTimeout) { + onReconnectTimeout = function (connection) { + var message = signalR._.format(signalR.resources.reconnectTimeout, connection.disconnectTimeout); + connection.log(message); + $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */ "TimeoutException")]); + connection.stop(/* async */ false, /* notifyServer */ false); + }; + + connection.reconnecting(function () { + var connection = this; + + // Guard against state changing in a previous user defined even handler + if (connection.state === signalR.connectionState.reconnecting) { + stopReconnectingTimeout = window.setTimeout(function () { onReconnectTimeout(connection); }, connection.disconnectTimeout); + } + }); + + connection.stateChanged(function (data) { + if (data.oldState === signalR.connectionState.reconnecting) { + // Clear the pending reconnect timeout check + window.clearTimeout(stopReconnectingTimeout); + } + }); + + connection._.configuredStopReconnectingTimeout = true; + } + }; + + signalR = function (url, qs, logging) { + /// Creates a new SignalR connection for the given url + /// The URL of the long polling endpoint + /// + /// [Optional] Custom querystring parameters to add to the connection URL. + /// If an object, every non-function member will be added to the querystring. + /// If a string, it's added to the QS as specified. + /// + /// + /// [Optional] A flag indicating whether connection logging is enabled to the browser + /// console/log. Defaults to false. + /// + + return new signalR.fn.init(url, qs, logging); + }; + + signalR._ = { + defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8", + + ieVersion: (function () { + var version, + matches; + + if (window.navigator.appName === 'Microsoft Internet Explorer') { + // Check if the user agent has the pattern "MSIE (one or more numbers).(one or more numbers)"; + matches = /MSIE ([0-9]+\.[0-9]+)/.exec(window.navigator.userAgent); + + if (matches) { + version = window.parseFloat(matches[1]); + } + } + + // undefined value means not IE + return version; + })(), + + error: function (message, source, context) { + var e = new Error(message); + e.source = source; + + if (typeof context !== "undefined") { + e.context = context; + } + + return e; + }, + + transportError: function (message, transport, source, context) { + var e = this.error(message, source, context); + e.transport = transport ? transport.name : undefined; + return e; + }, + + format: function () { + /// Usage: format("Hi {0}, you are {1}!", "Foo", 100) + var s = arguments[0]; + for (var i = 0; i < arguments.length - 1; i++) { + s = s.replace("{" + i + "}", arguments[i + 1]); + } + return s; + }, + + firefoxMajorVersion: function (userAgent) { + // Firefox user agents: http://useragentstring.com/pages/Firefox/ + var matches = userAgent.match(/Firefox\/(\d+)/); + if (!matches || !matches.length || matches.length < 2) { + return 0; + } + return parseInt(matches[1], 10 /* radix */); + }, + + configurePingInterval: function (connection) { + var config = connection._.config, + onFail = function (error) { + $(connection).triggerHandler(events.onError, [error]); + }; + + if (config && !connection._.pingIntervalId && config.pingInterval) { + connection._.pingIntervalId = window.setInterval(function () { + signalR.transports._logic.pingServer(connection).fail(onFail); + }, config.pingInterval); + } + } + }; + + signalR.events = events; + + signalR.resources = resources; + + signalR.ajaxDefaults = ajaxDefaults; + + signalR.changeState = changeState; + + signalR.isDisconnecting = isDisconnecting; + + signalR.connectionState = { + connecting: 0, + connected: 1, + reconnecting: 2, + disconnected: 4 + }; + + signalR.hub = { + start: function () { + // This will get replaced with the real hub connection start method when hubs is referenced correctly + throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. ."); + } + }; + + _pageWindow.load(function () { _pageLoaded = true; }); + + function validateTransport(requestedTransport, connection) { + /// Validates the requested transport by cross checking it with the pre-defined signalR.transports + /// The designated transports that the user has specified. + /// The connection that will be using the requested transports. Used for logging purposes. + /// + + if ($.isArray(requestedTransport)) { + // Go through transport array and remove an "invalid" tranports + for (var i = requestedTransport.length - 1; i >= 0; i--) { + var transport = requestedTransport[i]; + if ($.type(transport) !== "string" || !signalR.transports[transport]) { + connection.log("Invalid transport: " + transport + ", removing it from the transports list."); + requestedTransport.splice(i, 1); + } + } + + // Verify we still have transports left, if we dont then we have invalid transports + if (requestedTransport.length === 0) { + connection.log("No transports remain within the specified transport array."); + requestedTransport = null; + } + } else if (!signalR.transports[requestedTransport] && requestedTransport !== "auto") { + connection.log("Invalid transport: " + requestedTransport.toString() + "."); + requestedTransport = null; + } else if (requestedTransport === "auto" && signalR._.ieVersion <= 8) { + // If we're doing an auto transport and we're IE8 then force longPolling, #1764 + return ["longPolling"]; + + } + + return requestedTransport; + } + + function getDefaultPort(protocol) { + if (protocol === "http:") { + return 80; + } else if (protocol === "https:") { + return 443; + } + } + + function addDefaultPort(protocol, url) { + // Remove ports from url. We have to check if there's a / or end of line + // following the port in order to avoid removing ports such as 8080. + if (url.match(/:\d+$/)) { + return url; + } else { + return url + ":" + getDefaultPort(protocol); + } + } + + function ConnectingMessageBuffer(connection, drainCallback) { + var that = this, + buffer = []; + + that.tryBuffer = function (message) { + if (connection.state === $.signalR.connectionState.connecting) { + buffer.push(message); + + return true; + } + + return false; + }; + + that.drain = function () { + // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active) + if (connection.state === $.signalR.connectionState.connected) { + while (buffer.length > 0) { + drainCallback(buffer.shift()); + } + } + }; + + that.clear = function () { + buffer = []; + }; + } + + signalR.fn = signalR.prototype = { + init: function (url, qs, logging) { + var $connection = $(this); + + this.url = url; + this.qs = qs; + this.lastError = null; + this._ = { + keepAliveData: {}, + connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) { + $connection.triggerHandler(events.onReceived, [message]); + }), + lastMessageAt: new Date().getTime(), + lastActiveAt: new Date().getTime(), + beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled, + beatHandle: null, + totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout + }; + if (typeof (logging) === "boolean") { + this.logging = logging; + } + }, + + _parseResponse: function (response) { + var that = this; + + if (!response) { + return response; + } else if (typeof response === "string") { + return that.json.parse(response); + } else { + return response; + } + }, + + _originalJson: window.JSON, + + json: window.JSON, + + isCrossDomain: function (url, against) { + /// Checks if url is cross domain + /// The base URL + /// + /// An optional argument to compare the URL against, if not specified it will be set to window.location. + /// If specified it must contain a protocol and a host property. + /// + var link; + + url = $.trim(url); + + against = against || window.location; + + if (url.indexOf("http") !== 0) { + return false; + } + + // Create an anchor tag. + link = window.document.createElement("a"); + link.href = url; + + // When checking for cross domain we have to special case port 80 because the window.location will remove the + return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host); + }, + + ajaxDataType: "text", + + contentType: "application/json; charset=UTF-8", + + logging: false, + + state: signalR.connectionState.disconnected, + + clientProtocol: "1.5", + + reconnectDelay: 2000, + + transportConnectTimeout: 0, + + disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default) + + reconnectWindow: 30000, // This should be set by the server in response to the negotiate request + + keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout + + start: function (options, callback) { + /// Starts the connection + /// Options map + /// A callback function to execute when the connection has started + var connection = this, + config = { + pingInterval: 300000, + waitForPageLoad: true, + transport: "auto", + jsonp: false + }, + initialize, + deferred = connection._deferral || $.Deferred(), // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it + parser = window.document.createElement("a"); + + connection.lastError = null; + + // Persist the deferral so that if start is called multiple times the same deferral is used. + connection._deferral = deferred; + + if (!connection.json) { + // no JSON! + throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8."); + } + + if ($.type(options) === "function") { + // Support calling with single callback parameter + callback = options; + } else if ($.type(options) === "object") { + $.extend(config, options); + if ($.type(config.callback) === "function") { + callback = config.callback; + } + } + + config.transport = validateTransport(config.transport, connection); + + // If the transport is invalid throw an error and abort start + if (!config.transport) { + throw new Error("SignalR: Invalid transport(s) specified, aborting start."); + } + + connection._.config = config; + + // Check to see if start is being called prior to page load + // If waitForPageLoad is true we then want to re-direct function call to the window load event + if (!_pageLoaded && config.waitForPageLoad === true) { + connection._.deferredStartHandler = function () { + connection.start(options, callback); + }; + _pageWindow.bind("load", connection._.deferredStartHandler); + + return deferred.promise(); + } + + // If we're already connecting just return the same deferral as the original connection start + if (connection.state === signalR.connectionState.connecting) { + return deferred.promise(); + } else if (changeState(connection, + signalR.connectionState.disconnected, + signalR.connectionState.connecting) === false) { + // We're not connecting so try and transition into connecting. + // If we fail to transition then we're either in connected or reconnecting. + + deferred.resolve(connection); + return deferred.promise(); + } + + configureStopReconnectingTimeout(connection); + + // Resolve the full url + parser.href = connection.url; + if (!parser.protocol || parser.protocol === ":") { + connection.protocol = window.document.location.protocol; + connection.host = parser.host || window.document.location.host; + } else { + connection.protocol = parser.protocol; + connection.host = parser.host; + } + + connection.baseUrl = connection.protocol + "//" + connection.host; + + // Set the websocket protocol + connection.wsProtocol = connection.protocol === "https:" ? "wss://" : "ws://"; + + // If jsonp with no/auto transport is specified, then set the transport to long polling + // since that is the only transport for which jsonp really makes sense. + // Some developers might actually choose to specify jsonp for same origin requests + // as demonstrated by Issue #623. + if (config.transport === "auto" && config.jsonp === true) { + config.transport = "longPolling"; + } + + // If the url is protocol relative, prepend the current windows protocol to the url. + if (connection.url.indexOf("//") === 0) { + connection.url = window.location.protocol + connection.url; + connection.log("Protocol relative URL detected, normalizing it to '" + connection.url + "'."); + } + + if (this.isCrossDomain(connection.url)) { + connection.log("Auto detected cross domain url."); + + if (config.transport === "auto") { + // TODO: Support XDM with foreverFrame + config.transport = ["webSockets", "serverSentEvents", "longPolling"]; + } + + if (typeof (config.withCredentials) === "undefined") { + config.withCredentials = true; + } + + // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort. + // i.e. if the browser doesn't supports CORS + // If it is, ignore any preference to the contrary, and switch to jsonp. + if (!config.jsonp) { + config.jsonp = !$.support.cors; + + if (config.jsonp) { + connection.log("Using jsonp because this browser doesn't support CORS."); + } + } + + connection.contentType = signalR._.defaultContentType; + } + + connection.withCredentials = config.withCredentials; + + connection.ajaxDataType = config.jsonp ? "jsonp" : "text"; + + $(connection).bind(events.onStart, function (e, data) { + if ($.type(callback) === "function") { + callback.call(connection); + } + deferred.resolve(connection); + }); + + connection._.initHandler = signalR.transports._logic.initHandler(connection); + + initialize = function (transports, index) { + var noTransportError = signalR._.error(resources.noTransportOnInit); + + index = index || 0; + if (index >= transports.length) { + if (index === 0) { + connection.log("No transports supported by the server were selected."); + } else if (index === 1) { + connection.log("No fallback transports were selected."); + } else { + connection.log("Fallback transports exhausted."); + } + + // No transport initialized successfully + $(connection).triggerHandler(events.onError, [noTransportError]); + deferred.reject(noTransportError); + // Stop the connection if it has connected and move it into the disconnected state + connection.stop(); + return; + } + + // The connection was aborted + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + var transportName = transports[index], + transport = signalR.transports[transportName], + onFallback = function () { + initialize(transports, index + 1); + }; + + connection.transport = transport; + + try { + connection._.initHandler.start(transport, function () { // success + // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials + var isFirefox11OrGreater = signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11, + asyncAbort = !!connection.withCredentials && isFirefox11OrGreater; + + connection.log("The start request succeeded. Transitioning to the connected state."); + + if (supportsKeepAlive(connection)) { + signalR.transports._logic.monitorKeepAlive(connection); + } + + signalR.transports._logic.startHeartbeat(connection); + + // Used to ensure low activity clients maintain their authentication. + // Must be configured once a transport has been decided to perform valid ping requests. + signalR._.configurePingInterval(connection); + + if (!changeState(connection, + signalR.connectionState.connecting, + signalR.connectionState.connected)) { + connection.log("WARNING! The connection was not in the connecting state."); + } + + // Drain any incoming buffered messages (messages that came in prior to connect) + connection._.connectingMessageBuffer.drain(); + + $(connection).triggerHandler(events.onStart); + + // wire the stop handler for when the user leaves the page + _pageWindow.bind("unload", function () { + connection.log("Window unloading, stopping the connection."); + + connection.stop(asyncAbort); + }); + + if (isFirefox11OrGreater) { + // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close. + // #2400 + _pageWindow.bind("beforeunload", function () { + // If connection.stop() runs runs in beforeunload and fails, it will also fail + // in unload unless connection.stop() runs after a timeout. + window.setTimeout(function () { + connection.stop(asyncAbort); + }, 0); + }); + } + }, onFallback); + } + catch (error) { + connection.log(transport.name + " transport threw '" + error.message + "' when attempting to start."); + onFallback(); + } + }; + + var url = connection.url + "/negotiate", + onFailed = function (error, connection) { + var err = signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest); + + $(connection).triggerHandler(events.onError, err); + deferred.reject(err); + // Stop the connection if negotiate failed + connection.stop(); + }; + + $(connection).triggerHandler(events.onStarting); + + url = signalR.transports._logic.prepareQueryString(connection, url); + + connection.log("Negotiating with '" + url + "'."); + + // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight. + connection._.negotiateRequest = signalR.transports._logic.ajax(connection, { + url: url, + error: function (error, statusText) { + // We don't want to cause any errors if we're aborting our own negotiate request. + if (statusText !== _negotiateAbortText) { + onFailed(error, connection); + } else { + // This rejection will noop if the deferred has already been resolved or rejected. + deferred.reject(signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest)); + } + }, + success: function (result) { + var res, + keepAliveData, + protocolError, + transports = [], + supportedTransports = []; + + try { + res = connection._parseResponse(result); + } catch (error) { + onFailed(signalR._.error(resources.errorParsingNegotiateResponse, error), connection); + return; + } + + keepAliveData = connection._.keepAliveData; + connection.appRelativeUrl = res.Url; + connection.id = res.ConnectionId; + connection.token = res.ConnectionToken; + connection.webSocketServerUrl = res.WebSocketServerUrl; + + // The long poll timeout is the ConnectionTimeout plus 10 seconds + connection._.pollTimeout = res.ConnectionTimeout * 1000 + 10000; // in ms + + // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect + // after res.DisconnectTimeout seconds. + connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms + + // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout + connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000; + + // If we have a keep alive + if (res.KeepAliveTimeout) { + // Register the keep alive data as activated + keepAliveData.activated = true; + + // Timeout to designate when to force the connection into reconnecting converted to milliseconds + keepAliveData.timeout = res.KeepAliveTimeout * 1000; + + // Timeout to designate when to warn the developer that the connection may be dead or is not responding. + keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt; + + // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes + connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3; + } else { + keepAliveData.activated = false; + } + + connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0); + + if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) { + protocolError = signalR._.error(signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion)); + $(connection).triggerHandler(events.onError, [protocolError]); + deferred.reject(protocolError); + + return; + } + + $.each(signalR.transports, function (key) { + if ((key.indexOf("_") === 0) || (key === "webSockets" && !res.TryWebSockets)) { + return true; + } + supportedTransports.push(key); + }); + + if ($.isArray(config.transport)) { + $.each(config.transport, function (_, transport) { + if ($.inArray(transport, supportedTransports) >= 0) { + transports.push(transport); + } + }); + } else if (config.transport === "auto") { + transports = supportedTransports; + } else if ($.inArray(config.transport, supportedTransports) >= 0) { + transports.push(config.transport); + } + + initialize(transports); + } + }); + + return deferred.promise(); + }, + + starting: function (callback) { + /// Adds a callback that will be invoked before anything is sent over the connection + /// A callback function to execute before the connection is fully instantiated. + /// + var connection = this; + $(connection).bind(events.onStarting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + send: function (data) { + /// Sends data over the connection + /// The data to send over the connection + /// + var connection = this; + + if (connection.state === signalR.connectionState.disconnected) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()"); + } + + if (connection.state === signalR.connectionState.connecting) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started."); + } + + connection.transport.send(connection, data); + // REVIEW: Should we return deferred here? + return connection; + }, + + received: function (callback) { + /// Adds a callback that will be invoked after anything is received over the connection + /// A callback function to execute when any data is received on the connection + /// + var connection = this; + $(connection).bind(events.onReceived, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + stateChanged: function (callback) { + /// Adds a callback that will be invoked when the connection state changes + /// A callback function to execute when the connection state changes + /// + var connection = this; + $(connection).bind(events.onStateChanged, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + error: function (callback) { + /// Adds a callback that will be invoked after an error occurs with the connection + /// A callback function to execute when an error occurs on the connection + /// + var connection = this; + $(connection).bind(events.onError, function (e, errorData, sendData) { + connection.lastError = errorData; + // In practice 'errorData' is the SignalR built error object. + // In practice 'sendData' is undefined for all error events except those triggered by + // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload. + callback.call(connection, errorData, sendData); + }); + return connection; + }, + + disconnected: function (callback) { + /// Adds a callback that will be invoked when the client disconnects + /// A callback function to execute when the connection is broken + /// + var connection = this; + $(connection).bind(events.onDisconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + connectionSlow: function (callback) { + /// Adds a callback that will be invoked when the client detects a slow connection + /// A callback function to execute when the connection is slow + /// + var connection = this; + $(connection).bind(events.onConnectionSlow, function (e, data) { + callback.call(connection); + }); + + return connection; + }, + + reconnecting: function (callback) { + /// Adds a callback that will be invoked when the underlying transport begins reconnecting + /// A callback function to execute when the connection enters a reconnecting state + /// + var connection = this; + $(connection).bind(events.onReconnecting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + reconnected: function (callback) { + /// Adds a callback that will be invoked when the underlying transport reconnects + /// A callback function to execute when the connection is restored + /// + var connection = this; + $(connection).bind(events.onReconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + stop: function (async, notifyServer) { + /// Stops listening + /// Whether or not to asynchronously abort the connection + /// Whether we want to notify the server that we are aborting the connection + /// + var connection = this, + // Save deferral because this is always cleaned up + deferral = connection._deferral; + + // Verify that we've bound a load event. + if (connection._.deferredStartHandler) { + // Unbind the event. + _pageWindow.unbind("load", connection._.deferredStartHandler); + } + + // Always clean up private non-timeout based state. + delete connection._.config; + delete connection._.deferredStartHandler; + + // This needs to be checked despite the connection state because a connection start can be deferred until page load. + // If we've deferred the start due to a page load we need to unbind the "onLoad" -> start event. + if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) { + connection.log("Stopping connection prior to negotiate."); + + // If we have a deferral we should reject it + if (deferral) { + deferral.reject(signalR._.error(resources.stoppedWhileLoading)); + } + + // Short-circuit because the start has not been fully started. + return; + } + + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + connection.log("Stopping connection."); + + changeState(connection, connection.state, signalR.connectionState.disconnected); + + // Clear this no matter what + window.clearTimeout(connection._.beatHandle); + window.clearInterval(connection._.pingIntervalId); + + if (connection.transport) { + connection.transport.stop(connection); + + if (notifyServer !== false) { + connection.transport.abort(connection, async); + } + + if (supportsKeepAlive(connection)) { + signalR.transports._logic.stopMonitoringKeepAlive(connection); + } + + connection.transport = null; + } + + if (connection._.negotiateRequest) { + // If the negotiation request has already completed this will noop. + connection._.negotiateRequest.abort(_negotiateAbortText); + delete connection._.negotiateRequest; + } + + // Ensure that initHandler.stop() is called before connection._deferral is deleted + if (connection._.initHandler) { + connection._.initHandler.stop(); + } + + // Trigger the disconnect event + $(connection).triggerHandler(events.onDisconnect); + + delete connection._deferral; + delete connection.messageId; + delete connection.groupsToken; + delete connection.id; + delete connection._.pingIntervalId; + delete connection._.lastMessageAt; + delete connection._.lastActiveAt; + + // Clear out our message buffer + connection._.connectingMessageBuffer.clear(); + + return connection; + }, + + log: function (msg) { + log(msg, this.logging); + } + }; + + signalR.fn.init.prototype = signalR.fn; + + signalR.noConflict = function () { + /// Reinstates the original value of $.connection and returns the signalR object for manual assignment + /// + if ($.connection === signalR) { + $.connection = _connection; + } + return signalR; + }; + + if ($.connection) { + _connection = $.connection; + } + + $.connection = $.signalR = signalR; + +}(window.jQuery, window)); +/* jquery.signalR.transports.common.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + startAbortText = "__Start Aborted__", + transportLogic; + + signalR.transports = {}; + + function beat(connection) { + if (connection._.keepAliveData.monitoring) { + checkIfAlive(connection); + } + + // Ensure that we successfully marked active before continuing the heartbeat. + if (transportLogic.markActive(connection)) { + connection._.beatHandle = window.setTimeout(function () { + beat(connection); + }, connection._.beatInterval); + } + } + + function checkIfAlive(connection) { + var keepAliveData = connection._.keepAliveData, + timeElapsed; + + // Only check if we're connected + if (connection.state === signalR.connectionState.connected) { + timeElapsed = new Date().getTime() - connection._.lastMessageAt; + + // Check if the keep alive has completely timed out + if (timeElapsed >= keepAliveData.timeout) { + connection.log("Keep alive timed out. Notifying transport that connection has been lost."); + + // Notify transport that the connection has been lost + connection.transport.lostConnection(connection); + } else if (timeElapsed >= keepAliveData.timeoutWarning) { + // This is to assure that the user only gets a single warning + if (!keepAliveData.userNotified) { + connection.log("Keep alive has been missed, connection may be dead/slow."); + $(connection).triggerHandler(events.onConnectionSlow); + keepAliveData.userNotified = true; + } + } else { + keepAliveData.userNotified = false; + } + } + } + + function getAjaxUrl(connection, path) { + var url = connection.url + path; + + if (connection.transport) { + url += "?transport=" + connection.transport.name; + } + + return transportLogic.prepareQueryString(connection, url); + } + + function InitHandler(connection) { + this.connection = connection; + + this.startRequested = false; + this.startCompleted = false; + this.connectionStopped = false; + } + + InitHandler.prototype = { + start: function (transport, onSuccess, onFallback) { + var that = this, + connection = that.connection, + failCalled = false; + + if (that.startRequested || that.connectionStopped) { + connection.log("WARNING! " + transport.name + " transport cannot be started. Initialization ongoing or completed."); + return; + } + + connection.log(transport.name + " transport starting."); + + that.transportTimeoutHandle = window.setTimeout(function () { + if (!failCalled) { + failCalled = true; + connection.log(transport.name + " transport timed out when trying to connect."); + that.transportFailed(transport, undefined, onFallback); + } + }, connection._.totalTransportConnectTimeout); + + transport.start(connection, function () { + if (!failCalled) { + that.initReceived(transport, onSuccess); + } + }, function (error) { + // Don't allow the same transport to cause onFallback to be called twice + if (!failCalled) { + failCalled = true; + that.transportFailed(transport, error, onFallback); + } + + // Returns true if the transport should stop; + // false if it should attempt to reconnect + return !that.startCompleted || that.connectionStopped; + }); + }, + + stop: function () { + this.connectionStopped = true; + window.clearTimeout(this.transportTimeoutHandle); + signalR.transports._logic.tryAbortStartRequest(this.connection); + }, + + initReceived: function (transport, onSuccess) { + var that = this, + connection = that.connection; + + if (that.startRequested) { + connection.log("WARNING! The client received multiple init messages."); + return; + } + + if (that.connectionStopped) { + return; + } + + that.startRequested = true; + window.clearTimeout(that.transportTimeoutHandle); + + connection.log(transport.name + " transport connected. Initiating start request."); + signalR.transports._logic.ajaxStart(connection, function () { + that.startCompleted = true; + onSuccess(); + }); + }, + + transportFailed: function (transport, error, onFallback) { + var connection = this.connection, + deferred = connection._deferral, + wrappedError; + + if (this.connectionStopped) { + return; + } + + window.clearTimeout(this.transportTimeoutHandle); + + if (!this.startRequested) { + transport.stop(connection); + + connection.log(transport.name + " transport failed to connect. Attempting to fall back."); + onFallback(); + } else if (!this.startCompleted) { + // Do not attempt to fall back if a start request is ongoing during a transport failure. + // Instead, trigger an error and stop the connection. + wrappedError = signalR._.error(signalR.resources.errorDuringStartRequest, error); + + connection.log(transport.name + " transport failed during the start request. Stopping the connection."); + $(connection).triggerHandler(events.onError, [wrappedError]); + if (deferred) { + deferred.reject(wrappedError); + } + + connection.stop(); + } else { + // The start request has completed, but the connection has not stopped. + // No need to do anything here. The transport should attempt its normal reconnect logic. + } + } + }; + + transportLogic = signalR.transports._logic = { + ajax: function (connection, options) { + return $.ajax( + $.extend(/*deep copy*/ true, {}, $.signalR.ajaxDefaults, { + type: "GET", + data: {}, + xhrFields: { withCredentials: connection.withCredentials }, + contentType: connection.contentType, + dataType: connection.ajaxDataType + }, options)); + }, + + pingServer: function (connection) { + /// Pings the server + /// Connection associated with the server ping + /// + var url, + xhr, + deferral = $.Deferred(); + + if (connection.transport) { + url = connection.url + "/ping"; + + url = transportLogic.addQs(url, connection.qs); + + xhr = transportLogic.ajax(connection, { + url: url, + success: function (result) { + var data; + + try { + data = connection._parseResponse(result); + } + catch (error) { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailedParse, + connection.transport, + error, + xhr + ) + ); + connection.stop(); + return; + } + + if (data.Response === "pong") { + deferral.resolve(); + } + else { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result), + connection.transport, + null /* error */, + xhr + ) + ); + } + }, + error: function (error) { + if (error.status === 401 || error.status === 403) { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedStatusCode, error.status), + connection.transport, + error, + xhr + ) + ); + connection.stop(); + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailed, + connection.transport, + error, + xhr + ) + ); + } + } + }); + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.noConnectionTransport, + connection.transport + ) + ); + } + + return deferral.promise(); + }, + + prepareQueryString: function (connection, url) { + var preparedUrl; + + // Use addQs to start since it handles the ?/& prefix for us + preparedUrl = transportLogic.addQs(url, "clientProtocol=" + connection.clientProtocol); + + // Add the user-specified query string params if any + preparedUrl = transportLogic.addQs(preparedUrl, connection.qs); + + if (connection.token) { + preparedUrl += "&connectionToken=" + window.encodeURIComponent(connection.token); + } + + if (connection.data) { + preparedUrl += "&connectionData=" + window.encodeURIComponent(connection.data); + } + + return preparedUrl; + }, + + addQs: function (url, qs) { + var appender = url.indexOf("?") !== -1 ? "&" : "?", + firstChar; + + if (!qs) { + return url; + } + + if (typeof (qs) === "object") { + return url + appender + $.param(qs); + } + + if (typeof (qs) === "string") { + firstChar = qs.charAt(0); + + if (firstChar === "?" || firstChar === "&") { + appender = ""; + } + + return url + appender + qs; + } + + throw new Error("Query string property must be either a string or object."); + }, + + // BUG #2953: The url needs to be same otherwise it will cause a memory leak + getUrl: function (connection, transport, reconnecting, poll, ajaxPost) { + /// Gets the url for making a GET based connect request + var baseUrl = transport === "webSockets" ? "" : connection.baseUrl, + url = baseUrl + connection.appRelativeUrl, + qs = "transport=" + transport; + + if (!ajaxPost && connection.groupsToken) { + qs += "&groupsToken=" + window.encodeURIComponent(connection.groupsToken); + } + + if (!reconnecting) { + url += "/connect"; + } else { + if (poll) { + // longPolling transport specific + url += "/poll"; + } else { + url += "/reconnect"; + } + + if (!ajaxPost && connection.messageId) { + qs += "&messageId=" + window.encodeURIComponent(connection.messageId); + } + } + url += "?" + qs; + url = transportLogic.prepareQueryString(connection, url); + + if (!ajaxPost) { + url += "&tid=" + Math.floor(Math.random() * 11); + } + + return url; + }, + + maximizePersistentResponse: function (minPersistentResponse) { + return { + MessageId: minPersistentResponse.C, + Messages: minPersistentResponse.M, + Initialized: typeof (minPersistentResponse.S) !== "undefined" ? true : false, + ShouldReconnect: typeof (minPersistentResponse.T) !== "undefined" ? true : false, + LongPollDelay: minPersistentResponse.L, + GroupsToken: minPersistentResponse.G + }; + }, + + updateGroups: function (connection, groupsToken) { + if (groupsToken) { + connection.groupsToken = groupsToken; + } + }, + + stringifySend: function (connection, message) { + if (typeof (message) === "string" || typeof (message) === "undefined" || message === null) { + return message; + } + return connection.json.stringify(message); + }, + + ajaxSend: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data), + url = getAjaxUrl(connection, "/send"), + xhr, + onFail = function (error, connection) { + $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]); + }; + + + xhr = transportLogic.ajax(connection, { + url: url, + type: connection.ajaxDataType === "jsonp" ? "GET" : "POST", + contentType: signalR._.defaultContentType, + data: { + data: payload + }, + success: function (result) { + var res; + + if (result) { + try { + res = connection._parseResponse(result); + } + catch (error) { + onFail(error, connection); + connection.stop(); + return; + } + + transportLogic.triggerReceived(connection, res); + } + }, + error: function (error, textStatus) { + if (textStatus === "abort" || textStatus === "parsererror") { + // The parsererror happens for sends that don't return any data, and hence + // don't write the jsonp callback to the response. This is harder to fix on the server + // so just hack around it on the client for now. + return; + } + + onFail(error, connection); + } + }); + + return xhr; + }, + + ajaxAbort: function (connection, async) { + if (typeof (connection.transport) === "undefined") { + return; + } + + // Async by default unless explicitly overidden + async = typeof async === "undefined" ? true : async; + + var url = getAjaxUrl(connection, "/abort"); + + transportLogic.ajax(connection, { + url: url, + async: async, + timeout: 1000, + type: "POST" + }); + + connection.log("Fired ajax abort async = " + async + "."); + }, + + ajaxStart: function (connection, onSuccess) { + var rejectDeferred = function (error) { + var deferred = connection._deferral; + if (deferred) { + deferred.reject(error); + } + }, + triggerStartError = function (error) { + connection.log("The start request failed. Stopping the connection."); + $(connection).triggerHandler(events.onError, [error]); + rejectDeferred(error); + connection.stop(); + }; + + connection._.startRequest = transportLogic.ajax(connection, { + url: getAjaxUrl(connection, "/start"), + success: function (result, statusText, xhr) { + var data; + + try { + data = connection._parseResponse(result); + } catch (error) { + triggerStartError(signalR._.error( + signalR._.format(signalR.resources.errorParsingStartResponse, result), + error, xhr)); + return; + } + + if (data.Response === "started") { + onSuccess(); + } else { + triggerStartError(signalR._.error( + signalR._.format(signalR.resources.invalidStartResponse, result), + null /* error */, xhr)); + } + }, + error: function (xhr, statusText, error) { + if (statusText !== startAbortText) { + triggerStartError(signalR._.error( + signalR.resources.errorDuringStartRequest, + error, xhr)); + } else { + // Stop has been called, no need to trigger the error handler + // or stop the connection again with onStartError + connection.log("The start request aborted because connection.stop() was called."); + rejectDeferred(signalR._.error( + signalR.resources.stoppedDuringStartRequest, + null /* error */, xhr)); + } + } + }); + }, + + tryAbortStartRequest: function (connection) { + if (connection._.startRequest) { + // If the start request has already completed this will noop. + connection._.startRequest.abort(startAbortText); + delete connection._.startRequest; + } + }, + + tryInitialize: function (persistentResponse, onInitialized) { + if (persistentResponse.Initialized) { + onInitialized(); + } + }, + + triggerReceived: function (connection, data) { + if (!connection._.connectingMessageBuffer.tryBuffer(data)) { + $(connection).triggerHandler(events.onReceived, [data]); + } + }, + + processMessages: function (connection, minData, onInitialized) { + var data; + + // Update the last message time stamp + transportLogic.markLastMessage(connection); + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + + transportLogic.updateGroups(connection, data.GroupsToken); + + if (data.MessageId) { + connection.messageId = data.MessageId; + } + + if (data.Messages) { + $.each(data.Messages, function (index, message) { + transportLogic.triggerReceived(connection, message); + }); + + transportLogic.tryInitialize(data, onInitialized); + } + } + }, + + monitorKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // If we haven't initiated the keep alive timeouts then we need to + if (!keepAliveData.monitoring) { + keepAliveData.monitoring = true; + + transportLogic.markLastMessage(connection); + + // Save the function so we can unbind it on stop + connection._.keepAliveData.reconnectKeepAliveUpdate = function () { + // Mark a new message so that keep alive doesn't time out connections + transportLogic.markLastMessage(connection); + }; + + // Update Keep alive on reconnect + $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + connection.log("Now monitoring keep alive with a warning timeout of " + keepAliveData.timeoutWarning + ", keep alive timeout of " + keepAliveData.timeout + " and disconnecting timeout of " + connection.disconnectTimeout); + } else { + connection.log("Tried to monitor keep alive but it's already being monitored."); + } + }, + + stopMonitoringKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // Only attempt to stop the keep alive monitoring if its being monitored + if (keepAliveData.monitoring) { + // Stop monitoring + keepAliveData.monitoring = false; + + // Remove the updateKeepAlive function from the reconnect event + $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + // Clear all the keep alive data + connection._.keepAliveData = {}; + connection.log("Stopping the monitoring of the keep alive."); + } + }, + + startHeartbeat: function (connection) { + connection._.lastActiveAt = new Date().getTime(); + beat(connection); + }, + + markLastMessage: function (connection) { + connection._.lastMessageAt = new Date().getTime(); + }, + + markActive: function (connection) { + if (transportLogic.verifyLastActive(connection)) { + connection._.lastActiveAt = new Date().getTime(); + return true; + } + + return false; + }, + + isConnectedOrReconnecting: function (connection) { + return connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting; + }, + + ensureReconnectingState: function (connection) { + if (changeState(connection, + signalR.connectionState.connected, + signalR.connectionState.reconnecting) === true) { + $(connection).triggerHandler(events.onReconnecting); + } + return connection.state === signalR.connectionState.reconnecting; + }, + + clearReconnectTimeout: function (connection) { + if (connection && connection._.reconnectTimeout) { + window.clearTimeout(connection._.reconnectTimeout); + delete connection._.reconnectTimeout; + } + }, + + verifyLastActive: function (connection) { + if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) { + var message = signalR._.format(signalR.resources.reconnectWindowTimeout, new Date(connection._.lastActiveAt), connection.reconnectWindow); + connection.log(message); + $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */ "TimeoutException")]); + connection.stop(/* async */ false, /* notifyServer */ false); + return false; + } + + return true; + }, + + reconnect: function (connection, transportName) { + var transport = signalR.transports[transportName]; + + // We should only set a reconnectTimeout if we are currently connected + // and a reconnectTimeout isn't already set. + if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) { + // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + connection._.reconnectTimeout = window.setTimeout(function () { + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + transport.stop(connection); + + if (transportLogic.ensureReconnectingState(connection)) { + connection.log(transportName + " reconnecting."); + transport.start(connection); + } + }, connection.reconnectDelay); + } + }, + + handleParseFailure: function (connection, result, error, onFailed, context) { + var wrappedError = signalR._.transportError( + signalR._.format(signalR.resources.parseFailed, result), + connection.transport, + error, + context); + + // If we're in the initialization phase trigger onFailed, otherwise stop the connection. + if (onFailed && onFailed(wrappedError)) { + connection.log("Failed to parse server response while attempting to connect."); + } else { + $(connection).triggerHandler(events.onError, [wrappedError]); + connection.stop(); + } + }, + + initHandler: function (connection) { + return new InitHandler(connection); + }, + + foreverFrame: { + count: 0, + connections: {} + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.webSockets.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic; + + signalR.transports.webSockets = { + name: "webSockets", + + supportsKeepAlive: function () { + return true; + }, + + send: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data); + + try { + connection.socket.send(payload); + } catch (ex) { + $(connection).triggerHandler(events.onError, + [signalR._.transportError( + signalR.resources.webSocketsInvalidState, + connection.transport, + ex, + connection.socket + ), + data]); + } + }, + + start: function (connection, onSuccess, onFailed) { + var url, + opened = false, + that = this, + reconnecting = !onSuccess, + $connection = $(connection); + + if (!window.WebSocket) { + onFailed(); + return; + } + + if (!connection.socket) { + if (connection.webSocketServerUrl) { + url = connection.webSocketServerUrl; + } else { + url = connection.wsProtocol + connection.host; + } + + url += transportLogic.getUrl(connection, this.name, reconnecting); + + connection.log("Connecting to websocket endpoint '" + url + "'."); + connection.socket = new window.WebSocket(url); + + connection.socket.onopen = function () { + opened = true; + connection.log("Websocket opened."); + + transportLogic.clearReconnectTimeout(connection); + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + }; + + connection.socket.onclose = function (event) { + var error; + + // Only handle a socket close if the close is from the current socket. + // Sometimes on disconnect the server will push down an onclose event + // to an expired socket. + + if (this === connection.socket) { + if (opened && typeof event.wasClean !== "undefined" && event.wasClean === false) { + // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but + // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers. + error = signalR._.transportError( + signalR.resources.webSocketClosed, + connection.transport, + event); + + connection.log("Unclean disconnect from websocket: " + (event.reason || "[no reason given].")); + } else { + connection.log("Websocket closed."); + } + + if (!onFailed || !onFailed(error)) { + if (error) { + $(connection).triggerHandler(events.onError, [error]); + } + + that.reconnect(connection); + } + } + }; + + connection.socket.onmessage = function (event) { + var data; + + try { + data = connection._parseResponse(event.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, event.data, error, onFailed, event); + return; + } + + if (data) { + // data.M is PersistentResponse.Messages + if ($.isEmptyObject(data) || data.M) { + transportLogic.processMessages(connection, data, onSuccess); + } else { + // For websockets we need to trigger onReceived + // for callbacks to outgoing hub calls. + transportLogic.triggerReceived(connection, data); + } + } + }; + } + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + transportLogic.clearReconnectTimeout(connection); + + if (connection.socket) { + connection.log("Closing the Websocket."); + connection.socket.close(); + connection.socket = null; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.serverSentEvents.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic, + clearReconnectAttemptTimeout = function (connection) { + window.clearTimeout(connection._.reconnectAttemptTimeoutHandle); + delete connection._.reconnectAttemptTimeoutHandle; + }; + + signalR.transports.serverSentEvents = { + name: "serverSentEvents", + + supportsKeepAlive: function () { + return true; + }, + + timeOut: 3000, + + start: function (connection, onSuccess, onFailed) { + var that = this, + opened = false, + $connection = $(connection), + reconnecting = !onSuccess, + url; + + if (connection.eventSource) { + connection.log("The connection already has an event source. Stopping it."); + connection.stop(); + } + + if (!window.EventSource) { + if (onFailed) { + connection.log("This browser doesn't support SSE."); + onFailed(); + } + return; + } + + url = transportLogic.getUrl(connection, this.name, reconnecting); + + try { + connection.log("Attempting to connect to SSE endpoint '" + url + "'."); + connection.eventSource = new window.EventSource(url, { withCredentials: connection.withCredentials }); + } + catch (e) { + connection.log("EventSource failed trying to connect with error " + e.Message + "."); + if (onFailed) { + // The connection failed, call the failed callback + onFailed(); + } else { + $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]); + if (reconnecting) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + return; + } + + if (reconnecting) { + connection._.reconnectAttemptTimeoutHandle = window.setTimeout(function () { + if (opened === false) { + // If we're reconnecting and the event source is attempting to connect, + // don't keep retrying. This causes duplicate connections to spawn. + if (connection.eventSource.readyState !== window.EventSource.OPEN) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + }, + that.timeOut); + } + + connection.eventSource.addEventListener("open", function (e) { + connection.log("EventSource connected."); + + clearReconnectAttemptTimeout(connection); + transportLogic.clearReconnectTimeout(connection); + + if (opened === false) { + opened = true; + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + } + }, false); + + connection.eventSource.addEventListener("message", function (e) { + var res; + + // process messages + if (e.data === "initialized") { + return; + } + + try { + res = connection._parseResponse(e.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, e.data, error, onFailed, e); + return; + } + + transportLogic.processMessages(connection, res, onSuccess); + }, false); + + connection.eventSource.addEventListener("error", function (e) { + var error = signalR._.transportError( + signalR.resources.eventSourceError, + connection.transport, + e); + + // Only handle an error if the error is from the current Event Source. + // Sometimes on disconnect the server will push down an error event + // to an expired Event Source. + if (this !== connection.eventSource) { + return; + } + + if (onFailed && onFailed(error)) { + return; + } + + connection.log("EventSource readyState: " + connection.eventSource.readyState + "."); + + if (e.eventPhase === window.EventSource.CLOSED) { + // We don't use the EventSource's native reconnect function as it + // doesn't allow us to change the URL when reconnecting. We need + // to change the URL to not include the /connect suffix, and pass + // the last message id we received. + connection.log("EventSource reconnecting due to the server connection ending."); + that.reconnect(connection); + } else { + // connection error + connection.log("EventSource error."); + $connection.triggerHandler(events.onError, [error]); + } + }, false); + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + clearReconnectAttemptTimeout(connection); + transportLogic.clearReconnectTimeout(connection); + + if (connection && connection.eventSource) { + connection.log("EventSource calling close()."); + connection.eventSource.close(); + connection.eventSource = null; + delete connection.eventSource; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.foreverFrame.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic, + createFrame = function () { + var frame = window.document.createElement("iframe"); + frame.setAttribute("style", "position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"); + return frame; + }, + // Used to prevent infinite loading icon spins in older versions of ie + // We build this object inside a closure so we don't pollute the rest of + // the foreverFrame transport with unnecessary functions/utilities. + loadPreventer = (function () { + var loadingFixIntervalId = null, + loadingFixInterval = 1000, + attachedTo = 0; + + return { + prevent: function () { + // Prevent additional iframe removal procedures from newer browsers + if (signalR._.ieVersion <= 8) { + // We only ever want to set the interval one time, so on the first attachedTo + if (attachedTo === 0) { + // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky + loadingFixIntervalId = window.setInterval(function () { + var tempFrame = createFrame(); + + window.document.body.appendChild(tempFrame); + window.document.body.removeChild(tempFrame); + + tempFrame = null; + }, loadingFixInterval); + } + + attachedTo++; + } + }, + cancel: function () { + // Only clear the interval if there's only one more object that the loadPreventer is attachedTo + if (attachedTo === 1) { + window.clearInterval(loadingFixIntervalId); + } + + if (attachedTo > 0) { + attachedTo--; + } + } + }; + })(); + + signalR.transports.foreverFrame = { + name: "foreverFrame", + + supportsKeepAlive: function () { + return true; + }, + + // Added as a value here so we can create tests to verify functionality + iframeClearThreshold: 50, + + start: function (connection, onSuccess, onFailed) { + var that = this, + frameId = (transportLogic.foreverFrame.count += 1), + url, + frame = createFrame(), + frameLoadHandler = function () { + connection.log("Forever frame iframe finished loading and is no longer receiving messages."); + if (!onFailed || !onFailed()) { + that.reconnect(connection); + } + }; + + if (window.EventSource) { + // If the browser supports SSE, don't use Forever Frame + if (onFailed) { + connection.log("Forever Frame is not supported by SignalR on browsers with SSE support."); + onFailed(); + } + return; + } + + frame.setAttribute("data-signalr-connection-id", connection.id); + + // Start preventing loading icon + // This will only perform work if the loadPreventer is not attached to another connection. + loadPreventer.prevent(); + + // Build the url + url = transportLogic.getUrl(connection, this.name); + url += "&frameId=" + frameId; + + // add frame to the document prior to setting URL to avoid caching issues. + window.document.documentElement.appendChild(frame); + + connection.log("Binding to iframe's load event."); + + if (frame.addEventListener) { + frame.addEventListener("load", frameLoadHandler, false); + } else if (frame.attachEvent) { + frame.attachEvent("onload", frameLoadHandler); + } + + frame.src = url; + transportLogic.foreverFrame.connections[frameId] = connection; + + connection.frame = frame; + connection.frameId = frameId; + + if (onSuccess) { + connection.onSuccess = function () { + connection.log("Iframe transport started."); + onSuccess(); + }; + } + }, + + reconnect: function (connection) { + var that = this; + + // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) { + window.setTimeout(function () { + // Verify that we're ok to reconnect. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + if (connection.frame && transportLogic.ensureReconnectingState(connection)) { + var frame = connection.frame, + src = transportLogic.getUrl(connection, that.name, true) + "&frameId=" + connection.frameId; + connection.log("Updating iframe src to '" + src + "'."); + frame.src = src; + } + }, connection.reconnectDelay); + } + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + receive: function (connection, data) { + var cw, + body, + response; + + if (connection.json !== connection._originalJson) { + // If there's a custom JSON parser configured then serialize the object + // using the original (browser) JSON parser and then deserialize it using + // the custom parser (connection._parseResponse does that). This is so we + // can easily send the response from the server as "raw" JSON but still + // support custom JSON deserialization in the browser. + data = connection._originalJson.stringify(data); + } + + response = connection._parseResponse(data); + + transportLogic.processMessages(connection, response, connection.onSuccess); + + // Protect against connection stopping from a callback trigger within the processMessages above. + if (connection.state === $.signalR.connectionState.connected) { + // Delete the script & div elements + connection.frameMessageCount = (connection.frameMessageCount || 0) + 1; + if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) { + connection.frameMessageCount = 0; + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw && cw.document && cw.document.body) { + body = cw.document.body; + + // Remove all the child elements from the iframe's body to conserver memory + while (body.firstChild) { + body.removeChild(body.firstChild); + } + } + } + } + }, + + stop: function (connection) { + var cw = null; + + // Stop attempting to prevent loading icon + loadPreventer.cancel(); + + if (connection.frame) { + if (connection.frame.stop) { + connection.frame.stop(); + } else { + try { + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw.document && cw.document.execCommand) { + cw.document.execCommand("Stop"); + } + } + catch (e) { + connection.log("Error occured when stopping foreverFrame transport. Message = " + e.message + "."); + } + } + + // Ensure the iframe is where we left it + if (connection.frame.parentNode === window.document.body) { + window.document.body.removeChild(connection.frame); + } + + delete transportLogic.foreverFrame.connections[connection.frameId]; + connection.frame = null; + connection.frameId = null; + delete connection.frame; + delete connection.frameId; + delete connection.onSuccess; + delete connection.frameMessageCount; + connection.log("Stopping forever frame."); + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + }, + + getConnection: function (id) { + return transportLogic.foreverFrame.connections[id]; + }, + + started: function (connection) { + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + + $(connection).triggerHandler(events.onReconnect); + } + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.longPolling.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + isDisconnecting = $.signalR.isDisconnecting, + transportLogic = signalR.transports._logic; + + signalR.transports.longPolling = { + name: "longPolling", + + supportsKeepAlive: function () { + return false; + }, + + reconnectDelay: 3000, + + start: function (connection, onSuccess, onFailed) { + /// Starts the long polling connection + /// The SignalR connection to start + var that = this, + fireConnect = function () { + fireConnect = $.noop; + + connection.log("LongPolling connected."); + onSuccess(); + }, + tryFailConnect = function (error) { + if (onFailed(error)) { + connection.log("LongPolling failed to connect."); + return true; + } + + return false; + }, + privateData = connection._, + reconnectErrors = 0, + fireReconnected = function (instance) { + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (changeState(instance, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + // Successfully reconnected! + instance.log("Raising the reconnect event"); + $(instance).triggerHandler(events.onReconnect); + } + }, + // 1 hour + maxFireReconnectedTimeout = 3600000; + + if (connection.pollXhr) { + connection.log("Polling xhr requests already exists, aborting."); + connection.stop(); + } + + connection.messageId = null; + + privateData.reconnectTimeoutId = null; + + privateData.pollTimeoutId = window.setTimeout(function () { + (function poll(instance, raiseReconnect) { + var messageId = instance.messageId, + connect = (messageId === null), + reconnecting = !connect, + polling = !raiseReconnect, + url = transportLogic.getUrl(instance, that.name, reconnecting, polling, true /* use Post for longPolling */), + postData = {}; + + if (instance.messageId) { + postData.messageId = instance.messageId; + } + + if (instance.groupsToken) { + postData.groupsToken = instance.groupsToken; + } + + // If we've disconnected during the time we've tried to re-instantiate the poll then stop. + if (isDisconnecting(instance) === true) { + return; + } + + connection.log("Opening long polling request to '" + url + "'."); + instance.pollXhr = transportLogic.ajax(connection, { + xhrFields: { + onprogress: function () { + transportLogic.markLastMessage(connection); + } + }, + url: url, + type: "POST", + contentType: signalR._.defaultContentType, + data: postData, + timeout: connection._.pollTimeout, + success: function (result) { + var minData, + delay = 0, + data, + shouldReconnect; + + connection.log("Long poll complete."); + + // Reset our reconnect errors so if we transition into a reconnecting state again we trigger + // reconnected quickly + reconnectErrors = 0; + + try { + // Remove any keep-alives from the beginning of the result + minData = connection._parseResponse(result); + } + catch (error) { + transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr); + return; + } + + // If there's currently a timeout to trigger reconnect, fire it now before processing messages + if (privateData.reconnectTimeoutId !== null) { + fireReconnected(instance); + } + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + } + + transportLogic.processMessages(instance, minData, fireConnect); + + if (data && + $.type(data.LongPollDelay) === "number") { + delay = data.LongPollDelay; + } + + if (isDisconnecting(instance) === true) { + return; + } + + shouldReconnect = data && data.ShouldReconnect; + if (shouldReconnect) { + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into a invalid state in processMessages. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + } + + // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function + if (delay > 0) { + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, shouldReconnect); + }, delay); + } else { + poll(instance, shouldReconnect); + } + }, + + error: function (data, textStatus) { + var error = signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr); + + // Stop trying to trigger reconnect, connection is in an error state + // If we're not in the reconnect state this will noop + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (textStatus === "abort") { + connection.log("Aborted xhr request."); + return; + } + + if (!tryFailConnect(error)) { + + // Increment our reconnect errors, we assume all errors to be reconnect errors + // In the case that it's our first error this will cause Reconnect to be fired + // after 1 second due to reconnectErrors being = 1. + reconnectErrors++; + + if (connection.state !== signalR.connectionState.reconnecting) { + connection.log("An error occurred using longPolling. Status = " + textStatus + ". Response = " + data.responseText + "."); + $(instance).triggerHandler(events.onError, [error]); + } + + // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect. + // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return. + // Therefore we don't want to change that failure code path. + if ((connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting) && + !transportLogic.verifyLastActive(connection)) { + return; + } + + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + + // Call poll with the raiseReconnect flag as true after the reconnect delay + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, true); + }, that.reconnectDelay); + } + } + }); + + // This will only ever pass after an error has occured via the poll ajax procedure. + if (reconnecting && raiseReconnect === true) { + // We wait to reconnect depending on how many times we've failed to reconnect. + // This is essentially a heuristic that will exponentially increase in wait time before + // triggering reconnected. This depends on the "error" handler of Poll to cancel this + // timeout if it triggers before the Reconnected event fires. + // The Math.min at the end is to ensure that the reconnect timeout does not overflow. + privateData.reconnectTimeoutId = window.setTimeout(function () { fireReconnected(instance); }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout)); + } + }(connection)); + }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab + }, + + lostConnection: function (connection) { + if (connection.pollXhr) { + connection.pollXhr.abort("lostConnection"); + } + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + /// Stops the long polling connection + /// The SignalR connection to stop + + window.clearTimeout(connection._.pollTimeoutId); + window.clearTimeout(connection._.reconnectTimeoutId); + + delete connection._.pollTimeoutId; + delete connection._.reconnectTimeoutId; + + if (connection.pollXhr) { + connection.pollXhr.abort(); + connection.pollXhr = null; + delete connection.pollXhr; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.hubs.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + + var eventNamespace = ".hubProxy", + signalR = $.signalR; + + function makeEventName(event) { + return event + eventNamespace; + } + + // Equivalent to Array.prototype.map + function map(arr, fun, thisp) { + var i, + length = arr.length, + result = []; + for (i = 0; i < length; i += 1) { + if (arr.hasOwnProperty(i)) { + result[i] = fun.call(thisp, arr[i], i, arr); + } + } + return result; + } + + function getArgValue(a) { + return $.isFunction(a) ? null : ($.type(a) === "undefined" ? null : a); + } + + function hasMembers(obj) { + for (var key in obj) { + // If we have any properties in our callback map then we have callbacks and can exit the loop via return + if (obj.hasOwnProperty(key)) { + return true; + } + } + + return false; + } + + function clearInvocationCallbacks(connection, error) { + /// + var callbacks = connection._.invocationCallbacks, + callback; + + if (hasMembers(callbacks)) { + connection.log("Clearing hub invocation callbacks with error: " + error + "."); + } + + // Reset the callback cache now as we have a local var referencing it + connection._.invocationCallbackId = 0; + delete connection._.invocationCallbacks; + connection._.invocationCallbacks = {}; + + // Loop over the callbacks and invoke them. + // We do this using a local var reference and *after* we've cleared the cache + // so that if a fail callback itself tries to invoke another method we don't + // end up with its callback in the list we're looping over. + for (var callbackId in callbacks) { + callback = callbacks[callbackId]; + callback.method.call(callback.scope, { E: error }); + } + } + + // hubProxy + function hubProxy(hubConnection, hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + return new hubProxy.fn.init(hubConnection, hubName); + } + + hubProxy.fn = hubProxy.prototype = { + init: function (connection, hubName) { + this.state = {}; + this.connection = connection; + this.hubName = hubName; + this._ = { + callbackMap: {} + }; + }, + + constructor: hubProxy, + + hasSubscriptions: function () { + return hasMembers(this._.callbackMap); + }, + + on: function (eventName, callback) { + /// Wires up a callback to be invoked when a invocation request is received from the server hub. + /// The name of the hub event to register the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + // If there is not an event registered for this callback yet we want to create its event space in the callback map. + if (!callbackMap[eventName]) { + callbackMap[eventName] = {}; + } + + // Map the callback to our encompassed function + callbackMap[eventName][callback] = function (e, data) { + callback.apply(that, data); + }; + + $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]); + + return that; + }, + + off: function (eventName, callback) { + /// Removes the callback invocation request from the server hub for the given event name. + /// The name of the hub event to unregister the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap, + callbackSpace; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + callbackSpace = callbackMap[eventName]; + + // Verify that there is an event space to unbind + if (callbackSpace) { + // Only unbind if there's an event bound with eventName and a callback with the specified callback + if (callbackSpace[callback]) { + $(that).unbind(makeEventName(eventName), callbackSpace[callback]); + + // Remove the callback from the callback map + delete callbackSpace[callback]; + + // Check if there are any members left on the event, if not we need to destroy it. + if (!hasMembers(callbackSpace)) { + delete callbackMap[eventName]; + } + } else if (!callback) { // Check if we're removing the whole event and we didn't error because of an invalid callback + $(that).unbind(makeEventName(eventName)); + + delete callbackMap[eventName]; + } + } + + return that; + }, + + invoke: function (methodName) { + /// Invokes a server hub method with the given arguments. + /// The name of the server hub method. + + var that = this, + connection = that.connection, + args = $.makeArray(arguments).slice(1), + argValues = map(args, getArgValue), + data = { H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId }, + d = $.Deferred(), + callback = function (minResult) { + var result = that._maximizeHubResponse(minResult), + source, + error; + + // Update the hub state + $.extend(that.state, result.State); + + if (result.Progress) { + if (d.notifyWith) { + // Progress is only supported in jQuery 1.7+ + d.notifyWith(that, [result.Progress.Data]); + } else if(!connection._.progressjQueryVersionLogged) { + connection.log("A hub method invocation progress update was received but the version of jQuery in use (" + $.prototype.jquery + ") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications."); + connection._.progressjQueryVersionLogged = true; + } + } else if (result.Error) { + // Server hub method threw an exception, log it & reject the deferred + if (result.StackTrace) { + connection.log(result.Error + "\n" + result.StackTrace + "."); + } + + // result.ErrorData is only set if a HubException was thrown + source = result.IsHubException ? "HubException" : "Exception"; + error = signalR._.error(result.Error, source); + error.data = result.ErrorData; + + connection.log(that.hubName + "." + methodName + " failed to execute. Error: " + error.message); + d.rejectWith(that, [error]); + } else { + // Server invocation succeeded, resolve the deferred + connection.log("Invoked " + that.hubName + "." + methodName); + d.resolveWith(that, [result.Result]); + } + }; + + connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = { scope: that, method: callback }; + connection._.invocationCallbackId += 1; + + if (!$.isEmptyObject(that.state)) { + data.S = that.state; + } + + connection.log("Invoking " + that.hubName + "." + methodName); + connection.send(data); + + return d.promise(); + }, + + _maximizeHubResponse: function (minHubResponse) { + return { + State: minHubResponse.S, + Result: minHubResponse.R, + Progress: minHubResponse.P ? { + Id: minHubResponse.P.I, + Data: minHubResponse.P.D + } : null, + Id: minHubResponse.I, + IsHubException: minHubResponse.H, + Error: minHubResponse.E, + StackTrace: minHubResponse.T, + ErrorData: minHubResponse.D + }; + } + }; + + hubProxy.fn.init.prototype = hubProxy.fn; + + // hubConnection + function hubConnection(url, options) { + /// Creates a new hub connection. + /// [Optional] The hub route url, defaults to "/signalr". + /// [Optional] Settings to use when creating the hubConnection. + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }; + + $.extend(settings, options); + + if (!url || settings.useDefaultPath) { + url = (url || "") + "/signalr"; + } + return new hubConnection.fn.init(url, settings); + } + + hubConnection.fn = hubConnection.prototype = $.connection(); + + hubConnection.fn.init = function (url, options) { + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }, + connection = this; + + $.extend(settings, options); + + // Call the base constructor + $.signalR.fn.init.call(connection, url, settings.qs, settings.logging); + + // Object to store hub proxies for this connection + connection.proxies = {}; + + connection._.invocationCallbackId = 0; + connection._.invocationCallbacks = {}; + + // Wire up the received handler + connection.received(function (minData) { + var data, proxy, dataCallbackId, callback, hubName, eventName; + if (!minData) { + return; + } + + // We have to handle progress updates first in order to ensure old clients that receive + // progress updates enter the return value branch and then no-op when they can't find + // the callback in the map (because the minData.I value will not be a valid callback ID) + if (typeof (minData.P) !== "undefined") { + // Process progress notification + dataCallbackId = minData.P.I.toString(); + callback = connection._.invocationCallbacks[dataCallbackId]; + if (callback) { + callback.method.call(callback.scope, minData); + } + } else if (typeof (minData.I) !== "undefined") { + // We received the return value from a server method invocation, look up callback by id and call it + dataCallbackId = minData.I.toString(); + callback = connection._.invocationCallbacks[dataCallbackId]; + if (callback) { + // Delete the callback from the proxy + connection._.invocationCallbacks[dataCallbackId] = null; + delete connection._.invocationCallbacks[dataCallbackId]; + + // Invoke the callback + callback.method.call(callback.scope, minData); + } + } else { + data = this._maximizeClientHubInvocation(minData); + + // We received a client invocation request, i.e. broadcast from server hub + connection.log("Triggering client hub event '" + data.Method + "' on hub '" + data.Hub + "'."); + + // Normalize the names to lowercase + hubName = data.Hub.toLowerCase(); + eventName = data.Method.toLowerCase(); + + // Trigger the local invocation event + proxy = this.proxies[hubName]; + + // Update the hub state + $.extend(proxy.state, data.State); + $(proxy).triggerHandler(makeEventName(eventName), [data.Args]); + } + }); + + connection.error(function (errData, origData) { + var callbackId, callback; + + if (!origData) { + // No original data passed so this is not a send error + return; + } + + callbackId = origData.I; + callback = connection._.invocationCallbacks[callbackId]; + + // Verify that there is a callback bound (could have been cleared) + if (callback) { + // Delete the callback + connection._.invocationCallbacks[callbackId] = null; + delete connection._.invocationCallbacks[callbackId]; + + // Invoke the callback with an error to reject the promise + callback.method.call(callback.scope, { E: errData }); + } + }); + + connection.reconnecting(function () { + if (connection.transport && connection.transport.name === "webSockets") { + clearInvocationCallbacks(connection, "Connection started reconnecting before invocation result was received."); + } + }); + + connection.disconnected(function () { + clearInvocationCallbacks(connection, "Connection was disconnected before invocation result was received."); + }); + }; + + hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) { + return { + Hub: minClientHubInvocation.H, + Method: minClientHubInvocation.M, + Args: minClientHubInvocation.A, + State: minClientHubInvocation.S + }; + }; + + hubConnection.fn._registerSubscribedHubs = function () { + /// + /// Sets the starting event to loop through the known hubs and register any new hubs + /// that have been added to the proxy. + /// + var connection = this; + + if (!connection._subscribedToHubs) { + connection._subscribedToHubs = true; + connection.starting(function () { + // Set the connection's data object with all the hub proxies with active subscriptions. + // These proxies will receive notifications from the server. + var subscribedHubs = []; + + $.each(connection.proxies, function (key) { + if (this.hasSubscriptions()) { + subscribedHubs.push({ name: key }); + connection.log("Client subscribed to hub '" + key + "'."); + } + }); + + if (subscribedHubs.length === 0) { + connection.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to."); + } + + connection.data = connection.json.stringify(subscribedHubs); + }); + } + }; + + hubConnection.fn.createHubProxy = function (hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + /// + /// The name of the hub on the server to create the proxy for. + /// + + // Normalize the name to lowercase + hubName = hubName.toLowerCase(); + + var proxy = this.proxies[hubName]; + if (!proxy) { + proxy = hubProxy(this, hubName); + this.proxies[hubName] = proxy; + } + + this._registerSubscribedHubs(); + + return proxy; + }; + + hubConnection.fn.init.prototype = hubConnection.fn; + + $.hubConnection = hubConnection; + +}(window.jQuery, window)); +/* jquery.signalR.version.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// +(function ($, undefined) { + $.signalR.version = "2.2.0"; +}(window.jQuery)); diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.min.js b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.min.js new file mode 100644 index 00000000..70bbc0b0 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.SignalR.JS/2.2.0/content/Scripts/jquery.signalR-2.2.0.min.js @@ -0,0 +1,8 @@ +/*! + * ASP.NET SignalR JavaScript Library v2.2.0 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ +(function(n,t,i){function w(t,i){var u,f;if(n.isArray(t)){for(u=t.length-1;u>=0;u--)f=t[u],n.type(f)==="string"&&r.transports[f]||(i.log("Invalid transport: "+f+", removing it from the transports list."),t.splice(u,1));t.length===0&&(i.log("No transports remain within the specified transport array."),t=null)}else if(r.transports[t]||t==="auto"){if(t==="auto"&&r._.ieVersion<=8)return["longPolling"]}else i.log("Invalid transport: "+t.toString()+"."),t=null;return t}function b(n){return n==="http:"?80:n==="https:"?443:void 0}function a(n,t){return t.match(/:\d+$/)?t:t+":"+b(n)}function k(t,i){var u=this,r=[];u.tryBuffer=function(i){return t.state===n.signalR.connectionState.connecting?(r.push(i),!0):!1};u.drain=function(){if(t.state===n.signalR.connectionState.connected)while(r.length>0)i(r.shift())};u.clear=function(){r=[]}}var f={nojQuery:"jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",noTransportOnInit:"No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",errorOnNegotiate:"Error during negotiation request.",stoppedWhileLoading:"The connection was stopped during page load.",stoppedWhileNegotiating:"The connection was stopped during the negotiate request.",errorParsingNegotiateResponse:"Error parsing negotiate response.",errorDuringStartRequest:"Error during start request. Stopping the connection.",stoppedDuringStartRequest:"The connection was stopped during the start request.",errorParsingStartResponse:"Error parsing start response: '{0}'. Stopping the connection.",invalidStartResponse:"Invalid start response: '{0}'. Stopping the connection.",protocolIncompatible:"You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",sendFailed:"Send failed.",parseFailed:"Failed at parsing response: {0}",longPollFailed:"Long polling request failed.",eventSourceFailedToConnect:"EventSource failed to connect.",eventSourceError:"Error raised by EventSource",webSocketClosed:"WebSocket closed.",pingServerFailedInvalidResponse:"Invalid ping response when pinging server: '{0}'.",pingServerFailed:"Failed to ping server.",pingServerFailedStatusCode:"Failed to ping server. Server responded with status code {0}, stopping the connection.",pingServerFailedParse:"Failed to parse ping server response, stopping the connection.",noConnectionTransport:"Connection is in an invalid state, there is no transport active.",webSocketsInvalidState:"The Web Socket transport is in an invalid state, transitioning into reconnecting.",reconnectTimeout:"Couldn't reconnect within the configured timeout of {0} ms, disconnecting.",reconnectWindowTimeout:"The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection."};if(typeof n!="function")throw new Error(f.nojQuery);var r,h,s=t.document.readyState==="complete",e=n(t),c="__Negotiate Aborted__",u={onStart:"onStart",onStarting:"onStarting",onReceived:"onReceived",onError:"onError",onConnectionSlow:"onConnectionSlow",onReconnecting:"onReconnecting",onReconnect:"onReconnect",onStateChanged:"onStateChanged",onDisconnect:"onDisconnect"},v=function(n,i){if(i!==!1){var r;typeof t.console!="undefined"&&(r="["+(new Date).toTimeString()+"] SignalR: "+n,t.console.debug?t.console.debug(r):t.console.log&&t.console.log(r))}},o=function(t,i,r){return i===t.state?(t.state=r,n(t).triggerHandler(u.onStateChanged,[{oldState:i,newState:r}]),!0):!1},y=function(n){return n.state===r.connectionState.disconnected},l=function(n){return n._.keepAliveData.activated&&n.transport.supportsKeepAlive(n)},p=function(i){var f,e;i._.configuredStopReconnectingTimeout||(e=function(t){var i=r._.format(r.resources.reconnectTimeout,t.disconnectTimeout);t.log(i);n(t).triggerHandler(u.onError,[r._.error(i,"TimeoutException")]);t.stop(!1,!1)},i.reconnecting(function(){var n=this;n.state===r.connectionState.reconnecting&&(f=t.setTimeout(function(){e(n)},n.disconnectTimeout))}),i.stateChanged(function(n){n.oldState===r.connectionState.reconnecting&&t.clearTimeout(f)}),i._.configuredStopReconnectingTimeout=!0)};r=function(n,t,i){return new r.fn.init(n,t,i)};r._={defaultContentType:"application/x-www-form-urlencoded; charset=UTF-8",ieVersion:function(){var i,n;return t.navigator.appName==="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent),n&&(i=t.parseFloat(n[1]))),i}(),error:function(n,t,i){var r=new Error(n);return r.source=t,typeof i!="undefined"&&(r.context=i),r},transportError:function(n,t,r,u){var f=this.error(n,r,u);return f.transport=t?t.name:i,f},format:function(){for(var t=arguments[0],n=0;n<\/script>.");}};e.load(function(){s=!0});r.fn=r.prototype={init:function(t,i,r){var f=n(this);this.url=t;this.qs=i;this.lastError=null;this._={keepAliveData:{},connectingMessageBuffer:new k(this,function(n){f.triggerHandler(u.onReceived,[n])}),lastMessageAt:(new Date).getTime(),lastActiveAt:(new Date).getTime(),beatInterval:5e3,beatHandle:null,totalTransportConnectTimeout:0};typeof r=="boolean"&&(this.logging=r)},_parseResponse:function(n){var t=this;return n?typeof n=="string"?t.json.parse(n):n:n},_originalJson:t.JSON,json:t.JSON,isCrossDomain:function(i,r){var u;return(i=n.trim(i),r=r||t.location,i.indexOf("http")!==0)?!1:(u=t.document.createElement("a"),u.href=i,u.protocol+a(u.protocol,u.host)!==r.protocol+a(r.protocol,r.host))},ajaxDataType:"text",contentType:"application/json; charset=UTF-8",logging:!1,state:r.connectionState.disconnected,clientProtocol:"1.5",reconnectDelay:2e3,transportConnectTimeout:0,disconnectTimeout:3e4,reconnectWindow:3e4,keepAliveWarnAt:2/3,start:function(i,h){var a=this,v={pingInterval:3e5,waitForPageLoad:!0,transport:"auto",jsonp:!1},d,y=a._deferral||n.Deferred(),b=t.document.createElement("a"),k,g;if(a.lastError=null,a._deferral=y,!a.json)throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");if(n.type(i)==="function"?h=i:n.type(i)==="object"&&(n.extend(v,i),n.type(v.callback)==="function"&&(h=v.callback)),v.transport=w(v.transport,a),!v.transport)throw new Error("SignalR: Invalid transport(s) specified, aborting start.");return(a._.config=v,!s&&v.waitForPageLoad===!0)?(a._.deferredStartHandler=function(){a.start(i,h)},e.bind("load",a._.deferredStartHandler),y.promise()):a.state===r.connectionState.connecting?y.promise():o(a,r.connectionState.disconnected,r.connectionState.connecting)===!1?(y.resolve(a),y.promise()):(p(a),b.href=a.url,b.protocol&&b.protocol!==":"?(a.protocol=b.protocol,a.host=b.host):(a.protocol=t.document.location.protocol,a.host=b.host||t.document.location.host),a.baseUrl=a.protocol+"//"+a.host,a.wsProtocol=a.protocol==="https:"?"wss://":"ws://",v.transport==="auto"&&v.jsonp===!0&&(v.transport="longPolling"),a.url.indexOf("//")===0&&(a.url=t.location.protocol+a.url,a.log("Protocol relative URL detected, normalizing it to '"+a.url+"'.")),this.isCrossDomain(a.url)&&(a.log("Auto detected cross domain url."),v.transport==="auto"&&(v.transport=["webSockets","serverSentEvents","longPolling"]),typeof v.withCredentials=="undefined"&&(v.withCredentials=!0),v.jsonp||(v.jsonp=!n.support.cors,v.jsonp&&a.log("Using jsonp because this browser doesn't support CORS.")),a.contentType=r._.defaultContentType),a.withCredentials=v.withCredentials,a.ajaxDataType=v.jsonp?"jsonp":"text",n(a).bind(u.onStart,function(){n.type(h)==="function"&&h.call(a);y.resolve(a)}),a._.initHandler=r.transports._logic.initHandler(a),d=function(i,s){var c=r._.error(f.noTransportOnInit);if(s=s||0,s>=i.length){s===0?a.log("No transports supported by the server were selected."):s===1?a.log("No fallback transports were selected."):a.log("Fallback transports exhausted.");n(a).triggerHandler(u.onError,[c]);y.reject(c);a.stop();return}if(a.state!==r.connectionState.disconnected){var p=i[s],h=r.transports[p],v=function(){d(i,s+1)};a.transport=h;try{a._.initHandler.start(h,function(){var i=r._.firefoxMajorVersion(t.navigator.userAgent)>=11,f=!!a.withCredentials&&i;a.log("The start request succeeded. Transitioning to the connected state.");l(a)&&r.transports._logic.monitorKeepAlive(a);r.transports._logic.startHeartbeat(a);r._.configurePingInterval(a);o(a,r.connectionState.connecting,r.connectionState.connected)||a.log("WARNING! The connection was not in the connecting state.");a._.connectingMessageBuffer.drain();n(a).triggerHandler(u.onStart);e.bind("unload",function(){a.log("Window unloading, stopping the connection.");a.stop(f)});i&&e.bind("beforeunload",function(){t.setTimeout(function(){a.stop(f)},0)})},v)}catch(w){a.log(h.name+" transport threw '"+w.message+"' when attempting to start.");v()}}},k=a.url+"/negotiate",g=function(t,i){var e=r._.error(f.errorOnNegotiate,t,i._.negotiateRequest);n(i).triggerHandler(u.onError,e);y.reject(e);i.stop()},n(a).triggerHandler(u.onStarting),k=r.transports._logic.prepareQueryString(a,k),a.log("Negotiating with '"+k+"'."),a._.negotiateRequest=r.transports._logic.ajax(a,{url:k,error:function(n,t){t!==c?g(n,a):y.reject(r._.error(f.stoppedWhileNegotiating,null,a._.negotiateRequest))},success:function(t){var i,e,h,o=[],s=[];try{i=a._parseResponse(t)}catch(c){g(r._.error(f.errorParsingNegotiateResponse,c),a);return}if(e=a._.keepAliveData,a.appRelativeUrl=i.Url,a.id=i.ConnectionId,a.token=i.ConnectionToken,a.webSocketServerUrl=i.WebSocketServerUrl,a._.pollTimeout=i.ConnectionTimeout*1e3+1e4,a.disconnectTimeout=i.DisconnectTimeout*1e3,a._.totalTransportConnectTimeout=a.transportConnectTimeout+i.TransportConnectTimeout*1e3,i.KeepAliveTimeout?(e.activated=!0,e.timeout=i.KeepAliveTimeout*1e3,e.timeoutWarning=e.timeout*a.keepAliveWarnAt,a._.beatInterval=(e.timeout-e.timeoutWarning)/3):e.activated=!1,a.reconnectWindow=a.disconnectTimeout+(e.timeout||0),!i.ProtocolVersion||i.ProtocolVersion!==a.clientProtocol){h=r._.error(r._.format(f.protocolIncompatible,a.clientProtocol,i.ProtocolVersion));n(a).triggerHandler(u.onError,[h]);y.reject(h);return}n.each(r.transports,function(n){if(n.indexOf("_")===0||n==="webSockets"&&!i.TryWebSockets)return!0;s.push(n)});n.isArray(v.transport)?n.each(v.transport,function(t,i){n.inArray(i,s)>=0&&o.push(i)}):v.transport==="auto"?o=s:n.inArray(v.transport,s)>=0&&o.push(v.transport);d(o)}}),y.promise())},starting:function(t){var i=this;return n(i).bind(u.onStarting,function(){t.call(i)}),i},send:function(n){var t=this;if(t.state===r.connectionState.disconnected)throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");if(t.state===r.connectionState.connecting)throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");return t.transport.send(t,n),t},received:function(t){var i=this;return n(i).bind(u.onReceived,function(n,r){t.call(i,r)}),i},stateChanged:function(t){var i=this;return n(i).bind(u.onStateChanged,function(n,r){t.call(i,r)}),i},error:function(t){var i=this;return n(i).bind(u.onError,function(n,r,u){i.lastError=r;t.call(i,r,u)}),i},disconnected:function(t){var i=this;return n(i).bind(u.onDisconnect,function(){t.call(i)}),i},connectionSlow:function(t){var i=this;return n(i).bind(u.onConnectionSlow,function(){t.call(i)}),i},reconnecting:function(t){var i=this;return n(i).bind(u.onReconnecting,function(){t.call(i)}),i},reconnected:function(t){var i=this;return n(i).bind(u.onReconnect,function(){t.call(i)}),i},stop:function(i,h){var a=this,v=a._deferral;if(a._.deferredStartHandler&&e.unbind("load",a._.deferredStartHandler),delete a._.config,delete a._.deferredStartHandler,!s&&(!a._.config||a._.config.waitForPageLoad===!0)){a.log("Stopping connection prior to negotiate.");v&&v.reject(r._.error(f.stoppedWhileLoading));return}if(a.state!==r.connectionState.disconnected)return a.log("Stopping connection."),o(a,a.state,r.connectionState.disconnected),t.clearTimeout(a._.beatHandle),t.clearInterval(a._.pingIntervalId),a.transport&&(a.transport.stop(a),h!==!1&&a.transport.abort(a,i),l(a)&&r.transports._logic.stopMonitoringKeepAlive(a),a.transport=null),a._.negotiateRequest&&(a._.negotiateRequest.abort(c),delete a._.negotiateRequest),a._.initHandler&&a._.initHandler.stop(),n(a).triggerHandler(u.onDisconnect),delete a._deferral,delete a.messageId,delete a.groupsToken,delete a.id,delete a._.pingIntervalId,delete a._.lastMessageAt,delete a._.lastActiveAt,a._.connectingMessageBuffer.clear(),a},log:function(n){v(n,this.logging)}};r.fn.init.prototype=r.fn;r.noConflict=function(){return n.connection===r&&(n.connection=h),r};n.connection&&(h=n.connection);n.connection=n.signalR=r})(window.jQuery,window),function(n,t,i){function s(n){n._.keepAliveData.monitoring&&l(n);u.markActive(n)&&(n._.beatHandle=t.setTimeout(function(){s(n)},n._.beatInterval))}function l(t){var i=t._.keepAliveData,u;t.state===r.connectionState.connected&&(u=(new Date).getTime()-t._.lastMessageAt,u>=i.timeout?(t.log("Keep alive timed out. Notifying transport that connection has been lost."),t.transport.lostConnection(t)):u>=i.timeoutWarning?i.userNotified||(t.log("Keep alive has been missed, connection may be dead/slow."),n(t).triggerHandler(f.onConnectionSlow),i.userNotified=!0):i.userNotified=!1)}function e(n,t){var i=n.url+t;return n.transport&&(i+="?transport="+n.transport.name),u.prepareQueryString(n,i)}function h(n){this.connection=n;this.startRequested=!1;this.startCompleted=!1;this.connectionStopped=!1}var r=n.signalR,f=n.signalR.events,c=n.signalR.changeState,o="__Start Aborted__",u;r.transports={};h.prototype={start:function(n,r,u){var f=this,e=f.connection,o=!1;if(f.startRequested||f.connectionStopped){e.log("WARNING! "+n.name+" transport cannot be started. Initialization ongoing or completed.");return}e.log(n.name+" transport starting.");f.transportTimeoutHandle=t.setTimeout(function(){o||(o=!0,e.log(n.name+" transport timed out when trying to connect."),f.transportFailed(n,i,u))},e._.totalTransportConnectTimeout);n.start(e,function(){o||f.initReceived(n,r)},function(t){return o||(o=!0,f.transportFailed(n,t,u)),!f.startCompleted||f.connectionStopped})},stop:function(){this.connectionStopped=!0;t.clearTimeout(this.transportTimeoutHandle);r.transports._logic.tryAbortStartRequest(this.connection)},initReceived:function(n,i){var u=this,f=u.connection;if(u.startRequested){f.log("WARNING! The client received multiple init messages.");return}u.connectionStopped||(u.startRequested=!0,t.clearTimeout(u.transportTimeoutHandle),f.log(n.name+" transport connected. Initiating start request."),r.transports._logic.ajaxStart(f,function(){u.startCompleted=!0;i()}))},transportFailed:function(i,u,e){var o=this.connection,h=o._deferral,s;this.connectionStopped||(t.clearTimeout(this.transportTimeoutHandle),this.startRequested?this.startCompleted||(s=r._.error(r.resources.errorDuringStartRequest,u),o.log(i.name+" transport failed during the start request. Stopping the connection."),n(o).triggerHandler(f.onError,[s]),h&&h.reject(s),o.stop()):(i.stop(o),o.log(i.name+" transport failed to connect. Attempting to fall back."),e()))}};u=r.transports._logic={ajax:function(t,i){return n.ajax(n.extend(!0,{},n.signalR.ajaxDefaults,{type:"GET",data:{},xhrFields:{withCredentials:t.withCredentials},contentType:t.contentType,dataType:t.ajaxDataType},i))},pingServer:function(t){var e,f,i=n.Deferred();return t.transport?(e=t.url+"/ping",e=u.addQs(e,t.qs),f=u.ajax(t,{url:e,success:function(n){var u;try{u=t._parseResponse(n)}catch(e){i.reject(r._.transportError(r.resources.pingServerFailedParse,t.transport,e,f));t.stop();return}u.Response==="pong"?i.resolve():i.reject(r._.transportError(r._.format(r.resources.pingServerFailedInvalidResponse,n),t.transport,null,f))},error:function(n){n.status===401||n.status===403?(i.reject(r._.transportError(r._.format(r.resources.pingServerFailedStatusCode,n.status),t.transport,n,f)),t.stop()):i.reject(r._.transportError(r.resources.pingServerFailed,t.transport,n,f))}})):i.reject(r._.transportError(r.resources.noConnectionTransport,t.transport)),i.promise()},prepareQueryString:function(n,i){var r;return r=u.addQs(i,"clientProtocol="+n.clientProtocol),r=u.addQs(r,n.qs),n.token&&(r+="&connectionToken="+t.encodeURIComponent(n.token)),n.data&&(r+="&connectionData="+t.encodeURIComponent(n.data)),r},addQs:function(t,i){var r=t.indexOf("?")!==-1?"&":"?",u;if(!i)return t;if(typeof i=="object")return t+r+n.param(i);if(typeof i=="string")return u=i.charAt(0),(u==="?"||u==="&")&&(r=""),t+r+i;throw new Error("Query string property must be either a string or object.");},getUrl:function(n,i,r,f,e){var h=i==="webSockets"?"":n.baseUrl,o=h+n.appRelativeUrl,s="transport="+i;return!e&&n.groupsToken&&(s+="&groupsToken="+t.encodeURIComponent(n.groupsToken)),r?(o+=f?"/poll":"/reconnect",!e&&n.messageId&&(s+="&messageId="+t.encodeURIComponent(n.messageId))):o+="/connect",o+="?"+s,o=u.prepareQueryString(n,o),e||(o+="&tid="+Math.floor(Math.random()*11)),o},maximizePersistentResponse:function(n){return{MessageId:n.C,Messages:n.M,Initialized:typeof n.S!="undefined"?!0:!1,ShouldReconnect:typeof n.T!="undefined"?!0:!1,LongPollDelay:n.L,GroupsToken:n.G}},updateGroups:function(n,t){t&&(n.groupsToken=t)},stringifySend:function(n,t){return typeof t=="string"||typeof t=="undefined"||t===null?t:n.json.stringify(t)},ajaxSend:function(t,i){var h=u.stringifySend(t,i),c=e(t,"/send"),o,s=function(t,u){n(u).triggerHandler(f.onError,[r._.transportError(r.resources.sendFailed,u.transport,t,o),i])};return o=u.ajax(t,{url:c,type:t.ajaxDataType==="jsonp"?"GET":"POST",contentType:r._.defaultContentType,data:{data:h},success:function(n){var i;if(n){try{i=t._parseResponse(n)}catch(r){s(r,t);t.stop();return}u.triggerReceived(t,i)}},error:function(n,i){i!=="abort"&&i!=="parsererror"&&s(n,t)}})},ajaxAbort:function(n,t){if(typeof n.transport!="undefined"){t=typeof t=="undefined"?!0:t;var i=e(n,"/abort");u.ajax(n,{url:i,async:t,timeout:1e3,type:"POST"});n.log("Fired ajax abort async = "+t+".")}},ajaxStart:function(t,i){var h=function(n){var i=t._deferral;i&&i.reject(n)},s=function(i){t.log("The start request failed. Stopping the connection.");n(t).triggerHandler(f.onError,[i]);h(i);t.stop()};t._.startRequest=u.ajax(t,{url:e(t,"/start"),success:function(n,u,f){var e;try{e=t._parseResponse(n)}catch(o){s(r._.error(r._.format(r.resources.errorParsingStartResponse,n),o,f));return}e.Response==="started"?i():s(r._.error(r._.format(r.resources.invalidStartResponse,n),null,f))},error:function(n,i,u){i!==o?s(r._.error(r.resources.errorDuringStartRequest,u,n)):(t.log("The start request aborted because connection.stop() was called."),h(r._.error(r.resources.stoppedDuringStartRequest,null,n)))}})},tryAbortStartRequest:function(n){n._.startRequest&&(n._.startRequest.abort(o),delete n._.startRequest)},tryInitialize:function(n,t){n.Initialized&&t()},triggerReceived:function(t,i){t._.connectingMessageBuffer.tryBuffer(i)||n(t).triggerHandler(f.onReceived,[i])},processMessages:function(t,i,r){var f;u.markLastMessage(t);i&&(f=u.maximizePersistentResponse(i),u.updateGroups(t,f.GroupsToken),f.MessageId&&(t.messageId=f.MessageId),f.Messages&&(n.each(f.Messages,function(n,i){u.triggerReceived(t,i)}),u.tryInitialize(f,r)))},monitorKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring?t.log("Tried to monitor keep alive but it's already being monitored."):(i.monitoring=!0,u.markLastMessage(t),t._.keepAliveData.reconnectKeepAliveUpdate=function(){u.markLastMessage(t)},n(t).bind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t.log("Now monitoring keep alive with a warning timeout of "+i.timeoutWarning+", keep alive timeout of "+i.timeout+" and disconnecting timeout of "+t.disconnectTimeout))},stopMonitoringKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring&&(i.monitoring=!1,n(t).unbind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t._.keepAliveData={},t.log("Stopping the monitoring of the keep alive."))},startHeartbeat:function(n){n._.lastActiveAt=(new Date).getTime();s(n)},markLastMessage:function(n){n._.lastMessageAt=(new Date).getTime()},markActive:function(n){return u.verifyLastActive(n)?(n._.lastActiveAt=(new Date).getTime(),!0):!1},isConnectedOrReconnecting:function(n){return n.state===r.connectionState.connected||n.state===r.connectionState.reconnecting},ensureReconnectingState:function(t){return c(t,r.connectionState.connected,r.connectionState.reconnecting)===!0&&n(t).triggerHandler(f.onReconnecting),t.state===r.connectionState.reconnecting},clearReconnectTimeout:function(n){n&&n._.reconnectTimeout&&(t.clearTimeout(n._.reconnectTimeout),delete n._.reconnectTimeout)},verifyLastActive:function(t){if((new Date).getTime()-t._.lastActiveAt>=t.reconnectWindow){var i=r._.format(r.resources.reconnectWindowTimeout,new Date(t._.lastActiveAt),t.reconnectWindow);return t.log(i),n(t).triggerHandler(f.onError,[r._.error(i,"TimeoutException")]),t.stop(!1,!1),!1}return!0},reconnect:function(n,i){var f=r.transports[i];if(u.isConnectedOrReconnecting(n)&&!n._.reconnectTimeout){if(!u.verifyLastActive(n))return;n._.reconnectTimeout=t.setTimeout(function(){u.verifyLastActive(n)&&(f.stop(n),u.ensureReconnectingState(n)&&(n.log(i+" reconnecting."),f.start(n)))},n.reconnectDelay)}},handleParseFailure:function(t,i,u,e,o){var s=r._.transportError(r._.format(r.resources.parseFailed,i),t.transport,u,o);e&&e(s)?t.log("Failed to parse server response while attempting to connect."):(n(t).triggerHandler(f.onError,[s]),t.stop())},initHandler:function(n){return new h(n)},foreverFrame:{count:0,connections:{}}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,f=n.signalR.changeState,i=r.transports._logic;r.transports.webSockets={name:"webSockets",supportsKeepAlive:function(){return!0},send:function(t,f){var e=i.stringifySend(t,f);try{t.socket.send(e)}catch(o){n(t).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketsInvalidState,t.transport,o,t.socket),f])}},start:function(e,o,s){var h,c=!1,l=this,a=!o,v=n(e);if(!t.WebSocket){s();return}e.socket||(h=e.webSocketServerUrl?e.webSocketServerUrl:e.wsProtocol+e.host,h+=i.getUrl(e,this.name,a),e.log("Connecting to websocket endpoint '"+h+"'."),e.socket=new t.WebSocket(h),e.socket.onopen=function(){c=!0;e.log("Websocket opened.");i.clearReconnectTimeout(e);f(e,r.connectionState.reconnecting,r.connectionState.connected)===!0&&v.triggerHandler(u.onReconnect)},e.socket.onclose=function(t){var i;this===e.socket&&(c&&typeof t.wasClean!="undefined"&&t.wasClean===!1?(i=r._.transportError(r.resources.webSocketClosed,e.transport,t),e.log("Unclean disconnect from websocket: "+(t.reason||"[no reason given]."))):e.log("Websocket closed."),s&&s(i)||(i&&n(e).triggerHandler(u.onError,[i]),l.reconnect(e)))},e.socket.onmessage=function(t){var r;try{r=e._parseResponse(t.data)}catch(u){i.handleParseFailure(e,t.data,u,s,t);return}r&&(n.isEmptyObject(r)||r.M?i.processMessages(e,r,o):i.triggerReceived(e,r))})},reconnect:function(n){i.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},stop:function(n){i.clearReconnectTimeout(n);n.socket&&(n.log("Closing the Websocket."),n.socket.close(),n.socket=null)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,r=i.transports._logic,f=function(n){t.clearTimeout(n._.reconnectAttemptTimeoutHandle);delete n._.reconnectAttemptTimeoutHandle};i.transports.serverSentEvents={name:"serverSentEvents",supportsKeepAlive:function(){return!0},timeOut:3e3,start:function(o,s,h){var c=this,l=!1,a=n(o),v=!s,y;if(o.eventSource&&(o.log("The connection already has an event source. Stopping it."),o.stop()),!t.EventSource){h&&(o.log("This browser doesn't support SSE."),h());return}y=r.getUrl(o,this.name,v);try{o.log("Attempting to connect to SSE endpoint '"+y+"'.");o.eventSource=new t.EventSource(y,{withCredentials:o.withCredentials})}catch(p){o.log("EventSource failed trying to connect with error "+p.Message+".");h?h():(a.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceFailedToConnect,o.transport,p)]),v&&c.reconnect(o));return}v&&(o._.reconnectAttemptTimeoutHandle=t.setTimeout(function(){l===!1&&o.eventSource.readyState!==t.EventSource.OPEN&&c.reconnect(o)},c.timeOut));o.eventSource.addEventListener("open",function(){o.log("EventSource connected.");f(o);r.clearReconnectTimeout(o);l===!1&&(l=!0,e(o,i.connectionState.reconnecting,i.connectionState.connected)===!0&&a.triggerHandler(u.onReconnect))},!1);o.eventSource.addEventListener("message",function(n){var t;if(n.data!=="initialized"){try{t=o._parseResponse(n.data)}catch(i){r.handleParseFailure(o,n.data,i,h,n);return}r.processMessages(o,t,s)}},!1);o.eventSource.addEventListener("error",function(n){var r=i._.transportError(i.resources.eventSourceError,o.transport,n);this===o.eventSource&&(h&&h(r)||(o.log("EventSource readyState: "+o.eventSource.readyState+"."),n.eventPhase===t.EventSource.CLOSED?(o.log("EventSource reconnecting due to the server connection ending."),c.reconnect(o)):(o.log("EventSource error."),a.triggerHandler(u.onError,[r]))))},!1)},reconnect:function(n){r.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){f(n);r.clearReconnectTimeout(n);n&&n.eventSource&&(n.log("EventSource calling close()."),n.eventSource.close(),n.eventSource=null,delete n.eventSource)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var r=n.signalR,e=n.signalR.events,o=n.signalR.changeState,i=r.transports._logic,u=function(){var n=t.document.createElement("iframe");return n.setAttribute("style","position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"),n},f=function(){var i=null,f=1e3,n=0;return{prevent:function(){r._.ieVersion<=8&&(n===0&&(i=t.setInterval(function(){var n=u();t.document.body.appendChild(n);t.document.body.removeChild(n);n=null},f)),n++)},cancel:function(){n===1&&t.clearInterval(i);n>0&&n--}}}();r.transports.foreverFrame={name:"foreverFrame",supportsKeepAlive:function(){return!0},iframeClearThreshold:50,start:function(n,r,e){var l=this,s=i.foreverFrame.count+=1,h,o=u(),c=function(){n.log("Forever frame iframe finished loading and is no longer receiving messages.");e&&e()||l.reconnect(n)};if(t.EventSource){e&&(n.log("Forever Frame is not supported by SignalR on browsers with SSE support."),e());return}o.setAttribute("data-signalr-connection-id",n.id);f.prevent();h=i.getUrl(n,this.name);h+="&frameId="+s;t.document.documentElement.appendChild(o);n.log("Binding to iframe's load event.");o.addEventListener?o.addEventListener("load",c,!1):o.attachEvent&&o.attachEvent("onload",c);o.src=h;i.foreverFrame.connections[s]=n;n.frame=o;n.frameId=s;r&&(n.onSuccess=function(){n.log("Iframe transport started.");r()})},reconnect:function(n){var r=this;i.isConnectedOrReconnecting(n)&&i.verifyLastActive(n)&&t.setTimeout(function(){if(i.verifyLastActive(n)&&n.frame&&i.ensureReconnectingState(n)){var u=n.frame,t=i.getUrl(n,r.name,!0)+"&frameId="+n.frameId;n.log("Updating iframe src to '"+t+"'.");u.src=t}},n.reconnectDelay)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){i.ajaxSend(n,t)},receive:function(t,u){var f,e,o;if(t.json!==t._originalJson&&(u=t._originalJson.stringify(u)),o=t._parseResponse(u),i.processMessages(t,o,t.onSuccess),t.state===n.signalR.connectionState.connected&&(t.frameMessageCount=(t.frameMessageCount||0)+1,t.frameMessageCount>r.transports.foreverFrame.iframeClearThreshold&&(t.frameMessageCount=0,f=t.frame.contentWindow||t.frame.contentDocument,f&&f.document&&f.document.body)))for(e=f.document.body;e.firstChild;)e.removeChild(e.firstChild)},stop:function(n){var r=null;if(f.cancel(),n.frame){if(n.frame.stop)n.frame.stop();else try{r=n.frame.contentWindow||n.frame.contentDocument;r.document&&r.document.execCommand&&r.document.execCommand("Stop")}catch(u){n.log("Error occured when stopping foreverFrame transport. Message = "+u.message+".")}n.frame.parentNode===t.document.body&&t.document.body.removeChild(n.frame);delete i.foreverFrame.connections[n.frameId];n.frame=null;n.frameId=null;delete n.frame;delete n.frameId;delete n.onSuccess;delete n.frameMessageCount;n.log("Stopping forever frame.")}},abort:function(n,t){i.ajaxAbort(n,t)},getConnection:function(n){return i.foreverFrame.connections[n]},started:function(t){o(t,r.connectionState.reconnecting,r.connectionState.connected)===!0&&n(t).triggerHandler(e.onReconnect)}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,e=n.signalR.changeState,f=n.signalR.isDisconnecting,i=r.transports._logic;r.transports.longPolling={name:"longPolling",supportsKeepAlive:function(){return!1},reconnectDelay:3e3,start:function(o,s,h){var a=this,v=function(){v=n.noop;o.log("LongPolling connected.");s()},y=function(n){return h(n)?(o.log("LongPolling failed to connect."),!0):!1},c=o._,l=0,p=function(i){t.clearTimeout(c.reconnectTimeoutId);c.reconnectTimeoutId=null;e(i,r.connectionState.reconnecting,r.connectionState.connected)===!0&&(i.log("Raising the reconnect event"),n(i).triggerHandler(u.onReconnect))},w=36e5;o.pollXhr&&(o.log("Polling xhr requests already exists, aborting."),o.stop());o.messageId=null;c.reconnectTimeoutId=null;c.pollTimeoutId=t.setTimeout(function(){(function e(s,h){var g=s.messageId,nt=g===null,k=!nt,tt=!h,d=i.getUrl(s,a.name,k,tt,!0),b={};(s.messageId&&(b.messageId=s.messageId),s.groupsToken&&(b.groupsToken=s.groupsToken),f(s)!==!0)&&(o.log("Opening long polling request to '"+d+"'."),s.pollXhr=i.ajax(o,{xhrFields:{onprogress:function(){i.markLastMessage(o)}},url:d,type:"POST",contentType:r._.defaultContentType,data:b,timeout:o._.pollTimeout,success:function(r){var h,w=0,u,a;o.log("Long poll complete.");l=0;try{h=o._parseResponse(r)}catch(b){i.handleParseFailure(s,r,b,y,s.pollXhr);return}(c.reconnectTimeoutId!==null&&p(s),h&&(u=i.maximizePersistentResponse(h)),i.processMessages(s,h,v),u&&n.type(u.LongPollDelay)==="number"&&(w=u.LongPollDelay),f(s)!==!0)&&(a=u&&u.ShouldReconnect,!a||i.ensureReconnectingState(s))&&(w>0?c.pollTimeoutId=t.setTimeout(function(){e(s,a)},w):e(s,a))},error:function(f,h){var v=r._.transportError(r.resources.longPollFailed,o.transport,f,s.pollXhr);if(t.clearTimeout(c.reconnectTimeoutId),c.reconnectTimeoutId=null,h==="abort"){o.log("Aborted xhr request.");return}if(!y(v)){if(l++,o.state!==r.connectionState.reconnecting&&(o.log("An error occurred using longPolling. Status = "+h+". Response = "+f.responseText+"."),n(s).triggerHandler(u.onError,[v])),(o.state===r.connectionState.connected||o.state===r.connectionState.reconnecting)&&!i.verifyLastActive(o))return;if(!i.ensureReconnectingState(s))return;c.pollTimeoutId=t.setTimeout(function(){e(s,!0)},a.reconnectDelay)}}}),k&&h===!0&&(c.reconnectTimeoutId=t.setTimeout(function(){p(s)},Math.min(1e3*(Math.pow(2,l)-1),w))))})(o)},250)},lostConnection:function(n){n.pollXhr&&n.pollXhr.abort("lostConnection")},send:function(n,t){i.ajaxSend(n,t)},stop:function(n){t.clearTimeout(n._.pollTimeoutId);t.clearTimeout(n._.reconnectTimeoutId);delete n._.pollTimeoutId;delete n._.reconnectTimeoutId;n.pollXhr&&(n.pollXhr.abort(),n.pollXhr=null,delete n.pollXhr)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n){function r(n){return n+e}function s(n,t,i){for(var f=n.length,u=[],r=0;r + + + Microsoft.AspNet.SignalR.Owin + 1.2.2 + Microsoft ASP.NET SignalR OWIN + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/signalr_rtw.htm + http://www.asp.net/signalr + OWIN componenets for ASP.NET SignalR. + OWIN componenets for ASP.NET SignalR. + © Microsoft Corporation. All rights reserved. + en-US + Microsoft AspNet SignalR AspNetSignalR Owin + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net40/Microsoft.AspNet.SignalR.Owin.dll b/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net40/Microsoft.AspNet.SignalR.Owin.dll new file mode 100644 index 00000000..b80aeb4a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net40/Microsoft.AspNet.SignalR.Owin.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net45/Microsoft.AspNet.SignalR.Owin.dll b/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net45/Microsoft.AspNet.SignalR.Owin.dll new file mode 100644 index 00000000..a266b4cf Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.SignalR.Owin/1.2.2/lib/net45/Microsoft.AspNet.SignalR.Owin.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/Microsoft.AspNet.StaticFiles.nuspec b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/Microsoft.AspNet.StaticFiles.nuspec new file mode 100644 index 00000000..57b050f0 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/Microsoft.AspNet.StaticFiles.nuspec @@ -0,0 +1,37 @@ + + + + Microsoft.AspNet.StaticFiles + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 static files middleware. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.StaticFiles.dll b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.StaticFiles.dll new file mode 100644 index 00000000..85ac5ade Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.StaticFiles.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.StaticFiles.dll b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.StaticFiles.dll new file mode 100644 index 00000000..adca044f Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.StaticFiles.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/Microsoft.AspNet.Tooling.Razor.nuspec b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/Microsoft.AspNet.Tooling.Razor.nuspec new file mode 100644 index 00000000..d41e492b --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/Microsoft.AspNet.Tooling.Razor.nuspec @@ -0,0 +1,33 @@ + + + + Microsoft.AspNet.Tooling.Razor + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.AspNet.Tooling.Razor + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/project.json b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/project.json new file mode 100644 index 00000000..3b00af07 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/project.json @@ -0,0 +1 @@ +{"version":"1.0.0-*","compilationOptions":{"warningsAsErrors":true,"keyFile":"../../tools/Key.snk"},"dependencies":{"Microsoft.AspNet.Tooling.Razor":"1.0.0-rc1-final"},"frameworks":{"net451":{"dependencies":{}},"dotnet5.4":{"dependencies":{"System.Runtime":"4.0.21-beta-*","System.Console":"4.0.0-beta-*"}}},"commands":{"razor-tooling":"Microsoft.AspNet.Tooling.Razor"},"entryPoint":"Microsoft.AspNet.Tooling.Razor","loadable":false} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling new file mode 100644 index 00000000..cc0f8e7b --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling @@ -0,0 +1 @@ +dnx --appbase "$(dirname $0)" Microsoft.Dnx.ApplicationHost razor-tooling $@ \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling.cmd b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling.cmd new file mode 100644 index 00000000..e42de4ef --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/app/razor-tooling.cmd @@ -0,0 +1 @@ +@dnx --appbase "%~dp0." Microsoft.Dnx.ApplicationHost razor-tooling %* \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Tooling.Razor.dll b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Tooling.Razor.dll new file mode 100644 index 00000000..b97f025a Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.Tooling.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Tooling.Razor.dll b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Tooling.Razor.dll new file mode 100644 index 00000000..393065f6 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.Tooling.Razor.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/Microsoft.AspNet.Web.Optimization.nuspec b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/Microsoft.AspNet.Web.Optimization.nuspec new file mode 100644 index 00000000..c1741f29 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/Microsoft.AspNet.Web.Optimization.nuspec @@ -0,0 +1,20 @@ + + + + Microsoft.AspNet.Web.Optimization + 1.1.3 + Microsoft ASP.NET Web Optimization Framework + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm + ASP.NET Optimization introduces a way to bundle and optimize CSS and JavaScript files. + ASP.NET Optimization introduces a way to bundle and optimize CSS and JavaScript files. + © Microsoft Corporation. All rights reserved. + Microsoft AspNet optimization bundling minification + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/System.Web.Optimization.dll b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/System.Web.Optimization.dll new file mode 100644 index 00000000..393d4165 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/System.Web.Optimization.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/system.web.optimization.xml b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/system.web.optimization.xml new file mode 100644 index 00000000..11a9f0c4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.Web.Optimization/1.1.3/lib/net40/system.web.optimization.xml @@ -0,0 +1,666 @@ + + + + System.Web.Optimization + + + + Represents a list of file references to be bundled together as a single resource. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The virtual path used to reference the from within a view or Web page. + + + Initializes a new instance of the class. + The virtual path used to reference the from within a view or Web page. + An alternate url for the bundle when it is stored in a content delivery network. + + + Initializes a new instance of the class. + The virtual path used to reference the from within a view or Web page. + An alternate url for the bundle when it is stored in a content delivery network. + A list of objects which process the contents of the bundle in the order which they are added. + + + Initializes a new instance of the class. + The virtual path used to reference the from within a view or Web page. + A list of objects which process the contents of the bundle in the order which they are added. + + + + Builds the bundle content from the individual files included in the object. + The object used to build the bundle content. + + + Overrides this to implement own caching logic. + A bundle response. + The bundle context. + + + Script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable. + The script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable. + + + Gets or sets an alternate url for the bundle when it is stored in a content delivery network. + An alternate url for the bundle when it is stored in a content delivery network. + + + The token inserted between bundled files to ensure that the final bundle content is valid. + By default, if is not specified, the Web optimization framework inserts a new line. + + + Specifies whether to use the . + true if the is used; otherwise, false. + + + Generates an enumeration of objects that represent the contents of the bundle. + An enumeration of objects that represent the contents of the bundle. + The object that contains state for both the framework configuration and the HTTP request. + + + Processes the bundle request to generate the response. + A object containing the processed bundle contents. + The object that contains state for both the framework configuration and the HTTP request. + + + + + Specifies a set of files to be included in the . + The object itself for use in subsequent method chaining. + The virtual path of the file or file pattern to be included in the bundle. + + + Includes all files in a directory that match a search pattern. + The object itself for use in subsequent method chaining. + The virtual path to the directory from which to search for files. + The search pattern to use in selecting files to add to the bundle. + + + Includes all files in a directory that match a search pattern. + The object itself for use in subsequent method chaining. + The virtual path to the directory from which to search for files. + The search pattern to use in selecting files to add to the bundle. + Specifies whether to recursively search subdirectories of . + + + Determines the order of files in a bundle. + The order of files in a bundle. + + + Virtual path used to reference the from within a view or Web page. + The virtual path. + + + Transforms the contents of a bundle. + The list of transforms for the bundle. + + + + Contains and manages the set of registered objects in an ASP.NET application. + + + Initializes a new instance of the class. + + + Adds a bundle to the collection. + The bundle to add. + + + Adds the default file extension replacements for common conventions. + The list to populate with default values. + + + Adds default file order specifications to use with bundles in the collection. + The list to populate with default values. + + + Adds the default file ignore patterns. + The ignore list to populate with default values. + + + Removes all bundles from the collection. + + + Gets the count of registered bundles in the collection. + The number of bundles. + + + Gets a list of file patterns which are ignored when including files using wildcards or substitution tokens. + A list of file patterns. + + + Gets the file extension replacement list. + The file extension replacement list. + + + Gets a list that specifies default file orderings to use for files in the registered bundles. + The list of file orderings. + + + Returns a bundle in the collection using the specified virtual path. + The bundle for the virtual path or null if no bundle exists at the path. + The virtual path of the bundle to return. + + + Returns the bundle enumerator. + The bundle enumerator. + + + Returns the collection of all registered bundles. + The collection of registered bundles. + + + Gets the list of files to ignore. + The list of files to ignore. + + + Removes a bundle from the collection. + true if the bundle was removed; otherwise, false. + The bundle to remove. + + + Clears the bundles and resets all the defaults. + + + Returns the bundle URL for the specified virtual path. + The bundle URL or null if the bundle cannot be found. + The bundle virtual path. + + + Returns the bundle URL for the specified virtual path, including a content hash if requested. + The bundle URL or null if the bundle cannot be found. + The virtual path of the bundle. + true to include a hash code for the content; otherwise, false. The default is true. + + + Returns an enumerator that can be used to iterate through the collection. + An that can be used to iterate through the collection. + + + Returns an enumerator that can be used to iterate through the collection. + An that can be used to iterate through the collection. + + + Gets or sets whether the collection will try to use if specified. + true if the collection will try to use Bundle.CdnPath if specified; Otherwise, false. + + + Encapsulates the info needed to process a bundle request + + + Initializes a new instance of the class. + The context. + The collection of bundles. + The virtual path of the bundles. + + + Gets or sets the collection of bundles. + The collection of bundles. + + + Gets or sets the virtual path for the bundle request + The virtual path for the bundle request. + + + Gets or sets whether the instrumentation output is requested. + true if instrumentation output is requested; otherwise, false. + + + Gets or sets whether optimizations are enabled via . + true if optimizations are enabled via ; otherwise, false. + + + Gets or sets the HTTP context associated with the bundle context. + The HTTP context associated with the bundle context. + + + Gets or sets whether the bindle context will store the bundle response in the HttpContext.Cache. + true if the bindle context will store the bundle response in the cache; Otherwise, false. + + + Represents a bundle definition as specified by the bundle manifest. + + + Initializes a new instance of the class. + + + Gets or sets the CDN fallback expression for the bundle. + The CDN fallback expression for the bundle. + + + Gets or sets the CDN path for the bundle. + The CDN path for the bundle. + + + Gets the files included in the bundle. + The files included in the bundle. + + + Gets or sets the virtual path for the bundle. + The virtual path for the bundle. + + + + + + + + + + Encapsulates a named set of files with relative orderings, for example jquery or modernizer. + + + Initializes a new instance of the class. + The name used to help identify the file ordering. + + + Gets or sets the ordered list of file name patterns (allows one prefix/suffix wildcard '*') that determines the relative ordering of these files in the bundle. For example, ["z.js", "b*", "*a", "a.js"]. + The ordered list of file name patterns that determines the relative ordering of these files in the bundle. + + + Gets or sets the name used to help identify the file ordering, for example, jquery. + The name used to help identify the file ordering. + + + Represents the XML configuration to configure the bundle collection. + + + Gets or sets the path to the bundle manifest file that sets up the . + The path to the bundle manifest file that sets up the . + + + Reads the bundle manifest using the default bundle configuration. + The bundle manifest. + + + Reads the bundle manifest from a given stream. + The bundle manifest. + The bundle stream to read from. + + + Gets the objects specified by the manifest file. + The objects specified by the manifest file. + + + Gets or sets the registered style bundles. + The registered style bundles. + + + Represents a module that enables bundling to intercept requests to bundle URLs. + + + Initializes a new instance of the class. + + + Disposes any resources used by the class. + + + Hooks the OnApplicationPostResolveRequestCache event to remap to the bundle handler. + The application that will receive the registration of the event. + + + Calls the Dispose() method. + + + Calls the Init method. + The application that will receive the registration of the event. + + + Represents a class that determine if a script reference is a bundle, and what it contains to prevent duplicate script references. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified bundle. + The bundles of objects. + + + Initializes a new instance of the class with the specified bundle and context. + The bundles of object. + The HttpContextBase. + + + Gets or sets the ScriptManager that reflects against . + The ScriptManager that reflects against . + + + Returns an enumeration of actual file paths to the contents of the bundle. + The actual file paths to the contents of the bundle. + The virtual file path. + + + Gets the versioned url for the bundle or returns the virtualPath unchanged if it does not point to a bundle. + The versioned url for the bundle. + The virtual file path. + + + Determines if the virtualPath is to a bundle. + The virtualPath. + The virtual file path. + + + Encapsulates the response data that will be sent for a bundle request. + + + Initializes a new instance of the class. + + + + Gets or sets a value that is used to set the Cache-Control HTTP header. + A value that is used to set the Cache-Control HTTP header. + + + Gets or sets the content of the bundle which is sent as the response body. + The content of the bundle. + + + Gets or sets the media type that is sent in the HTTP content/type header. + The media type that is sent in the HTTP content/type header. + + + Gets or sets the list of files in the bundle. + The list of files in the bundle. + + + Static holder class for the default bundle collection. + + + Gets the default bundle collection. + The default bundle collection. + + + Gets or sets whether bundling and minification of bundle references is enabled. + true if bundling and minification of bundle references is enabled; otherwise, false. + + + Gets or sets the provider to be used in resolving bundle files. + The provider to be used in resolving bundle files. + + + Represents a that does CSS minification. + + + Initializes a new instance of the class. + + + Transforms the bundle contents by applying CSS minification. + The bundle context. + The bundle response object + + + + + + Represents the default logic which combines files in the bundle. + + + Initializes a new instance of the class. + + + + Default which orders files in a bundled using . + + + Initializes a new instance of the class. + + + + Represents a object that ASP.NET creates from a folder that contains files of the same type. + + + Initializes a new instance of the class. + The path suffix. + The search pattern. + + + Initializes a new instance of the class. + The path suffix. + The search pattern. + The search subdirectories. + + + Initializes a new instance of the class. + The path suffix. + The search pattern. + The search subdirectories. + The transform parameter. + + + Initializes a new instance of the class. + The path suffix. + The search pattern. + The transform parameter. + + + Gets or set the path of a Content Delivery Network (CDN) that contains the folder bundle. + The path of a Content Delivery Network (CDN) + + + Returns all the base methods files and any dynamic files found in the requested directory. + All the base methods files and any dynamic files found in the requested directory. + The bundle context. + + + Gets or sets the search pattern for the folder bundle. + The search pattern for the folder bundle. + + + Gets or sets whether the search pattern is applied to subdirectories. + true if the search pattern is applied to subdirectories; otherwise, false. + + + A set of file extensions that will be used to select different files based on the . + + + Initializes a new instance of the class. + + + Adds a file extension which will be applied regardless of . + File extension string. + + + Add a file extension for a specified . + File extension string. + + in which to apply the file extension replacement. + + + Clears file extension replacements. + + + + Specifies the building of the bundle from the individual file contents. + + + + Defines methods for ordering files within a . + + + + Represents an interface used to query the BundleCollection for metadata. + + + Returns a list of all the virtualPaths of the contents of the bundle. + The list of virtual path. + The virtual path for the bundle. + + + Returns the versioned URL of the bundle. + The versioned URL of the bundle. + The virtual path. + + + Specifies whether the virtual path is to a bundle. + true if the virtual path is to a bundle; Otherwise, false. + The virtual path. + + + Defines a method that transforms the files in a object. + + + Transforms the content in the object. + The bundle context. + The bundle response. + + + A list of filename patterns to be ignored and thereby excluded from bundles. + + + Initializes a new instance of the class. + + + Clears entire ignore list. + + + + Ignores the specified pattern regardless of the value set in . + The ignore pattern. + + + Ignores the specified pattern when in the appropriate . + The ignore pattern. + The in which to apply the ignore pattern. + + + Determines whether a file should be ignored based on the ignore list. + true if the filename matches a pattern in the ; otherwise, false. + The object that contains state for both the framework configuration and the HTTP request. + The name of the file to compare with the ignore list. + + + + + Represents a BundleTransform that does CSS Minification. + + + Initializes a new instance of the class. + + + Transforms the bundle contents by applying javascript minification. + The context associated with the bundle. + The . + + + OptimizationMode used by IgnoreList and FileExtensionReplacement. + + + Always: Always ignore + + + WhenDisabled: Only when BundleTable.EnableOptimization = false + + + WhenEnabled: Only when BundleTable.EnableOptimization = true + + + Configuration settings used by the class to generate bundle responses outside of ASP.NET applications. + + + Initializes a new instance of the class. + + + The physical file path to resolve the ‘~’ token in virtual paths. + The physical file path. + + + The path to the bundle manifest file that sets up the . + The path to the bundle manifest file that sets up the . + + + Gets or sets a callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection. + A callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection. + + + + Represents a standalone class for generating bundle responses outside of ASP.NET + + + + Builds a object from the declarations found in a bundle manifest file. + The bundle response for specified . + The path to the bundle being requested. + An object containing configuration settings for optimization. + + + Hooks up the BundleModule + + + Hooks up the BundleModule + + + Represents a bundle that does Js Minification. + + + Initializes a new instance of the class that takes a virtual path for the bundle. + The virtual path for the bundle. + + + Initializes a new instance of the class that takes virtual path and cdnPath for the bundle. + The virtual path for the bundle. + The path of a Content Delivery Network (CDN). + + + Represents a type that allows queuing and rendering script elements. + + + Gets or sets the default format string for defining how script tags are rendered. + The default format string for defining how script tags are rendered. + + + Renders script tags for the following paths. + The HTML string containing the script tag or tags for the bundle. + Set of virtual paths for which to generate script tags. + + + Renders script tags for a set of paths based on a format string. + The HTML string containing the script tag or tags for the bundle. + The format string for defining the rendered script tags. + Set of virtual paths for which to generate script tags. + + + Returns a fingerprinted URL if the is to a bundle, otherwise returns the resolve URL. + A that represents the URL. + The virtual path. + + + Represents a bundle that does CSS minification. + + + Initializes a new instance of the class with a virtual path for the bundle. + A virtual path for the bundle. + + + Initializes a new instance of the class with virtual path and CDN path for the bundle. + A virtual path for the bundle. + A CDN path for the bundle. + + + Represents a helper class for rendering link elements. + + + Gets or sets the default format string for defining how link tags are rendered. + The default format string for defining how link tags are rendered. + + + Renders link tags for a set of paths. + A HTML string containing the link tag or tags for the bundle. + Set of virtual paths for which to generate link tags. + + + Renders link tags for a set of paths based on a format string. + A HTML string containing the link tag or tags for the bundle. + Format string for defining the rendered link tags. + Set of virtual paths for which to generate link tags. + + + Generates a version-stamped URL for a bundle. + A fingerprinted URL. + The virtual file path. + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Protocol.nuspec b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Protocol.nuspec new file mode 100644 index 00000000..c54ed6b4 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Protocol.nuspec @@ -0,0 +1,38 @@ + + + + Microsoft.AspNet.WebSockets.Protocol + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Managed web socket protocol parser. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Protocol.dll b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Protocol.dll new file mode 100644 index 00000000..da90f5b9 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Protocol.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll new file mode 100644 index 00000000..46d185f2 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Server.nuspec b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Server.nuspec new file mode 100644 index 00000000..6a729ead --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/Microsoft.AspNet.WebSockets.Server.nuspec @@ -0,0 +1,32 @@ + + + + Microsoft.AspNet.WebSockets.Server + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 web socket middleware for use on top of opaque servers. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Server.dll b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Server.dll new file mode 100644 index 00000000..9d612a42 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebSockets.Server.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Server.dll b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Server.dll new file mode 100644 index 00000000..d6055f8d Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebSockets.Server.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/Microsoft.AspNet.WebUtilities.nuspec b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/Microsoft.AspNet.WebUtilities.nuspec new file mode 100644 index 00000000..2a166824 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/Microsoft.AspNet.WebUtilities.nuspec @@ -0,0 +1,37 @@ + + + + Microsoft.AspNet.WebUtilities + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 common helper methods. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebUtilities.dll b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebUtilities.dll new file mode 100644 index 00000000..c0ceb728 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.AspNet.WebUtilities.dll differ diff --git a/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebUtilities.dll b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebUtilities.dll new file mode 100644 index 00000000..dd2f0888 Binary files /dev/null and b/build/approot/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final/lib/net451/Microsoft.AspNet.WebUtilities.dll differ diff --git a/build/approot/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha/Microsoft.AspNetCore.Authentication.OAuth.nuspec b/build/approot/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha/Microsoft.AspNetCore.Authentication.OAuth.nuspec new file mode 100644 index 00000000..154ab064 --- /dev/null +++ b/build/approot/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha/Microsoft.AspNetCore.Authentication.OAuth.nuspec @@ -0,0 +1,14 @@ + + + + Microsoft.AspNetCore.Authentication.OAuth + 0.0.1-alpha + true + aspnet + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.AspNetCore.Authentication.OAuth + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha/content/Readme.txt b/build/approot/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha/content/Readme.txt new file mode 100644 index 00000000..e69de29b diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/Microsoft.CodeAnalysis.Analyzers.nuspec b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/Microsoft.CodeAnalysis.Analyzers.nuspec new file mode 100644 index 00000000..2f7cb7e6 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/Microsoft.CodeAnalysis.Analyzers.nuspec @@ -0,0 +1,20 @@ + + + + Microsoft.CodeAnalysis.Analyzers + 1.0.0 + true + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkId=529443 + http://msdn.com/roslyn + Guidelines for using .NET Compiler Platform ("Roslyn") APIs. + Analyzers for .NET Compiler Platform ("Roslyn") + VS 2015 version of the Microsoft .NET Compiler Platform (Roslyn) + en-US + Roslyn CodeAnalysis Compiler CSharp VB VisualBasic Parser Scanner Lexer Emit CodeGeneration Metadata IL Compilation Scripting Syntax Semantics analyzers + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/ThirdPartyNotices.rtf b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/ThirdPartyNotices.rtf new file mode 100644 index 00000000..b74371f5 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/ThirdPartyNotices.rtf @@ -0,0 +1,54 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par +Do Not Translate or Localize\par +\par +This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par +\par +%% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par +=========================================\par +Copyright (C) .NET Foundation. All rights reserved.\par +\par +Apache License, Version 2.0\par +Apache License\par +Version 2.0, January 2004\par +{{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par +1. Definitions.\par +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par +"Legal Entity" shall mean the union of the acting entity and all 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 contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par +"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 revisions, 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 interfaces of, the Work and Derivative Works thereof.\par +"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 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 communication 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 discussing 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 +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par +2. Grant of Copyright License.\par +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, 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 +3. Grant of Patent License.\par +Subject to 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, import, 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 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 infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par +4. Redistribution.\par +You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par +1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par +2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par +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 that do not pertain to any part of the Derivative Works; and\par +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 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 provided 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 may 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 +You may add Your own 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, and distribution of the Work otherwise complies with the conditions stated in this License.\par +5. Submission of Contributions.\par +Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall 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 such Contributions.\par +6. Trademarks.\par +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 reproducing the content of the NOTICE file.\par +7. Disclaimer of Warranty.\par +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 OF 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 redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par +8. Limitation of Liability.\par +In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required 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 result 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 been advised of the possibility of such damages.\par +9. Accepting Warranty or Additional Liability.\par +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 liability 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, 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 +END OF TERMS AND CONDITIONS\par +=========================================\par +END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par +} + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll new file mode 100644 index 00000000..cd646b53 Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll new file mode 100644 index 00000000..49d77fd3 Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll new file mode 100644 index 00000000..cd646b53 Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll new file mode 100644 index 00000000..37fd6ce3 Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/install.ps1 b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/install.ps1 new file mode 100644 index 00000000..d3126973 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/install.ps1 @@ -0,0 +1,194 @@ +param($installPath, $toolsPath, $package, $project) + +$analyzersPaths = Join-Path (Join-Path (Split-Path -Path $toolsPath -Parent) "analyzers" ) * -Resolve + +foreach($analyzersPath in $analyzersPaths) +{ + # Install the language agnostic analyzers. + if (Test-Path $analyzersPath) + { + foreach ($analyzerFilePath in Get-ChildItem $analyzersPath -Filter *.dll) + { + if($project.Object.AnalyzerReferences) + { + $project.Object.AnalyzerReferences.Add($analyzerFilePath.FullName) + } + } + } +} + +# $project.Type gives the language name like (C# or VB.NET) +$languageFolder = "" +if($project.Type -eq "C#") +{ + $languageFolder = "cs" +} +if($project.Type -eq "VB.NET") +{ + $languageFolder = "vb" +} +if($languageFolder -eq "") +{ + return +} + +foreach($analyzersPath in $analyzersPaths) +{ + # Install language specific analyzers. + $languageAnalyzersPath = join-path $analyzersPath $languageFolder + if (Test-Path $languageAnalyzersPath) + { + foreach ($analyzerFilePath in Get-ChildItem $languageAnalyzersPath -Filter *.dll) + { + if($project.Object.AnalyzerReferences) + { + $project.Object.AnalyzerReferences.Add($analyzerFilePath.FullName) + } + } + } +} +# SIG # Begin signature block +# MIIaoQYJKoZIhvcNAQcCoIIakjCCGo4CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU2Q/XtUMgeda05ZRH6iWmJDPu +# oTCgghWCMIIEwzCCA6ugAwIBAgITMwAAAHPGWcJSl4OjOgAAAAAAczANBgkqhkiG +# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw +# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMzIwMTczMjA0 +# WhcNMTYwNjIwMTczMjA0WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO +# OkJCRUMtMzBDQS0yREJFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp0QvcscV762c +# vJQkN4+yFC55LDaPb7KevwD6jHhhG5S5Uij0cT8HGE/y6Je/f3Ow4zVsoSviUbYn +# qqI1ASnzKaVQ3natkrIUuQ8Mllkya3MeSL9Q877ogSskJFB0fOph5o8RAe6yfSD1 +# CkMqVGVAxRwMNFDik+TCDS7gUJlQaAZ9h3v2jQWOR+Xt0ELjY93j7iXPqVCjT4K7 +# x5WFfasB4FBCFeBZg8lR4D2gKOh/gnzSuRoCHqhzdFfIf7gJs7pF4EfCdNSp2BLX +# Lxuc1K567c/CWXMh3LDjZMMd5i8EvFv9ssV+Nua6VnlcHRWrsaB9FygH8+OpkVg8 +# tkWf1jVh3QIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFDUsc4HZ7HD5Sj2P/0fAfApo +# obgbMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw +# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz +# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG +# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv +# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI +# hvcNAQEFBQADggEBABhW2Lwu5/R0+yuB1kWyYWp9G8CaWAHqZhnXuCn1jzz09iI2 +# d1FUmQud9f7Fg9U7F18kV7sSywfz8omzn+eIMTZc0N0QbbGdHG5zeUCA26QRbUwQ +# 6BCVoUNlxEgptx5suXvzd7dgvF0jpzSnWPUVzaasjBvdqMfy/L2f24Jaiu9s8vsu +# w79c0Y2DVhPd4x2T7ReueUVSCxzhK8AzUN271fiW2JRLQ0tRCF8tnA5TKJe7RuvG +# emKndxIklRnPRf1Y2R0getwBvO8Lg3pDeZDUR+AIteZ96oBsSHnsJwxb8T45Ur6a +# lIw5sEMholc7XInenHZH5DEg0aJpQ86Btpv5rzgwggTsMIID1KADAgECAhMzAAAB +# Cix5rtd5e6asAAEAAAEKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBMB4XDTE1MDYwNDE3NDI0NVoXDTE2MDkwNDE3NDI0NVowgYMxCzAJ +# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx +# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB +# BQADggEPADCCAQoCggEBAJL8bza74QO5KNZG0aJhuqVG+2MWPi75R9LH7O3HmbEm +# UXW92swPBhQRpGwZnsBfTVSJ5E1Q2I3NoWGldxOaHKftDXT3p1Z56Cj3U9KxemPg +# 9ZSXt+zZR/hsPfMliLO8CsUEp458hUh2HGFGqhnEemKLwcI1qvtYb8VjC5NJMIEb +# e99/fE+0R21feByvtveWE1LvudFNOeVz3khOPBSqlw05zItR4VzRO/COZ+owYKlN +# Wp1DvdsjusAP10sQnZxN8FGihKrknKc91qPvChhIqPqxTqWYDku/8BTzAMiwSNZb +# /jjXiREtBbpDAk8iAJYlrX01boRoqyAYOCj+HKIQsaUCAwEAAaOCAWAwggFcMBMG +# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBSJ/gox6ibN5m3HkZG5lIyiGGE3 +# NDBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr +# MDQwNzkzNTAtMTZmYS00YzYwLWI2YmYtOWQyYjFjZDA1OTg0MB8GA1UdIwQYMBaA +# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j +# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w +# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 +# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx +# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQCmqFOR3zsB/mFdBlrrZvAM2PfZ +# hNMAUQ4Q0aTRFyjnjDM4K9hDxgOLdeszkvSp4mf9AtulHU5DRV0bSePgTxbwfo/w +# iBHKgq2k+6apX/WXYMh7xL98m2ntH4LB8c2OeEti9dcNHNdTEtaWUu81vRmOoECT +# oQqlLRacwkZ0COvb9NilSTZUEhFVA7N7FvtH/vto/MBFXOI/Enkzou+Cxd5AGQfu +# FcUKm1kFQanQl56BngNb/ErjGi4FrFBHL4z6edgeIPgF+ylrGBT6cgS3C6eaZOwR +# XU9FSY0pGi370LYJU180lOAWxLnqczXoV+/h6xbDGMcGszvPYYTitkSJlKOGMIIF +# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm +# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD +# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx +# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD +# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC +# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw +# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy +# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ +# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP +# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf +# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS +# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3 +# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk +# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp +# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE +# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl +# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+ +# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6 +# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW +# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb +# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu +# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ +# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB +# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord +# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t +# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh +# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I +# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0 +# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX +# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290 +# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx +# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD +# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf +# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB +# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn +# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0 +# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n +# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR +# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54 +# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G +# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG +# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg +# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG +# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg +# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ +# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1 +# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB +# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z +# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB +# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i +# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r +# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct +# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F +# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo +# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0 +# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp +# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J +# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0 +# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng +# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBIkwggSF +# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD +# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh +# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAABCix5rtd5e6as +# AAEAAAEKMAkGBSsOAwIaBQCggaIwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFNWy +# JYWiXrB52VhT/lC+8pUKXim8MEIGCisGAQQBgjcCAQwxNDAyoBiAFgBpAG4AcwB0 +# AGEAbABsAC4AcABzADGhFoAUaHR0cDovL21pY3Jvc29mdC5jb20wDQYJKoZIhvcN +# AQEBBQAEggEAPijsy7fqbQghv6HRRRSMUi3S6UmVRRL/NIehIU4uTM0SniruHlUf +# YBFAp5PhTCjaj2dNnFL6J4zIcaugqI3Shk6kuopA3Vd8YIiqMOc/9CJ3lRxJ3/nI +# BBAAWpEYXo4xs2500Bco5TpoMUJORWUN15onwqGp+YIc/aWYX1Jtfqvb5oaiTcvI +# 2OWx1dyFfpWxc56hX4eyo3Lj5l2454Z5bB40kzLX07qCgvY+MRYSd89P1uNUtBEB +# qkaymzrmVkTMZaUn4YdyAHR7CfJ7sgMmiOyQ+YySDBDD6HPycGwLpdip93Bmjjfz +# Yj/4ERbiVOPRRpa2GtCAsNXtPiw0SSaQJaGCAigwggIkBgkqhkiG9w0BCQYxggIV +# MIICEQIBATCBjjB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0ECEzMAAABzxlnCUpeD +# ozoAAAAAAHMwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw +# HAYJKoZIhvcNAQkFMQ8XDTE1MDYxOTAyNTk0OFowIwYJKoZIhvcNAQkEMRYEFGZQ +# e8ojPYUl1DjvBan3KNtqFEJdMA0GCSqGSIb3DQEBBQUABIIBAJHjS6vTvsLIuzBU +# xQdQopG+qV3hJzqh7u1uPdsknaqMLWjn9zF7Qy6q7gk17eCQ+uStUXdqMCYWqX6J +# GkpaBZGZpmmQ2uEau2G6TuxdN4nVFAmlO5W+RbfLBTizjTH3/VRJsLiIHNu0JpmM +# SjbuKpROk3wKYiUIsbWrHU0rpWmU6lX/xGv/zIZrMskzJ0Xas7+78S1zHeHlsoWS +# TMNtcy+MJfhAfAg6AX1x9Ga7T4J2uT+zo16rMqkIgH/VGmS3+/1ZIMY92ev6BOps +# smrx6ksElucvRtwE41kulKtPbziSPaIhCQyoIvvalwdjO+F0nd3lip/k4dJpUpzj +# d2EmeyI= +# SIG # End signature block diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/uninstall.ps1 b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/uninstall.ps1 new file mode 100644 index 00000000..60712017 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0/tools/uninstall.ps1 @@ -0,0 +1,201 @@ +param($installPath, $toolsPath, $package, $project) + +$analyzersPaths = Join-Path (Join-Path (Split-Path -Path $toolsPath -Parent) "analyzers" ) * -Resolve + +foreach($analyzersPath in $analyzersPaths) +{ + # Uninstall the language agnostic analyzers. + if (Test-Path $analyzersPath) + { + foreach ($analyzerFilePath in Get-ChildItem $analyzersPath -Filter *.dll) + { + if($project.Object.AnalyzerReferences) + { + $project.Object.AnalyzerReferences.Remove($analyzerFilePath.FullName) + } + } + } +} + +# $project.Type gives the language name like (C# or VB.NET) +$languageFolder = "" +if($project.Type -eq "C#") +{ + $languageFolder = "cs" +} +if($project.Type -eq "VB.NET") +{ + $languageFolder = "vb" +} +if($languageFolder -eq "") +{ + return +} + +foreach($analyzersPath in $analyzersPaths) +{ + # Uninstall language specific analyzers. + $languageAnalyzersPath = join-path $analyzersPath $languageFolder + if (Test-Path $languageAnalyzersPath) + { + foreach ($analyzerFilePath in Get-ChildItem $languageAnalyzersPath -Filter *.dll) + { + if($project.Object.AnalyzerReferences) + { + try + { + $project.Object.AnalyzerReferences.Remove($analyzerFilePath.FullName) + } + catch + { + + } + } + } + } +} +# SIG # Begin signature block +# MIIapQYJKoZIhvcNAQcCoIIaljCCGpICAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUA+iPf06reDGl8vnuLnqw/MIv +# 3FmgghWCMIIEwzCCA6ugAwIBAgITMwAAAHQNgGQOfWd9owAAAAAAdDANBgkqhkiG +# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw +# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMzIwMTczMjA1 +# WhcNMTYwNjIwMTczMjA1WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO +# OjdEMkUtMzc4Mi1CMEY3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4NFrifjVvo5Y +# gN/jD+4M6zszXn3GnmZHP9AerBSCDRiftpwnIvG2hpREQXSJkW8X9t+Y5jbLX3iS +# 6XJ+S7kExWIUc3HGf2NBW+tk8r1cVWJGzA9ewQnEr9nxvyV94BegUO4lqkXl48Z+ +# vxBZqcGPPtn77GQbY1u1p7jq681X6xtD9WWRv1D1+cEGvH2qzDfnBqmgzLH1M8wN +# ssh1ZgDRbTCTR8+OomdEXhoTf/McHucPncG8SPyBgW1UauJpE8bO9ZdnMmxIyhHC +# VjrW3Dpi9PwQl2RIC4pc8RbClfDLYBukA5sMyfe7kr8Ac2czHKJ673VKGUZaDH6a +# W6A6HVQ16wIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFCUsOGYFtEU5DmC29u69PuDd +# r4wNMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw +# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz +# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG +# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv +# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI +# hvcNAQEFBQADggEBAEEG50j6xJHcMBMNInjC0iPTszPL+yYh1978CncY+4Nyzu/U +# LIaP4xXj1RICZ1xbN9MDe02RW0FTZgn9457fLHgJORo2HYqBocllfJx7kbIPSptB +# 3cdEC2EFyUwu8rRrKKoIR+4IrGZUF1aQiMbpddAhEDh5yT+7VTDFpjmmU7/NXFbS +# ThcUvGISy+lL8MWR3J2EypjWDttWFGht21OLMM+6J2V1oDFvk6N1EGDqqu7uduvl +# jAup0655zzS+SR8i0MT1o+/zrjDcjohGI4ygqjyXrwfbdug2VN+Ls4mewOospGBr +# 8d/DthI6rzM4elFxNTXm5AjiUZaC+b7hG4N8e2cwggTsMIID1KADAgECAhMzAAAB +# Cix5rtd5e6asAAEAAAEKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBMB4XDTE1MDYwNDE3NDI0NVoXDTE2MDkwNDE3NDI0NVowgYMxCzAJ +# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx +# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB +# BQADggEPADCCAQoCggEBAJL8bza74QO5KNZG0aJhuqVG+2MWPi75R9LH7O3HmbEm +# UXW92swPBhQRpGwZnsBfTVSJ5E1Q2I3NoWGldxOaHKftDXT3p1Z56Cj3U9KxemPg +# 9ZSXt+zZR/hsPfMliLO8CsUEp458hUh2HGFGqhnEemKLwcI1qvtYb8VjC5NJMIEb +# e99/fE+0R21feByvtveWE1LvudFNOeVz3khOPBSqlw05zItR4VzRO/COZ+owYKlN +# Wp1DvdsjusAP10sQnZxN8FGihKrknKc91qPvChhIqPqxTqWYDku/8BTzAMiwSNZb +# /jjXiREtBbpDAk8iAJYlrX01boRoqyAYOCj+HKIQsaUCAwEAAaOCAWAwggFcMBMG +# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBSJ/gox6ibN5m3HkZG5lIyiGGE3 +# NDBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr +# MDQwNzkzNTAtMTZmYS00YzYwLWI2YmYtOWQyYjFjZDA1OTg0MB8GA1UdIwQYMBaA +# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j +# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w +# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 +# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx +# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQCmqFOR3zsB/mFdBlrrZvAM2PfZ +# hNMAUQ4Q0aTRFyjnjDM4K9hDxgOLdeszkvSp4mf9AtulHU5DRV0bSePgTxbwfo/w +# iBHKgq2k+6apX/WXYMh7xL98m2ntH4LB8c2OeEti9dcNHNdTEtaWUu81vRmOoECT +# oQqlLRacwkZ0COvb9NilSTZUEhFVA7N7FvtH/vto/MBFXOI/Enkzou+Cxd5AGQfu +# FcUKm1kFQanQl56BngNb/ErjGi4FrFBHL4z6edgeIPgF+ylrGBT6cgS3C6eaZOwR +# XU9FSY0pGi370LYJU180lOAWxLnqczXoV+/h6xbDGMcGszvPYYTitkSJlKOGMIIF +# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm +# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD +# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx +# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD +# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC +# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw +# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy +# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ +# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP +# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf +# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS +# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3 +# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk +# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp +# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE +# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl +# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+ +# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6 +# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW +# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb +# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu +# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ +# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB +# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord +# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t +# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh +# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I +# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0 +# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX +# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290 +# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx +# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD +# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf +# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB +# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn +# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0 +# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n +# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR +# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54 +# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G +# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG +# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg +# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG +# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg +# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ +# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1 +# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB +# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z +# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB +# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i +# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r +# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct +# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F +# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo +# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0 +# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp +# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J +# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0 +# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng +# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBI0wggSJ +# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD +# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh +# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAABCix5rtd5e6as +# AAEAAAEKMAkGBSsOAwIaBQCggaYwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFHxv +# QEFmGVD4yYwxkgEb+6vYK1SsMEYGCisGAQQBgjcCAQwxODA2oByAGgB1AG4AaQBu +# AHMAdABhAGwAbAAuAHAAcwAxoRaAFGh0dHA6Ly9taWNyb3NvZnQuY29tMA0GCSqG +# SIb3DQEBAQUABIIBAIQVySydDm+61yXfwvTRQm9YV2k/tk6GJYRhfMIfUkKD3ysR +# wEN+nXa15Lk6exFXkTnD4O0UxJQUXUso3SfpPmUifQ6fMJYxPsXnyHENiWXsdQ8r +# 5DXgbByYcJS0QsHBxv6wNUAa3UOCV4znYZ4DQ+MY/L4QT9hN7kC7kOHuF0F6Kohz +# 22KHpUwnw5tH+EqjP3oUla0NdrMHJEKAUDaAJ5sVuHIJOiOTbv34x7hd2fty8Gv9 +# VJ1KW8Kwv/k6PXzf0u9kpDtw5K5IjPwBgrY+Ds/ufuqLdNNfECHO7LhP//fUtmAz +# qv0r+3LC0ro6Fp1nruAvRpXvtrGMDGy8hk5ofK+hggIoMIICJAYJKoZIhvcNAQkG +# MYICFTCCAhECAQEwgY4wdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBAhMzAAAAdA2A +# ZA59Z32jAAAAAAB0MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN +# AQcBMBwGCSqGSIb3DQEJBTEPFw0xNTA2MTkwMjU5NDhaMCMGCSqGSIb3DQEJBDEW +# BBS3ur37KGDNwz4wbagIdT/bQ0V7eDANBgkqhkiG9w0BAQUFAASCAQCcfMVGV2cj +# D1Zp77HKsBOTX7x6b9fgXDytnkbjr9hT4nydyIh1qCEFpCBjFi59iEAbMDEvv9M8 +# YsSesU0pi0PjGX//XEzfYqQ5C+j7D91PSLG8JbWXq0PT20LHBOyiyJ4/dl6flfeN +# BAlw1RS6xyNdSsczoLfq71p4OI3Ob5VFy9cfNqBhiYV9NqpOzUh6toJH2Q4gyn8B +# AeKTws6OU0lgc19mw0ezTMULb3NeOuowY9PMF6GcR4Btu9+zq5T0E89PUXE/wr6x +# LYAAyX43lASSLOB8t6xZP/getsRkA7dCWZsrzQzhsyxdE4Krb1QY1esNMaB0t2zO +# yHkt4p+Ldz8C +# SIG # End signature block diff --git a/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.CSharp.nuspec b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.CSharp.nuspec new file mode 100644 index 00000000..aa373ecc --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.CSharp.nuspec @@ -0,0 +1,24 @@ + + + + Microsoft.CodeAnalysis.CSharp + 1.1.0-rc1-20151109-01 + true + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkId=529443 + http://msdn.com/roslyn + .NET Compiler Platform ("Roslyn") support for C#, Microsoft.CodeAnalysis.CSharp.dll. + +Supported Platforms: +- .NET Framework 4.5 +- Windows 8 +- Portable Class Libraries + Preview of Microsoft .NET Compiler Platform (Roslyn) + en-US + Roslyn CodeAnalysis Compiler CSharp VB VisualBasic Parser Scanner Lexer Emit CodeGeneration Metadata IL Compilation Scripting Syntax Semantics + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf new file mode 100644 index 00000000..b74371f5 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf @@ -0,0 +1,54 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par +Do Not Translate or Localize\par +\par +This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par +\par +%% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par +=========================================\par +Copyright (C) .NET Foundation. All rights reserved.\par +\par +Apache License, Version 2.0\par +Apache License\par +Version 2.0, January 2004\par +{{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par +1. Definitions.\par +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par +"Legal Entity" shall mean the union of the acting entity and all 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 contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par +"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 revisions, 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 interfaces of, the Work and Derivative Works thereof.\par +"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 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 communication 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 discussing 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 +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par +2. Grant of Copyright License.\par +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, 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 +3. Grant of Patent License.\par +Subject to 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, import, 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 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 infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par +4. Redistribution.\par +You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par +1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par +2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par +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 that do not pertain to any part of the Derivative Works; and\par +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 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 provided 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 may 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 +You may add Your own 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, and distribution of the Work otherwise complies with the conditions stated in this License.\par +5. Submission of Contributions.\par +Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall 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 such Contributions.\par +6. Trademarks.\par +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 reproducing the content of the NOTICE file.\par +7. Disclaimer of Warranty.\par +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 OF 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 redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par +8. Limitation of Liability.\par +In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required 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 result 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 been advised of the possibility of such damages.\par +9. Accepting Warranty or Additional Liability.\par +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 liability 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, 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 +END OF TERMS AND CONDITIONS\par +=========================================\par +END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par +} + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.CSharp.dll b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.CSharp.dll new file mode 100644 index 00000000..505c0aaf Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.CSharp.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll new file mode 100644 index 00000000..505c0aaf Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.Common.nuspec b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.Common.nuspec new file mode 100644 index 00000000..827b734c --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/Microsoft.CodeAnalysis.Common.nuspec @@ -0,0 +1,27 @@ + + + + Microsoft.CodeAnalysis.Common + 1.1.0-rc1-20151109-01 + true + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkId=529443 + http://msdn.com/roslyn + A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. + +Supported Platforms: +- .NET Framework 4.5 +- Windows 8 +- Portable Class Libraries + A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). + Preview of Microsoft .NET Compiler Platform (Roslyn) + en-US + Roslyn CodeAnalysis Compiler CSharp VB VisualBasic Parser Scanner Lexer Emit CodeGeneration Metadata IL Compilation Scripting Syntax Semantics + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf new file mode 100644 index 00000000..b74371f5 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/ThirdPartyNotices.rtf @@ -0,0 +1,54 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par +Do Not Translate or Localize\par +\par +This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par +\par +%% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par +=========================================\par +Copyright (C) .NET Foundation. All rights reserved.\par +\par +Apache License, Version 2.0\par +Apache License\par +Version 2.0, January 2004\par +{{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par +1. Definitions.\par +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par +"Legal Entity" shall mean the union of the acting entity and all 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 contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par +"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 revisions, 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 interfaces of, the Work and Derivative Works thereof.\par +"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 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 communication 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 discussing 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 +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par +2. Grant of Copyright License.\par +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, 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 +3. Grant of Patent License.\par +Subject to 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, import, 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 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 infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par +4. Redistribution.\par +You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par +1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par +2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par +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 that do not pertain to any part of the Derivative Works; and\par +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 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 provided 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 may 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 +You may add Your own 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, and distribution of the Work otherwise complies with the conditions stated in this License.\par +5. Submission of Contributions.\par +Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall 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 such Contributions.\par +6. Trademarks.\par +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 reproducing the content of the NOTICE file.\par +7. Disclaimer of Warranty.\par +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 OF 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 redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par +8. Limitation of Liability.\par +In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required 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 result 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 been advised of the possibility of such damages.\par +9. Accepting Warranty or Additional Liability.\par +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 liability 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, 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 +END OF TERMS AND CONDITIONS\par +=========================================\par +END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par +} + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.dll b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.dll new file mode 100644 index 00000000..f1d92bee Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.xml b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.xml new file mode 100644 index 00000000..6db9e663 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/net45/Microsoft.CodeAnalysis.xml @@ -0,0 +1,24709 @@ + + + + Microsoft.CodeAnalysis + + + + + This is a bridge for APIs that are only available on CoreCLR or .NET 4.6 + and NOT on .NET 4.5. The compiler currently targets .NET 4.5 and CoreCLR + so this shim is necessary for switching on the dependent behavior. + + + + + Given a path to an assembly, identifies files in the same directory + that could satisfy the assembly's dependencies. May throw. + + + Dependencies are identified by simply checking the name of an assembly + reference against a file name; if they match the file is considered a + dependency. Other factors, such as version, culture, public key, etc., + are not considered, and so the returned collection may include items that + cannot in fact satisfy the original assembly's dependencies. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, returns its MVID (Module Version ID). + May throw. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, finds the paths to all of its satellite + assemblies. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly and a set of paths to possible dependencies, + identifies which of the assembly's references are missing. May throw. + + If the files does not exist or cannot be accessed. + If one of the files is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, returns the for the assembly. + May throw. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Attempts to read all of the requested bytes from the stream into the buffer + + + The number of bytes read. Less than will + only be returned if the end of stream is reached before all bytes can be read. + + + Unlike it is not guaranteed that + the stream position or the output buffer will be unchanged if an exception is + returned. + + + + + Parse the value provided to an MSBuild Feature option into a list of entries. This will + leave name=value in their raw form. + + + + + Find a instance by first probing the contract name and then the name as it + would exist in mscorlib. This helps satisfy both the CoreCLR and Desktop scenarios. + + + + + This type contains the light up scenarios for various platform and runtimes. Any function + in this type can, and is expected to, fail on various platforms. These are light up scenarios + only. + + + + + Full case-insensitive path. + + + + + Last write time (UTC). + + + + + Constructor. + + Full path. + Last write time (UTC). + + + + + + + Initialize the value referenced by in a thread-safe manner. + The value is changed to only if the current value is null. + + Type of value. + Reference to the target location. + The value to use if the target is currently null. + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Initialize the value referenced by in a thread-safe manner. + The value is changed to only if the current value + is . + + Type of value. + Reference to the target location. + The value to use if the target is currently uninitialized. + The uninitialized value. + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Initialize the immutable array referenced by in a thread-safe manner. + + Elemental type of the array. + Reference to the target location. + The value to use if the target is currently uninitialized (default). + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Search a sorted integer array for the target value in O(log N) time. + + The array of integers which must be sorted in ascending order. + The target value. + An index in the array pointing to the position where should be + inserted in order to maintain the sorted order. All values to the right of this position will be + strictly greater than . Note that this may return a position off the end + of the array if all elements are less than or equal to . + + + + The actual number of bytes read can be fewer than the number of bytes requested + if an error occurs or if the end of the stream is reached during the read operation. + + + + + NOTE!!! adding duplicates will result in exceptions. + Being concurrent only allows accessing the dictionary without taking 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. + + + + Clear the set + + + + + 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. + + + + + 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. + + + + + + + Implements a few file name utilities that are needed by the compiler. + In general the compiler is not supposed to understand the format of the paths. + In rare cases it needs to check if a string is a valid file name or change the extension + (embedded resources, netmodules, output name). + The APIs are intentionally limited to cover just these rare cases. Do not add more APIs. + + + + + Returns true if the string represents an unqualified file name. + The name may contain any characters but directory and volume separators. + + Path. + + True if is a simple file name, false if it is null or includes a directory specification. + + + + + 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 extension 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. + + + + Get file name from path. + + Unlike doesn't check for invalid path characters. + + + + Invoke the underlying HashAlgorithm's TransformBlock operation on the provided data. + + + + + 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 and determines if the byte + sequence is valid ASCII and hence the hash code matches a char sequence + encoding the same text. + See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function + + The sequence of bytes that are likely to be ASCII text. + The length of the sequence. + True if the sequence contains only characters in the ASCII range. + 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 + + + + Represents a single item or many items. + + + Used when a collection usually contains a single item but sometimes might contain multiple. + + + + + Compares objects based upon their reference identity. + + + + + Checks if the given name is a sequence of valid CLR names separated by a dot. + + + + + Remove one set of leading and trailing double quote characters, if both are present. + + + + + 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. + + + + + A COM IStream implementation over memory. Supports just enough for DiaSymReader's PDB writing. + Also tuned for performance: + 1. SetSize (and Seek beyond the length) is very fast and doesn't re-allocate the underlying memory. + 2. Read and Write are optimized to avoid copying (see ) + 3. Allocates in chunks instead of a contiguous buffer to avoid re-alloc and copy costs when growing. + + + + + This is a re-definition of COM's IStream interface. The important change is that + the Read and Write methods take an instead of a byte[] to avoid the + allocation cost when called from native code. + + + + + Null or empty. + + + + + "file" + + + + + ".\file" + + + + + "..\file" + + + + + "\dir\file" + + + + + "C:dir\file" + + + + + "C:\file" or "\\machine" (UNC). + + + + + 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. + + + + + 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 or does not exist. + + + + + Normalizes an absolute path. + + Path to normalize. + + Normalized path. + + + + Used to create a file given a path specified by the user. + paramName - Provided by the Public surface APIs to have a clearer message. Internal API just rethrow the exception + + + + + + + + The 4.5 portable API surface area does not contain many of the APIs Roslyn needs to function. In + particular it lacks APIs to access the file system. The Roslyn project though is constrained + from moving to the 4.6 framework until post VS 2015. + + This puts us in a difficult position. These APIs are necessary for us to have our public API set + in the DLLS we prefer (non Desktop variants) but we can't use them directly when targeting + the 4.5 framework. Putting the APIs into the Desktop variants would create instant legacy for + the Roslyn project that we'd have to maintain forever (even if it was just as assemblies with + only type forward entries). This is not a place we'd like to be in. + + As a compromise we've decided to grab these APIs via reflection for the time being. This is a + *very* unfortunate path to be on but it's a short term solution that sets us up for long term + success. + + This is an unfortunate situation but it will all be removed fairly quickly after RTM and converted + to the proper 4.6 portable contracts. + + Note: Only portable APIs should be present here. + + + + + APIs contained here are proposed for CoreFX but not yet finalized. Their contracts are + subject to change. + + + + + A binder that gathers type/reader mappings during object writing + + + + + 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 + + + + + A binder that gathers type/reader mappings during object writing + + + + + 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 System.Func{T} 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 non source code file. + + + + + Path to the file. + + + + + Returns a with the contents of this file, or null if + there were errors reading the file. + + + + + Errors encountered when trying to read the additional file. Always empty if + has not been called. + + + + + 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. + + + + + ToLower implements the Unicode lowercase mapping + as described in ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt. + VB uses these mappings for case-insensitive comparison. + + + If is upper case, then this returns its Unicode lower case equivalent. Otherwise, is returned unmodified. + + + + This class seeks to perform the lowercase Unicode case mapping. + + + + + 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 per Unicode + + + + + + + In-place convert string in StringBuilder to lower case per Unicode rules + + + + + + 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 multidimensional arrays + + + + + "call ArrayGet" is equivalent of "ldelem ElementType" + when working with multidimensional arrays + + + + + "call ArrayAddress" is equivalent of "ldelema ElementType" + when working with multidimensional arrays + + + + + "call ArraySet" is equivalent of "stelem ElementType" + when working with multidimensional arrays + + + + + Represents a parameter in an array pseudo-method. + + NOTE: It appears that only number of indices 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. + + + + + Gets all scopes that contain variables. + + + + + 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. + + + + + 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 or parameter holding the value 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. + + + + + 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. + + + + + Debug information maintained for each lambda. + + + The information is emitted to PDB in Custom Debug Information record for a method containing the lambda. + + + + + The syntax offset of the syntax node declaring the lambda (lambda expression) or its body (lambda in a query). + + + + + The ordinal of the closure frame the lambda belongs to, or + if the lambda is static, or + if the lambda is closed over "this" pointer only. + + + + + 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 + Local kind. + Local id. + Value to emit in the attributes field in the PDB. + 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 symbol. + + + + + Release a local slot by its symbol. + Slot is not associated with symbol 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. + + + + + Unique identification of an emitted entity (method, lambda, closure) used for debugging purposes (EnC). + + + When used for a synthesized method the ordinal and generation numbers are included its name. + For user defined methods the ordinal is included in Custom Debug Information record attached to the method. + + + + + The index of the method in member list of the containing type, or if undefined. + + + + + The EnC generation the method was defined in (0 is the baseline build). + + + + + 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 hexadecimal 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. + + + + + 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. + + + + + Scope of user-defined variable hoisted to state machine. + + + + + 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 these 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. + + + + + Dispenser of unique ordinals for synthesized variable names that have the same kind and syntax offset. + + + + + 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 these two scenarios we need two maps - Item-->uint, and uint-->Item. (the second is really just a list). + + + + + + Returns an index of a slot that stores specified hoisted local variable in the previous generation. + + + + + Number of slots reserved for hoisted local variables. + + + Some of the slots might not be used anymore (a variable might have been deleted or its type changed). + Still, new hoisted variables are assigned slots starting with . + + + + + Returns true and an index of a slot that stores an awaiter of a specified type in the previous generation, if any. + + + + + Number of slots reserved for awaiters. + + + Some of the slots might not be used anymore (the type of an awaiter might have changed). + Still, new awaiters are assigned slots starting with . + + + + + The id of the method, or null if the method wasn't assigned one. + + + + + Finds a closure in the previous generation that corresponds to the specified syntax. + + + See LambdaFrame.AssertIsLambdaScopeSyntax for kinds of syntax nodes that represent closures. + + + + + Finds a lambda in the previous generation that corresponds to the specified syntax. + The is either a lambda syntax ( is false), + or lambda body syntax ( is true). + + + + + A local whose type is represented by a metadata signature instead of a type symbol. + + + Used when emitting a new version of a method during EnC for variables that are no longer used. + + + + + This temp is not interesting to the expression compiler. However, it + may be replaced by an interesting local in a later stage. + + + + + Id that associates an emitted user-defined or long-lived synthesized local variable + with a syntax node that defined it. If a syntax node defines multiple variables it + provides information necessary to identify which one of these variables is it. + + + + + We calculate a "syntax offset" for each user-defined and long-lived synthesized variable. + Every such variable symbol has to be associated with a syntax node (its declarator). + In usual cases this is the textual distance of the declarator from the start of the method body. + It gets a bit complicated when the containing method body is not contiguous (constructors). + If the variable is in the body of the constructor the definition of syntax offset is the same. + If the variable is defined in a constructor initializer or in a member initializer + (this is only possible when declaration expressions or closures in primary constructors are involved) + then the distance is a negative sum of the widths of all the initializers that succeed the declarator + of the variable in the emitted constructor body plus the relative offset of the declarator from + the start of the containing initializer. + + + + + If a single node is a declarator for multiple variables of the same synthesized kind (it can only happen for synthesized variables) + we calculate additional number "ordinal" for such variable. We assign the ordinals to the synthesized variables with the same kind + and syntax offset in the order as they appear in the lowered bound tree. It is important that a valid EnC edit can't change + the ordinal of a synthesized variable. If it could it would need to be assigned a different kind or associated with a different declarator node. + + + + + Driver to execute diagnostic analyzers for a given compilation. + It uses a of s to drive its analysis. + + + + + Cached semantic model for the compilation trees. + PERF: This cache enables us to re-use semantic model's bound node cache across analyzer execution and diagnostic queries. + + + + + Cached syntax references for a symbol for the lifetime of symbol declared event. + PERF: This cache reduces allocations for computing declaring syntax references for a symbol. + + + + + GetSyntax() for the given SyntaxReference. + + + + + Topmost declaration node for analysis. + + + + + All member declarations within the declaration. + + + + + All descendant nodes for syntax node actions. + + + + + Flag indicating if this is a partial analysis. + + + + + Driver task which initializes all analyzers. + This task is initialized and executed only once at start of analysis. + + + + + Flag to indicate if the was successfully started. + + + + + Primary driver task which processes all events, runs analyzer actions and signals completion of at the end. + + + + + Number of worker tasks processing compilation events and executing analyzer actions. + + + + + Events queue for analyzer execution. + + + + + that is fed the diagnostics as they are computed. + + + + + Create an analyzer driver. + + The set of analyzers to include in the analysis + AnalyzerManager to manage analyzers for analyzer host's lifetime. + + + + Initializes the and related actions maps for the analyzer driver. + It kicks off the task for initialization. + Note: This method must be invoked exactly once on the driver. + + + + + Attaches a pre-populated event queue to the driver and processes all events in the queue. + + Compilation events to analyze. + Scope of analysis. + An optional object to track partial analysis state. + Cancellation token to abort analysis. + Driver must be initialized before invoking this method, i.e. method must have been invoked and must be non-null. + + + + Attaches event queue to the driver and start processing all events pertaining to the given analysis scope. + + Compilation events to analyze. + Scope of analysis. + Cancellation token to abort analysis. + Driver must be initialized before invoking this method, i.e. method must have been invoked and must be non-null. + + + + Create an and attach it to the given compilation. + + The compilation to which the new driver should be attached. + The set of analyzers to include in the analysis. + Options that are passed to analyzers. + AnalyzerManager to manage analyzers for the lifetime of analyzer host. + Delegate to add diagnostics generated for exceptions from third party analyzers. + Report additional information related to analyzers, such as analyzer execution time. + The new compilation with the analyzer driver attached. + A cancellation token that can be used to abort analysis. + A newly created analyzer driver + + Note that since a compilation is immutable, the act of creating a driver and attaching it produces + a new compilation. Any further actions on the compilation should use the new compilation. + + + + + Returns all diagnostics computed by the analyzers since the last time this was invoked. + If has been completed with all compilation events, then it waits for + task for the driver to finish processing all events and generate remaining analyzer diagnostics. + + + + + Return a task that completes when the driver is initialized. + + + + + 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. + + + + + Contains information about the source of diagnostic suppression. + + + + + of the suppressed diagnostic. + + + + + If the diagnostic was suppressed by an attribute, then returns that attribute. + Otherwise, returns null. + + + + + Stores the results of analyzer execution: + 1. Local and non-local diagnostics, per-analyzer. + 2. Analyzer execution times, if requested. + + + + + Scope for analyzer execution. + This scope could either be the entire compilation for all analyzers (command line build) or + could be scoped to a specific tree/span and/or a subset of analyzers (CompilationWithAnalyzers). + + + + + Syntax trees on which we need to perform syntax analysis. + + + + + True if we need to categorize diagnostics into local and non-local diagnostics and track the analyzer reporting each diagnostic. + + + + + True if we need to perform only syntax analysis for a single tree. + + + + + True if we need to perform analysis for a single tree. + + + + + Stores the partial analysis state for analyzers executed on a specific compilation. + + + Stores the current partial analysis state for an analyzer. + + + + + Stores the partial analysis state for a specific event/symbol/tree for a specific analyzer. + + + + + Current state of analysis. + + + + + Set of completed actions. + + + + + Resets the from to . + This method must be invoked after successful analysis completion AND on analysis cancellation. + + + + + Per-analyzer analysis state map. + The integer value points to the index within the array. + + + + + Per-analyzer analysis state. + + + + + Compilation events corresponding to source tree, that are not completely processed for all analyzers. + Events are dropped as and when they are fully processed by all analyzers. + + + + + Compilation events corresponding to the compilation (compilation start and completed events), that are not completely processed for all analyzers. + + + + + Action counts per-analyzer. + + + + + Cached semantic model for the compilation trees. + PERF: This cache enables us to re-use semantic model's bound node cache across analyzer execution and diagnostic queries. + + + + + Invoke this method at completion of event processing for the given analysis scope. + It updates the analysis state of this event for each analyzer and if the event has been fully processed for all analyzers, then removes it from our event cache. + + + + + Gets pending events for given set of analyzers for the given syntax tree. + + + + + Gets pending events for given set of analyzers for the given syntax tree. + + + + + Gets all pending events for given set of analyzers. + + + Indicates if source events (symbol declared, compilation unit completed event) should be included. + Indicates if compilation wide events (compilation started and completed event) should be included. + + + + Returns true if we have any pending syntax analysis for given analysis scope. + + + + + Returns true if we have any pending symbol analysis for given analysis scope. + + + + + Attempts to start processing a compilation event for the given analyzer. + + + Returns false if the event has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given event for the given analyzer. + + + + + Marks the given event as fully analyzed for the given analyzer. + + + + + Attempts to start processing a symbol for the given analyzer's symbol actions. + + + Returns false if the symbol has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given symbol for the given analyzer. + + + + + Marks the given symbol as fully analyzed for the given analyzer. + + + + + Attempts to start processing a symbol declaration for the given analyzer's syntax node and code block actions. + + + Returns false if the declaration has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given declaration for the given analyzer. + + + + + True if the given symbol declaration is fully analyzed. + + + + + Marks the given symbol declaration as fully analyzed for the given analyzer. + + + + + Marks all the symbol declarations for the given symbol as fully analyzed for all the given analyzers. + + + + + Attempts to start processing a syntax tree for the given analyzer's syntax tree actions. + + + Returns false if the tree has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial syntax analysis state for the given tree for the given analyzer. + + + + + Marks the given tree as fully syntactically analyzed for the given analyzer. + + + + + State kind of per-analyzer tracking an analyzer's partial analysis state. + An analysis state object can be in one of the following states: + 1. Completely unprocessed: + 2. Currently being processed: + 3. Partially processed by one or more older requests that was either completed or cancelled: + 4. Fully processed: We don't need a state kind to represent fully processed state as the analysis state object is discarded once fully processed. + + + + + Ready for processing. + Indicates it is either completely unprocessed or partially processed by one or more older requests that was either completed or cancelled. + + + + + Currently being processed. + + + + + Stores the partial analysis state for a specific symbol declaration for a specific analyzer. + + + + + Partial analysis state for code block actions executed on the declaration. + + + + + Stores the partial analysis state for syntax node actions executed on the declaration. + + + + + Stores the partial analysis state for code block actions executed on the declaration. + + + + + Contains telemetry info for a specific analyzer, such as count of registered actions, the total execution time, etc. + + + + + Count of registered compilation start actions. + + + + + Count of registered compilation end actions. + + + + + Count of registered compilation actions. + + + + + Count of registered syntax tree actions. + + + + + Count of registered semantic model actions. + + + + + Count of registered symbol actions. + + + + + Count of registered syntax node actions. + + + + + Count of registered code block start actions. + + + + + Count of registered code block end actions. + + + + + Count of registered code block actions. + + + + + Total execution time. + + + + + Contains the counts of registered actions for an analyzer. + + + + + Count of registered compilation start actions. + + + + + Count of registered compilation end actions. + + + + + Count of registered compilation actions. + + + + + Count of registered syntax tree actions. + + + + + Count of registered semantic model actions. + + + + + Count of registered symbol actions. + + + + + Count of registered syntax node actions. + + + + + Count of code block start actions. + + + + + Count of code block end actions. + + + + + Count of code block actions. + + + + + Contains the core execution logic for callbacks into analyzers. + + + + + Creates to execute analyzer actions with given arguments + + Compilation to be used in the analysis. + Analyzer options. + Delegate to add analyzer diagnostics. + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + Delegate to determine if the given analyzer is compiler analyzer. + We need to special case the compiler analyzer at few places for performance reasons. + Analyzer manager to fetch supported diagnostics. + + Delegate to fetch the gate object to guard all callbacks into the analyzer. + It should return a unique gate object for the given analyzer instance for non-concurrent analyzers, and null otherwise. + All analyzer callbacks for non-concurrent analyzers will be guarded with a lock on the gate. + + Flag indicating whether we need to log analyzer execution time. + Optional delegate to add local analyzer diagnostics. + Optional delegate to add non-local analyzer diagnostics. + Cancellation token. + + + + Creates to fetch . + + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + Analyzer manager to fetch supported diagnostics. + Flag indicating whether we need to log analyzer execution time. + Cancellation token. + + + + Executes the for the given analyzer. + + Analyzer to get session wide analyzer actions. + Session scope to store register session wide analyzer actions. + + Note that this API doesn't execute any registered by the Initialize invocation. + Use API + to get execute these actions to get the per-compilation analyzer actions. + + + + + Executes the compilation start actions. + + whose compilation start actions are to be executed. + Compilation scope to store the analyzer actions. + + + + Executes compilation actions or compilation end actions. + + Compilation actions to be executed. + Analyzer whose actions are to be executed. + Compilation event. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the symbol actions on the given symbol. + + Symbol actions to be executed. + Analyzer whose actions are to be executed. + Symbol to be analyzed. + Delegate to get topmost declaration node for a symbol declaration reference. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the semantic model actions on the given semantic model. + + Semantic model actions to be executed. + Analyzer whose actions are to be executed. + Semantic model to analyze. + Compilation event for semantic model analysis. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the syntax tree actions on the given syntax tree. + + Syntax tree actions to be executed. + Analyzer whose actions are to be executed. + Syntax tree to analyze. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Manages properties of analyzers (such as registered actions, supported diagnostics) for analyzer host's lifetime + and executes the callbacks into the analyzers. + + It ensures the following for the lifetime of analyzer host: + 1) is invoked only once per-analyzer. + 2) is invoked only once per-analyzer. + 3) registered during Initialize are invoked only once per-compilation per- + + + TODO: Consider moving and relevant APIs + out of the AnalyzerManager and into analyzer drivers. + + + + + Gets the default instance of the AnalyzerManager for the lifetime of the analyzer host process. + + + + + Cache descriptors for each diagnostic analyzer. We do this since is + a property rather than metadata. We expect it to be cheap and immutable, but we can't force them to be so, we cache them + and ask only once. + + + + + Get all the analyzer actions to execute for the given analyzer against a given compilation. + The returned actions include the actions registered during method as well as + the actions registered during for the given compilation. + + + + + Return of given . + + + + + This method should be invoked when the analyzer host is disposing off the analyzers. + It unregisters the exception handler hooked up to the descriptors' LocalizableString fields and subsequently removes the cached descriptors for the analyzers. + + + + + Returns true if all the diagnostics that can be produced by this analyzer are suppressed through options. + + + + + The last event placed into a compilation's event queue. + + + + + 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. + + + + + Options to configure analyzer execution within . + + + + + Options passed to s. + + + + + An optional delegate to be invoked when an analyzer throws an exception. + + + + + Flag indicating whether analysis can be performed concurrently on multiple threads. + + + + + Flag indicating whether analyzer execution time should be logged. + + + + + Flag indicating whether analyzer diagnostics with should be reported. + + + + + Creates a new . + + Options that are passed to analyzers. + Action to invoke if an analyzer throws an exception. + Flag indicating whether analysis can be performed concurrently on multiple threads. + Flag indicating whether analyzer execution time should be logged. + + + + Creates a new . + + Options that are passed to analyzers. + Action to invoke if an analyzer throws an exception. + Flag indicating whether analysis can be performed concurrently on multiple threads. + Flag indicating whether analyzer execution time should be logged. + Flag indicating whether analyzer diagnostics with should be reported. + + + + Queue to store analyzer diagnostics on the . + + + + + Simple diagnostics queue: maintains all diagnostics reported by all analyzers in a single queue. + + + + + Categorized diagnostics queue: maintains separate set of simple diagnostic queues for local semantic, local syntax and non-local diagnostics for every analyzer. + + + + + Scope for setting up analyzers for an entire session, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for a compilation, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for a code block, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for an entire session, capable of retrieving the actions. + + + + + Scope for setting up analyzers for a compilation, capable of retrieving the actions. + + + + + Scope for setting up analyzers for a code block, capable of retrieving the actions. + + + + + Actions registered by a particular analyzer. + + + + + Append analyzer actions from to actions from this instance. + + Analyzer actions to append. + + + + 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. + + + + + Lockable object only instance is knowledgeable about. + + + + + 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. + + If you need to manage the lifetime of the analyzer reference (and the file stream) explicitly use . + + + + + Creates an AnalyzerFileReference with the given and . + + Full path of the analyzer assembly. + Loader for obtaining the from the + + + + Adds the of of + for all languages defined in this assembly reference. + + + + + Adds the of defined in this assembly reference of given . + + + + + Opens the analyzer dll with the metadata reader and builds a map of language -> analyzer type names. + + The PE image format is invalid. + IO error reading the metadata. + + + + If a specific analyzer failed to load the namespace-qualified name of its type, null otherwise. + + + + + Error message. + + + + + Error code. + + + + + Exception that was thrown while loading the analyzer. May be null. + + + + + DiagnosticAnalyzer for compiler's syntax/semantic/compilation diagnostics. + + + + + Per-compilation DiagnosticAnalyzer for compiler's syntax/semantic/compilation diagnostics. + + + + + Driver to execute diagnostic analyzers for a given compilation. + It uses a of s 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 + AnalyzerManager to manage analyzers for the lifetime of analyzer host. + + + + Represents an in-memory analyzer reference image. + + + + + Options passed to . + + + + + A set of additional non-code text files that can be used by analyzers. + + + + + Creates analyzer options to be passed to . + + A set of additional non-code text files that can be used by analyzers. + + + + Returns analyzer options with the given . + + + + + 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. + + + Should not be null. + + + + + A unique identifier for this analyzer reference. + + + Should not be null. + Note that this and serve different purposes. An analyzer reference may not + have a path, but it always has an ID. Further, two analyzer references with different paths may + represent two copies of the same analyzer, in which case the IDs should also be the same. + + + + + Gets all the diagnostic analyzers defined in this assembly reference, irrespective of the language supported by the analyzer. + Use this method only if you need all the analyzers defined in the assembly, without a language context. + In most instances, either the analyzer reference is associated with a project or is being queried for analyzers in a particular language context. + If so, use method. + + + + + Gets all the diagnostic analyzers defined in this assembly reference for the given . + + Language name. + + + + Pool of s used for analyzer execution. + + + + + Contains the partial analysis state per-analyzer. It tracks: + 1. Global set of pending compilation events. This is used to populate the event queue for analyzer execution. + 2. Per-analyzer set of pending compilation events, symbols, declarations, etc. Each of these pending entities has a state object to track partial analysis. + + + + + Cache of the current analysis results: + 1. Local and non-local diagnostics. + 2. Analyzer execution times, if is true. + + + + + Set of exception diagnostics reported for exceptions thrown by the analyzers. + + + + + Lock to track the set of active tasks computing tree diagnostics and task computing compilation diagnostics. + + + + + Used to generate a unique token for each tree diagnostics request. + The token is used to determine the priority of each request. + Each new tree diagnostic request gets an incremented token value and has higher priority over other requests for the same tree. + Compilation diagnostics requests always have the lowest priority. + + + + + Map from active tasks computing tree diagnostics to their token number. + + + + + Pool of event queues to serve each diagnostics request. + + + + + Underlying with a non-null , used to drive analyzer execution. + + + + + Analyzers to execute on the compilation. + + + + + Options to configure analyzer execution. + + + + + An optional cancellation token which can be used to cancel analysis. + Note: This token is only used if the API invoked to get diagnostics doesn't provide a cancellation token. + + + + + Creates a new compilation by attaching diagnostic analyzers to an existing compilation. + + The original compilation. + The set of analyzers to include in future analyses. + Options that are passed to analyzers. + A cancellation token that can be used to abort analysis. + + + + Creates a new compilation by attaching diagnostic analyzers to an existing compilation. + + The original compilation. + The set of analyzers to include in future analyses. + Options to configure analyzer execution. + + + + Returns diagnostics produced by all . + + + + + Returns diagnostics produced by all . + + + + + Returns diagnostics produced by given . + + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns all diagnostics produced by compilation and by all . + + + + + Returns all diagnostics produced by compilation and by all . + + + + + Returns diagnostics produced by compilation actions of all . + + + + + Returns diagnostics produced by compilation actions of given . + + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns syntax diagnostics produced by all from analyzing the given . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Syntax tree to analyze. + Cancellation token. + + + + Returns syntax diagnostics produced by given from analyzing the given . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Syntax tree to analyze. + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns semantic diagnostics produced by all from analyzing the given , optionally scoped to a . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Semantic model representing the syntax tree to analyze. + An optional span within the tree to scope analysis. + Cancellation token. + + + + Returns semantic diagnostics produced by all from analyzing the given , optionally scoped to a . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Semantic model representing the syntax tree to analyze. + An optional span within the tree to scope analysis. + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Core method for executing analyzers. + + + + + 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. + Analyzer to be checked for suppression. + Compilation options. + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + + + + + This method should be invoked when the analyzer host is disposing off the given . + It clears the cached internal state (supported descriptors, registered actions, exception handlers, etc.) for analyzers. + + Analyzers whose state needs to be cleared. + + + + Gets telemetry info for the given analyzer, such as count of registered actions, the total execution time (if is true), etc. + + + + + Gets the count of registered actions for the analyzer. + + + + + Gets the execution time for the given analyzer. + + + + + Returns a new compilation with attached diagnostic analyzers. + + Compilation to which analyzers are to be added. + The set of analyzers to include in future analyses. + Options that are passed to analyzers. + A cancellation token that can be used to abort analysis. + + + + Returns a new compilation with attached diagnostic analyzers. + + Compilation to which analyzers are to be added. + The set of analyzers to include in future analyses. + Options to configure analyzer execution within . + + + + Represents an analyzer reference that can't be resolved. + + + For error reporting only, can't be used to reference an analyzer assembly. + + + + + Context for initializing an analyzer. + Analyzer initialization can use an to register actions to be executed at any of: + + + compilation start, + + + compilation end, + + + completion of parsing a code document, + + + completion of semantic analysis of a code document, + + + completion of semantic analysis of a symbol, + + + start of semantic analysis of a method body or an expression appearing outside a method body, + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + Register an action to be executed at compilation start. + A compilation start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Action to be executed at compilation start. + + + + Register an action to be executed for a complete compilation. + A compilation action reports s about the . + + Action to be executed at compilation end. + + + + Register an action to be executed at completion of semantic analysis of a document, + which will operate on the of the document. A semantic model action + reports s about the model. + + Action to be executed for a document's . + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at the start of semantic analysis of a method body or an expression appearing outside a method body. + A code block start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at the start of semantic analysis of a code block. + + + + Register an action to be executed after semantic analysis of a method body or an expression appearing outside a method body. + A code block action reports s about code blocks. + + Action to be executed for a code block. + + + + Register an action to be executed at completion of parsing of a code document. + A syntax tree action reports s about the of a document. + + Action to be executed at completion of parsing of a document. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a compilation start action. + A compilation start action can use a to register actions to be executed at any of: + + + compilation end, + + + completion of parsing a code document, + + + completion of semantic analysis of a code document, + + + completion of semantic analysis of a symbol, + + + start of semantic analysis of a method body or an expression appearing outside a method body, + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Register an action to be executed at compilation end. + A compilation end action reports s about the . + + Action to be executed at compilation end. + + + + Register an action to be executed at completion of semantic analysis of a document, + which will operate on the of the document. A semantic model action + reports s about the model. + + Action to be executed for a document's . + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at the start of semantic analysis of a method body or an expression appearing outside a method body. + A code block start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at the start of semantic analysis of a code block. + + + + Register an action to be executed at the end of semantic analysis of a method body or an expression appearing outside a method body. + A code block action reports s about code blocks. + + Action to be executed for a code block. + + + + Register an action to be executed at completion of parsing of a code document. + A syntax tree action reports s about the of a document. + + Action to be executed at completion of parsing of a document. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a compilation action or compilation end action. + A compilation action or compilation end action can use a to report s about a . + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a semantic model action. + A semantic model action operates on the of a code document, and can use a to report s about the model. + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a symbol action. + A symbol action can use a to report s about an . + + + + + that is the subject of the analysis. + + + + + containing the . + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about an . + + to be reported. + + + + Context for a code block start action. + A code block start action can use a to register actions to be executed + at any of: + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + Method body or expression subject to analysis. + + + + + for which the code block provides a definition or value. + + + + + that can provide semantic information about the s in the code block. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Register an action to be executed at the end of semantic analysis of a method body or an expression appearing outside a method body. + A code block end action reports s about code blocks. + + Action to be executed at the end of semantic analysis of a code block. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a code block action or code block end action. + A code block action or code block end action can use a to report s about a code block. + + + + + Code block that is the subject of the analysis. + + + + + for which the code block provides a definition or value. + + + + + that can provide semantic information about the s in the code block. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a code block. + + to be reported. + + + + Context for a syntax tree action. + A syntax tree action can use a to report s about a for a code document. + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a syntax node action. + A syntax node action can use a to report s for a . + + + + + that is the subject of the analysis. + + + + + that can provide semantic information about the . + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + The base type for diagnostic analyzers. + + + + + Returns a set of descriptors for the diagnostics that this analyzer is capable of producing. + + + + + Called once at session start to register actions in the analysis context. + + + + + + A queue whose enqueue and dequeue operations can be performed in parallel. + + The type of values kept by the queue. + + + + The number of unconsumed elements in the queue. + + + + + Adds an element to the tail of the queue. This method will throw if the queue + is completed. + + The queue is already completed. + The value to add. + + + + Tries to add an element to the tail of the queue. This method will return false if the queue + is completed. + + The value to add. + + + + Attempts to dequeue an existing item and return whether or not it was available. + + + + + Gets a value indicating whether the queue has completed. + + + + + Signals that no further elements will be enqueued. All outstanding and future + Dequeue Task will be cancelled. + + The queue is already completed. + + + + Same operation as except it will not + throw if the queue is already completed. + + Whether or not the operation succeeded. + + + + Gets a task that transitions to a completed state when or + is called. This transition will not happen synchronously. + + This Task will not complete until it has completed all existing values returned + from . + + + + + Gets a task whose result is the element at the head of the queue. If the queue + is empty, the returned task waits for an element to be enqueued. If + is called before an element becomes available, the returned task is cancelled. + + + + + + Note: The early cancellation behavior is intentional. + + + + + Place this attribute onto a type to cause it to be considered a diagnostic analyzer. + + + + + The source languages to which this analyzer applies. See . + + + + + Attribute constructor used to specify automatic application of a diagnostic analyzer. + + One language to which the analyzer applies. + Additional languages to which the analyzer applies. See . + + + + A set of utilities for converting from a decimal floating-point literal string to its IEEE float + or double representation, which coniders all digits signficant and correctly rounds according to + the IEEE round-to-nearest-ties-to-even mode. This code does not support a leading sign character, + as that is not part of the C# or VB floating-point literal lexical syntax. + + If you change this code, please run the set of long-running random tests in the solution + RandomRealParserTests.sln. That solution is not included in Roslyn.sln as it is Windows-specific. + + + + + Try parsing a correctly-formatted double floating-point literal into the nearest representable double + using IEEE round-to-nearest-ties-to-even rounding mode. Behavior is not defined for inputs that are + not valid C# floating-point literals. + + The decimal floating-point constant's string + The nearest double value, if conversion succeeds + True of the input was converted; false if there was an overflow + + + + Try parsing a correctly-formatted float floating-point literal into the nearest representable float + using IEEE round-to-nearest-ties-to-even rounding mode. Behavior is not defined for inputs that are + not valid C# floating-point literals. + + The float floating-point constant's string + The nearest float value, if conversion succeeds + True of the input was converted; false if there was an overflow + + + + Properties of an IEEE floating-point representation. + + + + + Converts the floating point value 0.mantissa * 2^exponent into the + correct form for the FloatingPointType and stores the bits of the resulting value + into the result object. + The caller must ensure that the mantissa and exponent are correctly computed + such that either [1] the most significant bit of the mantissa is in the + correct position for the FloatingType, or [2] the exponent has been correctly + adjusted to account for the shift of the mantissa that will be required. + + This function correctly handles range errors and stores a zero or infinity in + the result object on underflow and overflow errors, respectively. This + function correctly forms denormal numbers when required. + + If the provided mantissa has more bits of precision than can be stored in the + result object, the mantissa is rounded to the available precision. Thus, if + possible, the caller should provide a mantissa with at least one more bit of + precision than is required, to ensure that the mantissa is correctly rounded. + (The caller should not round the mantissa before calling this function.) + + The bits of the mantissa + The exponent + Whether there are any nonzero bits past the supplied mantissa + Where the bits of the floating-point number are stored + A status indicating whether the conversion succeeded and why + + + + Properties of a C# float. + + + + + Properties of a C# double. + + + + + This type is used to hold a partially-parsed string representation of a + floating point number. The number is stored in the following form: +
+                0.Mantissa * 10^Exponent
+             
+ The Mantissa buffer stores the mantissa digits as characters in a string. + The MantissaCount gives the number of digits present in the Mantissa buffer. + There shall be neither leading nor trailing zero digits in the Mantissa. + Note that this represents only nonnegative floating-point literals; the + negative sign in C# and VB is actually a separate unary negation operator. +
+
+ + + Create a DecimalFloatingPointString from a string representing a floating-point literal. + + The text of the floating-point literal + + + + Convert a DecimalFloatingPointString to the bits of the given floating-point type. + + + + + This function is part of the fast track for integer floating point strings. + It takes an integer stored as an array of bytes (lsb first) and converts the value into its FloatingType + representation, storing the bits into "result". If the value is not + representable, +/-infinity is stored and overflow is reported (since this + function only deals with integers, underflow is impossible). + + the bits of the integer, least significant bits first + the number of bits of precision in integerValueAsBytes + whether there are nonzero digits after the decimal + the kind of real number to build + the result + An indicator of the kind of result + + + + Parse a sequence of digits into a BigInteger. + + The DecimalFloatingPointString containing the digits in its Mantissa + The index of the first digit to convert + The index just past the last digit to convert + The BigInteger result + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Computes value / 2^shift, then rounds the result according to the current + rounding mode. By the time we call this function, we will already have + discarded most digits. The caller must pass true for has_zero_tail if + all discarded bits were zeroes. + + The value to shift + The amount of shift + Whether there are any less significant nonzero bits in the value + + + + + Determines whether a mantissa should be rounded up in the + round-to-nearest-ties-to-even mode given [1] the value of the least + significant bit of the mantissa, [2] the value of the next bit after + the least significant bit (the "round" bit) and [3] whether any + trailing bits after the round bit are set. + + The mantissa is treated as an unsigned integer magnitude. + + For this function, "round up" is defined as "increase the magnitude" of the + mantissa. + + the least-significant bit of the representable value + the bit following the least-significant bit + true if there are any (less significant) bits set following roundBit + + + + + Multiply a BigInteger by the given power of two. + + The BigInteger to multiply by a power of two and replace with the product + The power of two to multiply it by + + + + Multiply a BigInteger by the given power of ten. + + The BigInteger to multiply by a power of ten and replace with the product + The power of ten to multiply it by + + + + Convert a float value to the bits of its representation + + + + + Convert the bits of its representation to a float + + + + + A union used to convert between a float and the bits of its representation + + + + + Adds aliases of a specified reference to the merged set of aliases. + Consider the following special cases: + + o {} + {} = {} + If neither reference has any aliases then the result has no aliases. + + o {A} + {} = {A, global} + {} + {A} = {A, global} + + If one and only one of the references has aliases we add the global alias since the + referenced declarations should now be accessible both via existing aliases + as well as unqualified. + + o {A, A} + {A, B, B} = {A, A, B, B} + We preserve dups in each alias array, but avoid making more dups when merging. + + + + + Defines a set of helper methods to classify Unicode characters. + + + + + Returns true if the Unicode character can be a part of an identifier. + + The Unicode character. + + + + Check that the name is a valid Unicode identifier. + + + + + 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. + + + + 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 Analyzer Driver Failure. + + + + + Looks up a localized string similar to Analyzer driver threw an exception of type '{0}' with message '{1}'.. + + + + + Looks up a localized string similar to Analyzer driver threw the following exception: + '{0}'.. + + + + + Looks up a localized string similar to Time (s). + + + + + Looks up a localized string similar to Analyzer. + + + + + Looks up a localized string similar to Total analyzer execution time: {0} seconds.. + + + + + Looks up a localized string similar to Argument cannot be empty.. + + + + + Looks up a localized string similar to Argument cannot have a null element.. + + + + + 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 Can't create a module reference to an assembly.. + + + + + Looks up a localized string similar to Can't create a metadata reference to an assembly without location.. + + + + + Looks up a localized string similar to Can't create a metadata reference to a dynamic assembly.. + + + + + Looks up a localized string similar to The changes must be ordered and not overlapping.. + + + + + 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 Analyzer Failure. + + + + + Looks up a localized string similar to Analyzer '{0}' threw an exception of type '{1}' with message '{2}'.. + + + + + Looks up a localized string similar to Analyzer '{0}' threw the following exception: + '{1}'.. + + + + + Looks up a localized string similar to constructor. + + + + + Looks up a localized string similar to delegate. + + + + + Looks up a localized string similar to A DiagnosticDescriptor must have an Id that is neither null nor an empty string nor a string that only contains white space.. + + + + + Looks up a localized string similar to Argument contains duplicate analyzer instances.. + + + + + Looks up a localized string similar to A key in the pathMap is empty.. + + + + + 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 A value in the pathMap is empty.. + + + + + 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 Inconsistent language versions. + + + + + 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 data at offset {0}: {1}{2}*{3}{4}. + + + + + Looks up a localized string similar to Reported diagnostic has an ID '{0}', which is not a valid identifier.. + + + + + Looks up a localized string similar to Invalid hash.. + + + + + Looks up a localized string similar to Invalid module name specified in metadata module '{0}': '{1}'. + + + + + Looks up a localized string similar to Node to track is not a descendant of the root.. + + + + + Looks up a localized string similar to Invalid output kind for submission. DynamicallyLinkedLibrary expected.. + + + + + Looks up a localized string similar to Invalid public key.. + + + + + Looks up a localized string similar to Invalid public key token.. + + + + + 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 size of public key token.. + + + + + Looks up a localized string similar to Syntax tree doesn't belong to the underlying 'Compilation'.. + + + + + Looks up a localized string similar to Argument to '/keepalive' option is not a 32-bit integer.. + + + + + Looks up a localized string similar to Arguments to '/keepalive' option below -1 are invalid.. + + + + + Looks up a localized string similar to '/keepalive' option is only valid with '/shared' option.. + + + + + Looks up a localized string similar to A key in the pathMap ends with a path separator.. + + + + + Looks up a localized string similar to method. + + + + + Looks up a localized string similar to Roslyn compiler server reports different protocol version than build task.. + + + + + Looks up a localized string similar to Missing argument for '/keepalive' option.. + + + + + Looks up a localized string similar to The item specified is not the element of a list.. + + + + + 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 NOTE: Elapsed time may be less than analyzer execution time because analyzers can run concurrently.. + + + + + 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 No analyzers found. + + + + + Looks up a localized string similar to Cannot deserialize type '{0}', no binder supplied.. + + + + + Looks up a localized string similar to A node or token is out of sequence.. + + + + + Looks up a localized string similar to Cannot deserialize type '{0}', it has no deserialization reader.. + + + + + Looks up a localized string similar to The type '{0}' cannot be written, it does not implement IObjectWritable. + + + + + 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 ended at {0} bytes, expected {1} bytes.. + + + + + 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 attribute {0} has an invalid value of {1}.. + + + + + Looks up a localized string similar to The rule set file has duplicate rules for '{0}' with differing actions '{1}' and '{2}'.. + + + + + Looks up a localized string similar to The element {0} is missing an attribute named {1}.. + + + + + 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 Stream must be writable.. + + + + + Looks up a localized string similar to struct. + + + + + Looks up a localized string similar to SymWriter doesn't support deterministic compilation. + + + + + 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 A node in the list is not of the expected type.. + + + + + Looks up a localized string similar to Unresolved: . + + + + + Looks up a localized string similar to Argument contains an analyzer instance that does not belong to the 'Analyzers' for this CompilationWithAnalyzers instance.. + + + + + Looks up a localized string similar to Reported diagnostic with ID '{0}' is not supported by the analyzer.. + + + + + Looks up a localized string similar to Unsupported hash algorithm.. + + + + + 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.. + + + + + Maps an array builder to 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 array builder to 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. + + + + Create BitArray with at least the specified number of bits. + + + + + return a bit array with all bits set from index 0 through bitCount-1 + + + + + + + Make 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. + + + + + + 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 associated 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 experiments, 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. + + + + + 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 (default) + + + + + 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. + + + + + Describes a command line analyzer assembly specification. + + + + + Assembly file path. + + + + + 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 + . + + + + + Drop to an interactive loop. If a script is specified in executes the script first. + + + + + 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. + + + + + A list of pairs of paths. This stores the value of the command-line compiler + option /pathMap:X1=Y1;X2=Y2... which causes a prefix of X1 followed by a path + separator to be replaced by Y1 followed by a path separator, and so on for each following pair. + + + This option is used to help get build-to-build determinism even when the build + directory is different from one build to the next. The prefix matching is case sensitive. + + + + + Sequence of absolute paths used to search for references. + + + + + Sequence of absolute paths used to search for sources specified as #load directives. + + + + + Sequence of absolute paths used to search for key files. + + + + + If true, use UTF8 for output. + + + + + Compilation name or null if not specified. + + + + + Gets the emit options. + + + + + Name of the output file or null if not specified. + + + + + Path of the PDB file or null if same as output binary path with .pdb extension. + + + + + True to emit PDB file. + + + + + Absolute path of the output directory. + + + + + Absolute path of the documentation comment XML file or null if not specified. + + + + + Absolute path of the error log 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. + + + + + A set of additional non-code text files that can be used by analyzers. + + + + + Report additional information related to analyzers, such as analyzer execution time. + + + + + 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. + + + + + Hash algorithm to use to calculate source file debug checksums. + + + + + Arguments following a script file or separator "--". Null if the command line parser is not interactive. + + + + + 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. + + + + + Full 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. + Yields resolved metadata references or . + 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. + + + called by CommonCompiler with diagnostics and message provider + + + + + Resolves analyzer references stored in using given file resolver. + + Load an assembly from a file path + 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. + + + + Parses a command line. + + A collection of strings representing the command line arguments. + The base directory used for qualifying file locations. + The directory to search for mscorlib, or null if not available. + A string representing additional reference paths. + a object representing the parsed command line. + + + + Trims all '.' and whitespace from the end of the path + + + + + Returns false if any of the client arguments are invalid and true otherwise. + + + The original args to the client. + + + The original args minus the client args, if no errors were encountered. + + + Only defined if no errors were encountered. + True if '/shared' was an argument, false otherwise. + + + Only defined if no errors were encountered. + The value to the '/keepalive' argument if one was specified, null otherwise. + + + Only defined if errors were encountered. + The error message for the encountered error. + + + + + Parse a response file into a set of arguments. Errors opening 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. + + + + + Split a command line by the same rules as Main would get the commands except the original + state of backslashes and quotes are preserved. For example in normal Windows command line + parsing the following command lines would produce equivalent Main arguments: + + - /r:a,b + - /r:"a,b" + + This method will differ as the latter will have the quotes preserved. The only case where + quotes are removed is when the entire argument is surrounded by quotes without any inner + quotes. + + + 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. + + + + + Remove the extraneous quotes and slashes from the argument. This function is designed to have + compat behavior with the native compiler. + + + Mimics the function RemoveQuotes from the native C# compiler. The native VB equivalent of this + function is called RemoveQuotesAndSlashes. It has virtually the same behavior except for a few + quirks in error cases. + + + + + Mimic behavior of the native function by the same name. + + + + + Split a string, based on whether "splitHere" returned true on each character. + + + + + 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. + + + + Base class for csc.exe, csi.exe, vbc.exe and vbi.exe implementations. + + + + + This implementation of will delay the creation + of the PE / PDB file until the compiler determines the compilation has succeeded. This prevents + the compiler from deleting output from the previous compilation when a new compilation + fails. + + + + + Resolves metadata references stored in command line arguments and reports errors for those that can't be resolved. + + + + + Reads content of a source file. + + Source file information. + Storage for diagnostics. + File content or null on failure. + + + + Reads content of a source file. + + Source file information. + Storage for diagnostics. + 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. + + + + + When overridden 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. + + + + + Used for logging all compiler diagnostics into a given . + This logger is responsible for closing the given stream on . + + + + + Represents an issue to be logged into the error log. + This could be corresponding to a or a reported by the . + + + + + Represents a value for a key-value pair to be emitted into the error log file. + This could be a simple string or an integer OR could be a list of identical values OR a group of heterogeneous key-value pairs. + + + + + Contains well known property strings for error log 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. + + + + + 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. + + + 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. + + + + + Abstraction that allows the caller to delay the creation of the values + until they are actually needed. + + + + + Returns an existing open stream or null if no stream has been open. + + + + + This method will be called once during Emit at the time the Compilation needs + to create a stream for writing. It will not be called in the case of + user errors in code. Shall not be called when returns non-null. + + + + + 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). + + + + + Used for test purposes only to emulate missing members. + + + + + Used for test purposes only to emulate missing members. + + + + + 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. + + The specified syntax tree. + + True if the SemanticModel should ignore accessibility rules when answering semantic questions. + + + + + 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 globals object or null if not specified for this compilation. + + + + + 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. + + + + Create a stream filled with default win32 resources. + + + + + Constructs the module serialization properties out of the compilation options of this compilation. + + + + + The value is not used by Windows loader, but the OS appcompat infrastructure uses it to identify apps. + It is useful for us to have a mechanism to identify the compiler that produced the binary. + This is the appropriate value to use for that. That is what it was invented for. + We don't want to have the high bit set for this in case some users perform a signed comparison to + determine if the value is less than some version. The C++ linker is at 0x0B. + We'll start our numbering at 0x30 for C#, 0x50 for VB. + + + + + 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. + 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. + 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 options. + To cancel the emit process. + + + + Emit the IL for the compiled source code into the specified stream. + + Stream to which the compilation will be written. + 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. + 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 options. + + Debug entry-point of the assembly. The method token is stored in the generated PDB stream. + + When a program launches with a debugger attached the debugger places the first breakpoint to the start of the debug entry-point method. + The CLR starts executing the static Main method of type. When the first breakpoint is hit + the debugger steps thru the code statement by statement until user code is reached, skipping methods marked by , + and taking other debugging attributes into consideration. + + By default both entry points in an executable program (, , ) + are the same method (Main). A non-executable program has no entry point. Runtimes that implement a custom loader may specify debug entry-point + to force the debugger to skip over complex custom loader logic executing at the beginning of the .exe and thus improve debugging experience. + + Unlike ordinary entry-point which is limited to a non-generic static method of specific signature, there are no restrictions on the + method other than having a method body (extern, interface, or abstract methods are not allowed). + + To cancel the emit process. + + + + 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. + + + + 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. + + + + + 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. + + + + + Return true if there is a source declaration symbol name that meets given predicate. + + + + + Return source declaration symbols whose name meets given predicate. + + + + + 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 retargeting symbols into the given list. + must be locked while calling this method. + + + + + Indicate what kinds of declaration symbols will be included + + + + + None + + + + + include namespace symbols + + + + + include type symbols + + + + + include member symbols such as method, event, property, field + + + + + include type and member + + + + + include all namespace, type and member + + + + + Policy to be used when matching assembly reference to an assembly definition across platforms. + + + + + Converts to . + + Major, minor, build or revision number are less than 0 or greater than 0xFFFF. + + + 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. + + + + + + + + + + + + + + + + Handles loading analyzer assemblies and their dependencies. + + Before an analyzer assembly is loaded with , + its location and the location of all of its dependencies must first be specified + by calls to . + + + To the extent possible, implementations should remain consistent in the face + of exceptions and allow the caller to handle them. This allows the caller to + decide how to surface issues to the user and whether or not they are fatal. For + example, if asked to load an a non-existent or inaccessible file a command line + tool may wish to exit immediately, while an IDE may wish to keep going and give + the user a chance to correct the issue. + + + + + Given the full path to an assembly on disk, loads and returns the + corresponding object. + + + Multiple calls with the same path should return the same + instance. + + + + + Adds a file to consider when loading an analyzer or its dependencies. + + + + + A localizable resource string that may possibly be formatted differently depending on culture. + + + + + Creates a localizable resource string with no formatting arguments. + + nameof the resource that needs to be localized. + for the calling assembly. + Type handling assembly's resource management. Typically, this is the static class generated for the resources file from which resources are accessed. + + + + Creates a localizable resource string that may possibly be formatted differently depending on culture. + + nameof the resource that needs to be localized. + for the calling assembly. + Type handling assembly's resource management. Typically, this is the static class generated for the resources file from which resources are accessed. + Optional arguments for formatting the localizable resource string. + + + + A string that may possibly be formatted differently depending on culture. + NOTE: Types implementing must be serializable. + + + + + FixedLocalizableString representing an empty string. + + + + + Fired when an exception is raised by any of the public methods of . + If the exception handler itself throws an exception, that exception is ignored. + + + + + Formats the value of the current instance using the optionally specified format. + + + + + Formats the value of the current instance using the optionally specified format. + Provides the implementation of ToString. ToString will provide a default value + if this method throws an exception. + + + + + Provides the implementation of GetHashCode. GetHashCode will provide a default value + if this method throws an exception. + + + + + + Provides the implementation of Equals. Equals will provide a default value + if this method throws an exception. + + + + + + Represents compilation emit options. + + + + + True to emit an assembly excluding executable code such as method bodies. + + + + + Tolerate errors, producing a PE stream and a success result even in the presence of (some) errors. + + + + + Unless set (private) members that don't affect the language semantics of the resulting assembly will be excluded + when emitting with on. + + + Has no effect when is false. + + + + + Subsystem version + + + + + 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 . + + + + + True to enable high entropy virtual address space for the output binary. + + + + + Specifies the preferred base address at which to load the output DLL. + + + + + Debug information format. + + + + + Assembly name override - file name and extension. If not specified the compilation name is used. + + + By default the name of the output assembly is . Only in rare cases it is necessary + to override the 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 to be embedded in the PE image, or null to use the default. + + + If not specified the file name of the source module with an extension changed to "pdb" is used. + + + + + Runtime metadata version. + + + + + Sets the byte alignment for portable executable file sections. + + Can be one of the following values: 0, 512, 1024, 2048, 4096, 8192 + + + + No change. + + + + + Node value was updated. + + + + + Node was inserted. + + + + + Node was deleted. + + + + + Debugging information associated with the specified method that is emitted by the compiler to support Edit and Continue. + + + + + Deserializes Edit and Continue method debug information from specified blobs. + + Local variable slot map. + Lambda and closure map. + Invalid data. + + + Invalid data. + + + + Merges synthesized members generated during lowering of the current compilation with aggregate synthesized members + from all previous source generations (gen >= 1). + + + Suppose {S -> {A, B, D}, T -> {E, F}} are all synthesized members in previous generations, + and {S' -> {A', B', C}, U -> {G, H}} members are generated in the current compilation. + + Where X matches X' via this matcher, i.e. X' is from the new compilation and + represents the same metadata entity as X in the previous compilation. + + Then the resulting collection shall have the following entries: + {S' -> {A', B', C, D}, U -> {G, H}, T -> {E, F}} + + + + + 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. + + + + + Name of the anonymous type field. + + + + + True if the anonymous type field was marked as 'Key' in VB. + + + + + is case insensitive. + + + + + Return tokens for all modified debuggable 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 for a method handle returns Edit and Continue debug information emitted by the compiler into the PDB. + + 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. + + + + + EnC metadata for methods added or updated since the initial generation, indexed by method row id. + + + + + 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. + + + + + True if the symbol is a source symbol added during EnC session. + The symbol may be declared in any source compilation in the current solution. + + + + + 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. + + Note that these changes only include user-defined source symbols, not synthesized symbols since those will be + generated during lowering of the changed user-defined symbols. + + + + + 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 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. + + + + + EnC generation. + + + + + 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) + + + + + 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 is false and the map is not needed or + the source of the current method is the same as the source of the previous 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 long lived local. + + + + + 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 is false and the map is not needed or + the source of the current method is the same as the source of the previous method. + + + True if the edit is an update of an active method and local values should be preserved; false otherwise. + + + or is null and the edit isn't an or , respectively. + + + is not a valid kind. + + + + + Encoding to use when there is no byte order mark (BOM) on the stream. This encoder may throw a + if the stream contains invalid UTF-8 bytes. + + + + + Encoding to use when UTF-8 fails. We try to find the following, in order, if available: + 1. The default ANSI codepage + 2. CodePage 1252. + 3. Latin1. + + + + + Initializes an instance of from the provided stream. This version differs + from in two ways: + 1. It attempts to minimize allocations by trying to read the stream into a byte array. + 2. If is null, it will first try UTF8 and, if that fails, it will + try CodePage 1252. If CodePage 1252 is not available on the system, then it will try Latin1. + + The stream containing encoded text. + + Specifies an encoding to be used if the actual encoding can't be determined from the stream content (the stream doesn't start with Byte Order Mark). + If not specified auto-detect heuristics are used to determine the encoding. If these heuristics fail the decoding is assumed to be Encoding.Default. + Note that if the stream starts with Byte Order Mark the value of is ignored. + + Hash algorithm used to calculate document checksum. + + The stream content can't be decoded using the specified , or + is null and the stream appears to be a binary file. + + An IO error occurred while reading from the stream. + + + + Try to create a from the given stream using the given encoding. + + The input stream containing the encoded text. The stream will not be closed. + The expected encoding of the stream. The actual encoding used may be different if byte order marks are detected. + The checksum algorithm to use. + Throw if binary (non-text) data is detected. + The decoded from the stream. + The decoder was unable to decode the stream with the given encoding. + + internal for unit testing + + + + + Some streams are easily represented as byte arrays. + + The stream + + The contents of as a byte array or null if the stream can't easily + be read into a byte array. + + + + + 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. + + True if a byte array could be created. + + + + Read the contents of a FileStream into a byte array. + + The FileStream with encoded text. + A byte array filled with the contents of the file. + True if a byte array could be created. + + + + A composite of a sequence of s. + + + + + Validates the arguments passed to against the published contract. + + True if should bother to proceed with copying. + + + + A optimized for very large sources. The text is stored as + a list of chunks (char arrays). + + + + + internal for unit testing + + + + + Check for occurrence of two consecutive NUL (U+0000) characters. + This is unlikely to appear in genuine text, so it's a good heuristic + to detect binary files. + + + + + Called from to initialize the . Thereafter, + the collection is cached. + + A new representing the individual text lines. + + + + 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. + precedes . + + + + Gets the start position of the span. + + + + + Gets the end position of the span. + + + + + Provides a string representation for . + + (0,0)-(5,6) + + + + Specifies a hash algorithms used for hashing source files. + + + + + No algorithm specified. + + + + + Secure Hash Algorithm 1. + + + + + Secure Hash Algorithm 2 with a hash size of 256 bits. + + + + + An abstraction of source text. + + + + + Constructs a from text in a string. + + Text. + + Encoding of the file that the was read from or is going to be saved to. + null if the encoding is unspecified. + If the encoding is not specified the resulting isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + is null. + is not supported. + + + + Constructs a from stream content. + + Stream. The stream must be seekable. + + Data encoding to use if the stream doesn't start with Byte Order Mark specifying the encoding. + if not specified. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + If the decoded text contains at least two consecutive NUL + characters, then an is thrown. + is null. + + doesn't support reading or seeking. + is not supported. + + If the given encoding is set to use a throwing decoder as a fallback + Two consecutive NUL characters were detected in the decoded text and was true. + An I/O error occurs. + Reads from the beginning of the stream. Leaves the stream open. + + + + Constructs a from a byte array. + + The encoded source buffer. + The number of bytes to read from the buffer. + + Data encoding to use if the encoded buffer doesn't start with Byte Order Mark. + if not specified. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + If the decoded text contains at least two consecutive NUL + characters, then an is thrown. + The decoded text. + The is null. + The is negative or longer than the . + is not supported. + If the given encoding is set to use a throwing decoder as a fallback + Two consecutive NUL characters were detected in the decoded text and was true. + + + + Decode text from a stream. + + The stream containing encoded text. + The encoding to use if an encoding cannot be determined from the byte order mark. + The actual encoding used. + The decoded text. + If the given encoding is set to use a throwing decoder as a fallback + + + + Decode text from a byte array. + + The byte array containing encoded text. + The count of valid bytes in . + The encoding to use if an encoding cannot be determined from the byte order mark. + The actual encoding used. + The decoded text. + If the given encoding is set to use a throwing decoder as a fallback + + + + Check for occurrence of two consecutive NUL (U+0000) characters. + This is unlikely to appear in genuine text, so it's a good heuristic + to detect binary files. + + + internal for unit testing + + + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + + + + Encoding of the file that the text was read from or is going to be saved to. + null if the encoding is unspecified. + + + If the encoding is not specified the source isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + + + 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 . + + + + 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. + + + + + 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. + + + + + Called from to initialize the . Thereafter, + the collection is cached. + + A new representing the individual text lines. + + + + Compares the content with content of another . + + + + + Implements equality comparison of the content of two different instances of . + + + + + Detect an encoding by looking for byte order marks. + + A buffer containing the encoded text. + The length of valid data in the buffer. + The length of any detected byte order marks. + The detected encoding or null if no recognized byte order mark was present. + + + + 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. + + + + + A read-only, non-seekable over a . + + + + + Implementation of 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 . + + + + 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 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 . + + + + 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 instance 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 . + + + + + 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. + + The returned TextSpan contains the range with inclusive, + and exclusive. + + + + + 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 + + + + + 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 + + + + + Emit the IL for the compilation into the specified stream. + + Compilation. + 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. + 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. + To cancel the emit process. + Compilation or path is null. + Path is empty or invalid. + An error occurred while reading or writing a file. + + + + APIs for constructing documentation comment id's, and finding symbols that match ids. + + + + + Creates an id string used by external documentation comment files to identify declarations + of types, namespaces, methods, properties, etc. + + + + + Creates an id string used to reference type symbols (not strictly declarations, includes + arrays, pointers, type parameters, etc.) + + + + + Gets all declaration symbols that match the declaration id string + + + + + Try to get all the declaration symbols that match the declaration id string. + Returns true if at least one symbol matches. + + + + + Gets the first declaration symbol that matches the declaration id string, order undefined. + + + + + Gets the symbols that match the reference id string. + + + + + Try to get all symbols that match the reference id string. + Returns true if at least one symbol matches. + + + + + Gets the first symbol that matches the reference id string, order undefined. + + + + + Checks for the given ; if the is true, + immediately terminates the process without running any pending finally blocks or finalizers + and causes a crash dump to be collected (if the system is configured to do so). + Otherwise, the process continues normally. + + The conditional expression to evaluate. + An optional message to be recorded in the dump in case of failure. Can be null. + + + + Dictionary designed to hold small number of items. + Compared to the regular Dictionary, average overhead per-item is roughly the same, but + unlike regular dictionary, this one is based on an AVL tree and as such does not require + rehashing when items are added. + It does require rebalancing, but that is allocation-free. + + Major caveats: + 1) There is no Remove method. (can be added, but we do not seem to use Remove that much) + 2) foreach [keys|values|pairs] may allocate a small array. + 3) Performance is no longer O(1). At a certain count it becomes slower than regular Dictionary. + In comparison to regular Dictionary on my machine: + On trivial number of elements (5 or so) it is more than 2x faster. + The break even count is about 120 elements for read and 55 for write operations (with unknown initial size). + At UShort.MaxValue elements, this dictionary is 6x slower to read and 4x slower to write + + Generally, this dictionary is a win if number of elements is small, not known beforehand or both. + + If the size of the dictionary is known at creation and it is likely to contain more than 10 elements, + then regular Dictionary is a better choice. + + + + + 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 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. + + + + + CandidateSymbols are members of a group of results. This is used when there isn't a problem, + but there is more than one result, for example nameof(int.ToString). + + + + + 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 . + + + + + 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. + + + + + Specifies public key used to generate strong name for the compilation assembly, or empty of not specified. + + + If specified the values of and must be null. + If is false the assembly is marked as signed but not actually signed (aka "OSS signing"). + + + + + The name of the file containing the public and private keys to use to generate strong name of the + compilation assembly and to sign it. + + + + To sign the output supply either one of or . + but not both. If both are specified is ignored. + + + This setting is obsolete and only supported on Microsoft Windows platform. + Use to generate assemblies with strong name and + a signing tool (Microsoft .NET Framework Strong Name Utility (sn.exe) or equivalent) to sign them. + + + + + + The CSP container containing the key with which to sign the output. + + + + To sign the output supply either one of or . + but not both. If both are specified is ignored. + + + This setting is obsolete and only supported on Microsoft Windows platform. + Use to generate assemblies with strong name and + a signing tool (Microsoft .NET Framework Strong Name Utility (sn.exe) or equivalent) to sign them. + + + + + + Turn compilation assembly signing on or off. + + + If true the resulting assembly is marked as delay signed. + + If false and , , or is specified + or attribute System.Reflection.AssemblyKeyFileAttribute or System.Reflection.AssemblyKeyNameAttribute is applied to the + compilation assembly in source the resulting assembly is signed accordingly to the specified values/attributes. + + If null the semantics is specified by the value of attribute System.Reflection.AssemblyDelaySignAttribute + applied to the compilation assembly in source. If the attribute is not present the value defaults to "false". + + + + + Whether bounds checking on integer arithmetic is enforced by default or not. + + + + + Specifies which version of the common language runtime (CLR) can run the assembly. + + + + + 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. + + + + + Specifies whether the compilation should be deterministic. + + + + + Emit extended custom debug information to the PDB file. + + + + + Emit mode that favors debuggability. + + + + + Import internal/private members from all references regardless of "internals-visible-to" relationship. + + + + + Modifies the incoming diagnostic, for example escalating its severity, or discarding it (returning null) based on the compilation options. + + + The modified diagnostic, or null + + + + Warning report option for each warning. + + + + + Whether diagnostics suppressed in source, i.e. is true, should be reported. + + + + + 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 suppressed diagnostics reporting option. + + + + + Creates a new options instance with the deterministic property set accordingly. + + + + + 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 . + + + + + The set of statements inside the region what are the + destination of branches outside the region. + + + + + 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. + + + + + 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 + , or one of its language-specific overloads, + where you pass the first and last statements of the region as parameters. + "Inside" means those statements or ones between them. "Outside" are any other statements of the same method. + + + + + 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. + + + + + The set of local variables which are assigned a value outside a region + that may be used inside the region. + + + + + The set of local variables which are assigned a value inside a region + that may be used outside the region. + + + + + The set of local variables for which a value is always assigned inside + a region. + + + + + The set of local variables that are read inside a region. + + + + + The set of local variables that are written inside a region. + + + + + The set of the local variables that are read outside a region. + + + + + The set of local variables that are written outside a region. + + + + + 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. + + + + + The set of 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. + + + + + 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. + + + + Gets a list of method or indexed property symbols for a syntax node. + + + The syntax node to get semantic information for. + The cancellation token. + + + + 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. + + + + + Determines the level of optimization of the generated code. + + + + + Disables all optimizations and instruments the generated code to improve debugging experience. + + + The compiler prefers debuggability over performance. Do not use for code running in a production environment. + + JIT optimizations are disabled via assembly level attribute (). + Edit and Continue is enabled. + Slots for local variables are not reused, lifetime of local variables is extended to make the values available during debugging. + + + Corresponds to command line argument /optimize-. + + + + + + Enables all optimizations, debugging experience might be degraded. + + + The compiler prefers performance over debuggability. Use for code running in a production environment. + + JIT optimizations are enabled via assembly level attribute (). + Edit and Continue is disabled. + Sequence points may be optimized away. As a result it might not be possible to place or hit a breakpoint. + User-defined locals might be optimized away. They might not be available while debugging. + + + Corresponds to command line argument /optimize+. + + + + + + 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. + + + + + Enable some experimental language features for testing. + + + + + Returns the experimental features. + + + + + 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. + + + + + Returns true if this is a SemanticModel that ignores accessibility rules when answering semantic questions. + + + + + 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 syntax errors within the syntax tree associated with this + object. Does not get errors involving declarations or 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. + + + + 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. + + + + + 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. + + + + Gets the for all the declarations whose span overlaps with the given . + + Span to get declarations. + Flag indicating whether should be computed for the returned declaration infos. + If false, then is always null. + Builder to add declarations. + Cancellation token. + + + + Takes a node and returns a set of declarations that overlap the node's span. + + + + + Takes a Symbol and syntax for one of its declaring syntax reference and returns the topmost syntax node to be used by syntax analyzer. + + + + + 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. + + + + Reads the contents of and returns a . + + Path returned by . + + + + 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, then + 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. + + + + + + + Represents a non source code file. + + + + + Path to the text. + + + + + Retrieves a with the contents of this file. + + + + + 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 an optional localizable title for the given diagnostic code. + + + + + Get an optional localizable description for the given diagnostic code. + + + + + Get a localizable message format string for the given diagnostic code. + + + + + Get an optional help link for the given diagnostic code. + + + + + Get the diagnostic category for the given diagnostic code. + Default category is . + + + + + 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 specific diagnostic for given error code. + + + + + Create a simple language specific 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. + + + + + convert given symbol to string representation based on given error code + + + + + Given an error code (like 1234) return the identifier (CS1234 or BC1234). + + + + + Produces the filtering action for the diagnostic based on the options passed in. + + + A new with new effective severity based on the options or null if the + diagnostic has been suppressed. + + + + + Filter a based on the compilation options so that /nowarn and /warnaserror etc. take effect.options + + A with effective severity based on option or null if suppressed. + + + + 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. + + + + + Highest valid warning level for non-error diagnostics. + + + + + 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. + + + + Creates a instance. + + A describing the diagnostic. + An optional primary location of the diagnostic. If null, will return . + An optional set of properties of the diagnostic. If null, will return . + Arguments to the message of the diagnostic. + The instance. + + + + 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. + + + + 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. + + An optional set of properties of the diagnostic. If null, will return . + Arguments to the message of the diagnostic. + The instance. + + + + Creates a instance which is localizable. + + 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's effective severity. + The diagnostic's default severity. + True if the diagnostic is enabled by default + The warning level, between 1 and 4 if severity is ; otherwise 0. + An optional short localizable title describing the diagnostic. + An optional longer localizable description for the diagnostic. + An optional hyperlink that provides more detailed information regarding 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. + + + An optional set of custom tags for the diagnostic. See for some well known tags. + If null, will return an empty list. + + An optional set of properties of the diagnostic. If null, will return . + The instance. + + + + Creates a instance which is localizable. + + 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's effective severity. + The diagnostic's default severity. + True if the diagnostic is enabled by default + The warning level, between 1 and 4 if severity is ; otherwise 0. + Flag indicating whether the diagnostic is suppressed by a source suppression. + An optional short localizable title describing the diagnostic. + An optional longer localizable description for the diagnostic. + An optional hyperlink that provides more detailed information regarding 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. + + + An optional set of custom tags for the diagnostic. See for some well known tags. + If null, will return an empty list. + + An optional set of properties of the diagnostic. If null, will return . + The instance. + + + + Gets the diagnostic descriptor, which provides a description about a . + + + + + 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 culture specific text of the message. + + + + + Gets the default of the diagnostic's . + + + To get the effective severity of the diagnostic, use . + + + + + Gets the effective of the diagnostic. + + + To get the default severity of diagnostic's , use . + To determine if this is a warning treated as an error, use . + + + + + Gets the warning level. This is 0 for diagnostics with severity , + otherwise an integer between 1 and 4. + + + + + Returns true if the diagnostic has a source suppression, i.e. an attribute or a pragma suppression. + + + + + Gets the for suppressed diagnostics, i.e. = true. + Otherwise, returns null. + + + + + 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 = + and = . + + + + + 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 custom tags for the diagnostic. + + + + + Gets property bag for the diagnostic. it will return if there is no entry. + This can be used to put diagnostic specific information you want to pass around. for example, to corresponding fixer. + + + + + Create a new instance of this diagnostic with the Location property changed. + + + + + Create a new instance of this diagnostic with the Severity property changed. + + + + + Create a new instance of this diagnostic with the suppression info changed. + + + + + Returns true if the diagnostic location (or any additional location) is within the given tree and intersects with the filterSpanWithinTree, if non-null. + + + + + Returns true if a diagnostic is not configurable, i.e. cannot be suppressed or filtered or have its severity changed. + For example, compiler errors are always non-configurable. + + + + + Indicates that the diagnostic is related to some unnecessary source code. + + + + + Indicates that the diagnostic is related to edit and continue. + + + + + Indicates that the diagnostic is related to build. + + + + + Indicates that the diagnostic is reported by the compiler. + + + + + Indicates that the diagnostic can be used for telemetry + + + + + Indicates that the diagnostic is not configurable, i.e. it cannot be suppressed or filtered or have its severity changed. + + + + + Indicates that the diagnostic is related to an exception thrown by a . + + + + + 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). + + + + + Returns true if the bag has any non-lazy diagnostics with Severity=Error. + + + Does not resolve 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 title describing the diagnostic. + + + + + An optional longer localizable description for the diagnostic. + + + + + An optional hyperlink that provides more detailed information regarding 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 . + NOTE: For localizable , and/or , + use constructor overload . + + A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". + A short title describing the diagnostic. For example, for CA1001: "Types that own disposable fields should be disposable". + A 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. + An optional longer description of the diagnostic. + An optional hyperlink that provides a more detailed description regarding the diagnostic. + Optional custom tags for the diagnostic. See for some well known tags. + + + + Create a DiagnosticDescriptor, which provides description about a . + + A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". + A short localizable title describing 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. + An optional longer localizable description of the diagnostic. + An optional hyperlink that provides a more detailed description regarding the diagnostic. + Optional custom tags for the diagnostic. See for some well known tags. + Example descriptor for rule CA1001: + internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, + new LocalizableResourceString(nameof(FxCopRulesResources.TypesThatOwnDisposableFieldsShouldBeDisposable), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), + new LocalizableResourceString(nameof(FxCopRulesResources.TypeOwnsDisposableFieldButIsNotDisposable), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), + FxCopDiagnosticCategory.Design, + DiagnosticSeverity.Warning, + isEnabledByDefault: true, + helpLinkUri: "http://msdn.microsoft.com/library/ms182172.aspx", + customTags: DiagnosticCustomTags.Microsoft); + + + + + Gets the effective severity of diagnostics created based on this descriptor and the given . + + Compilation options + + + + Returns true if diagnostic descriptor is not configurable, i.e. cannot be suppressed or filtered or have its severity changed. + For example, compiler errors are always non-configurable. + + + + + Formats messages. + + + + + Formats the message using the optional . + + The diagnostic. + The formatter; or null to use the default formatter. + The formatted message. + + + + 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 the effective severity of the diagnostic: whether this diagnostic is informational, warning, or error. + If IsWarningsAsError is true, then this returns , while returns . + + + + + Returns whether this diagnostic is informational, warning, or error by default, based on the error code. + To get diagnostic's effective severity, use . + + + + + Gets the warning level. This is 0 for diagnostics with severity , + otherwise an integer between 1 and 4. + + + + + Returns true if this is a warning treated as an error. + + + True implies = and + = . + + + + + Get the diagnostic category for the given diagnostic code. + Default category is . + + + + + 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. + + + + + 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 prescriptive). + + + + + 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. + + + + + Location kind (None/SourceFile/MetadataFile). + + + + + Returns true if the location represents a specific location in a source code file. + + + + + 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 returns False this method returns an empty 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 for a span in a . + + + + + Creates an instance of a for a span in a file. + + + + + 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 instance + when possible. + + + + + Current text to validate. + + + + + We use to validate XML doc comments. Unfortunately it cannot be reset and thus can't be pooled. + Each time we need to validate a fragment of XML we "append" it to the underlying text reader, implemented by this class, + and advance the reader. By the end of the fragment validation, we keep the reader open in a state + that is ready for the next fragment validation unless the fragment was invalid, in which case we need to create a new XmlReader. + That is why pretends that the stream has extra spaces + at the end. That should be sufficient for to not reach the end of this reader before the next + fragment is appended, unless the current fragment is malformed in one way or another. + + + + + 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. + + + + + Set by the host to a fail fast trigger, + if the host desires to crash the process on a fatal exception. + + + + + Set by the host to a fail fast trigger, + if the host desires to NOT crash the process on a non fatal exception. + + + + + Use in an exception filter to report a fatal error. + Unless the exception is + it calls . The exception is passed through (the method returns false). + + False to avoid catching the exception. + + + + Use in an exception filter to report a non fatal error. + Unless the exception is + it calls . The exception isn't passed through (the method returns true). + + True to catch the exception. + + + + Use in an exception filter to report a fatal error. + Unless the exception is + it calls . The exception is passed through (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 through (the method returns false). + + False to avoid catching the exception. + + + + Use in an exception filter to report a non fatal error. + Calls and doesn't pass the exception through (the method returns true). + + True to catch the exception. + + + + Cache with a fixed size that evicts 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. + + + + + Represents 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-dimensional arrays. + + + + + Should only accept multi-dimensional 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. + + + 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. + + + 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 corresponding to the 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 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 enqueuing 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. + + + + Returns a symbol that given token resolves to or null of the token represents an 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. + + + + + Checks that the specified name is a valid metadata String and a file name. + The specification isn't entirely consistent and complete but it mentions: + + 22.19.2: "Name shall index a non-empty string in the String heap. It shall be in the format {filename}.{extension} (e.g., 'foo.dll', but not 'c:\utils\foo.dll')." + 22.30.2: "The format of Name is {file name}.{file extension} with no path or drive letter; on POSIX-compliant systems Name contains no colon, no forward-slash, no backslash." + As Microsoft specific constraint. + + A reasonable restriction seems to be a valid UTF8 non-empty string that doesn't contain '\0', '\', '/', ':' characters. + + + + + 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 + + + + Given an input string changes it to be acceptable as a part of a type name. + + + + + Specifies what symbols to import from metadata. + + + + + Only import public and protected symbols. + + + + + Import public, protected and internal symbols. + + + + + Import all symbols. + + + + 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. + + + + 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. + + + + 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 + + + + Determines if a custom attribute matches a namespace and name. + + The metadata reader. + 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. + + + + + Determine if custom attribute matches the target attribute. + + + The metadata reader. + + + 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 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 NamespaceDefinitionHandle for defs and StringHandle for refs. + + True if the function successfully returns the name and namespace. + + + + Given a token for a type, return the type's name and namespace. Only works for top level types. + namespaceHandle will be NamespaceDefinitionHandle 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. + + + 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 module. + + + + + Returns true if the full image of the module is available. + + + + Invalid metadata. + + + + Produce unbound generic type symbol if the type is a generic type. + + + + + Produce constructed type symbol. + + + + Symbol for generic type. + + + Generic type arguments, including those for containing types. + + + Flags for arguments. Each item indicates whether corresponding argument refers to NoPia local types. + + + + + Extracts information from TypeDef flags. + Returns 0 if the value is invalid. + + + + + Lookup a type defined in this module. + + + + + Lookup a type defined in referenced assembly. + + + + + Given the identity of an assembly referenced by this module, finds + the index of that assembly in the list of assemblies referenced by + the current module. + + + + + 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. + Specify null, , or "neutral" (any casing) to represent . + The name can be an arbitrary string that doesn't contain NUL character, the legality of the culture name is not validated. + + 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 a NUL character. + If contains a NUL 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 ',', '=', '"', '\'', '\' occurring 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. + + + + + Factory that provides the for additional modules (other than ) of the assembly. + Shall only throw or . + Null of all modules were specified at construction time. + + + + + Modules the was created with, in case they are eagerly allocated. + + + + + Cached assembly symbols. + + + Guarded by . + + + + + Creates a single-module assembly. + + + Manifest module image. + + is null. + + + + Creates a single-module assembly. + + + Manifest module image. + + is null. + 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. + + + + 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 invalid. + Error reading file . See for details. + Reading from a file path is not supported by the platform. + + + + 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. + + + + + Modules comprising this assembly. The first module is the manifest module. + + The PE image format is invalid. + IO error reading the metadata. See for details. + The object has been disposed. + + + The PE image format is invalid. + IO error while reading the metadata. See for details. + The object has been disposed. + + + The PE image format is invalid. + IO error while reading the metadata. See for details. + The object has been disposed. + + + + 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 PE image format is invalid. + IO error reading the metadata. See for details. + The object has been disposed. + + + + Returns the metadata kind. + + + + + Creates a reference to the assembly metadata. + + Provider of XML documentation comments for the metadata symbols contained in the module. + Aliases that can be used to refer to the assembly from source code (see "extern alias" directive in C#). + True to embed interop types from the referenced assembly to the referencing compilation. Must be false for a module. + Path describing the location of the metadata, or null if the metadata have no location. + Display string used in error messages to identity the reference. + A reference to the assembly metadata. + + + + Reference to another C# or VB compilation. + + + + + 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 properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + 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. + + + + + 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. + + + + + 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 aliases. + + The new aliases for the reference. + Alias is invalid for the metadata kind. + + + + Returns an instance of the reference with specified properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + Creates a reference to a single-module assembly or a standalone module stored in memory. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method pins in managed heap. The pinned memory is released + when the resulting reference becomes unreachable and GC collects it. To control the lifetime of the pinned memory + deterministically use + to create an metadata object and + to get a reference to it. + + + The method creates a reference to a single-module assembly. To create a reference to a multi-module assembly or a stand-alone module use + and . + + + is null. + + + + Creates a reference to a single-module assembly or a standalone module stored in memory. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method makes a copy of the data and pins it. To avoid making a copy use an overload that takes an . + The pinned memory is released when the resulting reference becomes unreachable and GC collects it. To control the lifetime of the pinned memory + deterministically use + to create an metadata object and + to get a reference to it. + to get a reference to it. + + + is null. + + + + Creates a reference to a single-module assembly or a stand-alone module from data in specified stream. + Reads the content of the stream into memory and closes the stream upon return. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + doesn't support read and seek operations. + is null. + An error occurred while reading the stream. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method eagerly reads the entire content of into native heap. The native memory block is released + when the resulting reference becomes unreachable and GC collects it. To decrease memory footprint of the reference and/or manage + the lifetime deterministically use + to create an metadata object and + to get a reference to it. + to get a reference to it. + + + + + + Creates a reference to an assembly or standalone module stored in a file. + Reads the content of the file into memory. + + Path to the assembly file. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + is null. + is invalid. + An error occurred while reading the file. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same file. + Reusing object allows for sharing data across these references. + + + The method eagerly reads the entire content of the file into native heap. The native memory block is released + when the resulting reference becomes unreachable and GC collects it. To decrease memory footprint of the reference and/or manage + the lifetime deterministically use + to create an metadata object and + + to get a reference to it. + + + + + + Creates a reference to a loaded assembly. + + Path to the module file. + is null. + is dynamic, doesn't have a location, or the platform doesn't support reading from the location. + + Performance considerations: + + It is recommended to use API when creating multiple references to the same assembly. + Reusing object allows for sharing data across these references. + + + + + + Creates a reference to a loaded assembly. + + Path to the module file. + Reference properties (extern aliases, type embedding). + Provides XML documentation for symbol found in the reference. + is null. + . is not . + is dynamic, doesn't have a location, or the platform doesn't support reading from the location. + + Performance considerations: + + It is recommended to use API when creating multiple references to the same assembly. + Reusing object allows for sharing data across these references. + + + + + + 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. + + + + Returns with set to specified value. + + + + + 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. Empty if the reference has no aliases. + + + 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. + + + + + True to apply recursively on the target assembly and on all its transitive dependencies. + False to apply only on the target assembly. + + + + + Resolves references to metadata specified in the source (#r directives). + + + + + True to instruct the compiler to invoke for each assembly reference that + doesn't match any of the assemblies explicitly referenced by the (via , or #r directives. + + + + + Resolves a missing assembly reference. + + The metadata definition (assembly or module) that declares assembly reference in its list of dependencies. + Identity of the assembly reference that couldn't be resolved against metadata references explicitly specified to in the compilation. + Resolved reference or null if the identity can't be resolved. + + + + 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. + + + + 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. + + + + Create metadata module from a sequence of bytes. + + The portable executable image beginning with the DOS header ("MZ"). + is null. + + + + Create metadata module from a byte array. + + Portable executable image beginning with the DOS header ("MZ"). + 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"). + + 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 null. + The stream doesn't support seek operations. + + + + 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 null. + The stream doesn't support read and seek operations. + has an invalid value. + + or is specified and the PE headers of the image are invalid. + + + or is specified and an error occurs while reading the stream. + + + + + Creates metadata module from a file containing a portable executable image. + + 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 invalid. + Error opening file . See for details. + File not found. + Reading from a file path is not supported by the platform. + + + + 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. + + Invalid metadata. + 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. + + + + Returns the metadata reader. + + Module has been disposed. + When an invalid module name is encountered. + + + + Creates a reference to the module metadata. + + Provider of XML documentation comments for the metadata symbols contained in the module. + Path describing the location of the metadata, or null if the metadata have no location. + Display string used in error messages to identity the reference. + A reference to the module metadata. + + + + Reference to metadata stored in the standard ECMA-335 metadata format. + + + + + Display string used in error messages to identity the reference. + + + + + Path describing the location of the metadata, or null if the metadata have no location. + + + + + XML documentation comments provider for the reference. + + + + + Create documentation provider for the reference. + + + Called when the compiler needs to read the documentation for the reference. + This method can be called multiple times from different threads. The result of one of the calls + is cached on the reference object. + + + + + 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 properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + Returns an instance of the reference with specified properties. + + The new properties for the reference. + Specified values not supported. + Only invoked if the properties changed. + + + + 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 across 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 or is not yet resolved. + + + For error reporting only, can't be used to reference a metadata file. + + + + + 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. + + + + Represents errors that occur while parsing RuleSet files. + + + + + Represents a set of rules as specified in a ruleset file. + + + + + The file path of the ruleset file. + + + + + The global option specified by the IncludeAll tag. + + + + + Individual rule ids 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 include path 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. + + + + + 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. + Whether or not the default value is allowed. + 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 ruleset xml file. + + + + + Resolves references to source files specified in source code. + + + + + 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 . + + + + Specifies the options for how generics are displayed in the description of a symbol. + + + + + Format object using default options. + + + + + In C#, include the numeric code point before character literals. + + + + + Whether or not to include type suffix for applicable integral literals. + + + + + Whether or not to display integral literals in hexadecimal. + + + + + Whether or not to quote character and string literals. In Visual Basic, this also enables pretty-listing of non-printable characters using ChrW function and vb* constants. + + + + + 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 kinds 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. + + + + + Get the source compilation backing this assembly, if one exists. + Returns null otherwise. + + + + + 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. + + Compilation. + + An array of objects describing assemblies, for which this method should + resolve references and find suitable AssemblySymbols. The first slot contains the assembly being built. + + + An array of objects describing standalone modules referenced by the compilation. + + + An array of references passed to the compilation and resolved from #r directives. + May contain references that were skipped during resolution (they don't have a corresponding explicit assmebly). + + + Maps index to to an index of a resolved assembly or module in or modules. + + + Reference resolver used to look up missing assemblies. + + + Hide lower versions of dependencies that have multiple versions behind an alias. + + + Used to filter out assemblies that have the same strong or weak identity. + Maps simple name to a list of identities. The highest version of each name is the first. + + + Import options applied to implicitly resolved references. + + + Updated array with resolved implicitly referenced assemblies appended. + + + Implicitly resolved references. + + + Maps indices of implicitly resolved references to the corresponding indices of resolved assemblies in (explicit + implicit). + + + Any diagnostics reported while resolving missing assemblies. + + + True if the assembly being compiled is indirectly referenced through some of its own references. + + + The definition index of the COR library. + + + An array of structures describing the result. It has the same amount of items as + the input assemblies array, for each input AssemblyData object resides + at the same position. + + Each 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 + 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. + + + + + Aliases that should be applied to the referenced assembly. + Empty array means {"global"} (all namespaces and types in the global namespace of the assembly are accessible without qualification). + Null if not applicable (the reference only has recursive aliases). + + + + + Aliases that should be applied recursively to all dependent assemblies. + Empty array means {"global"} (all namespaces and types in the global namespace of the assembly are accessible without qualification). + Null if not applicable (the reference only has simple aliases). + + + + + default() is considered skipped. + + + + + Index into an array of assemblies (not including the assembly being built) or an array of modules, depending on . + + + + + non-negative: Index into the array of all (explicitly and implicitly) referenced assemblies. + negative: ExplicitlyReferencedAssemblies.Count + RelativeAssemblyIndex is an index into the array of assemblies. + + + + + Resolves given metadata references to assemblies and modules. + + The compilation whose references are being resolved. + + Used to filter out assemblies that have the same strong or weak identity. + Maps simple name to a list of identities. The highest version of each name is the first. + + List where to store resolved references. References from #r directives will follow references passed to the compilation constructor. + Maps #r values to successfully 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 . + + + + + Determines whether references are the same. Compilation references are the same if they refer to the same compilation. + Otherwise, references are represented by their object identities. + + + + + 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. + + + + + Returns null if an assembly of an equivalent identity has not been added previously, otherwise returns the reference that added it. + Two identities are considered equivalent if + - both assembly names are strong (have keys) and are either equal or FX unified + - both assembly names are weak (no keys) and have the same simple name. + + + + + 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. + An index of the first definition to consider, preceding this index are ignored. + Reference identity to resolve. + Assembly identity comparer. + + 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 across 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 index to array. 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 and . + + + + + Maps (containing syntax tree file name, reference string) of #r directive to a resolved metadata reference. + If multiple #r's in the same tree 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 + have 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). + + + [i] corresponds to [i]. + + + + + References of standalone modules referenced by the compilation (doesn't include the manifest module of the compilation). + + + [i] corresponds to [i]. + + + + + Assemblies referenced directly by the source module of the compilation. + + + + + Assemblies referenced directly by the source module of the compilation. + + + Aliases [i] are of an assembly [i]. + + + + + Unified assemblies referenced directly by the source module of the compilation. + + + + + Call only while holding . + + + + + Call only while holding . + + + + + Global namespaces of assembly references that have been superseded by an assembly reference with a higher version are + hidden behind to avoid ambiguity when they are accessed from source. + All existing aliases of a superseded assembly are discarded. + + + + + Gets the that corresponds to the assembly symbol. + + + + + 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. + + + + + Enumerates all referenced assemblies and their aliases. + + + + + 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 metadata). + + + 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 resource 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, declarations, and optional trailing expression. + Used for parsing .csx/.vbx and interactive submissions. + + + + + The same as . + + + + + Specifies the Ids of special runtime types. + + + Only types explicitly mentioned in "Co-located core types" spec + (https://github.com/dotnet/roslyn/blob/master/docs/compilers/Co-located%20core%20types.md) + can be in this enum. + The following things should be in sync: + 1) SpecialType enum + 2) names in SpecialTypes.EmittedNames array. + + + + + Indicates a non-special 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 Library. + 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 + + + + + + True if the compilation can be signed using these keys. + + + + + True if a strong name can be created for the compilation using these keys. + + + + + 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 to display extension methods. + + + + + Displays the extension method based on its . + + + + + Displays the extension method in the form of an instance method. + For example, IEnumerable<TSource>.ElementAt<TSource>(int index). + + + + + Displays the extension method as a static method. + For example, Enumerable.ElementAt<TSource>(this IEnumerable<TSource> source, 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 C# compiler short error message. + + + + + Formats a symbol description as in a Visual Basic compiler error message. + + + + + Formats a symbol description as in a Visual Basic compiler short 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 example, "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 parameters 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 retrieving 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). + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the for the + namespace or type referenced by the alias. + + + + + Represents an array. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Custom modifiers associated with the array type, or an empty array if there are none. + + + + + Represents a .NET assembly, consisting of one or more modules. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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#. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + If this field serves as a backing variable for an automatically generated + property or a field-like event, returns that + property/event. 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 erroneous. + True otherwise. + + + + + Gets the constant value of this field + + + + + Returns custom modifiers associated with the field, or an empty array if there are none. + + + + + 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 + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the immediately containing of this . + + + + + Represents a local variable in method body. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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). + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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 it 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Custom modifiers associated with the parameter, or an empty array if there are none. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the type of the storage location that an instance of the pointer type points to. + + + + + Custom modifiers associated with the pointer type, or an empty array if there are none. + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Represents a property or indexer. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Represents a symbol (namespace, class, method, parameter, etc.) + exposed by the compiler. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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.) + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Represents a type. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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 for 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. + + + + + Kind of a synthesized local variable. + + + Synthesized local variables are either + 1) Short-lived (temporary) + The lifespan of an temporary variable shall not cross a statement boundary (a PDB sequence point). + These variables are not tracked by EnC and don't have names. + + 2) Long-lived + All variables whose lifespan might cross a statement boundary (include a PDB sequence point) + must be named in a build configuration that supports EnC. Some of them might need to be named in release, to support EE. + The kind of such local must be encoded in the name, so that we can retrieve it from debug metadata during EnC. + + The integer value of the kind must match corresponding Dev11/12 TEMP_KIND enum values for + compatibility with assemblies generated by the native compiler. + + Long-lived local variables must be assigned slots in source order. + + + + + Temp variable created by the optimizer. + + + + + Temp variable created during lowering. + + + + + Temp variable created by the emitter. + + + + + The variable is not synthesized (C#, VB). + + + + + Local variable that stores value of an expression consumed by a subsequent conditional branch instruction that might jump across PDB sequence points. + The value needs to be preserved when remapping the IL offset from old method body to new method body during EnC. + A hidden sequence point also needs to be inserted at the offset where this variable is loaded to be consumed by the branch instruction. + (VB, C#). + + + + + Boolean passed to Monitor.Enter (C#, VB). + + + + + Variable holding on the object being locked while the execution is within the block of the lock statement (C#) or SyncLock statement (VB). + + + + + Local variable that stores the resources to be disposed at the end of using statement (C#, VB). + + + + + Local variable that stores the enumerator instance (C#, VB). + + + + + Local variable that stores the array instance (C#, VB?). + + + + + Local variables that store upper bound of multi-dimensional array, for each dimension (C#, VB?). + + + + + Local variables that store the current index, for each dimension (C#, VB?). + + + + + Local variable that holds a pinned handle of a string passed to a fixed statement (C#). + + + + + Local variable that holds the object passed to With statement (VB). + + + + + Local variable used to store the value of Select Case during the execution of Case statements. + + + + + Local variable that stores the return value of an async method. + + + + + VB: Stores the return value of a function that is not accessible from user code (e.g. operator, lambda, async, iterator). + C#: Stores the return value of a method/lambda with a block body, so that we can put a sequence point on the closing brace of the body. + + + + + Very special corner case involving filters, await and lambdas. + + + + + Local variable that stores the current state of the state machine while MoveNext method is executing. + Used to avoid race conditions due to multiple reads from the lifted state. + + + + + Local that stores an expression value which needs to be spilled. + This local should either be hoisted or its lifespan ends before + the end of the containing await expression. + + + + + Local variable that holds on the display class instance. + + + + + Local variable used to cache a delegate that is used in inner block (possibly a loop), + and can be reused for all iterations of the loop. + + + + + Local variable that stores the result of an await expression (the awaiter object). + The variable is assigned the result of a call to await-expression.GetAwaiter() and subsequently used + to check whether the task completed. Eventually the value is stored in an awaiter field. + + The value assigned to the variable needs to be preserved when remapping the IL offset from old method body + to new method body during EnC. If the awaiter expression is contained in an active statement and the + containing MoveNext method changes the debugger finds the next sequence point that follows the await expression + and transfers the execution to the new method version. This sequence point is placed by the compiler at + the immediately after the stloc instruction that stores the awaiter object to this variable. + The subsequent ldloc then restores it in the new method version. + + (VB, C#). + + + + + All values have to be less than or equal to + () + + + + + An awaiter in async method. + Never actually created as a local variable, immediately lifted to a state machine field. + Not serialized to . + + + + + The receiver of a delegate relaxation stub. + Created as a local variable but always lifted to a relaxation display class field. + We never emit debug info for hoisted relaxation variable. + TODO: Avoid using lambdas and display classes for implementation of relaxation stubs and remove this kind. + + + + + 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). + + + + + List of entries sorted in source order, each of which captures a + position in the supplied syntax tree and the set of diagnostics (warnings) + whose reporting should either be suppressed or enabled at this position. + + + + + Returns list of entries sorted in source order, each of which captures a + position in the supplied syntax tree and the set of diagnostics (warnings) + whose reporting should either be suppressed or enabled at this position. + + + + + Returns the reporting state for the supplied diagnostic id at the supplied position + in the associated syntax tree. + + + + + Gets the entry with the largest position less than or equal to supplied 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 annotations 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. + + + + + Locate the node or token that is a child of the given and contains the given position. + + The to search. + The position. + The node or token that spans the given position. + + Assumes that is within the span of . + + + + + 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. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + 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. + + + + + Find the slot that contains the given offset. + + The target offset. Must be between 0 and . + The slot index of the slot containing the given offset. + + The base implementation is a linear search. This should be overridden + if a derived class can implement it more efficiently. + + + + + 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 it. 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 SyntaxAnnotation 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 . + + + + + Gets the full text of this node as an new instance. + + + Encoding of the file that the text was read from or is going to be saved to. + null if the encoding is unspecified. + If the encoding is not specified the isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + is not supported. + + + + 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 if the specified node is a descendant of this node. + + + + + 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 a 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. + + + + + When invoked on a node that represents an anonymous function or a query clause [1] + with a of another anonymous function or a query clause of the same kind [2], + returns the body of the [1] that positionally corresponds to the specified . + + E.g. join clause declares left expression and right expression -- each of these expressions is a lambda body. + JoinClause1.GetCorrespondingLambdaBody(JoinClause2.RightExpression) returns JoinClause1.RightExpression. + + + + + The node that contains this node in its 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 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 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 trivia 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. + A sequence of whitespace characters that defines a single level of indentation. + If true the replaced trivia is elastic trivia. + + + + 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. + An optional sequence of whitespace characters used for end of line. + If true the replaced trivia is elastic trivia. + + + + Creates a new node from this node with both the leading and trailing trivia of the specified node. + + + + + Creates a new node from this node without leading or trailing 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 removed. + + + + + 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 removed. + + + + + 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 (). + + + Note that we do not store the token directly, we just store enough information to reconstruct it. + This allows us to reuse nodeOrToken as a token's parent. + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 + + + + + Adds elastic marker trivia + + + + + 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 . + + + + + 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. + + + + + Creates a new token from this token with the leading and trailing trivia from the specified token. + + + + + Creates a new token from this token with the leading trivia specified. + + + + + Creates a new token from this token with the leading trivia specified.. + + + + + Creates a new token from this token with the leading trivia specified.. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + 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. + + + + The SyntaxTree that contains this token. + + + + + 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 s. + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 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 to 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. + + + + + The text encoding of the source document. + + + + + Gets the text of the source document asynchronously. + + + By default, the work associated with this method will be executed immediately on the current thread. + Implementations that wish to schedule this work differently should override . + + + + + 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. + Cancellation 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. + Cancellation 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 precedes 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. + + + + Returns a new tree whose root and options are as specified and other properties are copied from the current tree. + + + + + Returns a new tree whose is the specified node and other properties are copied from the current tree. + + + + + Returns a that represents the entire source text of this . + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 number of items starting at from this list into starting at . + + + + + 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. + + + + + Syntax the should descent into. + + + + + Creates a new walker instance. + + Syntax the should descent into. + + + + 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. + + + + Syntax the should descent 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 + + + + + Parses a version string of the form "major [ '.' minor [ '.' build [ '.' revision ] ] ]". + + The version string to parse. + If parsing succeeds, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + Parses a version string of the form "major [ '.' minor [ '.' ( '*' | ( build [ '.' ( '*' | revision ) ] ) ) ] ]" + as accepted by System.Reflection.AssemblyVersionAttribute. + + The version string to parse. + Indicates whether or not a wildcard is accepted as the terminal component. + If parsing succeeded, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + Parses a version string of the form "major [ '.' minor [ '.' ( '*' | ( build [ '.' ( '*' | revision ) ] ) ) ] ]" + as accepted by System.Reflection.AssemblyVersionAttribute. + + The version string to parse. + Indicates whether or not we're parsing an assembly version string. If so, wildcards are accepted and each component must be less than 65535. + The maximum value that a version component may have. + If parsing succeeded, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + 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 + + + + + + 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. + + + + The XmlCharType class is used for quick character type recognition + which is optimized for the first 127 ascii characters. + + + + + start >= value <= end + + + + + Struct containing information about a source declaration. + + + + + Topmost syntax node for this declaration. + + + + + Syntax nodes for executable code blocks (method body, initializers, etc.) associated with this declaration. + + + + + Symbol declared by this declaration. + + + + + 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. + + + + + struct enumerator used in foreach. + + + + + This class is used to store the module serialization properties for a compilation. + + + + + 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. + + + + + 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. + + + + + Identifies the version of the CLR that is required to load this module or assembly. + + + + + Specifies the target CPU. means AnyCPU. + + + + + 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. + + + + + 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 globally unique persistent identifier for this module. + + + + + True if the module contains only IL and is processor independent. + + + + + 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. + + + + + The preferred memory address at which the module is to be loaded at runtime. + + + + + The size of the virtual memory to reserve for the initial process heap. + Must fit into 32 bits if the target platform is 32 bit. + + + + + The size of the virtual memory initially committed for the initial process heap. + Must fit into 32 bits if the target platform is 32 bit. + + + + + The size of the virtual memory to reserve for the initial thread's stack. + Must fit into 32 bits if the target platform is 32 bit. + + + + + 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. + + + + + Flags that control the behavior of the target operating system. CLI implementations are supposed to ignore this, but some operating system pay attention. + + + + + If set, the module must include a machine code stub that transfers control to the virtual execution system. + + + + + If set, the module contains instructions or assumptions that are specific to the AMD 64 bit instruction set. + + + + + 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. + + + + + 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. + + + + + Compares the current content of this writer with another one. + + + + Range specified by and falls outside of the bounds of the buffer content. + + + Range specified by and falls outside of the bounds of the buffer content. + + + is negative. + + + is null. + is negative. + + + is null. + + + is null. + is negative. + + + is null. + + + is null. + Range specified by and falls outside of the bounds of the . + + + is null. + + + is null. + Range specified by and falls outside of the bounds of the . + + + + Writes a reference to a heap (heap index) or a table (row id). + + + References may be small (2B) or large (4B). + + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + + + + Writes string in SerString format (see ECMA-335-II 23.3 Custom attributes): + The string is UTF8 encoded and prefixed by the its size in bytes. + Null string is represented as a single byte 0xFF. + + + + + Writes UTF8 encoded string at the current position. + + is null. + + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between -64 (0xFFFFFFC0) and 63 (0x3F), inclusive, encode as a one-byte integer: + bit 7 clear, value bits 5 through 0 held in bits 6 through 1, sign bit (value bit 31) in bit 0. + + If the value lies between -8192 (0xFFFFE000) and 8191 (0x1FFF), inclusive, encode as a two-byte integer: + 15 set, bit 14 clear, value bits 12 through 0 held in bits 13 through 1, sign bit(value bit 31) in bit 0. + + If the value lies between -268435456 (0xF000000) and 268435455 (0x0FFFFFFF), inclusive, encode as a four-byte integer: + 31 set, 30 set, bit 29 clear, value bits 27 through 0 held in bits 28 through 1, sign bit(value bit 31) in bit 0. + + can't be represented as a compressed signed integer. + + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between 0 (0x00) and 127 (0x7F), inclusive, + encode as a one-byte integer (bit 7 is clear, value held in bits 6 through 0). + + If the value lies between 28 (0x80) and 214 – 1 (0x3FFF), inclusive, + encode as a 2-byte integer with bit 15 set, bit 14 clear(value held in bits 13 through 0). + + Otherwise, encode as a 4-byte integer, with bit 31 set, bit 30 set, bit 29 clear (value held in bits 28 through 0). + + can't be represented as a compressed signed integer. + + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + + is not of a constant type. + + + + 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. + + + + + Represents a value on #String heap that has not been serialized yet. + + + + + Represents a value on #Blob heap that has not been serialized yet. + + + + + 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. + + + + + 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. + + + + + Returns true if writing full metadata, false if writing delta. + + + + + True if writing delta metadata in a minimal format. + + + + + NetModules and EnC deltas don't have AssemblyDef record. + We don't emit it for EnC deltas since assembly identity has to be preserved across generations (CLR/debugger get confused otherwise). + + + + + 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 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 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. + + + + + Return a visitor for traversing all references to be emitted. + + + + + Populate EventMap table. + + + + + Populate PropertyMap table. + + + + + Populate EncLog table. + + + + + Populate EncMap table. + + + + + 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 deemed to + be those having the same MajorVersion, MinorVersion, BuildNumber, RevisionNumber, PublicKeyOrToken, + Name, and Culture)". + + + + + Serialize the method local signature to the blob. + + Standalone signature token + + + + 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. + + + + + Strip off *, &, and []. + + + + + Qualified name of namespace. + e.g. "A.B.C" + + + + + The offset of the first operation in the scope. + + + + + The offset of the first operation outside of the scope, or the method body length. + + + + + 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. + + + + + Constants for producing and consuming streams of binary custom debug info. + + + + + 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 exception 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 (C# only, /r:Name=Reference on command line). + + + + + An alias for the global namespace of the assembly. + + + + + The assembly reference. + + + + + 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. + + + + + has type , rather than , + so that we can do custom marshalling of . Unfortunately, .NET marshals + s as the number of days since 1899/12/30, whereas the native VB compiler + marshalled them as the number of ticks since the Unix epoch (i.e. a much, much larger number). + + + + + A struct with the same size and layout as the native VARIANT type: + 2 bytes for a discriminator (i.e. which type of variant it is). + 6 bytes of padding + 8 or 16 bytes of data + + + + + This field determines the size of the struct + (16 bytes on 32-bit platforms, 24 bytes on 64-bit platforms). + + + + + This type is 8 bytes on a 32-bit platforms and 16 bytes on 64-bit platforms. + + + + + A range of CLR IL operations that comprise a lexical scope. + + + + + The offset of the first operation in the scope. + + + + + The offset of the first operation outside of the scope, or 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. + + + + + Mapped field data, or null if the field is not mapped. + + + + + This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL. + + + + + 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. + + + + + TODO: use instead. + True if the value referenced by the local must not be moved by the actions of the garbage collector. + + + + + TODO: use instead. + 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. + + + + + Each local has an attributes field in the PDB. To match the native compiler, + we emit "1" for locals that should definitely not bind in the debugger and "0" + for all other locals. + + + A value of "1" is a sufficient, but not a necessary, condition for hiding the + local in the debugger. Locals with value "0" may also be hidden. + + Hidden locals must still be emitted because they participate in evaluation. + + + + + 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. + + + + + Optional serialized local signature. + + + + + Local id, or if this is a local constant, short-lived temp variable, + or we are not emitting local variable ids (release builds). + + + + + 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 representation 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. + + + + + Debugging information associated with an async method to support EE. + + + + + The maximum number of elements on the evaluation stack during the execution of the method. + + + + + Returns true if there is at least 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 an import scope the method is declared within, or null if there is none + (e.g. the method doesn't contain user code). + + + The chain is a spine of a tree in a forest of import scopes. A tree of import scopes is created by the language for each source file + based on namespace declarations. In VB each tree is trivial single-node tree that declares the imports of a file. + In C# the tree copies the nesting of namespace declarations in the file. There is a separate scope for each dotted component in + the namespace type name. For instance namespace type x.y.z will have two namespace scopes, the first is for the x and the second + is for the y. + + + + + Returns debug information for local variables hoisted to state machine fields, + or null if this method isn't MoveNext method of a state machine. + + + 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. + + + + + The name of the state machine generated for the method, + or null if the method isn't the kickoff method of a state machine. + + + + + Returns information relevant to EnC on slots of local variables hoisted to state machine fields, + or null if the method isn't the kickoff method of a state machine. + + + + + Returns types of awaiter slots allocated on the state machine, + or null if the method isn't the kickoff method of a state machine. + + + + + 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. + + + + + Returns true if this symbol was automatically created by the compiler, and does not have + an explicit corresponding source code declaration. + + + + + 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. + + + + + Namespace containing this method. + TODO: Ideally we would expose INamespace on INamespaceTypeDefinition. Right now we can only get the qualified namespace name. + + + + + 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. + + + + + Returns a sequence of all blobs that represent the content of the builder. + + Content is not available, the builder has been linked with another one. + + + + Compares the current content of this writer with another one. + + Content is not available, the builder has been linked with another one. + + + Content is not available, the builder has been linked with another one. + + + Range specified by and falls outside of the bounds of the buffer content. + Content is not available, the builder has been linked with another one. + + + Content is not available, the builder has been linked with another one. + + + Range specified by and falls outside of the bounds of the buffer content. + Content is not available, the builder has been linked with another one. + + + is null. + Content is not available, the builder has been linked with another one. + + + is default(). + Content is not available, the builder has been linked with another one. + + + is null. + Content is not available, the builder has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + + Reserves a contiguous block of bytes. + + is negative. + Builder is not writable, it has been linked with another one. + + + is negative. + Builder is not writable, it has been linked with another one. + + + is null. + is negative. + Builder is not writable, it has been linked with another one. + + + is null. + is negative. + Builder is not writable, it has been linked with another one. + Bytes successfully written from the . + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Range specified by and falls outside of the bounds of the . + Builder is not writable, it has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Range specified by and falls outside of the bounds of the . + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + + Writes a reference to a heap (heap index) or a table (row id). + + + References may be small (2B) or large (4B). + + Builder is not writable, it has been linked with another one. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Writes string in SerString format (see ECMA-335-II 23.3 Custom attributes): + The string is UTF8 encoded and prefixed by the its size in bytes. + Null string is represented as a single byte 0xFF. + + Builder is not writable, it has been linked with another one. + + + + Writes UTF8 encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between -64 (0xFFFFFFC0) and 63 (0x3F), inclusive, encode as a one-byte integer: + bit 7 clear, value bits 5 through 0 held in bits 6 through 1, sign bit (value bit 31) in bit 0. + + If the value lies between -8192 (0xFFFFE000) and 8191 (0x1FFF), inclusive, encode as a two-byte integer: + 15 set, bit 14 clear, value bits 12 through 0 held in bits 13 through 1, sign bit(value bit 31) in bit 0. + + If the value lies between -268435456 (0xF000000) and 268435455 (0x0FFFFFFF), inclusive, encode as a four-byte integer: + 31 set, 30 set, bit 29 clear, value bits 27 through 0 held in bits 28 through 1, sign bit(value bit 31) in bit 0. + + can't be represented as a compressed signed integer. + Builder is not writable, it has been linked with another one. + + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between 0 (0x00) and 127 (0x7F), inclusive, + encode as a one-byte integer (bit 7 is clear, value held in bits 6 through 0). + + If the value lies between 28 (0x80) and 214 – 1 (0x3FFF), inclusive, + encode as a 2-byte integer with bit 15 set, bit 14 clear(value held in bits 13 through 0). + + Otherwise, encode as a 4-byte integer, with bit 31 set, bit 30 set, bit 29 clear (value held in bits 28 through 0). + + can't be represented as a compressed integer. + Builder is not writable, it has been linked with another one. + + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + + is not of a constant type. + Builder is not writable, it has been linked with another one. + + + + Table row counts. + + + + + Non-empty tables that are emitted into the metadata table stream. + + + + + Non-empty tables stored in an external metadata table stream that might be referenced from the metadata table stream being emitted. + + + + + Exact (unaligned) heap sizes. + + + + + Overall size of metadata stream storage (stream headers, table stream, heaps, additional streams). + Aligned to . + + + + + The size of metadata stream (#- or #~). Aligned. + Aligned to . + + + + + The size of #Pdb stream. Aligned. + + + + + The size of IL stream. + + + + + The size of mapped field data stream. + Aligned to . + + + + + The size of managed resource data stream. + Aligned to . + + + + + Size of strong name hash. + + + + + Metadata header size. + Includes: + - metadata storage signature + - storage header + - stream headers + + + + + Total size of metadata (header and all streams). + + + + + 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 (usually 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 Interface 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 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. + + + + + Represents a lexical scope that declares imports. + + + + + Zero or more used namespaces. These correspond to using directives in C# or Imports syntax in VB. + + + + + Parent import scope, or null. + + + + + Exception to enable callers to catch all of the exceptions originating + from writing PDBs. We resurface such exceptions as this type, to eventually + be reported as PDB-writing failure diagnostics to the user. + Unfortunately, an exception originating in a user-implemented + Stream derivation will come out of the symbol writer as a COMException + missing all of the original exception info. + + + + + A utility to log all operations and arguments to the native PDB writing + library, so that we can hash that log to generate a deterministic GUID and + timestamp. + + + + + Minimal size of PDB path in Debug Directory. We pad the path to this minimal size to + allow some tools to patch the path without the need to rewrite the entire image. + This is a workaround put in place until these tools are retired. + + + + + True if we should attempt to generate a deterministic output (no timestamps or random data). + + + + + 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. + + PE stream. + 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 + + + + The size of a single entry in the "Debug Directory (Image Only)" + + + + + The size of our debug directory: one entry for debug information, and an optional second one indicating + that the timestamp is deterministic (i.e. not really a timestamp) + + + + + Write one entry in the "Debug Directory (Image Only)" + See https://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx + section 5.1.1 (pages 71-72). + + + + + Write the entire "Debug Directory (Image Only)" along with data that it points to. + + + + + Special type <Module> + + + + + 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. + + + + + The type of argument value that corresponds to this parameter. + + + + + 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. + + + + + Represents a namespace. + + + + + Containing namespace or null if this namespace is global. + + + + + 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 implementation 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. + + + + + A reference to the method that provides the implementation. + + + + + The type that is explicitly implementing or overriding the base class virtual method or explicitly implementing an interface method. + + + + + 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 unsigned 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 absence 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. + + + + + 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 corresponds 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 satellite assemblies with localized resources. + Empty 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. + Empty if the referenced assembly does not have a public key. + + + + + The version of the assembly reference. + + + + + An object that represents a .NET module. + + + + + Used to distinguish which style to pick while writing native PDB information. + + + The PDB content for custom debug information is different between Visual Basic and CSharp. + E.g. C# always includes a CustomMetadata Header (MD2) that contains the namespace scope counts, where + as VB only outputs namespace imports into the namespace scopes. + C# defines forwards in that header, VB includes them into the scopes list. + + Currently the compiler doesn't allow mixing C# and VB method bodies. Thus this flag can be per module. + It is possible to move this flag to per-method basis but native PDB CDI forwarding would need to be adjusted accordingly. + + + + + 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 Assembly that contains this module. If this module is main module then this returns this. + + + + + The method that will be called to start execution of this executable module. + + + + + 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. + + + + + The kind of metadata stored in this module. For example whether this module is an executable or a manifest resource file. + + + + + 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 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) + + + + + Assembly reference aliases (C# only). + + + + + Linked assembly names to be stored to native PDB (VB only). + + + + + Project level imports (VB only, TODO: C# scripts). + + + + + Default namespace (VB only). + + + + + 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 . + + + + + Represents a single using directive (Imports clause). + + + + + This is a marker attribute that can be put on an interface to denote that only internal implementations + of that interface should exist. + + +
+
diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll new file mode 100644 index 00000000..f1d92bee Binary files /dev/null and b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll differ diff --git a/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.xml b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.xml new file mode 100644 index 00000000..6db9e663 --- /dev/null +++ b/build/approot/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01/lib/portable-net45+win8/Microsoft.CodeAnalysis.xml @@ -0,0 +1,24709 @@ + + + + Microsoft.CodeAnalysis + + + + + This is a bridge for APIs that are only available on CoreCLR or .NET 4.6 + and NOT on .NET 4.5. The compiler currently targets .NET 4.5 and CoreCLR + so this shim is necessary for switching on the dependent behavior. + + + + + Given a path to an assembly, identifies files in the same directory + that could satisfy the assembly's dependencies. May throw. + + + Dependencies are identified by simply checking the name of an assembly + reference against a file name; if they match the file is considered a + dependency. Other factors, such as version, culture, public key, etc., + are not considered, and so the returned collection may include items that + cannot in fact satisfy the original assembly's dependencies. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, returns its MVID (Module Version ID). + May throw. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, finds the paths to all of its satellite + assemblies. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Given a path to an assembly and a set of paths to possible dependencies, + identifies which of the assembly's references are missing. May throw. + + If the files does not exist or cannot be accessed. + If one of the files is not an assembly or is somehow corrupted. + + + + Given a path to an assembly, returns the for the assembly. + May throw. + + If the file at does not exist or cannot be accessed. + If the file is not an assembly or is somehow corrupted. + + + + Attempts to read all of the requested bytes from the stream into the buffer + + + The number of bytes read. Less than will + only be returned if the end of stream is reached before all bytes can be read. + + + Unlike it is not guaranteed that + the stream position or the output buffer will be unchanged if an exception is + returned. + + + + + Parse the value provided to an MSBuild Feature option into a list of entries. This will + leave name=value in their raw form. + + + + + Find a instance by first probing the contract name and then the name as it + would exist in mscorlib. This helps satisfy both the CoreCLR and Desktop scenarios. + + + + + This type contains the light up scenarios for various platform and runtimes. Any function + in this type can, and is expected to, fail on various platforms. These are light up scenarios + only. + + + + + Full case-insensitive path. + + + + + Last write time (UTC). + + + + + Constructor. + + Full path. + Last write time (UTC). + + + + + + + Initialize the value referenced by in a thread-safe manner. + The value is changed to only if the current value is null. + + Type of value. + Reference to the target location. + The value to use if the target is currently null. + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Initialize the value referenced by in a thread-safe manner. + The value is changed to only if the current value + is . + + Type of value. + Reference to the target location. + The value to use if the target is currently uninitialized. + The uninitialized value. + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Initialize the immutable array referenced by in a thread-safe manner. + + Elemental type of the array. + Reference to the target location. + The value to use if the target is currently uninitialized (default). + The new value referenced by . Note that this is + nearly always more useful than the usual return from + because it saves another read to . + + + + Search a sorted integer array for the target value in O(log N) time. + + The array of integers which must be sorted in ascending order. + The target value. + An index in the array pointing to the position where should be + inserted in order to maintain the sorted order. All values to the right of this position will be + strictly greater than . Note that this may return a position off the end + of the array if all elements are less than or equal to . + + + + The actual number of bytes read can be fewer than the number of bytes requested + if an error occurs or if the end of the stream is reached during the read operation. + + + + + NOTE!!! adding duplicates will result in exceptions. + Being concurrent only allows accessing the dictionary without taking 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. + + + + Clear the set + + + + + 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. + + + + + 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. + + + + + + + Implements a few file name utilities that are needed by the compiler. + In general the compiler is not supposed to understand the format of the paths. + In rare cases it needs to check if a string is a valid file name or change the extension + (embedded resources, netmodules, output name). + The APIs are intentionally limited to cover just these rare cases. Do not add more APIs. + + + + + Returns true if the string represents an unqualified file name. + The name may contain any characters but directory and volume separators. + + Path. + + True if is a simple file name, false if it is null or includes a directory specification. + + + + + 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 extension 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. + + + + Get file name from path. + + Unlike doesn't check for invalid path characters. + + + + Invoke the underlying HashAlgorithm's TransformBlock operation on the provided data. + + + + + 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 and determines if the byte + sequence is valid ASCII and hence the hash code matches a char sequence + encoding the same text. + See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function + + The sequence of bytes that are likely to be ASCII text. + The length of the sequence. + True if the sequence contains only characters in the ASCII range. + 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 + + + + Represents a single item or many items. + + + Used when a collection usually contains a single item but sometimes might contain multiple. + + + + + Compares objects based upon their reference identity. + + + + + Checks if the given name is a sequence of valid CLR names separated by a dot. + + + + + Remove one set of leading and trailing double quote characters, if both are present. + + + + + 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. + + + + + A COM IStream implementation over memory. Supports just enough for DiaSymReader's PDB writing. + Also tuned for performance: + 1. SetSize (and Seek beyond the length) is very fast and doesn't re-allocate the underlying memory. + 2. Read and Write are optimized to avoid copying (see ) + 3. Allocates in chunks instead of a contiguous buffer to avoid re-alloc and copy costs when growing. + + + + + This is a re-definition of COM's IStream interface. The important change is that + the Read and Write methods take an instead of a byte[] to avoid the + allocation cost when called from native code. + + + + + Null or empty. + + + + + "file" + + + + + ".\file" + + + + + "..\file" + + + + + "\dir\file" + + + + + "C:dir\file" + + + + + "C:\file" or "\\machine" (UNC). + + + + + 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. + + + + + 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 or does not exist. + + + + + Normalizes an absolute path. + + Path to normalize. + + Normalized path. + + + + Used to create a file given a path specified by the user. + paramName - Provided by the Public surface APIs to have a clearer message. Internal API just rethrow the exception + + + + + + + + The 4.5 portable API surface area does not contain many of the APIs Roslyn needs to function. In + particular it lacks APIs to access the file system. The Roslyn project though is constrained + from moving to the 4.6 framework until post VS 2015. + + This puts us in a difficult position. These APIs are necessary for us to have our public API set + in the DLLS we prefer (non Desktop variants) but we can't use them directly when targeting + the 4.5 framework. Putting the APIs into the Desktop variants would create instant legacy for + the Roslyn project that we'd have to maintain forever (even if it was just as assemblies with + only type forward entries). This is not a place we'd like to be in. + + As a compromise we've decided to grab these APIs via reflection for the time being. This is a + *very* unfortunate path to be on but it's a short term solution that sets us up for long term + success. + + This is an unfortunate situation but it will all be removed fairly quickly after RTM and converted + to the proper 4.6 portable contracts. + + Note: Only portable APIs should be present here. + + + + + APIs contained here are proposed for CoreFX but not yet finalized. Their contracts are + subject to change. + + + + + A binder that gathers type/reader mappings during object writing + + + + + 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 + + + + + A binder that gathers type/reader mappings during object writing + + + + + 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 System.Func{T} 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 non source code file. + + + + + Path to the file. + + + + + Returns a with the contents of this file, or null if + there were errors reading the file. + + + + + Errors encountered when trying to read the additional file. Always empty if + has not been called. + + + + + 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. + + + + + ToLower implements the Unicode lowercase mapping + as described in ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt. + VB uses these mappings for case-insensitive comparison. + + + If is upper case, then this returns its Unicode lower case equivalent. Otherwise, is returned unmodified. + + + + This class seeks to perform the lowercase Unicode case mapping. + + + + + 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 per Unicode + + + + + + + In-place convert string in StringBuilder to lower case per Unicode rules + + + + + + 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 multidimensional arrays + + + + + "call ArrayGet" is equivalent of "ldelem ElementType" + when working with multidimensional arrays + + + + + "call ArrayAddress" is equivalent of "ldelema ElementType" + when working with multidimensional arrays + + + + + "call ArraySet" is equivalent of "stelem ElementType" + when working with multidimensional arrays + + + + + Represents a parameter in an array pseudo-method. + + NOTE: It appears that only number of indices 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. + + + + + Gets all scopes that contain variables. + + + + + 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. + + + + + 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 or parameter holding the value 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. + + + + + 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. + + + + + Debug information maintained for each lambda. + + + The information is emitted to PDB in Custom Debug Information record for a method containing the lambda. + + + + + The syntax offset of the syntax node declaring the lambda (lambda expression) or its body (lambda in a query). + + + + + The ordinal of the closure frame the lambda belongs to, or + if the lambda is static, or + if the lambda is closed over "this" pointer only. + + + + + 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 + Local kind. + Local id. + Value to emit in the attributes field in the PDB. + 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 symbol. + + + + + Release a local slot by its symbol. + Slot is not associated with symbol 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. + + + + + Unique identification of an emitted entity (method, lambda, closure) used for debugging purposes (EnC). + + + When used for a synthesized method the ordinal and generation numbers are included its name. + For user defined methods the ordinal is included in Custom Debug Information record attached to the method. + + + + + The index of the method in member list of the containing type, or if undefined. + + + + + The EnC generation the method was defined in (0 is the baseline build). + + + + + 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 hexadecimal 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. + + + + + 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. + + + + + Scope of user-defined variable hoisted to state machine. + + + + + 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 these 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. + + + + + Dispenser of unique ordinals for synthesized variable names that have the same kind and syntax offset. + + + + + 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 these two scenarios we need two maps - Item-->uint, and uint-->Item. (the second is really just a list). + + + + + + Returns an index of a slot that stores specified hoisted local variable in the previous generation. + + + + + Number of slots reserved for hoisted local variables. + + + Some of the slots might not be used anymore (a variable might have been deleted or its type changed). + Still, new hoisted variables are assigned slots starting with . + + + + + Returns true and an index of a slot that stores an awaiter of a specified type in the previous generation, if any. + + + + + Number of slots reserved for awaiters. + + + Some of the slots might not be used anymore (the type of an awaiter might have changed). + Still, new awaiters are assigned slots starting with . + + + + + The id of the method, or null if the method wasn't assigned one. + + + + + Finds a closure in the previous generation that corresponds to the specified syntax. + + + See LambdaFrame.AssertIsLambdaScopeSyntax for kinds of syntax nodes that represent closures. + + + + + Finds a lambda in the previous generation that corresponds to the specified syntax. + The is either a lambda syntax ( is false), + or lambda body syntax ( is true). + + + + + A local whose type is represented by a metadata signature instead of a type symbol. + + + Used when emitting a new version of a method during EnC for variables that are no longer used. + + + + + This temp is not interesting to the expression compiler. However, it + may be replaced by an interesting local in a later stage. + + + + + Id that associates an emitted user-defined or long-lived synthesized local variable + with a syntax node that defined it. If a syntax node defines multiple variables it + provides information necessary to identify which one of these variables is it. + + + + + We calculate a "syntax offset" for each user-defined and long-lived synthesized variable. + Every such variable symbol has to be associated with a syntax node (its declarator). + In usual cases this is the textual distance of the declarator from the start of the method body. + It gets a bit complicated when the containing method body is not contiguous (constructors). + If the variable is in the body of the constructor the definition of syntax offset is the same. + If the variable is defined in a constructor initializer or in a member initializer + (this is only possible when declaration expressions or closures in primary constructors are involved) + then the distance is a negative sum of the widths of all the initializers that succeed the declarator + of the variable in the emitted constructor body plus the relative offset of the declarator from + the start of the containing initializer. + + + + + If a single node is a declarator for multiple variables of the same synthesized kind (it can only happen for synthesized variables) + we calculate additional number "ordinal" for such variable. We assign the ordinals to the synthesized variables with the same kind + and syntax offset in the order as they appear in the lowered bound tree. It is important that a valid EnC edit can't change + the ordinal of a synthesized variable. If it could it would need to be assigned a different kind or associated with a different declarator node. + + + + + Driver to execute diagnostic analyzers for a given compilation. + It uses a of s to drive its analysis. + + + + + Cached semantic model for the compilation trees. + PERF: This cache enables us to re-use semantic model's bound node cache across analyzer execution and diagnostic queries. + + + + + Cached syntax references for a symbol for the lifetime of symbol declared event. + PERF: This cache reduces allocations for computing declaring syntax references for a symbol. + + + + + GetSyntax() for the given SyntaxReference. + + + + + Topmost declaration node for analysis. + + + + + All member declarations within the declaration. + + + + + All descendant nodes for syntax node actions. + + + + + Flag indicating if this is a partial analysis. + + + + + Driver task which initializes all analyzers. + This task is initialized and executed only once at start of analysis. + + + + + Flag to indicate if the was successfully started. + + + + + Primary driver task which processes all events, runs analyzer actions and signals completion of at the end. + + + + + Number of worker tasks processing compilation events and executing analyzer actions. + + + + + Events queue for analyzer execution. + + + + + that is fed the diagnostics as they are computed. + + + + + Create an analyzer driver. + + The set of analyzers to include in the analysis + AnalyzerManager to manage analyzers for analyzer host's lifetime. + + + + Initializes the and related actions maps for the analyzer driver. + It kicks off the task for initialization. + Note: This method must be invoked exactly once on the driver. + + + + + Attaches a pre-populated event queue to the driver and processes all events in the queue. + + Compilation events to analyze. + Scope of analysis. + An optional object to track partial analysis state. + Cancellation token to abort analysis. + Driver must be initialized before invoking this method, i.e. method must have been invoked and must be non-null. + + + + Attaches event queue to the driver and start processing all events pertaining to the given analysis scope. + + Compilation events to analyze. + Scope of analysis. + Cancellation token to abort analysis. + Driver must be initialized before invoking this method, i.e. method must have been invoked and must be non-null. + + + + Create an and attach it to the given compilation. + + The compilation to which the new driver should be attached. + The set of analyzers to include in the analysis. + Options that are passed to analyzers. + AnalyzerManager to manage analyzers for the lifetime of analyzer host. + Delegate to add diagnostics generated for exceptions from third party analyzers. + Report additional information related to analyzers, such as analyzer execution time. + The new compilation with the analyzer driver attached. + A cancellation token that can be used to abort analysis. + A newly created analyzer driver + + Note that since a compilation is immutable, the act of creating a driver and attaching it produces + a new compilation. Any further actions on the compilation should use the new compilation. + + + + + Returns all diagnostics computed by the analyzers since the last time this was invoked. + If has been completed with all compilation events, then it waits for + task for the driver to finish processing all events and generate remaining analyzer diagnostics. + + + + + Return a task that completes when the driver is initialized. + + + + + 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. + + + + + Contains information about the source of diagnostic suppression. + + + + + of the suppressed diagnostic. + + + + + If the diagnostic was suppressed by an attribute, then returns that attribute. + Otherwise, returns null. + + + + + Stores the results of analyzer execution: + 1. Local and non-local diagnostics, per-analyzer. + 2. Analyzer execution times, if requested. + + + + + Scope for analyzer execution. + This scope could either be the entire compilation for all analyzers (command line build) or + could be scoped to a specific tree/span and/or a subset of analyzers (CompilationWithAnalyzers). + + + + + Syntax trees on which we need to perform syntax analysis. + + + + + True if we need to categorize diagnostics into local and non-local diagnostics and track the analyzer reporting each diagnostic. + + + + + True if we need to perform only syntax analysis for a single tree. + + + + + True if we need to perform analysis for a single tree. + + + + + Stores the partial analysis state for analyzers executed on a specific compilation. + + + Stores the current partial analysis state for an analyzer. + + + + + Stores the partial analysis state for a specific event/symbol/tree for a specific analyzer. + + + + + Current state of analysis. + + + + + Set of completed actions. + + + + + Resets the from to . + This method must be invoked after successful analysis completion AND on analysis cancellation. + + + + + Per-analyzer analysis state map. + The integer value points to the index within the array. + + + + + Per-analyzer analysis state. + + + + + Compilation events corresponding to source tree, that are not completely processed for all analyzers. + Events are dropped as and when they are fully processed by all analyzers. + + + + + Compilation events corresponding to the compilation (compilation start and completed events), that are not completely processed for all analyzers. + + + + + Action counts per-analyzer. + + + + + Cached semantic model for the compilation trees. + PERF: This cache enables us to re-use semantic model's bound node cache across analyzer execution and diagnostic queries. + + + + + Invoke this method at completion of event processing for the given analysis scope. + It updates the analysis state of this event for each analyzer and if the event has been fully processed for all analyzers, then removes it from our event cache. + + + + + Gets pending events for given set of analyzers for the given syntax tree. + + + + + Gets pending events for given set of analyzers for the given syntax tree. + + + + + Gets all pending events for given set of analyzers. + + + Indicates if source events (symbol declared, compilation unit completed event) should be included. + Indicates if compilation wide events (compilation started and completed event) should be included. + + + + Returns true if we have any pending syntax analysis for given analysis scope. + + + + + Returns true if we have any pending symbol analysis for given analysis scope. + + + + + Attempts to start processing a compilation event for the given analyzer. + + + Returns false if the event has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given event for the given analyzer. + + + + + Marks the given event as fully analyzed for the given analyzer. + + + + + Attempts to start processing a symbol for the given analyzer's symbol actions. + + + Returns false if the symbol has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given symbol for the given analyzer. + + + + + Marks the given symbol as fully analyzed for the given analyzer. + + + + + Attempts to start processing a symbol declaration for the given analyzer's syntax node and code block actions. + + + Returns false if the declaration has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial analysis state for the given declaration for the given analyzer. + + + + + True if the given symbol declaration is fully analyzed. + + + + + Marks the given symbol declaration as fully analyzed for the given analyzer. + + + + + Marks all the symbol declarations for the given symbol as fully analyzed for all the given analyzers. + + + + + Attempts to start processing a syntax tree for the given analyzer's syntax tree actions. + + + Returns false if the tree has already been processed for the analyzer OR is currently being processed by another task. + If true, then it returns a non-null representing partial syntax analysis state for the given tree for the given analyzer. + + + + + Marks the given tree as fully syntactically analyzed for the given analyzer. + + + + + State kind of per-analyzer tracking an analyzer's partial analysis state. + An analysis state object can be in one of the following states: + 1. Completely unprocessed: + 2. Currently being processed: + 3. Partially processed by one or more older requests that was either completed or cancelled: + 4. Fully processed: We don't need a state kind to represent fully processed state as the analysis state object is discarded once fully processed. + + + + + Ready for processing. + Indicates it is either completely unprocessed or partially processed by one or more older requests that was either completed or cancelled. + + + + + Currently being processed. + + + + + Stores the partial analysis state for a specific symbol declaration for a specific analyzer. + + + + + Partial analysis state for code block actions executed on the declaration. + + + + + Stores the partial analysis state for syntax node actions executed on the declaration. + + + + + Stores the partial analysis state for code block actions executed on the declaration. + + + + + Contains telemetry info for a specific analyzer, such as count of registered actions, the total execution time, etc. + + + + + Count of registered compilation start actions. + + + + + Count of registered compilation end actions. + + + + + Count of registered compilation actions. + + + + + Count of registered syntax tree actions. + + + + + Count of registered semantic model actions. + + + + + Count of registered symbol actions. + + + + + Count of registered syntax node actions. + + + + + Count of registered code block start actions. + + + + + Count of registered code block end actions. + + + + + Count of registered code block actions. + + + + + Total execution time. + + + + + Contains the counts of registered actions for an analyzer. + + + + + Count of registered compilation start actions. + + + + + Count of registered compilation end actions. + + + + + Count of registered compilation actions. + + + + + Count of registered syntax tree actions. + + + + + Count of registered semantic model actions. + + + + + Count of registered symbol actions. + + + + + Count of registered syntax node actions. + + + + + Count of code block start actions. + + + + + Count of code block end actions. + + + + + Count of code block actions. + + + + + Contains the core execution logic for callbacks into analyzers. + + + + + Creates to execute analyzer actions with given arguments + + Compilation to be used in the analysis. + Analyzer options. + Delegate to add analyzer diagnostics. + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + Delegate to determine if the given analyzer is compiler analyzer. + We need to special case the compiler analyzer at few places for performance reasons. + Analyzer manager to fetch supported diagnostics. + + Delegate to fetch the gate object to guard all callbacks into the analyzer. + It should return a unique gate object for the given analyzer instance for non-concurrent analyzers, and null otherwise. + All analyzer callbacks for non-concurrent analyzers will be guarded with a lock on the gate. + + Flag indicating whether we need to log analyzer execution time. + Optional delegate to add local analyzer diagnostics. + Optional delegate to add non-local analyzer diagnostics. + Cancellation token. + + + + Creates to fetch . + + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + Analyzer manager to fetch supported diagnostics. + Flag indicating whether we need to log analyzer execution time. + Cancellation token. + + + + Executes the for the given analyzer. + + Analyzer to get session wide analyzer actions. + Session scope to store register session wide analyzer actions. + + Note that this API doesn't execute any registered by the Initialize invocation. + Use API + to get execute these actions to get the per-compilation analyzer actions. + + + + + Executes the compilation start actions. + + whose compilation start actions are to be executed. + Compilation scope to store the analyzer actions. + + + + Executes compilation actions or compilation end actions. + + Compilation actions to be executed. + Analyzer whose actions are to be executed. + Compilation event. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the symbol actions on the given symbol. + + Symbol actions to be executed. + Analyzer whose actions are to be executed. + Symbol to be analyzed. + Delegate to get topmost declaration node for a symbol declaration reference. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the semantic model actions on the given semantic model. + + Semantic model actions to be executed. + Analyzer whose actions are to be executed. + Semantic model to analyze. + Compilation event for semantic model analysis. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Executes the syntax tree actions on the given syntax tree. + + Syntax tree actions to be executed. + Analyzer whose actions are to be executed. + Syntax tree to analyze. + Scope for analyzer execution. + An optional object to track analysis state. + + + + Manages properties of analyzers (such as registered actions, supported diagnostics) for analyzer host's lifetime + and executes the callbacks into the analyzers. + + It ensures the following for the lifetime of analyzer host: + 1) is invoked only once per-analyzer. + 2) is invoked only once per-analyzer. + 3) registered during Initialize are invoked only once per-compilation per- + + + TODO: Consider moving and relevant APIs + out of the AnalyzerManager and into analyzer drivers. + + + + + Gets the default instance of the AnalyzerManager for the lifetime of the analyzer host process. + + + + + Cache descriptors for each diagnostic analyzer. We do this since is + a property rather than metadata. We expect it to be cheap and immutable, but we can't force them to be so, we cache them + and ask only once. + + + + + Get all the analyzer actions to execute for the given analyzer against a given compilation. + The returned actions include the actions registered during method as well as + the actions registered during for the given compilation. + + + + + Return of given . + + + + + This method should be invoked when the analyzer host is disposing off the analyzers. + It unregisters the exception handler hooked up to the descriptors' LocalizableString fields and subsequently removes the cached descriptors for the analyzers. + + + + + Returns true if all the diagnostics that can be produced by this analyzer are suppressed through options. + + + + + The last event placed into a compilation's event queue. + + + + + 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. + + + + + Options to configure analyzer execution within . + + + + + Options passed to s. + + + + + An optional delegate to be invoked when an analyzer throws an exception. + + + + + Flag indicating whether analysis can be performed concurrently on multiple threads. + + + + + Flag indicating whether analyzer execution time should be logged. + + + + + Flag indicating whether analyzer diagnostics with should be reported. + + + + + Creates a new . + + Options that are passed to analyzers. + Action to invoke if an analyzer throws an exception. + Flag indicating whether analysis can be performed concurrently on multiple threads. + Flag indicating whether analyzer execution time should be logged. + + + + Creates a new . + + Options that are passed to analyzers. + Action to invoke if an analyzer throws an exception. + Flag indicating whether analysis can be performed concurrently on multiple threads. + Flag indicating whether analyzer execution time should be logged. + Flag indicating whether analyzer diagnostics with should be reported. + + + + Queue to store analyzer diagnostics on the . + + + + + Simple diagnostics queue: maintains all diagnostics reported by all analyzers in a single queue. + + + + + Categorized diagnostics queue: maintains separate set of simple diagnostic queues for local semantic, local syntax and non-local diagnostics for every analyzer. + + + + + Scope for setting up analyzers for an entire session, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for a compilation, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for a code block, automatically associating actions with analyzers. + + + + + Scope for setting up analyzers for an entire session, capable of retrieving the actions. + + + + + Scope for setting up analyzers for a compilation, capable of retrieving the actions. + + + + + Scope for setting up analyzers for a code block, capable of retrieving the actions. + + + + + Actions registered by a particular analyzer. + + + + + Append analyzer actions from to actions from this instance. + + Analyzer actions to append. + + + + 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. + + + + + Lockable object only instance is knowledgeable about. + + + + + 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. + + If you need to manage the lifetime of the analyzer reference (and the file stream) explicitly use . + + + + + Creates an AnalyzerFileReference with the given and . + + Full path of the analyzer assembly. + Loader for obtaining the from the + + + + Adds the of of + for all languages defined in this assembly reference. + + + + + Adds the of defined in this assembly reference of given . + + + + + Opens the analyzer dll with the metadata reader and builds a map of language -> analyzer type names. + + The PE image format is invalid. + IO error reading the metadata. + + + + If a specific analyzer failed to load the namespace-qualified name of its type, null otherwise. + + + + + Error message. + + + + + Error code. + + + + + Exception that was thrown while loading the analyzer. May be null. + + + + + DiagnosticAnalyzer for compiler's syntax/semantic/compilation diagnostics. + + + + + Per-compilation DiagnosticAnalyzer for compiler's syntax/semantic/compilation diagnostics. + + + + + Driver to execute diagnostic analyzers for a given compilation. + It uses a of s 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 + AnalyzerManager to manage analyzers for the lifetime of analyzer host. + + + + Represents an in-memory analyzer reference image. + + + + + Options passed to . + + + + + A set of additional non-code text files that can be used by analyzers. + + + + + Creates analyzer options to be passed to . + + A set of additional non-code text files that can be used by analyzers. + + + + Returns analyzer options with the given . + + + + + 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. + + + Should not be null. + + + + + A unique identifier for this analyzer reference. + + + Should not be null. + Note that this and serve different purposes. An analyzer reference may not + have a path, but it always has an ID. Further, two analyzer references with different paths may + represent two copies of the same analyzer, in which case the IDs should also be the same. + + + + + Gets all the diagnostic analyzers defined in this assembly reference, irrespective of the language supported by the analyzer. + Use this method only if you need all the analyzers defined in the assembly, without a language context. + In most instances, either the analyzer reference is associated with a project or is being queried for analyzers in a particular language context. + If so, use method. + + + + + Gets all the diagnostic analyzers defined in this assembly reference for the given . + + Language name. + + + + Pool of s used for analyzer execution. + + + + + Contains the partial analysis state per-analyzer. It tracks: + 1. Global set of pending compilation events. This is used to populate the event queue for analyzer execution. + 2. Per-analyzer set of pending compilation events, symbols, declarations, etc. Each of these pending entities has a state object to track partial analysis. + + + + + Cache of the current analysis results: + 1. Local and non-local diagnostics. + 2. Analyzer execution times, if is true. + + + + + Set of exception diagnostics reported for exceptions thrown by the analyzers. + + + + + Lock to track the set of active tasks computing tree diagnostics and task computing compilation diagnostics. + + + + + Used to generate a unique token for each tree diagnostics request. + The token is used to determine the priority of each request. + Each new tree diagnostic request gets an incremented token value and has higher priority over other requests for the same tree. + Compilation diagnostics requests always have the lowest priority. + + + + + Map from active tasks computing tree diagnostics to their token number. + + + + + Pool of event queues to serve each diagnostics request. + + + + + Underlying with a non-null , used to drive analyzer execution. + + + + + Analyzers to execute on the compilation. + + + + + Options to configure analyzer execution. + + + + + An optional cancellation token which can be used to cancel analysis. + Note: This token is only used if the API invoked to get diagnostics doesn't provide a cancellation token. + + + + + Creates a new compilation by attaching diagnostic analyzers to an existing compilation. + + The original compilation. + The set of analyzers to include in future analyses. + Options that are passed to analyzers. + A cancellation token that can be used to abort analysis. + + + + Creates a new compilation by attaching diagnostic analyzers to an existing compilation. + + The original compilation. + The set of analyzers to include in future analyses. + Options to configure analyzer execution. + + + + Returns diagnostics produced by all . + + + + + Returns diagnostics produced by all . + + + + + Returns diagnostics produced by given . + + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns all diagnostics produced by compilation and by all . + + + + + Returns all diagnostics produced by compilation and by all . + + + + + Returns diagnostics produced by compilation actions of all . + + + + + Returns diagnostics produced by compilation actions of given . + + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns syntax diagnostics produced by all from analyzing the given . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Syntax tree to analyze. + Cancellation token. + + + + Returns syntax diagnostics produced by given from analyzing the given . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Syntax tree to analyze. + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Returns semantic diagnostics produced by all from analyzing the given , optionally scoped to a . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Semantic model representing the syntax tree to analyze. + An optional span within the tree to scope analysis. + Cancellation token. + + + + Returns semantic diagnostics produced by all from analyzing the given , optionally scoped to a . + Depending on analyzers' behavior, returned diagnostics can have locations outside the tree, + and some diagnostics that would be reported for the tree by an analysis of the complete compilation + can be absent. + + Semantic model representing the syntax tree to analyze. + An optional span within the tree to scope analysis. + Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of . + Cancellation token. + + + + Core method for executing analyzers. + + + + + 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. + Analyzer to be checked for suppression. + Compilation options. + + Optional delegate which is invoked when an analyzer throws an exception. + Delegate can do custom tasks such as report the given analyzer exception diagnostic, report a non-fatal watson for the exception, etc. + + + + + + This method should be invoked when the analyzer host is disposing off the given . + It clears the cached internal state (supported descriptors, registered actions, exception handlers, etc.) for analyzers. + + Analyzers whose state needs to be cleared. + + + + Gets telemetry info for the given analyzer, such as count of registered actions, the total execution time (if is true), etc. + + + + + Gets the count of registered actions for the analyzer. + + + + + Gets the execution time for the given analyzer. + + + + + Returns a new compilation with attached diagnostic analyzers. + + Compilation to which analyzers are to be added. + The set of analyzers to include in future analyses. + Options that are passed to analyzers. + A cancellation token that can be used to abort analysis. + + + + Returns a new compilation with attached diagnostic analyzers. + + Compilation to which analyzers are to be added. + The set of analyzers to include in future analyses. + Options to configure analyzer execution within . + + + + Represents an analyzer reference that can't be resolved. + + + For error reporting only, can't be used to reference an analyzer assembly. + + + + + Context for initializing an analyzer. + Analyzer initialization can use an to register actions to be executed at any of: + + + compilation start, + + + compilation end, + + + completion of parsing a code document, + + + completion of semantic analysis of a code document, + + + completion of semantic analysis of a symbol, + + + start of semantic analysis of a method body or an expression appearing outside a method body, + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + Register an action to be executed at compilation start. + A compilation start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Action to be executed at compilation start. + + + + Register an action to be executed for a complete compilation. + A compilation action reports s about the . + + Action to be executed at compilation end. + + + + Register an action to be executed at completion of semantic analysis of a document, + which will operate on the of the document. A semantic model action + reports s about the model. + + Action to be executed for a document's . + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at the start of semantic analysis of a method body or an expression appearing outside a method body. + A code block start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at the start of semantic analysis of a code block. + + + + Register an action to be executed after semantic analysis of a method body or an expression appearing outside a method body. + A code block action reports s about code blocks. + + Action to be executed for a code block. + + + + Register an action to be executed at completion of parsing of a code document. + A syntax tree action reports s about the of a document. + + Action to be executed at completion of parsing of a document. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a compilation start action. + A compilation start action can use a to register actions to be executed at any of: + + + compilation end, + + + completion of parsing a code document, + + + completion of semantic analysis of a code document, + + + completion of semantic analysis of a symbol, + + + start of semantic analysis of a method body or an expression appearing outside a method body, + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Register an action to be executed at compilation end. + A compilation end action reports s about the . + + Action to be executed at compilation end. + + + + Register an action to be executed at completion of semantic analysis of a document, + which will operate on the of the document. A semantic model action + reports s about the model. + + Action to be executed for a document's . + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at completion of semantic analysis of an with an appropriate Kind.> + A symbol action reports s about s. + + Action to be executed for an . + Action will be executed only if an 's Kind matches one of the values. + + + + Register an action to be executed at the start of semantic analysis of a method body or an expression appearing outside a method body. + A code block start action can register other actions and/or collect state information to be used in diagnostic analysis, + but cannot itself report any s. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at the start of semantic analysis of a code block. + + + + Register an action to be executed at the end of semantic analysis of a method body or an expression appearing outside a method body. + A code block action reports s about code blocks. + + Action to be executed for a code block. + + + + Register an action to be executed at completion of parsing of a code document. + A syntax tree action reports s about the of a document. + + Action to be executed at completion of parsing of a document. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Enum type giving the syntax node kinds of the source language for which the action applies. + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a compilation action or compilation end action. + A compilation action or compilation end action can use a to report s about a . + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a semantic model action. + A semantic model action operates on the of a code document, and can use a to report s about the model. + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a symbol action. + A symbol action can use a to report s about an . + + + + + that is the subject of the analysis. + + + + + containing the . + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about an . + + to be reported. + + + + Context for a code block start action. + A code block start action can use a to register actions to be executed + at any of: + + + completion of semantic analysis of a method body or an expression appearing outside a method body, or + + + completion of semantic analysis of a syntax node. + + + + + + + Method body or expression subject to analysis. + + + + + for which the code block provides a definition or value. + + + + + that can provide semantic information about the s in the code block. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Register an action to be executed at the end of semantic analysis of a method body or an expression appearing outside a method body. + A code block end action reports s about code blocks. + + Action to be executed at the end of semantic analysis of a code block. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Register an action to be executed at completion of semantic analysis of a with an appropriate Kind. + A syntax node action can report s about s, and can also collect + state information to be used by other syntax node actions or code block end actions. + + Action to be executed at completion of semantic analysis of a . + Action will be executed only if a 's Kind matches one of the syntax kind values. + + + + Context for a code block action or code block end action. + A code block action or code block end action can use a to report s about a code block. + + + + + Code block that is the subject of the analysis. + + + + + for which the code block provides a definition or value. + + + + + that can provide semantic information about the s in the code block. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a code block. + + to be reported. + + + + Context for a syntax tree action. + A syntax tree action can use a to report s about a for a code document. + + + + + that is the subject of the analysis. + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + Context for a syntax node action. + A syntax node action can use a to report s for a . + + + + + that is the subject of the analysis. + + + + + that can provide semantic information about the . + + + + + Options specified for the analysis. + + + + + Token to check for requested cancellation of the analysis. + + + + + Report a about a . + + to be reported. + + + + The base type for diagnostic analyzers. + + + + + Returns a set of descriptors for the diagnostics that this analyzer is capable of producing. + + + + + Called once at session start to register actions in the analysis context. + + + + + + A queue whose enqueue and dequeue operations can be performed in parallel. + + The type of values kept by the queue. + + + + The number of unconsumed elements in the queue. + + + + + Adds an element to the tail of the queue. This method will throw if the queue + is completed. + + The queue is already completed. + The value to add. + + + + Tries to add an element to the tail of the queue. This method will return false if the queue + is completed. + + The value to add. + + + + Attempts to dequeue an existing item and return whether or not it was available. + + + + + Gets a value indicating whether the queue has completed. + + + + + Signals that no further elements will be enqueued. All outstanding and future + Dequeue Task will be cancelled. + + The queue is already completed. + + + + Same operation as except it will not + throw if the queue is already completed. + + Whether or not the operation succeeded. + + + + Gets a task that transitions to a completed state when or + is called. This transition will not happen synchronously. + + This Task will not complete until it has completed all existing values returned + from . + + + + + Gets a task whose result is the element at the head of the queue. If the queue + is empty, the returned task waits for an element to be enqueued. If + is called before an element becomes available, the returned task is cancelled. + + + + + + Note: The early cancellation behavior is intentional. + + + + + Place this attribute onto a type to cause it to be considered a diagnostic analyzer. + + + + + The source languages to which this analyzer applies. See . + + + + + Attribute constructor used to specify automatic application of a diagnostic analyzer. + + One language to which the analyzer applies. + Additional languages to which the analyzer applies. See . + + + + A set of utilities for converting from a decimal floating-point literal string to its IEEE float + or double representation, which coniders all digits signficant and correctly rounds according to + the IEEE round-to-nearest-ties-to-even mode. This code does not support a leading sign character, + as that is not part of the C# or VB floating-point literal lexical syntax. + + If you change this code, please run the set of long-running random tests in the solution + RandomRealParserTests.sln. That solution is not included in Roslyn.sln as it is Windows-specific. + + + + + Try parsing a correctly-formatted double floating-point literal into the nearest representable double + using IEEE round-to-nearest-ties-to-even rounding mode. Behavior is not defined for inputs that are + not valid C# floating-point literals. + + The decimal floating-point constant's string + The nearest double value, if conversion succeeds + True of the input was converted; false if there was an overflow + + + + Try parsing a correctly-formatted float floating-point literal into the nearest representable float + using IEEE round-to-nearest-ties-to-even rounding mode. Behavior is not defined for inputs that are + not valid C# floating-point literals. + + The float floating-point constant's string + The nearest float value, if conversion succeeds + True of the input was converted; false if there was an overflow + + + + Properties of an IEEE floating-point representation. + + + + + Converts the floating point value 0.mantissa * 2^exponent into the + correct form for the FloatingPointType and stores the bits of the resulting value + into the result object. + The caller must ensure that the mantissa and exponent are correctly computed + such that either [1] the most significant bit of the mantissa is in the + correct position for the FloatingType, or [2] the exponent has been correctly + adjusted to account for the shift of the mantissa that will be required. + + This function correctly handles range errors and stores a zero or infinity in + the result object on underflow and overflow errors, respectively. This + function correctly forms denormal numbers when required. + + If the provided mantissa has more bits of precision than can be stored in the + result object, the mantissa is rounded to the available precision. Thus, if + possible, the caller should provide a mantissa with at least one more bit of + precision than is required, to ensure that the mantissa is correctly rounded. + (The caller should not round the mantissa before calling this function.) + + The bits of the mantissa + The exponent + Whether there are any nonzero bits past the supplied mantissa + Where the bits of the floating-point number are stored + A status indicating whether the conversion succeeded and why + + + + Properties of a C# float. + + + + + Properties of a C# double. + + + + + This type is used to hold a partially-parsed string representation of a + floating point number. The number is stored in the following form: +
+                0.Mantissa * 10^Exponent
+             
+ The Mantissa buffer stores the mantissa digits as characters in a string. + The MantissaCount gives the number of digits present in the Mantissa buffer. + There shall be neither leading nor trailing zero digits in the Mantissa. + Note that this represents only nonnegative floating-point literals; the + negative sign in C# and VB is actually a separate unary negation operator. +
+
+ + + Create a DecimalFloatingPointString from a string representing a floating-point literal. + + The text of the floating-point literal + + + + Convert a DecimalFloatingPointString to the bits of the given floating-point type. + + + + + This function is part of the fast track for integer floating point strings. + It takes an integer stored as an array of bytes (lsb first) and converts the value into its FloatingType + representation, storing the bits into "result". If the value is not + representable, +/-infinity is stored and overflow is reported (since this + function only deals with integers, underflow is impossible). + + the bits of the integer, least significant bits first + the number of bits of precision in integerValueAsBytes + whether there are nonzero digits after the decimal + the kind of real number to build + the result + An indicator of the kind of result + + + + Parse a sequence of digits into a BigInteger. + + The DecimalFloatingPointString containing the digits in its Mantissa + The index of the first digit to convert + The index just past the last digit to convert + The BigInteger result + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Return the number of significant bits set. + + + + + Computes value / 2^shift, then rounds the result according to the current + rounding mode. By the time we call this function, we will already have + discarded most digits. The caller must pass true for has_zero_tail if + all discarded bits were zeroes. + + The value to shift + The amount of shift + Whether there are any less significant nonzero bits in the value + + + + + Determines whether a mantissa should be rounded up in the + round-to-nearest-ties-to-even mode given [1] the value of the least + significant bit of the mantissa, [2] the value of the next bit after + the least significant bit (the "round" bit) and [3] whether any + trailing bits after the round bit are set. + + The mantissa is treated as an unsigned integer magnitude. + + For this function, "round up" is defined as "increase the magnitude" of the + mantissa. + + the least-significant bit of the representable value + the bit following the least-significant bit + true if there are any (less significant) bits set following roundBit + + + + + Multiply a BigInteger by the given power of two. + + The BigInteger to multiply by a power of two and replace with the product + The power of two to multiply it by + + + + Multiply a BigInteger by the given power of ten. + + The BigInteger to multiply by a power of ten and replace with the product + The power of ten to multiply it by + + + + Convert a float value to the bits of its representation + + + + + Convert the bits of its representation to a float + + + + + A union used to convert between a float and the bits of its representation + + + + + Adds aliases of a specified reference to the merged set of aliases. + Consider the following special cases: + + o {} + {} = {} + If neither reference has any aliases then the result has no aliases. + + o {A} + {} = {A, global} + {} + {A} = {A, global} + + If one and only one of the references has aliases we add the global alias since the + referenced declarations should now be accessible both via existing aliases + as well as unqualified. + + o {A, A} + {A, B, B} = {A, A, B, B} + We preserve dups in each alias array, but avoid making more dups when merging. + + + + + Defines a set of helper methods to classify Unicode characters. + + + + + Returns true if the Unicode character can be a part of an identifier. + + The Unicode character. + + + + Check that the name is a valid Unicode identifier. + + + + + 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. + + + + 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 Analyzer Driver Failure. + + + + + Looks up a localized string similar to Analyzer driver threw an exception of type '{0}' with message '{1}'.. + + + + + Looks up a localized string similar to Analyzer driver threw the following exception: + '{0}'.. + + + + + Looks up a localized string similar to Time (s). + + + + + Looks up a localized string similar to Analyzer. + + + + + Looks up a localized string similar to Total analyzer execution time: {0} seconds.. + + + + + Looks up a localized string similar to Argument cannot be empty.. + + + + + Looks up a localized string similar to Argument cannot have a null element.. + + + + + 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 Can't create a module reference to an assembly.. + + + + + Looks up a localized string similar to Can't create a metadata reference to an assembly without location.. + + + + + Looks up a localized string similar to Can't create a metadata reference to a dynamic assembly.. + + + + + Looks up a localized string similar to The changes must be ordered and not overlapping.. + + + + + 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 Analyzer Failure. + + + + + Looks up a localized string similar to Analyzer '{0}' threw an exception of type '{1}' with message '{2}'.. + + + + + Looks up a localized string similar to Analyzer '{0}' threw the following exception: + '{1}'.. + + + + + Looks up a localized string similar to constructor. + + + + + Looks up a localized string similar to delegate. + + + + + Looks up a localized string similar to A DiagnosticDescriptor must have an Id that is neither null nor an empty string nor a string that only contains white space.. + + + + + Looks up a localized string similar to Argument contains duplicate analyzer instances.. + + + + + Looks up a localized string similar to A key in the pathMap is empty.. + + + + + 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 A value in the pathMap is empty.. + + + + + 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 Inconsistent language versions. + + + + + 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 data at offset {0}: {1}{2}*{3}{4}. + + + + + Looks up a localized string similar to Reported diagnostic has an ID '{0}', which is not a valid identifier.. + + + + + Looks up a localized string similar to Invalid hash.. + + + + + Looks up a localized string similar to Invalid module name specified in metadata module '{0}': '{1}'. + + + + + Looks up a localized string similar to Node to track is not a descendant of the root.. + + + + + Looks up a localized string similar to Invalid output kind for submission. DynamicallyLinkedLibrary expected.. + + + + + Looks up a localized string similar to Invalid public key.. + + + + + Looks up a localized string similar to Invalid public key token.. + + + + + 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 size of public key token.. + + + + + Looks up a localized string similar to Syntax tree doesn't belong to the underlying 'Compilation'.. + + + + + Looks up a localized string similar to Argument to '/keepalive' option is not a 32-bit integer.. + + + + + Looks up a localized string similar to Arguments to '/keepalive' option below -1 are invalid.. + + + + + Looks up a localized string similar to '/keepalive' option is only valid with '/shared' option.. + + + + + Looks up a localized string similar to A key in the pathMap ends with a path separator.. + + + + + Looks up a localized string similar to method. + + + + + Looks up a localized string similar to Roslyn compiler server reports different protocol version than build task.. + + + + + Looks up a localized string similar to Missing argument for '/keepalive' option.. + + + + + Looks up a localized string similar to The item specified is not the element of a list.. + + + + + 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 NOTE: Elapsed time may be less than analyzer execution time because analyzers can run concurrently.. + + + + + 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 No analyzers found. + + + + + Looks up a localized string similar to Cannot deserialize type '{0}', no binder supplied.. + + + + + Looks up a localized string similar to A node or token is out of sequence.. + + + + + Looks up a localized string similar to Cannot deserialize type '{0}', it has no deserialization reader.. + + + + + Looks up a localized string similar to The type '{0}' cannot be written, it does not implement IObjectWritable. + + + + + 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 ended at {0} bytes, expected {1} bytes.. + + + + + 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 attribute {0} has an invalid value of {1}.. + + + + + Looks up a localized string similar to The rule set file has duplicate rules for '{0}' with differing actions '{1}' and '{2}'.. + + + + + Looks up a localized string similar to The element {0} is missing an attribute named {1}.. + + + + + 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 Stream must be writable.. + + + + + Looks up a localized string similar to struct. + + + + + Looks up a localized string similar to SymWriter doesn't support deterministic compilation. + + + + + 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 A node in the list is not of the expected type.. + + + + + Looks up a localized string similar to Unresolved: . + + + + + Looks up a localized string similar to Argument contains an analyzer instance that does not belong to the 'Analyzers' for this CompilationWithAnalyzers instance.. + + + + + Looks up a localized string similar to Reported diagnostic with ID '{0}' is not supported by the analyzer.. + + + + + Looks up a localized string similar to Unsupported hash algorithm.. + + + + + 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.. + + + + + Maps an array builder to 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 array builder to 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. + + + + Create BitArray with at least the specified number of bits. + + + + + return a bit array with all bits set from index 0 through bitCount-1 + + + + + + + Make 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. + + + + + + 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 associated 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 experiments, 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. + + + + + 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 (default) + + + + + 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. + + + + + Describes a command line analyzer assembly specification. + + + + + Assembly file path. + + + + + 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 + . + + + + + Drop to an interactive loop. If a script is specified in executes the script first. + + + + + 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. + + + + + A list of pairs of paths. This stores the value of the command-line compiler + option /pathMap:X1=Y1;X2=Y2... which causes a prefix of X1 followed by a path + separator to be replaced by Y1 followed by a path separator, and so on for each following pair. + + + This option is used to help get build-to-build determinism even when the build + directory is different from one build to the next. The prefix matching is case sensitive. + + + + + Sequence of absolute paths used to search for references. + + + + + Sequence of absolute paths used to search for sources specified as #load directives. + + + + + Sequence of absolute paths used to search for key files. + + + + + If true, use UTF8 for output. + + + + + Compilation name or null if not specified. + + + + + Gets the emit options. + + + + + Name of the output file or null if not specified. + + + + + Path of the PDB file or null if same as output binary path with .pdb extension. + + + + + True to emit PDB file. + + + + + Absolute path of the output directory. + + + + + Absolute path of the documentation comment XML file or null if not specified. + + + + + Absolute path of the error log 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. + + + + + A set of additional non-code text files that can be used by analyzers. + + + + + Report additional information related to analyzers, such as analyzer execution time. + + + + + 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. + + + + + Hash algorithm to use to calculate source file debug checksums. + + + + + Arguments following a script file or separator "--". Null if the command line parser is not interactive. + + + + + 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. + + + + + Full 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. + Yields resolved metadata references or . + 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. + + + called by CommonCompiler with diagnostics and message provider + + + + + Resolves analyzer references stored in using given file resolver. + + Load an assembly from a file path + 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. + + + + Parses a command line. + + A collection of strings representing the command line arguments. + The base directory used for qualifying file locations. + The directory to search for mscorlib, or null if not available. + A string representing additional reference paths. + a object representing the parsed command line. + + + + Trims all '.' and whitespace from the end of the path + + + + + Returns false if any of the client arguments are invalid and true otherwise. + + + The original args to the client. + + + The original args minus the client args, if no errors were encountered. + + + Only defined if no errors were encountered. + True if '/shared' was an argument, false otherwise. + + + Only defined if no errors were encountered. + The value to the '/keepalive' argument if one was specified, null otherwise. + + + Only defined if errors were encountered. + The error message for the encountered error. + + + + + Parse a response file into a set of arguments. Errors opening 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. + + + + + Split a command line by the same rules as Main would get the commands except the original + state of backslashes and quotes are preserved. For example in normal Windows command line + parsing the following command lines would produce equivalent Main arguments: + + - /r:a,b + - /r:"a,b" + + This method will differ as the latter will have the quotes preserved. The only case where + quotes are removed is when the entire argument is surrounded by quotes without any inner + quotes. + + + 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. + + + + + Remove the extraneous quotes and slashes from the argument. This function is designed to have + compat behavior with the native compiler. + + + Mimics the function RemoveQuotes from the native C# compiler. The native VB equivalent of this + function is called RemoveQuotesAndSlashes. It has virtually the same behavior except for a few + quirks in error cases. + + + + + Mimic behavior of the native function by the same name. + + + + + Split a string, based on whether "splitHere" returned true on each character. + + + + + 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. + + + + Base class for csc.exe, csi.exe, vbc.exe and vbi.exe implementations. + + + + + This implementation of will delay the creation + of the PE / PDB file until the compiler determines the compilation has succeeded. This prevents + the compiler from deleting output from the previous compilation when a new compilation + fails. + + + + + Resolves metadata references stored in command line arguments and reports errors for those that can't be resolved. + + + + + Reads content of a source file. + + Source file information. + Storage for diagnostics. + File content or null on failure. + + + + Reads content of a source file. + + Source file information. + Storage for diagnostics. + 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. + + + + + When overridden 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. + + + + + Used for logging all compiler diagnostics into a given . + This logger is responsible for closing the given stream on . + + + + + Represents an issue to be logged into the error log. + This could be corresponding to a or a reported by the . + + + + + Represents a value for a key-value pair to be emitted into the error log file. + This could be a simple string or an integer OR could be a list of identical values OR a group of heterogeneous key-value pairs. + + + + + Contains well known property strings for error log 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. + + + + + 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. + + + 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. + + + + + Abstraction that allows the caller to delay the creation of the values + until they are actually needed. + + + + + Returns an existing open stream or null if no stream has been open. + + + + + This method will be called once during Emit at the time the Compilation needs + to create a stream for writing. It will not be called in the case of + user errors in code. Shall not be called when returns non-null. + + + + + 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). + + + + + Used for test purposes only to emulate missing members. + + + + + Used for test purposes only to emulate missing members. + + + + + 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. + + The specified syntax tree. + + True if the SemanticModel should ignore accessibility rules when answering semantic questions. + + + + + 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 globals object or null if not specified for this compilation. + + + + + 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. + + + + Create a stream filled with default win32 resources. + + + + + Constructs the module serialization properties out of the compilation options of this compilation. + + + + + The value is not used by Windows loader, but the OS appcompat infrastructure uses it to identify apps. + It is useful for us to have a mechanism to identify the compiler that produced the binary. + This is the appropriate value to use for that. That is what it was invented for. + We don't want to have the high bit set for this in case some users perform a signed comparison to + determine if the value is less than some version. The C++ linker is at 0x0B. + We'll start our numbering at 0x30 for C#, 0x50 for VB. + + + + + 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. + 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. + 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 options. + To cancel the emit process. + + + + Emit the IL for the compiled source code into the specified stream. + + Stream to which the compilation will be written. + 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. + 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 options. + + Debug entry-point of the assembly. The method token is stored in the generated PDB stream. + + When a program launches with a debugger attached the debugger places the first breakpoint to the start of the debug entry-point method. + The CLR starts executing the static Main method of type. When the first breakpoint is hit + the debugger steps thru the code statement by statement until user code is reached, skipping methods marked by , + and taking other debugging attributes into consideration. + + By default both entry points in an executable program (, , ) + are the same method (Main). A non-executable program has no entry point. Runtimes that implement a custom loader may specify debug entry-point + to force the debugger to skip over complex custom loader logic executing at the beginning of the .exe and thus improve debugging experience. + + Unlike ordinary entry-point which is limited to a non-generic static method of specific signature, there are no restrictions on the + method other than having a method body (extern, interface, or abstract methods are not allowed). + + To cancel the emit process. + + + + 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. + + + + 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. + + + + + 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. + + + + + Return true if there is a source declaration symbol name that meets given predicate. + + + + + Return source declaration symbols whose name meets given predicate. + + + + + 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 retargeting symbols into the given list. + must be locked while calling this method. + + + + + Indicate what kinds of declaration symbols will be included + + + + + None + + + + + include namespace symbols + + + + + include type symbols + + + + + include member symbols such as method, event, property, field + + + + + include type and member + + + + + include all namespace, type and member + + + + + Policy to be used when matching assembly reference to an assembly definition across platforms. + + + + + Converts to . + + Major, minor, build or revision number are less than 0 or greater than 0xFFFF. + + + 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. + + + + + + + + + + + + + + + + Handles loading analyzer assemblies and their dependencies. + + Before an analyzer assembly is loaded with , + its location and the location of all of its dependencies must first be specified + by calls to . + + + To the extent possible, implementations should remain consistent in the face + of exceptions and allow the caller to handle them. This allows the caller to + decide how to surface issues to the user and whether or not they are fatal. For + example, if asked to load an a non-existent or inaccessible file a command line + tool may wish to exit immediately, while an IDE may wish to keep going and give + the user a chance to correct the issue. + + + + + Given the full path to an assembly on disk, loads and returns the + corresponding object. + + + Multiple calls with the same path should return the same + instance. + + + + + Adds a file to consider when loading an analyzer or its dependencies. + + + + + A localizable resource string that may possibly be formatted differently depending on culture. + + + + + Creates a localizable resource string with no formatting arguments. + + nameof the resource that needs to be localized. + for the calling assembly. + Type handling assembly's resource management. Typically, this is the static class generated for the resources file from which resources are accessed. + + + + Creates a localizable resource string that may possibly be formatted differently depending on culture. + + nameof the resource that needs to be localized. + for the calling assembly. + Type handling assembly's resource management. Typically, this is the static class generated for the resources file from which resources are accessed. + Optional arguments for formatting the localizable resource string. + + + + A string that may possibly be formatted differently depending on culture. + NOTE: Types implementing must be serializable. + + + + + FixedLocalizableString representing an empty string. + + + + + Fired when an exception is raised by any of the public methods of . + If the exception handler itself throws an exception, that exception is ignored. + + + + + Formats the value of the current instance using the optionally specified format. + + + + + Formats the value of the current instance using the optionally specified format. + Provides the implementation of ToString. ToString will provide a default value + if this method throws an exception. + + + + + Provides the implementation of GetHashCode. GetHashCode will provide a default value + if this method throws an exception. + + + + + + Provides the implementation of Equals. Equals will provide a default value + if this method throws an exception. + + + + + + Represents compilation emit options. + + + + + True to emit an assembly excluding executable code such as method bodies. + + + + + Tolerate errors, producing a PE stream and a success result even in the presence of (some) errors. + + + + + Unless set (private) members that don't affect the language semantics of the resulting assembly will be excluded + when emitting with on. + + + Has no effect when is false. + + + + + Subsystem version + + + + + 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 . + + + + + True to enable high entropy virtual address space for the output binary. + + + + + Specifies the preferred base address at which to load the output DLL. + + + + + Debug information format. + + + + + Assembly name override - file name and extension. If not specified the compilation name is used. + + + By default the name of the output assembly is . Only in rare cases it is necessary + to override the 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 to be embedded in the PE image, or null to use the default. + + + If not specified the file name of the source module with an extension changed to "pdb" is used. + + + + + Runtime metadata version. + + + + + Sets the byte alignment for portable executable file sections. + + Can be one of the following values: 0, 512, 1024, 2048, 4096, 8192 + + + + No change. + + + + + Node value was updated. + + + + + Node was inserted. + + + + + Node was deleted. + + + + + Debugging information associated with the specified method that is emitted by the compiler to support Edit and Continue. + + + + + Deserializes Edit and Continue method debug information from specified blobs. + + Local variable slot map. + Lambda and closure map. + Invalid data. + + + Invalid data. + + + + Merges synthesized members generated during lowering of the current compilation with aggregate synthesized members + from all previous source generations (gen >= 1). + + + Suppose {S -> {A, B, D}, T -> {E, F}} are all synthesized members in previous generations, + and {S' -> {A', B', C}, U -> {G, H}} members are generated in the current compilation. + + Where X matches X' via this matcher, i.e. X' is from the new compilation and + represents the same metadata entity as X in the previous compilation. + + Then the resulting collection shall have the following entries: + {S' -> {A', B', C, D}, U -> {G, H}, T -> {E, F}} + + + + + 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. + + + + + Name of the anonymous type field. + + + + + True if the anonymous type field was marked as 'Key' in VB. + + + + + is case insensitive. + + + + + Return tokens for all modified debuggable 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 for a method handle returns Edit and Continue debug information emitted by the compiler into the PDB. + + 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. + + + + + EnC metadata for methods added or updated since the initial generation, indexed by method row id. + + + + + 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. + + + + + True if the symbol is a source symbol added during EnC session. + The symbol may be declared in any source compilation in the current solution. + + + + + 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. + + Note that these changes only include user-defined source symbols, not synthesized symbols since those will be + generated during lowering of the changed user-defined symbols. + + + + + 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 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. + + + + + EnC generation. + + + + + 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) + + + + + 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 is false and the map is not needed or + the source of the current method is the same as the source of the previous 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 long lived local. + + + + + 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 is false and the map is not needed or + the source of the current method is the same as the source of the previous method. + + + True if the edit is an update of an active method and local values should be preserved; false otherwise. + + + or is null and the edit isn't an or , respectively. + + + is not a valid kind. + + + + + Encoding to use when there is no byte order mark (BOM) on the stream. This encoder may throw a + if the stream contains invalid UTF-8 bytes. + + + + + Encoding to use when UTF-8 fails. We try to find the following, in order, if available: + 1. The default ANSI codepage + 2. CodePage 1252. + 3. Latin1. + + + + + Initializes an instance of from the provided stream. This version differs + from in two ways: + 1. It attempts to minimize allocations by trying to read the stream into a byte array. + 2. If is null, it will first try UTF8 and, if that fails, it will + try CodePage 1252. If CodePage 1252 is not available on the system, then it will try Latin1. + + The stream containing encoded text. + + Specifies an encoding to be used if the actual encoding can't be determined from the stream content (the stream doesn't start with Byte Order Mark). + If not specified auto-detect heuristics are used to determine the encoding. If these heuristics fail the decoding is assumed to be Encoding.Default. + Note that if the stream starts with Byte Order Mark the value of is ignored. + + Hash algorithm used to calculate document checksum. + + The stream content can't be decoded using the specified , or + is null and the stream appears to be a binary file. + + An IO error occurred while reading from the stream. + + + + Try to create a from the given stream using the given encoding. + + The input stream containing the encoded text. The stream will not be closed. + The expected encoding of the stream. The actual encoding used may be different if byte order marks are detected. + The checksum algorithm to use. + Throw if binary (non-text) data is detected. + The decoded from the stream. + The decoder was unable to decode the stream with the given encoding. + + internal for unit testing + + + + + Some streams are easily represented as byte arrays. + + The stream + + The contents of as a byte array or null if the stream can't easily + be read into a byte array. + + + + + 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. + + True if a byte array could be created. + + + + Read the contents of a FileStream into a byte array. + + The FileStream with encoded text. + A byte array filled with the contents of the file. + True if a byte array could be created. + + + + A composite of a sequence of s. + + + + + Validates the arguments passed to against the published contract. + + True if should bother to proceed with copying. + + + + A optimized for very large sources. The text is stored as + a list of chunks (char arrays). + + + + + internal for unit testing + + + + + Check for occurrence of two consecutive NUL (U+0000) characters. + This is unlikely to appear in genuine text, so it's a good heuristic + to detect binary files. + + + + + Called from to initialize the . Thereafter, + the collection is cached. + + A new representing the individual text lines. + + + + 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. + precedes . + + + + Gets the start position of the span. + + + + + Gets the end position of the span. + + + + + Provides a string representation for . + + (0,0)-(5,6) + + + + Specifies a hash algorithms used for hashing source files. + + + + + No algorithm specified. + + + + + Secure Hash Algorithm 1. + + + + + Secure Hash Algorithm 2 with a hash size of 256 bits. + + + + + An abstraction of source text. + + + + + Constructs a from text in a string. + + Text. + + Encoding of the file that the was read from or is going to be saved to. + null if the encoding is unspecified. + If the encoding is not specified the resulting isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + is null. + is not supported. + + + + Constructs a from stream content. + + Stream. The stream must be seekable. + + Data encoding to use if the stream doesn't start with Byte Order Mark specifying the encoding. + if not specified. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + If the decoded text contains at least two consecutive NUL + characters, then an is thrown. + is null. + + doesn't support reading or seeking. + is not supported. + + If the given encoding is set to use a throwing decoder as a fallback + Two consecutive NUL characters were detected in the decoded text and was true. + An I/O error occurs. + Reads from the beginning of the stream. Leaves the stream open. + + + + Constructs a from a byte array. + + The encoded source buffer. + The number of bytes to read from the buffer. + + Data encoding to use if the encoded buffer doesn't start with Byte Order Mark. + if not specified. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + If the decoded text contains at least two consecutive NUL + characters, then an is thrown. + The decoded text. + The is null. + The is negative or longer than the . + is not supported. + If the given encoding is set to use a throwing decoder as a fallback + Two consecutive NUL characters were detected in the decoded text and was true. + + + + Decode text from a stream. + + The stream containing encoded text. + The encoding to use if an encoding cannot be determined from the byte order mark. + The actual encoding used. + The decoded text. + If the given encoding is set to use a throwing decoder as a fallback + + + + Decode text from a byte array. + + The byte array containing encoded text. + The count of valid bytes in . + The encoding to use if an encoding cannot be determined from the byte order mark. + The actual encoding used. + The decoded text. + If the given encoding is set to use a throwing decoder as a fallback + + + + Check for occurrence of two consecutive NUL (U+0000) characters. + This is unlikely to appear in genuine text, so it's a good heuristic + to detect binary files. + + + internal for unit testing + + + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + + + + Encoding of the file that the text was read from or is going to be saved to. + null if the encoding is unspecified. + + + If the encoding is not specified the source isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + + + 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 . + + + + 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. + + + + + 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. + + + + + Called from to initialize the . Thereafter, + the collection is cached. + + A new representing the individual text lines. + + + + Compares the content with content of another . + + + + + Implements equality comparison of the content of two different instances of . + + + + + Detect an encoding by looking for byte order marks. + + A buffer containing the encoded text. + The length of valid data in the buffer. + The length of any detected byte order marks. + The detected encoding or null if no recognized byte order mark was present. + + + + 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. + + + + + A read-only, non-seekable over a . + + + + + Implementation of 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 . + + + + 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 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 . + + + + 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 instance 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 . + + + + + 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. + + The returned TextSpan contains the range with inclusive, + and exclusive. + + + + + 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 + + + + + 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 + + + + + Emit the IL for the compilation into the specified stream. + + Compilation. + 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. + 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. + To cancel the emit process. + Compilation or path is null. + Path is empty or invalid. + An error occurred while reading or writing a file. + + + + APIs for constructing documentation comment id's, and finding symbols that match ids. + + + + + Creates an id string used by external documentation comment files to identify declarations + of types, namespaces, methods, properties, etc. + + + + + Creates an id string used to reference type symbols (not strictly declarations, includes + arrays, pointers, type parameters, etc.) + + + + + Gets all declaration symbols that match the declaration id string + + + + + Try to get all the declaration symbols that match the declaration id string. + Returns true if at least one symbol matches. + + + + + Gets the first declaration symbol that matches the declaration id string, order undefined. + + + + + Gets the symbols that match the reference id string. + + + + + Try to get all symbols that match the reference id string. + Returns true if at least one symbol matches. + + + + + Gets the first symbol that matches the reference id string, order undefined. + + + + + Checks for the given ; if the is true, + immediately terminates the process without running any pending finally blocks or finalizers + and causes a crash dump to be collected (if the system is configured to do so). + Otherwise, the process continues normally. + + The conditional expression to evaluate. + An optional message to be recorded in the dump in case of failure. Can be null. + + + + Dictionary designed to hold small number of items. + Compared to the regular Dictionary, average overhead per-item is roughly the same, but + unlike regular dictionary, this one is based on an AVL tree and as such does not require + rehashing when items are added. + It does require rebalancing, but that is allocation-free. + + Major caveats: + 1) There is no Remove method. (can be added, but we do not seem to use Remove that much) + 2) foreach [keys|values|pairs] may allocate a small array. + 3) Performance is no longer O(1). At a certain count it becomes slower than regular Dictionary. + In comparison to regular Dictionary on my machine: + On trivial number of elements (5 or so) it is more than 2x faster. + The break even count is about 120 elements for read and 55 for write operations (with unknown initial size). + At UShort.MaxValue elements, this dictionary is 6x slower to read and 4x slower to write + + Generally, this dictionary is a win if number of elements is small, not known beforehand or both. + + If the size of the dictionary is known at creation and it is likely to contain more than 10 elements, + then regular Dictionary is a better choice. + + + + + 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 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. + + + + + CandidateSymbols are members of a group of results. This is used when there isn't a problem, + but there is more than one result, for example nameof(int.ToString). + + + + + 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 . + + + + + 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. + + + + + Specifies public key used to generate strong name for the compilation assembly, or empty of not specified. + + + If specified the values of and must be null. + If is false the assembly is marked as signed but not actually signed (aka "OSS signing"). + + + + + The name of the file containing the public and private keys to use to generate strong name of the + compilation assembly and to sign it. + + + + To sign the output supply either one of or . + but not both. If both are specified is ignored. + + + This setting is obsolete and only supported on Microsoft Windows platform. + Use to generate assemblies with strong name and + a signing tool (Microsoft .NET Framework Strong Name Utility (sn.exe) or equivalent) to sign them. + + + + + + The CSP container containing the key with which to sign the output. + + + + To sign the output supply either one of or . + but not both. If both are specified is ignored. + + + This setting is obsolete and only supported on Microsoft Windows platform. + Use to generate assemblies with strong name and + a signing tool (Microsoft .NET Framework Strong Name Utility (sn.exe) or equivalent) to sign them. + + + + + + Turn compilation assembly signing on or off. + + + If true the resulting assembly is marked as delay signed. + + If false and , , or is specified + or attribute System.Reflection.AssemblyKeyFileAttribute or System.Reflection.AssemblyKeyNameAttribute is applied to the + compilation assembly in source the resulting assembly is signed accordingly to the specified values/attributes. + + If null the semantics is specified by the value of attribute System.Reflection.AssemblyDelaySignAttribute + applied to the compilation assembly in source. If the attribute is not present the value defaults to "false". + + + + + Whether bounds checking on integer arithmetic is enforced by default or not. + + + + + Specifies which version of the common language runtime (CLR) can run the assembly. + + + + + 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. + + + + + Specifies whether the compilation should be deterministic. + + + + + Emit extended custom debug information to the PDB file. + + + + + Emit mode that favors debuggability. + + + + + Import internal/private members from all references regardless of "internals-visible-to" relationship. + + + + + Modifies the incoming diagnostic, for example escalating its severity, or discarding it (returning null) based on the compilation options. + + + The modified diagnostic, or null + + + + Warning report option for each warning. + + + + + Whether diagnostics suppressed in source, i.e. is true, should be reported. + + + + + 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 suppressed diagnostics reporting option. + + + + + Creates a new options instance with the deterministic property set accordingly. + + + + + 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 . + + + + + The set of statements inside the region what are the + destination of branches outside the region. + + + + + 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. + + + + + 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 + , or one of its language-specific overloads, + where you pass the first and last statements of the region as parameters. + "Inside" means those statements or ones between them. "Outside" are any other statements of the same method. + + + + + 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. + + + + + The set of local variables which are assigned a value outside a region + that may be used inside the region. + + + + + The set of local variables which are assigned a value inside a region + that may be used outside the region. + + + + + The set of local variables for which a value is always assigned inside + a region. + + + + + The set of local variables that are read inside a region. + + + + + The set of local variables that are written inside a region. + + + + + The set of the local variables that are read outside a region. + + + + + The set of local variables that are written outside a region. + + + + + 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. + + + + + The set of 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. + + + + + 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. + + + + Gets a list of method or indexed property symbols for a syntax node. + + + The syntax node to get semantic information for. + The cancellation token. + + + + 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. + + + + + Determines the level of optimization of the generated code. + + + + + Disables all optimizations and instruments the generated code to improve debugging experience. + + + The compiler prefers debuggability over performance. Do not use for code running in a production environment. + + JIT optimizations are disabled via assembly level attribute (). + Edit and Continue is enabled. + Slots for local variables are not reused, lifetime of local variables is extended to make the values available during debugging. + + + Corresponds to command line argument /optimize-. + + + + + + Enables all optimizations, debugging experience might be degraded. + + + The compiler prefers performance over debuggability. Use for code running in a production environment. + + JIT optimizations are enabled via assembly level attribute (). + Edit and Continue is disabled. + Sequence points may be optimized away. As a result it might not be possible to place or hit a breakpoint. + User-defined locals might be optimized away. They might not be available while debugging. + + + Corresponds to command line argument /optimize+. + + + + + + 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. + + + + + Enable some experimental language features for testing. + + + + + Returns the experimental features. + + + + + 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. + + + + + Returns true if this is a SemanticModel that ignores accessibility rules when answering semantic questions. + + + + + 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 syntax errors within the syntax tree associated with this + object. Does not get errors involving declarations or 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. + + + + 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. + + + + + 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. + + + + Gets the for all the declarations whose span overlaps with the given . + + Span to get declarations. + Flag indicating whether should be computed for the returned declaration infos. + If false, then is always null. + Builder to add declarations. + Cancellation token. + + + + Takes a node and returns a set of declarations that overlap the node's span. + + + + + Takes a Symbol and syntax for one of its declaring syntax reference and returns the topmost syntax node to be used by syntax analyzer. + + + + + 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. + + + + Reads the contents of and returns a . + + Path returned by . + + + + 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, then + 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. + + + + + + + Represents a non source code file. + + + + + Path to the text. + + + + + Retrieves a with the contents of this file. + + + + + 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 an optional localizable title for the given diagnostic code. + + + + + Get an optional localizable description for the given diagnostic code. + + + + + Get a localizable message format string for the given diagnostic code. + + + + + Get an optional help link for the given diagnostic code. + + + + + Get the diagnostic category for the given diagnostic code. + Default category is . + + + + + 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 specific diagnostic for given error code. + + + + + Create a simple language specific 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. + + + + + convert given symbol to string representation based on given error code + + + + + Given an error code (like 1234) return the identifier (CS1234 or BC1234). + + + + + Produces the filtering action for the diagnostic based on the options passed in. + + + A new with new effective severity based on the options or null if the + diagnostic has been suppressed. + + + + + Filter a based on the compilation options so that /nowarn and /warnaserror etc. take effect.options + + A with effective severity based on option or null if suppressed. + + + + 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. + + + + + Highest valid warning level for non-error diagnostics. + + + + + 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. + + + + Creates a instance. + + A describing the diagnostic. + An optional primary location of the diagnostic. If null, will return . + An optional set of properties of the diagnostic. If null, will return . + Arguments to the message of the diagnostic. + The instance. + + + + 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. + + + + 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. + + An optional set of properties of the diagnostic. If null, will return . + Arguments to the message of the diagnostic. + The instance. + + + + Creates a instance which is localizable. + + 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's effective severity. + The diagnostic's default severity. + True if the diagnostic is enabled by default + The warning level, between 1 and 4 if severity is ; otherwise 0. + An optional short localizable title describing the diagnostic. + An optional longer localizable description for the diagnostic. + An optional hyperlink that provides more detailed information regarding 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. + + + An optional set of custom tags for the diagnostic. See for some well known tags. + If null, will return an empty list. + + An optional set of properties of the diagnostic. If null, will return . + The instance. + + + + Creates a instance which is localizable. + + 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's effective severity. + The diagnostic's default severity. + True if the diagnostic is enabled by default + The warning level, between 1 and 4 if severity is ; otherwise 0. + Flag indicating whether the diagnostic is suppressed by a source suppression. + An optional short localizable title describing the diagnostic. + An optional longer localizable description for the diagnostic. + An optional hyperlink that provides more detailed information regarding 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. + + + An optional set of custom tags for the diagnostic. See for some well known tags. + If null, will return an empty list. + + An optional set of properties of the diagnostic. If null, will return . + The instance. + + + + Gets the diagnostic descriptor, which provides a description about a . + + + + + 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 culture specific text of the message. + + + + + Gets the default of the diagnostic's . + + + To get the effective severity of the diagnostic, use . + + + + + Gets the effective of the diagnostic. + + + To get the default severity of diagnostic's , use . + To determine if this is a warning treated as an error, use . + + + + + Gets the warning level. This is 0 for diagnostics with severity , + otherwise an integer between 1 and 4. + + + + + Returns true if the diagnostic has a source suppression, i.e. an attribute or a pragma suppression. + + + + + Gets the for suppressed diagnostics, i.e. = true. + Otherwise, returns null. + + + + + 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 = + and = . + + + + + 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 custom tags for the diagnostic. + + + + + Gets property bag for the diagnostic. it will return if there is no entry. + This can be used to put diagnostic specific information you want to pass around. for example, to corresponding fixer. + + + + + Create a new instance of this diagnostic with the Location property changed. + + + + + Create a new instance of this diagnostic with the Severity property changed. + + + + + Create a new instance of this diagnostic with the suppression info changed. + + + + + Returns true if the diagnostic location (or any additional location) is within the given tree and intersects with the filterSpanWithinTree, if non-null. + + + + + Returns true if a diagnostic is not configurable, i.e. cannot be suppressed or filtered or have its severity changed. + For example, compiler errors are always non-configurable. + + + + + Indicates that the diagnostic is related to some unnecessary source code. + + + + + Indicates that the diagnostic is related to edit and continue. + + + + + Indicates that the diagnostic is related to build. + + + + + Indicates that the diagnostic is reported by the compiler. + + + + + Indicates that the diagnostic can be used for telemetry + + + + + Indicates that the diagnostic is not configurable, i.e. it cannot be suppressed or filtered or have its severity changed. + + + + + Indicates that the diagnostic is related to an exception thrown by a . + + + + + 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). + + + + + Returns true if the bag has any non-lazy diagnostics with Severity=Error. + + + Does not resolve 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 title describing the diagnostic. + + + + + An optional longer localizable description for the diagnostic. + + + + + An optional hyperlink that provides more detailed information regarding 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 . + NOTE: For localizable , and/or , + use constructor overload . + + A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". + A short title describing the diagnostic. For example, for CA1001: "Types that own disposable fields should be disposable". + A 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. + An optional longer description of the diagnostic. + An optional hyperlink that provides a more detailed description regarding the diagnostic. + Optional custom tags for the diagnostic. See for some well known tags. + + + + Create a DiagnosticDescriptor, which provides description about a . + + A unique identifier for the diagnostic. For example, code analysis diagnostic ID "CA1001". + A short localizable title describing 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. + An optional longer localizable description of the diagnostic. + An optional hyperlink that provides a more detailed description regarding the diagnostic. + Optional custom tags for the diagnostic. See for some well known tags. + Example descriptor for rule CA1001: + internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, + new LocalizableResourceString(nameof(FxCopRulesResources.TypesThatOwnDisposableFieldsShouldBeDisposable), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), + new LocalizableResourceString(nameof(FxCopRulesResources.TypeOwnsDisposableFieldButIsNotDisposable), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), + FxCopDiagnosticCategory.Design, + DiagnosticSeverity.Warning, + isEnabledByDefault: true, + helpLinkUri: "http://msdn.microsoft.com/library/ms182172.aspx", + customTags: DiagnosticCustomTags.Microsoft); + + + + + Gets the effective severity of diagnostics created based on this descriptor and the given . + + Compilation options + + + + Returns true if diagnostic descriptor is not configurable, i.e. cannot be suppressed or filtered or have its severity changed. + For example, compiler errors are always non-configurable. + + + + + Formats messages. + + + + + Formats the message using the optional . + + The diagnostic. + The formatter; or null to use the default formatter. + The formatted message. + + + + 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 the effective severity of the diagnostic: whether this diagnostic is informational, warning, or error. + If IsWarningsAsError is true, then this returns , while returns . + + + + + Returns whether this diagnostic is informational, warning, or error by default, based on the error code. + To get diagnostic's effective severity, use . + + + + + Gets the warning level. This is 0 for diagnostics with severity , + otherwise an integer between 1 and 4. + + + + + Returns true if this is a warning treated as an error. + + + True implies = and + = . + + + + + Get the diagnostic category for the given diagnostic code. + Default category is . + + + + + 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. + + + + + 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 prescriptive). + + + + + 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. + + + + + Location kind (None/SourceFile/MetadataFile). + + + + + Returns true if the location represents a specific location in a source code file. + + + + + 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 returns False this method returns an empty 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 for a span in a . + + + + + Creates an instance of a for a span in a file. + + + + + 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 instance + when possible. + + + + + Current text to validate. + + + + + We use to validate XML doc comments. Unfortunately it cannot be reset and thus can't be pooled. + Each time we need to validate a fragment of XML we "append" it to the underlying text reader, implemented by this class, + and advance the reader. By the end of the fragment validation, we keep the reader open in a state + that is ready for the next fragment validation unless the fragment was invalid, in which case we need to create a new XmlReader. + That is why pretends that the stream has extra spaces + at the end. That should be sufficient for to not reach the end of this reader before the next + fragment is appended, unless the current fragment is malformed in one way or another. + + + + + 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. + + + + + Set by the host to a fail fast trigger, + if the host desires to crash the process on a fatal exception. + + + + + Set by the host to a fail fast trigger, + if the host desires to NOT crash the process on a non fatal exception. + + + + + Use in an exception filter to report a fatal error. + Unless the exception is + it calls . The exception is passed through (the method returns false). + + False to avoid catching the exception. + + + + Use in an exception filter to report a non fatal error. + Unless the exception is + it calls . The exception isn't passed through (the method returns true). + + True to catch the exception. + + + + Use in an exception filter to report a fatal error. + Unless the exception is + it calls . The exception is passed through (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 through (the method returns false). + + False to avoid catching the exception. + + + + Use in an exception filter to report a non fatal error. + Calls and doesn't pass the exception through (the method returns true). + + True to catch the exception. + + + + Cache with a fixed size that evicts 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. + + + + + Represents 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-dimensional arrays. + + + + + Should only accept multi-dimensional 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. + + + 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. + + + 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 corresponding to the 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 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 enqueuing 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. + + + + Returns a symbol that given token resolves to or null of the token represents an 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. + + + + + Checks that the specified name is a valid metadata String and a file name. + The specification isn't entirely consistent and complete but it mentions: + + 22.19.2: "Name shall index a non-empty string in the String heap. It shall be in the format {filename}.{extension} (e.g., 'foo.dll', but not 'c:\utils\foo.dll')." + 22.30.2: "The format of Name is {file name}.{file extension} with no path or drive letter; on POSIX-compliant systems Name contains no colon, no forward-slash, no backslash." + As Microsoft specific constraint. + + A reasonable restriction seems to be a valid UTF8 non-empty string that doesn't contain '\0', '\', '/', ':' characters. + + + + + 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 + + + + Given an input string changes it to be acceptable as a part of a type name. + + + + + Specifies what symbols to import from metadata. + + + + + Only import public and protected symbols. + + + + + Import public, protected and internal symbols. + + + + + Import all symbols. + + + + 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. + + + + 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. + + + + 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 + + + + Determines if a custom attribute matches a namespace and name. + + The metadata reader. + 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. + + + + + Determine if custom attribute matches the target attribute. + + + The metadata reader. + + + 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 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 NamespaceDefinitionHandle for defs and StringHandle for refs. + + True if the function successfully returns the name and namespace. + + + + Given a token for a type, return the type's name and namespace. Only works for top level types. + namespaceHandle will be NamespaceDefinitionHandle 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. + + + 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 module. + + + + + Returns true if the full image of the module is available. + + + + Invalid metadata. + + + + Produce unbound generic type symbol if the type is a generic type. + + + + + Produce constructed type symbol. + + + + Symbol for generic type. + + + Generic type arguments, including those for containing types. + + + Flags for arguments. Each item indicates whether corresponding argument refers to NoPia local types. + + + + + Extracts information from TypeDef flags. + Returns 0 if the value is invalid. + + + + + Lookup a type defined in this module. + + + + + Lookup a type defined in referenced assembly. + + + + + Given the identity of an assembly referenced by this module, finds + the index of that assembly in the list of assemblies referenced by + the current module. + + + + + 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. + Specify null, , or "neutral" (any casing) to represent . + The name can be an arbitrary string that doesn't contain NUL character, the legality of the culture name is not validated. + + 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 a NUL character. + If contains a NUL 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 ',', '=', '"', '\'', '\' occurring 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. + + + + + Factory that provides the for additional modules (other than ) of the assembly. + Shall only throw or . + Null of all modules were specified at construction time. + + + + + Modules the was created with, in case they are eagerly allocated. + + + + + Cached assembly symbols. + + + Guarded by . + + + + + Creates a single-module assembly. + + + Manifest module image. + + is null. + + + + Creates a single-module assembly. + + + Manifest module image. + + is null. + 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. + + + + 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 invalid. + Error reading file . See for details. + Reading from a file path is not supported by the platform. + + + + 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. + + + + + Modules comprising this assembly. The first module is the manifest module. + + The PE image format is invalid. + IO error reading the metadata. See for details. + The object has been disposed. + + + The PE image format is invalid. + IO error while reading the metadata. See for details. + The object has been disposed. + + + The PE image format is invalid. + IO error while reading the metadata. See for details. + The object has been disposed. + + + + 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 PE image format is invalid. + IO error reading the metadata. See for details. + The object has been disposed. + + + + Returns the metadata kind. + + + + + Creates a reference to the assembly metadata. + + Provider of XML documentation comments for the metadata symbols contained in the module. + Aliases that can be used to refer to the assembly from source code (see "extern alias" directive in C#). + True to embed interop types from the referenced assembly to the referencing compilation. Must be false for a module. + Path describing the location of the metadata, or null if the metadata have no location. + Display string used in error messages to identity the reference. + A reference to the assembly metadata. + + + + Reference to another C# or VB compilation. + + + + + 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 properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + 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. + + + + + 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. + + + + + 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 aliases. + + The new aliases for the reference. + Alias is invalid for the metadata kind. + + + + Returns an instance of the reference with specified properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + Creates a reference to a single-module assembly or a standalone module stored in memory. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method pins in managed heap. The pinned memory is released + when the resulting reference becomes unreachable and GC collects it. To control the lifetime of the pinned memory + deterministically use + to create an metadata object and + to get a reference to it. + + + The method creates a reference to a single-module assembly. To create a reference to a multi-module assembly or a stand-alone module use + and . + + + is null. + + + + Creates a reference to a single-module assembly or a standalone module stored in memory. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method makes a copy of the data and pins it. To avoid making a copy use an overload that takes an . + The pinned memory is released when the resulting reference becomes unreachable and GC collects it. To control the lifetime of the pinned memory + deterministically use + to create an metadata object and + to get a reference to it. + to get a reference to it. + + + is null. + + + + Creates a reference to a single-module assembly or a stand-alone module from data in specified stream. + Reads the content of the stream into memory and closes the stream upon return. + + Assembly image. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler. + doesn't support read and seek operations. + is null. + An error occurred while reading the stream. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same metadata. + Reusing object to create multiple references allows for sharing data across these references. + + + The method eagerly reads the entire content of into native heap. The native memory block is released + when the resulting reference becomes unreachable and GC collects it. To decrease memory footprint of the reference and/or manage + the lifetime deterministically use + to create an metadata object and + to get a reference to it. + to get a reference to it. + + + + + + Creates a reference to an assembly or standalone module stored in a file. + Reads the content of the file into memory. + + Path to the assembly file. + Reference properties (extern aliases, type embedding, ). + Provides XML documentation for symbol found in the reference. + is null. + is invalid. + An error occurred while reading the file. + + Performance considerations: + + It is recommended to use or + API when creating multiple references to the same file. + Reusing object allows for sharing data across these references. + + + The method eagerly reads the entire content of the file into native heap. The native memory block is released + when the resulting reference becomes unreachable and GC collects it. To decrease memory footprint of the reference and/or manage + the lifetime deterministically use + to create an metadata object and + + to get a reference to it. + + + + + + Creates a reference to a loaded assembly. + + Path to the module file. + is null. + is dynamic, doesn't have a location, or the platform doesn't support reading from the location. + + Performance considerations: + + It is recommended to use API when creating multiple references to the same assembly. + Reusing object allows for sharing data across these references. + + + + + + Creates a reference to a loaded assembly. + + Path to the module file. + Reference properties (extern aliases, type embedding). + Provides XML documentation for symbol found in the reference. + is null. + . is not . + is dynamic, doesn't have a location, or the platform doesn't support reading from the location. + + Performance considerations: + + It is recommended to use API when creating multiple references to the same assembly. + Reusing object allows for sharing data across these references. + + + + + + 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. + + + + Returns with set to specified value. + + + + + 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. Empty if the reference has no aliases. + + + 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. + + + + + True to apply recursively on the target assembly and on all its transitive dependencies. + False to apply only on the target assembly. + + + + + Resolves references to metadata specified in the source (#r directives). + + + + + True to instruct the compiler to invoke for each assembly reference that + doesn't match any of the assemblies explicitly referenced by the (via , or #r directives. + + + + + Resolves a missing assembly reference. + + The metadata definition (assembly or module) that declares assembly reference in its list of dependencies. + Identity of the assembly reference that couldn't be resolved against metadata references explicitly specified to in the compilation. + Resolved reference or null if the identity can't be resolved. + + + + 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. + + + + 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. + + + + Create metadata module from a sequence of bytes. + + The portable executable image beginning with the DOS header ("MZ"). + is null. + + + + Create metadata module from a byte array. + + Portable executable image beginning with the DOS header ("MZ"). + 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"). + + 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 null. + The stream doesn't support seek operations. + + + + 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 null. + The stream doesn't support read and seek operations. + has an invalid value. + + or is specified and the PE headers of the image are invalid. + + + or is specified and an error occurs while reading the stream. + + + + + Creates metadata module from a file containing a portable executable image. + + 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 invalid. + Error opening file . See for details. + File not found. + Reading from a file path is not supported by the platform. + + + + 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. + + Invalid metadata. + 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. + + + + Returns the metadata reader. + + Module has been disposed. + When an invalid module name is encountered. + + + + Creates a reference to the module metadata. + + Provider of XML documentation comments for the metadata symbols contained in the module. + Path describing the location of the metadata, or null if the metadata have no location. + Display string used in error messages to identity the reference. + A reference to the module metadata. + + + + Reference to metadata stored in the standard ECMA-335 metadata format. + + + + + Display string used in error messages to identity the reference. + + + + + Path describing the location of the metadata, or null if the metadata have no location. + + + + + XML documentation comments provider for the reference. + + + + + Create documentation provider for the reference. + + + Called when the compiler needs to read the documentation for the reference. + This method can be called multiple times from different threads. The result of one of the calls + is cached on the reference object. + + + + + 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 properties, or this instance if properties haven't changed. + + The new properties for the reference. + Specified values not valid for this reference. + + + + Returns an instance of the reference with specified properties. + + The new properties for the reference. + Specified values not supported. + Only invoked if the properties changed. + + + + 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 across 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 or is not yet resolved. + + + For error reporting only, can't be used to reference a metadata file. + + + + + 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. + + + + Represents errors that occur while parsing RuleSet files. + + + + + Represents a set of rules as specified in a ruleset file. + + + + + The file path of the ruleset file. + + + + + The global option specified by the IncludeAll tag. + + + + + Individual rule ids 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 include path 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. + + + + + 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. + Whether or not the default value is allowed. + 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 ruleset xml file. + + + + + Resolves references to source files specified in source code. + + + + + 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 . + + + + Specifies the options for how generics are displayed in the description of a symbol. + + + + + Format object using default options. + + + + + In C#, include the numeric code point before character literals. + + + + + Whether or not to include type suffix for applicable integral literals. + + + + + Whether or not to display integral literals in hexadecimal. + + + + + Whether or not to quote character and string literals. In Visual Basic, this also enables pretty-listing of non-printable characters using ChrW function and vb* constants. + + + + + 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 kinds 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. + + + + + Get the source compilation backing this assembly, if one exists. + Returns null otherwise. + + + + + 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. + + Compilation. + + An array of objects describing assemblies, for which this method should + resolve references and find suitable AssemblySymbols. The first slot contains the assembly being built. + + + An array of objects describing standalone modules referenced by the compilation. + + + An array of references passed to the compilation and resolved from #r directives. + May contain references that were skipped during resolution (they don't have a corresponding explicit assmebly). + + + Maps index to to an index of a resolved assembly or module in or modules. + + + Reference resolver used to look up missing assemblies. + + + Hide lower versions of dependencies that have multiple versions behind an alias. + + + Used to filter out assemblies that have the same strong or weak identity. + Maps simple name to a list of identities. The highest version of each name is the first. + + + Import options applied to implicitly resolved references. + + + Updated array with resolved implicitly referenced assemblies appended. + + + Implicitly resolved references. + + + Maps indices of implicitly resolved references to the corresponding indices of resolved assemblies in (explicit + implicit). + + + Any diagnostics reported while resolving missing assemblies. + + + True if the assembly being compiled is indirectly referenced through some of its own references. + + + The definition index of the COR library. + + + An array of structures describing the result. It has the same amount of items as + the input assemblies array, for each input AssemblyData object resides + at the same position. + + Each 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 + 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. + + + + + Aliases that should be applied to the referenced assembly. + Empty array means {"global"} (all namespaces and types in the global namespace of the assembly are accessible without qualification). + Null if not applicable (the reference only has recursive aliases). + + + + + Aliases that should be applied recursively to all dependent assemblies. + Empty array means {"global"} (all namespaces and types in the global namespace of the assembly are accessible without qualification). + Null if not applicable (the reference only has simple aliases). + + + + + default() is considered skipped. + + + + + Index into an array of assemblies (not including the assembly being built) or an array of modules, depending on . + + + + + non-negative: Index into the array of all (explicitly and implicitly) referenced assemblies. + negative: ExplicitlyReferencedAssemblies.Count + RelativeAssemblyIndex is an index into the array of assemblies. + + + + + Resolves given metadata references to assemblies and modules. + + The compilation whose references are being resolved. + + Used to filter out assemblies that have the same strong or weak identity. + Maps simple name to a list of identities. The highest version of each name is the first. + + List where to store resolved references. References from #r directives will follow references passed to the compilation constructor. + Maps #r values to successfully 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 . + + + + + Determines whether references are the same. Compilation references are the same if they refer to the same compilation. + Otherwise, references are represented by their object identities. + + + + + 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. + + + + + Returns null if an assembly of an equivalent identity has not been added previously, otherwise returns the reference that added it. + Two identities are considered equivalent if + - both assembly names are strong (have keys) and are either equal or FX unified + - both assembly names are weak (no keys) and have the same simple name. + + + + + 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. + An index of the first definition to consider, preceding this index are ignored. + Reference identity to resolve. + Assembly identity comparer. + + 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 across 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 index to array. 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 and . + + + + + Maps (containing syntax tree file name, reference string) of #r directive to a resolved metadata reference. + If multiple #r's in the same tree 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 + have 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). + + + [i] corresponds to [i]. + + + + + References of standalone modules referenced by the compilation (doesn't include the manifest module of the compilation). + + + [i] corresponds to [i]. + + + + + Assemblies referenced directly by the source module of the compilation. + + + + + Assemblies referenced directly by the source module of the compilation. + + + Aliases [i] are of an assembly [i]. + + + + + Unified assemblies referenced directly by the source module of the compilation. + + + + + Call only while holding . + + + + + Call only while holding . + + + + + Global namespaces of assembly references that have been superseded by an assembly reference with a higher version are + hidden behind to avoid ambiguity when they are accessed from source. + All existing aliases of a superseded assembly are discarded. + + + + + Gets the that corresponds to the assembly symbol. + + + + + 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. + + + + + Enumerates all referenced assemblies and their aliases. + + + + + 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 metadata). + + + 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 resource 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, declarations, and optional trailing expression. + Used for parsing .csx/.vbx and interactive submissions. + + + + + The same as . + + + + + Specifies the Ids of special runtime types. + + + Only types explicitly mentioned in "Co-located core types" spec + (https://github.com/dotnet/roslyn/blob/master/docs/compilers/Co-located%20core%20types.md) + can be in this enum. + The following things should be in sync: + 1) SpecialType enum + 2) names in SpecialTypes.EmittedNames array. + + + + + Indicates a non-special 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 Library. + 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 + + + + + + True if the compilation can be signed using these keys. + + + + + True if a strong name can be created for the compilation using these keys. + + + + + 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 to display extension methods. + + + + + Displays the extension method based on its . + + + + + Displays the extension method in the form of an instance method. + For example, IEnumerable<TSource>.ElementAt<TSource>(int index). + + + + + Displays the extension method as a static method. + For example, Enumerable.ElementAt<TSource>(this IEnumerable<TSource> source, 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 C# compiler short error message. + + + + + Formats a symbol description as in a Visual Basic compiler error message. + + + + + Formats a symbol description as in a Visual Basic compiler short 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 example, "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 parameters 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 retrieving 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). + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the for the + namespace or type referenced by the alias. + + + + + Represents an array. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Custom modifiers associated with the array type, or an empty array if there are none. + + + + + Represents a .NET assembly, consisting of one or more modules. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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#. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + If this field serves as a backing variable for an automatically generated + property or a field-like event, returns that + property/event. 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 erroneous. + True otherwise. + + + + + Gets the constant value of this field + + + + + Returns custom modifiers associated with the field, or an empty array if there are none. + + + + + 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 + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the immediately containing of this . + + + + + Represents a local variable in method body. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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). + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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 it 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Custom modifiers associated with the parameter, or an empty array if there are none. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Gets the type of the storage location that an instance of the pointer type points to. + + + + + Custom modifiers associated with the pointer type, or an empty array if there are none. + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Represents a property or indexer. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + Represents a symbol (namespace, class, method, parameter, etc.) + exposed by the compiler. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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.) + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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. + + + + + Represents a type. + + + This interface is reserved for implementation by its associated APIs. We reserve the right to + change it in the future. + + + + + 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 for 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. + + + + + Kind of a synthesized local variable. + + + Synthesized local variables are either + 1) Short-lived (temporary) + The lifespan of an temporary variable shall not cross a statement boundary (a PDB sequence point). + These variables are not tracked by EnC and don't have names. + + 2) Long-lived + All variables whose lifespan might cross a statement boundary (include a PDB sequence point) + must be named in a build configuration that supports EnC. Some of them might need to be named in release, to support EE. + The kind of such local must be encoded in the name, so that we can retrieve it from debug metadata during EnC. + + The integer value of the kind must match corresponding Dev11/12 TEMP_KIND enum values for + compatibility with assemblies generated by the native compiler. + + Long-lived local variables must be assigned slots in source order. + + + + + Temp variable created by the optimizer. + + + + + Temp variable created during lowering. + + + + + Temp variable created by the emitter. + + + + + The variable is not synthesized (C#, VB). + + + + + Local variable that stores value of an expression consumed by a subsequent conditional branch instruction that might jump across PDB sequence points. + The value needs to be preserved when remapping the IL offset from old method body to new method body during EnC. + A hidden sequence point also needs to be inserted at the offset where this variable is loaded to be consumed by the branch instruction. + (VB, C#). + + + + + Boolean passed to Monitor.Enter (C#, VB). + + + + + Variable holding on the object being locked while the execution is within the block of the lock statement (C#) or SyncLock statement (VB). + + + + + Local variable that stores the resources to be disposed at the end of using statement (C#, VB). + + + + + Local variable that stores the enumerator instance (C#, VB). + + + + + Local variable that stores the array instance (C#, VB?). + + + + + Local variables that store upper bound of multi-dimensional array, for each dimension (C#, VB?). + + + + + Local variables that store the current index, for each dimension (C#, VB?). + + + + + Local variable that holds a pinned handle of a string passed to a fixed statement (C#). + + + + + Local variable that holds the object passed to With statement (VB). + + + + + Local variable used to store the value of Select Case during the execution of Case statements. + + + + + Local variable that stores the return value of an async method. + + + + + VB: Stores the return value of a function that is not accessible from user code (e.g. operator, lambda, async, iterator). + C#: Stores the return value of a method/lambda with a block body, so that we can put a sequence point on the closing brace of the body. + + + + + Very special corner case involving filters, await and lambdas. + + + + + Local variable that stores the current state of the state machine while MoveNext method is executing. + Used to avoid race conditions due to multiple reads from the lifted state. + + + + + Local that stores an expression value which needs to be spilled. + This local should either be hoisted or its lifespan ends before + the end of the containing await expression. + + + + + Local variable that holds on the display class instance. + + + + + Local variable used to cache a delegate that is used in inner block (possibly a loop), + and can be reused for all iterations of the loop. + + + + + Local variable that stores the result of an await expression (the awaiter object). + The variable is assigned the result of a call to await-expression.GetAwaiter() and subsequently used + to check whether the task completed. Eventually the value is stored in an awaiter field. + + The value assigned to the variable needs to be preserved when remapping the IL offset from old method body + to new method body during EnC. If the awaiter expression is contained in an active statement and the + containing MoveNext method changes the debugger finds the next sequence point that follows the await expression + and transfers the execution to the new method version. This sequence point is placed by the compiler at + the immediately after the stloc instruction that stores the awaiter object to this variable. + The subsequent ldloc then restores it in the new method version. + + (VB, C#). + + + + + All values have to be less than or equal to + () + + + + + An awaiter in async method. + Never actually created as a local variable, immediately lifted to a state machine field. + Not serialized to . + + + + + The receiver of a delegate relaxation stub. + Created as a local variable but always lifted to a relaxation display class field. + We never emit debug info for hoisted relaxation variable. + TODO: Avoid using lambdas and display classes for implementation of relaxation stubs and remove this kind. + + + + + 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). + + + + + List of entries sorted in source order, each of which captures a + position in the supplied syntax tree and the set of diagnostics (warnings) + whose reporting should either be suppressed or enabled at this position. + + + + + Returns list of entries sorted in source order, each of which captures a + position in the supplied syntax tree and the set of diagnostics (warnings) + whose reporting should either be suppressed or enabled at this position. + + + + + Returns the reporting state for the supplied diagnostic id at the supplied position + in the associated syntax tree. + + + + + Gets the entry with the largest position less than or equal to supplied 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 annotations 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. + + + + + Locate the node or token that is a child of the given and contains the given position. + + The to search. + The position. + The node or token that spans the given position. + + Assumes that is within the span of . + + + + + 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. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + 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. + + + + + Find the slot that contains the given offset. + + The target offset. Must be between 0 and . + The slot index of the slot containing the given offset. + + The base implementation is a linear search. This should be overridden + if a derived class can implement it more efficiently. + + + + + 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 it. 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 SyntaxAnnotation 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 . + + + + + Gets the full text of this node as an new instance. + + + Encoding of the file that the text was read from or is going to be saved to. + null if the encoding is unspecified. + If the encoding is not specified the isn't debuggable. + If an encoding-less is written to a file a shall be used as a default. + + + Hash algorithm to use to calculate checksum of the text that's saved to PDB. + + is not supported. + + + + 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 if the specified node is a descendant of this node. + + + + + 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 a 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. + + + + + When invoked on a node that represents an anonymous function or a query clause [1] + with a of another anonymous function or a query clause of the same kind [2], + returns the body of the [1] that positionally corresponds to the specified . + + E.g. join clause declares left expression and right expression -- each of these expressions is a lambda body. + JoinClause1.GetCorrespondingLambdaBody(JoinClause2.RightExpression) returns JoinClause1.RightExpression. + + + + + The node that contains this node in its 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 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 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 trivia 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. + A sequence of whitespace characters that defines a single level of indentation. + If true the replaced trivia is elastic trivia. + + + + 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. + An optional sequence of whitespace characters used for end of line. + If true the replaced trivia is elastic trivia. + + + + Creates a new node from this node with both the leading and trailing trivia of the specified node. + + + + + Creates a new node from this node without leading or trailing 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 removed. + + + + + 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 removed. + + + + + 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 (). + + + Note that we do not store the token directly, we just store enough information to reconstruct it. + This allows us to reuse nodeOrToken as a token's parent. + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 + + + + + Adds elastic marker trivia + + + + + 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 . + + + + + 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. + + + + + Creates a new token from this token with the leading and trailing trivia from the specified token. + + + + + Creates a new token from this token with the leading trivia specified. + + + + + Creates a new token from this token with the leading trivia specified.. + + + + + Creates a new token from this token with the leading trivia specified.. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + Creates a new token from this token with the trailing trivia specified. + + + + + 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. + + + + The SyntaxTree that contains this token. + + + + + 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 s. + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 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 to 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. + + + + + The text encoding of the source document. + + + + + Gets the text of the source document asynchronously. + + + By default, the work associated with this method will be executed immediately on the current thread. + Implementations that wish to schedule this work differently should override . + + + + + 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. + Cancellation 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. + Cancellation 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 precedes 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. + + + + Returns a new tree whose root and options are as specified and other properties are copied from the current tree. + + + + + Returns a new tree whose is the specified node and other properties are copied from the current tree. + + + + + Returns a that represents the entire source text of this . + + + + + 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, including the leading and trailing trivia of the first and last elements. + + + + + The absolute span of the list elements in characters, not 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 number of items starting at from this list into starting at . + + + + + 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. + + + + + Syntax the should descent into. + + + + + Creates a new walker instance. + + Syntax the should descent into. + + + + 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. + + + + Syntax the should descent 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 + + + + + Parses a version string of the form "major [ '.' minor [ '.' build [ '.' revision ] ] ]". + + The version string to parse. + If parsing succeeds, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + Parses a version string of the form "major [ '.' minor [ '.' ( '*' | ( build [ '.' ( '*' | revision ) ] ) ) ] ]" + as accepted by System.Reflection.AssemblyVersionAttribute. + + The version string to parse. + Indicates whether or not a wildcard is accepted as the terminal component. + If parsing succeeded, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + Parses a version string of the form "major [ '.' minor [ '.' ( '*' | ( build [ '.' ( '*' | revision ) ] ) ) ] ]" + as accepted by System.Reflection.AssemblyVersionAttribute. + + The version string to parse. + Indicates whether or not we're parsing an assembly version string. If so, wildcards are accepted and each component must be less than 65535. + The maximum value that a version component may have. + If parsing succeeded, the parsed version. Null otherwise. + True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise. + + + + 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 + + + + + + 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. + + + + The XmlCharType class is used for quick character type recognition + which is optimized for the first 127 ascii characters. + + + + + start >= value <= end + + + + + Struct containing information about a source declaration. + + + + + Topmost syntax node for this declaration. + + + + + Syntax nodes for executable code blocks (method body, initializers, etc.) associated with this declaration. + + + + + Symbol declared by this declaration. + + + + + 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. + + + + + struct enumerator used in foreach. + + + + + This class is used to store the module serialization properties for a compilation. + + + + + 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. + + + + + 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. + + + + + Identifies the version of the CLR that is required to load this module or assembly. + + + + + Specifies the target CPU. means AnyCPU. + + + + + 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. + + + + + 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 globally unique persistent identifier for this module. + + + + + True if the module contains only IL and is processor independent. + + + + + 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. + + + + + The preferred memory address at which the module is to be loaded at runtime. + + + + + The size of the virtual memory to reserve for the initial process heap. + Must fit into 32 bits if the target platform is 32 bit. + + + + + The size of the virtual memory initially committed for the initial process heap. + Must fit into 32 bits if the target platform is 32 bit. + + + + + The size of the virtual memory to reserve for the initial thread's stack. + Must fit into 32 bits if the target platform is 32 bit. + + + + + 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. + + + + + Flags that control the behavior of the target operating system. CLI implementations are supposed to ignore this, but some operating system pay attention. + + + + + If set, the module must include a machine code stub that transfers control to the virtual execution system. + + + + + If set, the module contains instructions or assumptions that are specific to the AMD 64 bit instruction set. + + + + + 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. + + + + + 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. + + + + + Compares the current content of this writer with another one. + + + + Range specified by and falls outside of the bounds of the buffer content. + + + Range specified by and falls outside of the bounds of the buffer content. + + + is negative. + + + is null. + is negative. + + + is null. + + + is null. + is negative. + + + is null. + + + is null. + Range specified by and falls outside of the bounds of the . + + + is null. + + + is null. + Range specified by and falls outside of the bounds of the . + + + + Writes a reference to a heap (heap index) or a table (row id). + + + References may be small (2B) or large (4B). + + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + + + + Writes string in SerString format (see ECMA-335-II 23.3 Custom attributes): + The string is UTF8 encoded and prefixed by the its size in bytes. + Null string is represented as a single byte 0xFF. + + + + + Writes UTF8 encoded string at the current position. + + is null. + + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between -64 (0xFFFFFFC0) and 63 (0x3F), inclusive, encode as a one-byte integer: + bit 7 clear, value bits 5 through 0 held in bits 6 through 1, sign bit (value bit 31) in bit 0. + + If the value lies between -8192 (0xFFFFE000) and 8191 (0x1FFF), inclusive, encode as a two-byte integer: + 15 set, bit 14 clear, value bits 12 through 0 held in bits 13 through 1, sign bit(value bit 31) in bit 0. + + If the value lies between -268435456 (0xF000000) and 268435455 (0x0FFFFFFF), inclusive, encode as a four-byte integer: + 31 set, 30 set, bit 29 clear, value bits 27 through 0 held in bits 28 through 1, sign bit(value bit 31) in bit 0. + + can't be represented as a compressed signed integer. + + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between 0 (0x00) and 127 (0x7F), inclusive, + encode as a one-byte integer (bit 7 is clear, value held in bits 6 through 0). + + If the value lies between 28 (0x80) and 214 – 1 (0x3FFF), inclusive, + encode as a 2-byte integer with bit 15 set, bit 14 clear(value held in bits 13 through 0). + + Otherwise, encode as a 4-byte integer, with bit 31 set, bit 30 set, bit 29 clear (value held in bits 28 through 0). + + can't be represented as a compressed signed integer. + + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + + is not of a constant type. + + + + 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. + + + + + Represents a value on #String heap that has not been serialized yet. + + + + + Represents a value on #Blob heap that has not been serialized yet. + + + + + 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. + + + + + 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. + + + + + Returns true if writing full metadata, false if writing delta. + + + + + True if writing delta metadata in a minimal format. + + + + + NetModules and EnC deltas don't have AssemblyDef record. + We don't emit it for EnC deltas since assembly identity has to be preserved across generations (CLR/debugger get confused otherwise). + + + + + 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 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 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. + + + + + Return a visitor for traversing all references to be emitted. + + + + + Populate EventMap table. + + + + + Populate PropertyMap table. + + + + + Populate EncLog table. + + + + + Populate EncMap table. + + + + + 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 deemed to + be those having the same MajorVersion, MinorVersion, BuildNumber, RevisionNumber, PublicKeyOrToken, + Name, and Culture)". + + + + + Serialize the method local signature to the blob. + + Standalone signature token + + + + 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. + + + + + Strip off *, &, and []. + + + + + Qualified name of namespace. + e.g. "A.B.C" + + + + + The offset of the first operation in the scope. + + + + + The offset of the first operation outside of the scope, or the method body length. + + + + + 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. + + + + + Constants for producing and consuming streams of binary custom debug info. + + + + + 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 exception 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 (C# only, /r:Name=Reference on command line). + + + + + An alias for the global namespace of the assembly. + + + + + The assembly reference. + + + + + 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. + + + + + has type , rather than , + so that we can do custom marshalling of . Unfortunately, .NET marshals + s as the number of days since 1899/12/30, whereas the native VB compiler + marshalled them as the number of ticks since the Unix epoch (i.e. a much, much larger number). + + + + + A struct with the same size and layout as the native VARIANT type: + 2 bytes for a discriminator (i.e. which type of variant it is). + 6 bytes of padding + 8 or 16 bytes of data + + + + + This field determines the size of the struct + (16 bytes on 32-bit platforms, 24 bytes on 64-bit platforms). + + + + + This type is 8 bytes on a 32-bit platforms and 16 bytes on 64-bit platforms. + + + + + A range of CLR IL operations that comprise a lexical scope. + + + + + The offset of the first operation in the scope. + + + + + The offset of the first operation outside of the scope, or 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. + + + + + Mapped field data, or null if the field is not mapped. + + + + + This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL. + + + + + 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. + + + + + TODO: use instead. + True if the value referenced by the local must not be moved by the actions of the garbage collector. + + + + + TODO: use instead. + 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. + + + + + Each local has an attributes field in the PDB. To match the native compiler, + we emit "1" for locals that should definitely not bind in the debugger and "0" + for all other locals. + + + A value of "1" is a sufficient, but not a necessary, condition for hiding the + local in the debugger. Locals with value "0" may also be hidden. + + Hidden locals must still be emitted because they participate in evaluation. + + + + + 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. + + + + + Optional serialized local signature. + + + + + Local id, or if this is a local constant, short-lived temp variable, + or we are not emitting local variable ids (release builds). + + + + + 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 representation 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. + + + + + Debugging information associated with an async method to support EE. + + + + + The maximum number of elements on the evaluation stack during the execution of the method. + + + + + Returns true if there is at least 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 an import scope the method is declared within, or null if there is none + (e.g. the method doesn't contain user code). + + + The chain is a spine of a tree in a forest of import scopes. A tree of import scopes is created by the language for each source file + based on namespace declarations. In VB each tree is trivial single-node tree that declares the imports of a file. + In C# the tree copies the nesting of namespace declarations in the file. There is a separate scope for each dotted component in + the namespace type name. For instance namespace type x.y.z will have two namespace scopes, the first is for the x and the second + is for the y. + + + + + Returns debug information for local variables hoisted to state machine fields, + or null if this method isn't MoveNext method of a state machine. + + + 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. + + + + + The name of the state machine generated for the method, + or null if the method isn't the kickoff method of a state machine. + + + + + Returns information relevant to EnC on slots of local variables hoisted to state machine fields, + or null if the method isn't the kickoff method of a state machine. + + + + + Returns types of awaiter slots allocated on the state machine, + or null if the method isn't the kickoff method of a state machine. + + + + + 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. + + + + + Returns true if this symbol was automatically created by the compiler, and does not have + an explicit corresponding source code declaration. + + + + + 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. + + + + + Namespace containing this method. + TODO: Ideally we would expose INamespace on INamespaceTypeDefinition. Right now we can only get the qualified namespace name. + + + + + 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. + + + + + Returns a sequence of all blobs that represent the content of the builder. + + Content is not available, the builder has been linked with another one. + + + + Compares the current content of this writer with another one. + + Content is not available, the builder has been linked with another one. + + + Content is not available, the builder has been linked with another one. + + + Range specified by and falls outside of the bounds of the buffer content. + Content is not available, the builder has been linked with another one. + + + Content is not available, the builder has been linked with another one. + + + Range specified by and falls outside of the bounds of the buffer content. + Content is not available, the builder has been linked with another one. + + + is null. + Content is not available, the builder has been linked with another one. + + + is default(). + Content is not available, the builder has been linked with another one. + + + is null. + Content is not available, the builder has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + + Reserves a contiguous block of bytes. + + is negative. + Builder is not writable, it has been linked with another one. + + + is negative. + Builder is not writable, it has been linked with another one. + + + is null. + is negative. + Builder is not writable, it has been linked with another one. + + + is null. + is negative. + Builder is not writable, it has been linked with another one. + Bytes successfully written from the . + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Range specified by and falls outside of the bounds of the . + Builder is not writable, it has been linked with another one. + + + is null. + Builder is not writable, it has been linked with another one. + + + is null. + Range specified by and falls outside of the bounds of the . + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + Builder is not writable, it has been linked with another one. + + + + Writes a reference to a heap (heap index) or a table (row id). + + + References may be small (2B) or large (4B). + + Builder is not writable, it has been linked with another one. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Writes UTF16 (little-endian) encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Writes string in SerString format (see ECMA-335-II 23.3 Custom attributes): + The string is UTF8 encoded and prefixed by the its size in bytes. + Null string is represented as a single byte 0xFF. + + Builder is not writable, it has been linked with another one. + + + + Writes UTF8 encoded string at the current position. + + is null. + Builder is not writable, it has been linked with another one. + + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between -64 (0xFFFFFFC0) and 63 (0x3F), inclusive, encode as a one-byte integer: + bit 7 clear, value bits 5 through 0 held in bits 6 through 1, sign bit (value bit 31) in bit 0. + + If the value lies between -8192 (0xFFFFE000) and 8191 (0x1FFF), inclusive, encode as a two-byte integer: + 15 set, bit 14 clear, value bits 12 through 0 held in bits 13 through 1, sign bit(value bit 31) in bit 0. + + If the value lies between -268435456 (0xF000000) and 268435455 (0x0FFFFFFF), inclusive, encode as a four-byte integer: + 31 set, 30 set, bit 29 clear, value bits 27 through 0 held in bits 28 through 1, sign bit(value bit 31) in bit 0. + + can't be represented as a compressed signed integer. + Builder is not writable, it has been linked with another one. + + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + If the value lies between 0 (0x00) and 127 (0x7F), inclusive, + encode as a one-byte integer (bit 7 is clear, value held in bits 6 through 0). + + If the value lies between 28 (0x80) and 214 – 1 (0x3FFF), inclusive, + encode as a 2-byte integer with bit 15 set, bit 14 clear(value held in bits 13 through 0). + + Otherwise, encode as a 4-byte integer, with bit 31 set, bit 30 set, bit 29 clear (value held in bits 28 through 0). + + can't be represented as a compressed integer. + Builder is not writable, it has been linked with another one. + + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + + is not of a constant type. + Builder is not writable, it has been linked with another one. + + + + Table row counts. + + + + + Non-empty tables that are emitted into the metadata table stream. + + + + + Non-empty tables stored in an external metadata table stream that might be referenced from the metadata table stream being emitted. + + + + + Exact (unaligned) heap sizes. + + + + + Overall size of metadata stream storage (stream headers, table stream, heaps, additional streams). + Aligned to . + + + + + The size of metadata stream (#- or #~). Aligned. + Aligned to . + + + + + The size of #Pdb stream. Aligned. + + + + + The size of IL stream. + + + + + The size of mapped field data stream. + Aligned to . + + + + + The size of managed resource data stream. + Aligned to . + + + + + Size of strong name hash. + + + + + Metadata header size. + Includes: + - metadata storage signature + - storage header + - stream headers + + + + + Total size of metadata (header and all streams). + + + + + 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 (usually 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 Interface 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 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. + + + + + Represents a lexical scope that declares imports. + + + + + Zero or more used namespaces. These correspond to using directives in C# or Imports syntax in VB. + + + + + Parent import scope, or null. + + + + + Exception to enable callers to catch all of the exceptions originating + from writing PDBs. We resurface such exceptions as this type, to eventually + be reported as PDB-writing failure diagnostics to the user. + Unfortunately, an exception originating in a user-implemented + Stream derivation will come out of the symbol writer as a COMException + missing all of the original exception info. + + + + + A utility to log all operations and arguments to the native PDB writing + library, so that we can hash that log to generate a deterministic GUID and + timestamp. + + + + + Minimal size of PDB path in Debug Directory. We pad the path to this minimal size to + allow some tools to patch the path without the need to rewrite the entire image. + This is a workaround put in place until these tools are retired. + + + + + True if we should attempt to generate a deterministic output (no timestamps or random data). + + + + + 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. + + PE stream. + 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 + + + + The size of a single entry in the "Debug Directory (Image Only)" + + + + + The size of our debug directory: one entry for debug information, and an optional second one indicating + that the timestamp is deterministic (i.e. not really a timestamp) + + + + + Write one entry in the "Debug Directory (Image Only)" + See https://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx + section 5.1.1 (pages 71-72). + + + + + Write the entire "Debug Directory (Image Only)" along with data that it points to. + + + + + Special type <Module> + + + + + 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. + + + + + The type of argument value that corresponds to this parameter. + + + + + 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. + + + + + Represents a namespace. + + + + + Containing namespace or null if this namespace is global. + + + + + 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 implementation 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. + + + + + A reference to the method that provides the implementation. + + + + + The type that is explicitly implementing or overriding the base class virtual method or explicitly implementing an interface method. + + + + + 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 unsigned 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 absence 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. + + + + + 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 corresponds 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 satellite assemblies with localized resources. + Empty 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. + Empty if the referenced assembly does not have a public key. + + + + + The version of the assembly reference. + + + + + An object that represents a .NET module. + + + + + Used to distinguish which style to pick while writing native PDB information. + + + The PDB content for custom debug information is different between Visual Basic and CSharp. + E.g. C# always includes a CustomMetadata Header (MD2) that contains the namespace scope counts, where + as VB only outputs namespace imports into the namespace scopes. + C# defines forwards in that header, VB includes them into the scopes list. + + Currently the compiler doesn't allow mixing C# and VB method bodies. Thus this flag can be per module. + It is possible to move this flag to per-method basis but native PDB CDI forwarding would need to be adjusted accordingly. + + + + + 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 Assembly that contains this module. If this module is main module then this returns this. + + + + + The method that will be called to start execution of this executable module. + + + + + 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. + + + + + The kind of metadata stored in this module. For example whether this module is an executable or a manifest resource file. + + + + + 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 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) + + + + + Assembly reference aliases (C# only). + + + + + Linked assembly names to be stored to native PDB (VB only). + + + + + Project level imports (VB only, TODO: C# scripts). + + + + + Default namespace (VB only). + + + + + 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 . + + + + + Represents a single using directive (Imports clause). + + + + + This is a marker attribute that can be put on an interface to denote that only internal implementations + of that interface should exist. + + +
+
diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/Microsoft.Data.Sqlite.nuspec b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/Microsoft.Data.Sqlite.nuspec new file mode 100644 index 00000000..6002ade3 --- /dev/null +++ b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/Microsoft.Data.Sqlite.nuspec @@ -0,0 +1,60 @@ + + + + Microsoft.Data.Sqlite + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + SQLite implementation of the System.Data.Common provider model. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/net451/Microsoft.Data.Sqlite.props b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/net451/Microsoft.Data.Sqlite.props new file mode 100644 index 00000000..dce22023 --- /dev/null +++ b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/net451/Microsoft.Data.Sqlite.props @@ -0,0 +1,15 @@ + + + + + x86\%(Filename)%(Extension) + PreserveNewest + False + + + x64\%(Filename)%(Extension) + PreserveNewest + False + + + diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/Microsoft.Data.Sqlite.targets b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/Microsoft.Data.Sqlite.targets new file mode 100644 index 00000000..85f41e27 --- /dev/null +++ b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/Microsoft.Data.Sqlite.targets @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-arm/native/sqlite3.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-arm/native/sqlite3.dll new file mode 100644 index 00000000..adf3b179 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-arm/native/sqlite3.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x64/native/sqlite3.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x64/native/sqlite3.dll new file mode 100644 index 00000000..9485bd13 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x64/native/sqlite3.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x86/native/sqlite3.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x86/native/sqlite3.dll new file mode 100644 index 00000000..a067cc05 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/build/netcore50/win10-x86/native/sqlite3.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Data.Sqlite.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Data.Sqlite.dll new file mode 100644 index 00000000..e8f05a32 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Data.Sqlite.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/net451/Microsoft.Data.Sqlite.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/net451/Microsoft.Data.Sqlite.dll new file mode 100644 index 00000000..73cd7326 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/net451/Microsoft.Data.Sqlite.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/netcore50/Microsoft.Data.Sqlite.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/netcore50/Microsoft.Data.Sqlite.dll new file mode 100644 index 00000000..049ad911 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/lib/netcore50/Microsoft.Data.Sqlite.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x64/native/sqlite3.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x64/native/sqlite3.dll new file mode 100644 index 00000000..b0915444 Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x64/native/sqlite3.dll differ diff --git a/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x86/native/sqlite3.dll b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x86/native/sqlite3.dll new file mode 100644 index 00000000..d0084cfd Binary files /dev/null and b/build/approot/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final/runtimes/win7-x86/native/sqlite3.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.Abstractions.nuspec b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.Abstractions.nuspec new file mode 100644 index 00000000..98c4d5f9 --- /dev/null +++ b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.Abstractions.nuspec @@ -0,0 +1,30 @@ + + + + Microsoft.Dnx.Compilation.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Abstractions for compilers used by the runtime. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.Abstractions.dll b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.Abstractions.dll new file mode 100644 index 00000000..61ffb3b5 Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll new file mode 100644 index 00000000..9c501725 Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Abstractions.nuspec b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Abstractions.nuspec new file mode 100644 index 00000000..483dfeae --- /dev/null +++ b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Abstractions.nuspec @@ -0,0 +1,32 @@ + + + + Microsoft.Dnx.Compilation.CSharp.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Dnx.Compilation.CSharp.Abstractions + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll new file mode 100644 index 00000000..f360b5e7 Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll new file mode 100644 index 00000000..d4faa332 Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Common.nuspec b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Common.nuspec new file mode 100644 index 00000000..3ffda861 --- /dev/null +++ b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/Microsoft.Dnx.Compilation.CSharp.Common.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.Dnx.Compilation.CSharp.Common + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 Roslyn implementation code shared with libraries performing runtime compilation. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Common.dll b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Common.dll new file mode 100644 index 00000000..75bcaace Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Common.dll differ diff --git a/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll new file mode 100644 index 00000000..bade1ae7 Binary files /dev/null and b/build/approot/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final/lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/Microsoft.Extensions.Caching.Abstractions.nuspec b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/Microsoft.Extensions.Caching.Abstractions.nuspec new file mode 100644 index 00000000..294e963c --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/Microsoft.Extensions.Caching.Abstractions.nuspec @@ -0,0 +1,40 @@ + + + + Microsoft.Extensions.Caching.Abstractions + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 caching abstractions. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Abstractions.dll b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 00000000..f79d8d10 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Abstractions.dll b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 00000000..382732df Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Abstractions.dll b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 00000000..41e7a09c Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/Microsoft.Extensions.Caching.Memory.nuspec b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/Microsoft.Extensions.Caching.Memory.nuspec new file mode 100644 index 00000000..d511171f --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/Microsoft.Extensions.Caching.Memory.nuspec @@ -0,0 +1,48 @@ + + + + Microsoft.Extensions.Caching.Memory + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + ASP.NET 5 in memory cache abstractions and implementation. + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Memory.dll b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 00000000..a07b38bf Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/dotnet5.4/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Memory.dll b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 00000000..2511f9a1 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/net451/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Memory.dll b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 00000000..6a91201a Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final/lib/netcore50/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Core.nuspec b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Core.nuspec new file mode 100644 index 00000000..ba1a3c20 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Core.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.Extensions.CodeGeneration.Core + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Extensions.CodeGeneration.Core + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll new file mode 100644 index 00000000..020d8495 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.dll new file mode 100644 index 00000000..c872ad93 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.EntityFramework.nuspec b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.EntityFramework.nuspec new file mode 100644 index 00000000..28e7b744 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.EntityFramework.nuspec @@ -0,0 +1,38 @@ + + + + Microsoft.Extensions.CodeGeneration.EntityFramework + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Extensions.CodeGeneration.EntityFramework + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Templates/DbContext/NewLocalDbContext.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Templates/DbContext/NewLocalDbContext.cshtml new file mode 100644 index 00000000..942ab79c --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/Templates/DbContext/NewLocalDbContext.cshtml @@ -0,0 +1,53 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +using Microsoft.Data.Entity; +@{ + foreach (var namespaceName in Model.RequiredNamespaces) + { +@:using @namespaceName; + } +@: + string baseClassName; + if (String.Equals(Model.DbContextTypeName, "DbContext", StringComparison.Ordinal)) + { + baseClassName = "Microsoft.Data.Entity.DbContext"; + } + else + { + baseClassName = "DbContext"; + } + if (!String.IsNullOrEmpty(Model.DbContextNamespace)) + { +@:namespace @Model.DbContextNamespace +@:{ + //PushIndent(" "); + } +} public class @Model.DbContextTypeName : @baseClassName + { + private static bool _created = false; + + public @(Model.DbContextTypeName)() + { + if (!_created) + { + _created = true; + Database.EnsureCreated(); + } + } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + } + + protected override void OnModelCreating(ModelBuilder builder) + { + } + + public DbSet<@Model.ModelTypeName> @Model.ModelTypeName { get; set; } + } +@{ + if (!String.IsNullOrEmpty(Model.DbContextNamespace)) + { + //ClearIndent(); +@:} + } +} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll new file mode 100644 index 00000000..24ea01d1 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.dll new file mode 100644 index 00000000..4995bd06 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Templating.nuspec b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Templating.nuspec new file mode 100644 index 00000000..7fadd730 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.Templating.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.Extensions.CodeGeneration.Templating + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Extensions.CodeGeneration.Templating + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll new file mode 100644 index 00000000..a47cadd6 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.dll new file mode 100644 index 00000000..73eeb344 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.nuspec b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.nuspec new file mode 100644 index 00000000..1546b90c --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/Microsoft.Extensions.CodeGeneration.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.Extensions.CodeGeneration + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Extensions.CodeGeneration + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.dll new file mode 100644 index 00000000..ee596491 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnx451/Microsoft.Extensions.CodeGeneration.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.dll b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.dll new file mode 100644 index 00000000..543444f5 Binary files /dev/null and b/build/approot/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final/lib/dnxcore50/Microsoft.Extensions.CodeGeneration.dll differ diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Microsoft.Extensions.CodeGenerators.Mvc.nuspec b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Microsoft.Extensions.CodeGenerators.Mvc.nuspec new file mode 100644 index 00000000..5e70ec22 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Microsoft.Extensions.CodeGenerators.Mvc.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.Extensions.CodeGenerators.Mvc + 1.0.0-rc1-final + true + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm + http://www.asp.net/ + http://go.microsoft.com/fwlink/?LinkID=288859 + Microsoft.Extensions.CodeGenerators.Mvc + Copyright © Microsoft Corporation + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/THIRDPARTYNOTICE ASP.NET_Preview.rtf b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/THIRDPARTYNOTICE ASP.NET_Preview.rtf new file mode 100644 index 00000000..a4b5f6cf --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/THIRDPARTYNOTICE ASP.NET_Preview.rtf @@ -0,0 +1,428 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};} +{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New{\*\falt Arial};} +{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol{\*\falt Bookshelf Symbol 3};}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings{\*\falt Symbol};} +{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math{\*\falt Calisto MT};}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Times New Roman};} +{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Tahoma{\*\falt ?l?r ???};}{\f40\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;} +{\f41\fbidi \fnil\fcharset0\fprq2{\*\panose 02020803070505020304}Times New Roman Bold{\*\falt Times New Roman};}{\f42\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;} +{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};} +{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};} +{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};} +{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Times New Roman};}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};} +{\f43\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f44\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f46\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};} +{\f47\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f48\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};} +{\f49\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f50\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};} +{\f51\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f53\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f54\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f56\fbidi \fswiss\fcharset161\fprq2 Arial Greek;} +{\f57\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f58\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f59\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f60\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;} +{\f61\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f63\fbidi \fmodern\fcharset238\fprq1 Courier New CE{\*\falt Arial};}{\f64\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr{\*\falt Arial};} +{\f66\fbidi \fmodern\fcharset161\fprq1 Courier New Greek{\*\falt Arial};}{\f67\fbidi \fmodern\fcharset162\fprq1 Courier New Tur{\*\falt Arial};}{\f68\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew){\*\falt Arial};} +{\f69\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic){\*\falt Arial};}{\f70\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic{\*\falt Arial};}{\f71\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese){\*\falt Arial};} +{\f383\fbidi \froman\fcharset238\fprq2 Cambria Math CE{\*\falt Calisto MT};}{\f384\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr{\*\falt Calisto MT};}{\f386\fbidi \froman\fcharset161\fprq2 Cambria Math Greek{\*\falt Calisto MT};} +{\f387\fbidi \froman\fcharset162\fprq2 Cambria Math Tur{\*\falt Calisto MT};}{\f390\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic{\*\falt Calisto MT};}{\f391\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese){\*\falt Calisto MT};} +{\f413\fbidi \fswiss\fcharset238\fprq2 Calibri CE{\*\falt Times New Roman};}{\f414\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Times New Roman};}{\f416\fbidi \fswiss\fcharset161\fprq2 Calibri Greek{\*\falt Times New Roman};} +{\f417\fbidi \fswiss\fcharset162\fprq2 Calibri Tur{\*\falt Times New Roman};}{\f420\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic{\*\falt Times New Roman};}{\f421\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese){\*\falt Times New Roman};} +{\f433\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?l?r ???};}{\f434\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?l?r ???};}{\f436\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?l?r ???};} +{\f437\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?l?r ???};}{\f438\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?l?r ???};}{\f439\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?l?r ???};} +{\f440\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?l?r ???};}{\f441\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?l?r ???};}{\f442\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?l?r ???};} +{\f443\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f444\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f446\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f447\fbidi \froman\fcharset162\fprq2 Cambria Tur;} +{\f450\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f451\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f463\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f464\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;} +{\f466\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f467\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f470\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f471\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);} +{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};} +{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};} +{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};} +{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};} +{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};} +{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};} +{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};} +{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};} +{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} +{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};} +{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};} +{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};} +{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};} +{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};} +{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};} +{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};} +{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};} +{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE{\*\falt Times New Roman};} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Times New Roman};}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek{\*\falt Times New Roman};} +{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur{\*\falt Times New Roman};}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic{\*\falt Times New Roman};} +{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese){\*\falt Times New Roman};}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};} +{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};} +{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};} +{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};} +{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}}{\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;\red96\green100\blue32; +\red51\green51\blue51;\red221\green221\blue221;\red211\green211\blue211;}{\*\defchp }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{ +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 \styrsid625 Normal;}{ +\s1\ql \li0\ri0\sa240\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext31 \slink15 \sqformat \styrsid5907427 heading 1;}{\s2\ql \li720\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink16 \sqformat \styrsid5907427 heading 2;}{\s3\ql \li1440\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin1440\itap0 \rtlch\fcs1 +\ab\af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink17 \sqformat \styrsid5907427 heading 3;}{ +\s4\ql \li2160\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin2160\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext31 \slink18 \sqformat \styrsid5907427 heading 4;}{\s5\ql \li2880\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel4\adjustright\rin0\lin2880\itap0 \rtlch\fcs1 \ab\ai\af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink19 \sqformat \styrsid5907427 heading 5;}{\s6\ql \li3600\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel5\adjustright\rin0\lin3600\itap0 \rtlch\fcs1 +\ab\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink20 \sqformat \styrsid5907427 heading 6;}{ +\s7\ql \li4320\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel6\adjustright\rin0\lin4320\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext31 \slink21 \sqformat \styrsid5907427 heading 7;}{\s8\ql \li5040\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel7\adjustright\rin0\lin5040\itap0 \rtlch\fcs1 \ai\af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink22 \sqformat \styrsid5907427 heading 8;}{\s9\ql \li5760\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel8\adjustright\rin0\lin5760\itap0 \rtlch\fcs1 +\af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink23 \sqformat \styrsid5907427 heading 9;}{\*\cs10 \additive \ssemihidden \styrsid5907427 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive +\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f40\fs32\kerning32 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\f40\fs28 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 Heading 2 Char;}{\*\cs17 +\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f40\fs26 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f37\fs28 \sbasedon10 \slink4 \slocked \ssemihidden \spriority9 Heading 4 Char;}{\* +\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\f37\fs26 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f37 \sbasedon10 \slink6 \slocked \ssemihidden \spriority9 Heading 6 Char;} +{\*\cs21 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f37\fs24 \sbasedon10 \slink7 \slocked \ssemihidden \spriority9 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \i\f37\fs24 \sbasedon10 \slink8 \slocked \ssemihidden \spriority9 +Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f40 \sbasedon10 \slink9 \slocked \ssemihidden \spriority9 Heading 9 Char;}{\s24\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +\rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \slink25 \styrsid5907427 footer;}{\*\cs25 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs24 \sbasedon10 \slink24 \slocked \ssemihidden +Footer Char;}{\s26\ql \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext26 \slink27 \styrsid5907427 header;}{\*\cs27 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs24 \sbasedon10 \slink26 \slocked \ssemihidden Header Char;}{ +\s28\qc \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 \caps\f41\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext0 \slink29 \sqformat \styrsid5907427 Title;}{\*\cs29 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f40\fs32\kerning28 \sbasedon10 \slink28 \slocked \spriority10 Title Char;}{ +\s30\ql \li1440\ri1440\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin1440\lin1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid5907427 +Block Text;}{\s31\ql \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \slink32 \styrsid5907427 +Body Text;}{\*\cs32 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs24 \sbasedon10 \slink31 \slocked \ssemihidden Body Text Char;}{\s33\ql \fi720\li0\ri0\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 \styrsid5907427 Body Text First Indent Double;}{\s34\qj \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +\rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 \ssemihidden \styrsid5907427 Body Text Just;}{ +\s35\ql \fi720\li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext35 \slink36 \styrsid5907427 +Body Text First Indent;}{\*\cs36 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs24 \sbasedon32 \slink35 \slocked \ssemihidden Body Text First Indent Char;}{\s37\ql \li720\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 +\rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext37 \slink38 \styrsid5907427 Body Text Indent;}{\*\cs38 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs24 +\sbasedon10 \slink37 \slocked \ssemihidden Body Text Indent Char;}{\s39\ql \li720\ri0\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext39 \styrsid5907427 Body Text Indent Double;}{\*\cs40 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid10380790 Hyperlink;}{\s41\qj \li0\ri0\sa240\sl480\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext41 \ssemihidden \styrsid5907427 Body Text 2 Just;}{ +\s42\ql \li2880\ri0\widctlpar\phpg\posxc\posyb\absh-1980\absw7920\dxfrtext180\dfrmtxtx180\dfrmtxty0\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2880\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext42 \styrsid5907427 envelope address;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 +\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext43 \styrsid5907427 envelope return;}{\s44\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext44 \ssemihidden \styrsid5907427 Normal Indent;}{\s45\qc \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 +\ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \slink46 \sqformat \styrsid5907427 Subtitle;}{\*\cs46 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f40\fs24 \sbasedon10 \slink45 \slocked \spriority11 Subtitle Char;}{ +\s47\qj \fi720\li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext47 \ssemihidden \styrsid5907427 +Body Text First Indent Just;}{\s48\qj \fi720\li0\ri0\sa240\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext48 \ssemihidden \styrsid5907427 Body Text First Indent 2 Just;}{\s49\qj \li720\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext49 \ssemihidden \styrsid5907427 Body Text Indent Just;}{\s50\qj \li1440\ri1440\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin1440\lin1440\itap0 \rtlch\fcs1 +\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext50 \ssemihidden \styrsid5907427 Block Text Just;}{\s51\ql \li0\ri0\sa240\sl360\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext51 \slink52 \ssemihidden \styrsid5907427 Body Text 3;}{\*\cs52 +\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs16 \sbasedon10 \slink51 \slocked \ssemihidden Body Text 3 Char;}{\s53\ql \li360\ri0\sa240\sl360\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \af0\afs16\alang1025 +\ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext53 \slink54 \ssemihidden \styrsid5907427 Body Text Indent 3;}{\*\cs54 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs16 \sbasedon10 \slink53 \slocked \ssemihidden +Body Text Indent 3 Char;}{\s55\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon24 \snext55 \styrsid5907427 DocID;}{\s56\ql \li0\ri0\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext56 \styrsid5907427 Body Text Double;}{\*\cs57 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17 \sbasedon10 \styrsid625 FollowedHyperlink;}{ +\s58\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext58 \styrsid625 +Normal (Web);}{\s59\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af2\afs20\alang1025 +\ltrch\fcs0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext59 \slink60 \sunhideused \styrsid3303100 HTML Preformatted;}{\*\cs60 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f2\fs20 \sbasedon10 \slink59 \slocked \styrsid3303100 +HTML Preformatted Char;}{\*\cs61 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid6835083 annotation reference;}{\s62\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +\rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext62 \slink63 \ssemihidden \sunhideused \styrsid6835083 annotation text;}{\*\cs63 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs20 +\sbasedon10 \slink62 \slocked \ssemihidden \styrsid6835083 Comment Text Char;}{\s64\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 +\b\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon62 \snext62 \slink65 \ssemihidden \sunhideused \styrsid6835083 annotation subject;}{\*\cs65 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\fs20 +\sbasedon63 \slink64 \slocked \ssemihidden \styrsid6835083 Comment Subject Char;}{\s66\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs16\alang1025 \ltrch\fcs0 +\f39\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext66 \slink67 \ssemihidden \sunhideused \styrsid6835083 Balloon Text;}{\*\cs67 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f39\fs16 +\sbasedon10 \slink66 \slocked \ssemihidden \styrsid6835083 Balloon Text Char;}{\s68\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af37\afs22\alang1025 \ltrch\fcs0 +\f37\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext68 \sqformat \spriority34 \styrsid14296280 List Paragraph;}{\s69\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af42\afs21\alang1025 \ltrch\fcs0 \f42\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext69 \slink70 \sunhideused \styrsid5528437 Plain Text;}{\*\cs70 \additive \rtlch\fcs1 \af42\afs21 \ltrch\fcs0 \f42\fs21 +\sbasedon10 \slink69 \slocked \styrsid5528437 Plain Text Char;}}{\*\listtable{\list\listtemplateid1222255236\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid-132}{\list\listtemplateid-132774062\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listname ;}\listid-131}{\list\listtemplateid72496394\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1080\jclisttab\tx1080\lin1080 }{\listname ;}\listid-130}{\list\listtemplateid-597544638\listsimple{\listlevel\levelnfc0 +\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listname ;}\listid-129}{\list\listtemplateid-1640086914 +\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid-128} +{\list\listtemplateid502950296\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listname +;}\listid-127}{\list\listtemplateid-780873322\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1080\jclisttab\tx1080\lin1080 } +{\listname ;}\listid-126}{\list\listtemplateid-1673631862\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720 +\jclisttab\tx720\lin720 }{\listname ;}\listid-125}{\list\listtemplateid1320462024\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid-120}{\list\listtemplateid1437343428\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid-119}{\list\listtemplateid-18606430\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0 +{\leveltext\leveltemplateid-770525180\'01-;}{\levelnumbers;}\loch\af37\hich\af37\dbch\af0\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;} +\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 +{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 +\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 +\fi-360\li6480\lin6480 }{\listname ;}\listid731200530}{\list\listtemplateid67698719{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'04\'00.\'01.;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-432\li792 +\jclisttab\tx792\lin792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'06\'00.\'01.\'02.;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-504\li1224 +\jclisttab\tx1440\lin1224 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'08\'00.\'01.\'02.\'03.;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-648\li1728 +\jclisttab\tx1800\lin1728 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0a\'00.\'01.\'02.\'03.\'04.;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-792\li2232 +\jclisttab\tx2520\lin2232 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0c\'00.\'01.\'02.\'03.\'04.\'05.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 +\fi-936\li2736\jclisttab\tx2880\lin2736 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0e\'00.\'01.\'02.\'03.\'04.\'05.\'06.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 +\af0 \ltrch\fcs0 \fi-1080\li3240\jclisttab\tx3600\lin3240 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'10\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.;}{\levelnumbers +\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1224\li3744\jclisttab\tx3960\lin3744 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'12\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1440\li4320\jclisttab\tx4680\lin4320 }{\listname ;}\listid787241198}{\list\listtemplateid218949156{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;} +\f10\fs20\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li4320 +\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 } +{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid805975556}{\list\listtemplateid-223731298 +{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0 +{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers +\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li6480 +\jclisttab\tx6480\lin6480 }{\listname ;}\listid1516459123}{\list\listtemplateid67698719{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'04\'00.\'01.;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-432\li792 +\jclisttab\tx792\lin792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'06\'00.\'01.\'02.;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-504\li1224 +\jclisttab\tx1440\lin1224 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'08\'00.\'01.\'02.\'03.;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-648\li1728 +\jclisttab\tx1800\lin1728 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0a\'00.\'01.\'02.\'03.\'04.;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-792\li2232 +\jclisttab\tx2520\lin2232 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0c\'00.\'01.\'02.\'03.\'04.\'05.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 +\fi-936\li2736\jclisttab\tx2880\lin2736 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0e\'00.\'01.\'02.\'03.\'04.\'05.\'06.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 +\af0 \ltrch\fcs0 \fi-1080\li3240\jclisttab\tx3600\lin3240 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'10\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.;}{\levelnumbers +\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1224\li3744\jclisttab\tx3960\lin3744 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'12\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1440\li4320\jclisttab\tx4680\lin4320 }{\listname ;}\listid1964115752}}{\*\listoverridetable{\listoverride\listid-119 +\listoverridecount0\ls1}{\listoverride\listid-125\listoverridecount0\ls2}{\listoverride\listid-126\listoverridecount0\ls3}{\listoverride\listid-127\listoverridecount0\ls4}{\listoverride\listid-128\listoverridecount0\ls5}{\listoverride\listid-120 +\listoverridecount0\ls6}{\listoverride\listid-129\listoverridecount0\ls7}{\listoverride\listid-130\listoverridecount0\ls8}{\listoverride\listid-131\listoverridecount0\ls9}{\listoverride\listid-132\listoverridecount0\ls10}{\listoverride\listid1964115752 +\listoverridecount0\ls11}{\listoverride\listid787241198\listoverridecount0\ls12}{\listoverride\listid1516459123\listoverridecount0\ls13}{\listoverride\listid731200530\listoverridecount9{\lfolevel}{\lfolevel}{\lfolevel}{\lfolevel}{\lfolevel}{\lfolevel} +{\lfolevel}{\lfolevel}{\lfolevel}\ls14}{\listoverride\listid805975556\listoverridecount0\ls15}{\listoverride\listid1516459123\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}\ls16}}{\*\pgptbl {\pgp\ipgp9\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp5\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb300\sa225\brdrt\brdrs\brdrw15\brdrcf19 \brdrl\brdrs\brdrw15\brdrcf19 \brdrb +\brdrs\brdrw15\brdrcf19 \brdrr\brdrs\brdrw15\brdrcf19 }{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp8\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp3\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp2\itap0\li0\ri0\sb0 +\sa0}{\pgp\ipgp126\itap2\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp51\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0} +{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp99\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp104\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp26\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp27\itap0\li0\ri0\sb0\sa0}{\pgp +\ipgp19\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp100\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp21\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp40\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp106\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp24\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp12 +\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0 +\li0\ri0\sb0\sa0}{\pgp\ipgp14\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp57\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp110\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp113\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0 +\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp99\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0 +\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp96\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0} +{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp86\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp63\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp +\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp91 +\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li75\ri75\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0 +\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp79\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp88\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp93\itap0\li0\ri0\sb0 +\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp64\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp74\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp +\ipgp41\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp29\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp120\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp44\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp28 +\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp107\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp30\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp118\itap0 +\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp39\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li0 +\ri0\sb0\sa0}{\pgp\ipgp31\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp103\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp97\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp127\itap1\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp10\itap2\li0\ri0\sb0\sa0}{\pgp\ipgp121\itap1\li0\ri0\sb0 +\sa0}{\pgp\ipgp128\itap0\li240\ri240\sb240\sa240}{\pgp\ipgp124\itap1\li0\ri0\sb0\sa0\brdrl\brdrs\brdrw15\brdrcf20 \brdrb\brdrs\brdrw15\brsp240\brdrcf20 \brdrr\brdrs\brdrw15\brdrcf20 }{\pgp\ipgp122\itap1\li0\ri0\sb0\sa0}{\pgp\ipgp123\itap0\li0\ri0\sb0\sa0} +{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid625\rsid92643\rsid271060\rsid339163\rsid357505\rsid359418\rsid478141\rsid479462\rsid485849\rsid529597 +\rsid551880\rsid660966\rsid728528\rsid750851\rsid1266513\rsid1398111\rsid1520748\rsid1638516\rsid1653568\rsid1662815\rsid1664550\rsid1666145\rsid1982421\rsid2456927\rsid2505415\rsid2512922\rsid2819784\rsid2844233\rsid2888499\rsid3032599\rsid3046076 +\rsid3158621\rsid3241529\rsid3303100\rsid3371282\rsid3608685\rsid3802929\rsid3940894\rsid4079870\rsid4092963\rsid4405566\rsid4474833\rsid4486730\rsid4615180\rsid4916037\rsid5115630\rsid5139630\rsid5322289\rsid5402340\rsid5441823\rsid5517725\rsid5528437 +\rsid5573332\rsid5580517\rsid5907427\rsid5980510\rsid5984120\rsid6291804\rsid6454902\rsid6508458\rsid6647752\rsid6757028\rsid6770258\rsid6835083\rsid7229466\rsid7544593\rsid8000641\rsid8006241\rsid8016844\rsid8092433\rsid8270966\rsid9071126\rsid9179129 +\rsid9318037\rsid9325566\rsid9327743\rsid9386383\rsid9573533\rsid9593607\rsid9794307\rsid9991221\rsid10045307\rsid10100171\rsid10115033\rsid10167195\rsid10320299\rsid10380790\rsid10485835\rsid10551406\rsid10634916\rsid10641048\rsid10696632\rsid10763220 +\rsid10829475\rsid10834080\rsid10947469\rsid10975141\rsid11231939\rsid11742563\rsid12017776\rsid12085428\rsid12133735\rsid12197258\rsid12258123\rsid12272421\rsid12403217\rsid12415054\rsid12470762\rsid12594827\rsid12611040\rsid12715598\rsid12940798 +\rsid12983087\rsid12990546\rsid12991943\rsid13175656\rsid13374733\rsid13786280\rsid13986295\rsid14120308\rsid14184460\rsid14292055\rsid14296280\rsid14488221\rsid14498861\rsid14644998\rsid14711882\rsid14747814\rsid14907622\rsid15205023\rsid15365457 +\rsid15554827\rsid15863116\rsid16127456\rsid16398523\rsid16450223\rsid16463073}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title Third-Party Software Notices} +{\author Gabriel Holloway}{\operator Iris Lilley (LCA)}{\creatim\yr2014\mo9\dy15\hr13\min9}{\revtim\yr2014\mo9\dy15\hr13\min9}{\printim\yr2007\mo11\dy28\hr13\min16}{\version2}{\edmins0}{\nofpages2}{\nofwords531}{\nofchars3027} +{\*\company Microsoft Corporation}{\nofcharsws3551}{\vern57437}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen +\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace120\dgvspace180\dghorigin1440\dgvorigin1440\dghshow2\dgvshow2 +\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot10380790\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 0117}\ilfomacatclnup0\ltrpar \sectd \ltrsect\psz1\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid1662815\sftnbj {\*\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\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid357505 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs20 \ltrch\fcs0 \b\f2\fs20\insrsid14120308\charrsid5984120 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid10380790\charrsid5984120 \line \line }{\rtlch\fcs1 \ab\af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10551406\charrsid5984120 Note:}{\rtlch\fcs1 \ab\af2\afs20 \ltrch\fcs0 \b\f2\fs20\insrsid10551406\charrsid5984120 }{\rtlch\fcs1 \af2\afs20 +\ltrch\fcs0 \f2\fs20\insrsid10551406\charrsid5984120 While Microsoft is not the author of the files below, Microsoft is offering you a license subjec}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid357505 t to the terms of the Microsoft}{\rtlch\fcs1 +\af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10045307 }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10551406\charrsid5984120 Software License Terms for Microsoft }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5528437 Pre-Release software ASP.NET } +{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid357505 software products }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10551406\charrsid5984120 (the \'93Microsoft Program\'94). Microsoft reserves all other rights. The notices below are p +rovided for informational purposes only and are not the license terms under which Microsoft distributes }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12017776\charrsid5984120 these }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid10551406\charrsid5984120 file}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12017776\charrsid5984120 s}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10551406\charrsid5984120 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5984120 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10380790\charrsid5984120 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid3303100\charrsid5984120 The Microsoft }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10834080\charrsid5984120 Program }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid625\charrsid5984120 +includes }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12017776\charrsid5984120 the following third-party }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid3303100\charrsid5984120 software}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid12017776\charrsid5984120 :}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid625\charrsid5984120 +\par +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14292055 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14292055 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14292055\charrsid14292055 1. }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid10045307 Bootstrap (}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5441823 http://getbootstrap.com}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421 )}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid10045307 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1982421 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14292055\charrsid14292055 2. }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid1982421 jQuery UI}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14292055\charrsid14292055 (}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid1982421 http://jqueryui.com/}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid14292055\charrsid14292055 )}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid15365457 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5984120 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid14488221 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \b\f2\fs20\insrsid10551406\charrsid5984120 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5139630\charrsid5984120 As the recipient of the above third-party software, Microsoft sets forth a copy of the notices and other information below.}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\insrsid5139630 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12272421 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid12272421\charrsid12272421 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid1982421 BOOTSTRAP}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid1982421 v }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid1982421 3.0.0}{ +\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid1982421 NOTICES AND INFORMATION BEGIN HERE +\par ================================================ +\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trgaph15\trleft-150\trftsWidth1\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid1982421\tbllkhdrrows\tbllkhdrcols\tbllknocolband +\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat8\cltxlrtb\clftsWidth1\clpadl0\clpadt150\clpadb0\clpadr150\clpadfl3\clpadft3\clpadfb3\clpadfr3\clcbpatraw8\clhidemark \cellx9510\pard \ltrpar +\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af2\afs18 \ltrch\fcs0 \f2\fs18\cf18\insrsid1982421\charrsid1982421 The MIT License (MIT) +\par +\par Copyright (c) 2011-2014 Twitter, Inc.\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid1982421 \trowd \irow0\irowband0\ltrrow +\ts11\trgaph15\trleft-150\trftsWidth1\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid1982421\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt +\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat8\cltxlrtb\clftsWidth1\clpadl0\clpadt150\clpadb0\clpadr150\clpadfl3\clpadft3\clpadfb3\clpadfr3\clcbpatraw8\clhidemark \cellx9510\row \ltrrow}\trowd \irow1\irowband1\lastrow \ltrrow +\ts11\trgaph15\trleft-150\trftsWidth1\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid1982421\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt +\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat8\cltxlrtb\clftsWidth1\clpadl0\clpadt150\clpadb0\clpadr150\clpadfl3\clpadft3\clpadfb3\clpadfr3\clcbpatraw8 \cellx9510\pard \ltrpar +\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af2\afs18 \ltrch\fcs0 \f2\fs18\cf18\insrsid1982421\charrsid1982421 +\par }\pard\plain \ltrpar\s59\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid1982421 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2 +\ltrch\fcs0 \insrsid1982421\charrsid1982421 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m +erge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par +\par The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par +\par THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N +O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs18 \ltrch\fcs0 +\f2\fs18\cf18\insrsid1982421\charrsid1982421 \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid1982421 +\trowd \irow1\irowband1\lastrow \ltrrow\ts11\trgaph15\trleft-150\trftsWidth1\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid1982421\tbllkhdrrows\tbllkhdrcols\tbllknocolband +\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat8\cltxlrtb\clftsWidth1\clpadl0\clpadt150\clpadb0\clpadr150\clpadfl3\clpadft3\clpadfb3\clpadfr3\clcbpatraw8 \cellx9510\row }\pard \ltrpar +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12272421 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid12272421 ==================================================== +\par END OF }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421 BOOTSTRAP 3.0.0}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid12272421\charrsid12272421 NOTICES AND INFORMATION +\par +\par }\pard\plain \ltrpar\s69\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5528437 \rtlch\fcs1 \af42\afs21\alang1025 \ltrch\fcs0 \f42\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 +\af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14488221\charrsid5528437 JQUERY UI 1.}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid1982421\charrsid5528437 10.2}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14488221\charrsid5528437 + NOTICES AND INFORMATION BEGIN HERE\line ========================================= \line }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5528437\charrsid5528437 Copyright 2013 jQuery Foundation}{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\insrsid5528437\charrsid529597 and other contributors, +\par http://jqueryui.com/ +\par +\par This software consists of voluntary contributions made by many +\par individuals (AUTHORS.txt, http://jqueryui.com/about) For exact +\par contribution history, see the revision history and logs, available +\par at http://jquery-ui.googlecode.com/svn/ +\par +\par Permission is hereby granted, free of charge, to any person obtaining +\par a copy of this software and associated documentation files (the +\par "Software"), to deal in the Software without restriction, including +\par without limitation the rights to use, copy, modify, merge, publish, +\par distribute, sublicense, and/or sell copies of the Software, and to +\par permit persons to whom the Software is furnished to do so, subject to +\par the following conditions: +\par +\par The above copyright notice and this permission notice shall be +\par included in all copies or substantial portions of the Software. +\par +\par THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +\par EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +\par MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +\par NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +\par LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +\par OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +\par WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid339163 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs20 +\ltrch\fcs0 \f2\fs20\insrsid5528437 +\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14488221\charrsid5984120 END OF JQUERY UI 1.}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid339163 10.2}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14488221\charrsid5984120 + NOTICES AND INFORMATION\line ========================================= }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14488221\charrsid339163 +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f +7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87 +615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad +79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b +5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab +999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9 +699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586 +8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6 +0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f +9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be +15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979 +3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d +32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a +f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86 +e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90 +fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2 +ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae +a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1 +399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5 +4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84 +0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b +c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7 +689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20 +5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0 +aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d +316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840 +545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a +c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100 +0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7 +8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89 +d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500 +1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f +bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6 +a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a +0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021 +0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008 +00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6; +\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 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 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdpriority59 \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 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000020c7 +62e820d1cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/ApiControllerWithContext.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/ApiControllerWithContext.cshtml new file mode 100644 index 00000000..9488f836 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/ApiControllerWithContext.cshtml @@ -0,0 +1,260 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +using System.Collections.Generic; +using System.Linq; +@{ + if (Model.UseAsync) + { +@:using System.Threading.Tasks; + } +}using Microsoft.AspNet.Http; +using Microsoft.AspNet.Mvc; +using Microsoft.Data.Entity; +@{ + foreach (var namespaceName in Model.RequiredNamespaces) + { +@:using @namespaceName; + } +} + +namespace @Model.ControllerNamespace +{ +@{ + string routePrefix = "api/" + Model.ControllerRootName; + var entitySetName = Model.ModelMetadata.EntitySetName; + var primaryKeyName = Model.ModelMetadata.PrimaryKeys[0].PropertyName; + var primaryKeyShortTypeName = Model.ModelMetadata.PrimaryKeys[0].ShortTypeName; + var primaryKeyType = Model.ModelMetadata.PrimaryKeys[0].TypeName; + var primaryKeyIsAutoGenerated = Model.ModelMetadata.PrimaryKeys[0].IsAutoGenerated; +} + [Produces("application/json")] + [Route("@routePrefix")] + public class @Model.ControllerName : Controller + { + private @Model.ContextTypeName _context; + + public @(Model.ControllerName)(@Model.ContextTypeName context) + { + _context = context; + } + + // GET: @routePrefix + [HttpGet] + public IEnumerable<@Model.ModelTypeName> Get@(entitySetName)() + { + return _context.@(entitySetName); + } + + // GET: @routePrefix/5 + [HttpGet("{id}", Name = "Get@(Model.ModelTypeName)")] +@{ + if (Model.UseAsync) + { + @:public async Task Get@(Model.ModelTypeName)([FromRoute] @primaryKeyShortTypeName id) + } + else + { + @:public IActionResult Get@(Model.ModelTypeName)([FromRoute] @primaryKeyShortTypeName id) + } +} + { + if (!ModelState.IsValid) + { + return HttpBadRequest(ModelState); + } + +@{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } +} + + if (@Model.ModelVariable == null) + { + return HttpNotFound(); + } + + return Ok(@Model.ModelVariable); + } + + // PUT: @routePrefix/5 + [HttpPut("{id}")] +@{ + if (Model.UseAsync) + { + @:public async Task Put@(Model.ModelTypeName)([FromRoute] @primaryKeyShortTypeName id, [FromBody] @Model.ModelTypeName @Model.ModelVariable) + } + else + { + @:public IActionResult Put@(Model.ModelTypeName)(@primaryKeyShortTypeName id, [FromBody] @Model.ModelTypeName @Model.ModelVariable) + } +} + { + if (!ModelState.IsValid) + { + return HttpBadRequest(ModelState); + } + + if (id != @(Model.ModelVariable).@primaryKeyName) + { + return HttpBadRequest(); + } + + _context.Entry(@Model.ModelVariable).State = EntityState.Modified; + + try + { +@{ + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } +} + } + catch (DbUpdateConcurrencyException) + { + if (!@(Model.ModelTypeName)Exists(id)) + { + return HttpNotFound(); + } + else + { + throw; + } + } + + return new HttpStatusCodeResult(StatusCodes.Status204NoContent); + } + + // POST: @routePrefix + [HttpPost] +@{ + if (Model.UseAsync) + { + @:public async Task Post@(Model.ModelTypeName)([FromBody] @Model.ModelTypeName @Model.ModelVariable) + } + else + { + @:public IActionResult Post@(Model.ModelTypeName)([FromBody] @Model.ModelTypeName @Model.ModelVariable) + } +} + { + if (!ModelState.IsValid) + { + return HttpBadRequest(ModelState); + } + + _context.@(entitySetName).Add(@Model.ModelVariable); +@{ + if (primaryKeyIsAutoGenerated) + { + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } + } + else + { + @:try + @:{ + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } + @:} + @:catch (DbUpdateException) + @:{ + @:if (@(Model.ModelTypeName)Exists(@(Model.ModelVariable).@primaryKeyName)) + @:{ + @:return new HttpStatusCodeResult(StatusCodes.Status409Conflict); + @:} + @:else + @:{ + @:throw; + @:} + @:} + } +} + + return CreatedAtRoute("Get@(Model.ModelTypeName)", new { id = @(Model.ModelVariable).@primaryKeyName }, @Model.ModelVariable); + } + + // DELETE: @routePrefix/5 + [HttpDelete("{id}")] +@{ + if (Model.UseAsync) + { + @:public async Task Delete@(Model.ModelTypeName)([FromRoute] @primaryKeyShortTypeName id) + } + else + { + @:public IActionResult Delete@(Model.ModelTypeName)(@primaryKeyShortTypeName id) + } +} + { + if (!ModelState.IsValid) + { + return HttpBadRequest(ModelState); + } + +@{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } +} + if (@Model.ModelVariable == null) + { + return HttpNotFound(); + } + + _context.@(entitySetName).Remove(@Model.ModelVariable); +@{ + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } +} + + return Ok(@Model.ModelVariable); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + _context.Dispose(); + } + base.Dispose(disposing); + } + + private bool @(Model.ModelTypeName)Exists(@primaryKeyShortTypeName id) + { + return _context.@(entitySetName).Count(e => e.@primaryKeyName == id) > 0; + } + } +} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/EmptyController.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/EmptyController.cshtml new file mode 100644 index 00000000..f54f66d8 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/EmptyController.cshtml @@ -0,0 +1,14 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +using System.Linq; +using Microsoft.AspNet.Mvc; + +namespace @Model.NamespaceName +{ + public class @Model.ClassName : Controller + { + public IActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/MvcControllerWithContext.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/MvcControllerWithContext.cshtml new file mode 100644 index 00000000..002905ea --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ControllerGenerator/MvcControllerWithContext.cshtml @@ -0,0 +1,350 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +using System.Linq; +@{ + if (Model.UseAsync) + { +@:using System.Threading.Tasks; + } +}using Microsoft.AspNet.Mvc; +using Microsoft.AspNet.Mvc.Rendering; +using Microsoft.Data.Entity; +@{ + foreach (var namespaceName in Model.RequiredNamespaces) + { +@:using @namespaceName; + } +} + +namespace @Model.ControllerNamespace +{ +@{ + string routePrefix; + if (String.IsNullOrEmpty(Model.AreaName)) + { + routePrefix = Model.ControllerRootName; + } + else + { + routePrefix = Model.AreaName + "/" + Model.ControllerRootName; + } + var contextTypeName = Model.ContextTypeName; + var entitySetName = Model.ModelMetadata.EntitySetName; + var entitySetVar = Model.EntitySetVariable ?? + (String.IsNullOrEmpty(entitySetName) + ? entitySetName + : (entitySetName.Substring(0, length: 1).ToLowerInvariant() + entitySetName.Substring(1))); + var primaryKeyName = Model.ModelMetadata.PrimaryKeys[0].PropertyName; + var primaryKeyShortTypeName = Model.ModelMetadata.PrimaryKeys[0].ShortTypeName; + var primaryKeyType = Model.ModelMetadata.PrimaryKeys[0].TypeName; + var primaryKeyNullableTypeName = GetNullableTypeName(primaryKeyType, primaryKeyShortTypeName); + var lambdaVar = Model.ModelVariable[0]; + var relatedProperties = new Dictionary(); + foreach(var nav in Model.ModelMetadata.Navigations) + { + relatedProperties.Add(nav.AssociationPropertyName, nav); + + } +} + public class @Model.ControllerName : Controller + { + private @Model.ContextTypeName _context; + + public @(Model.ControllerName)(@Model.ContextTypeName context) + { + _context = context; + } + + // GET: @routePrefix +@{ + if (Model.UseAsync) + { + @:public async Task Index() + } + else + { + @:public IActionResult Index() + } + @:{ + var includeExpressions = ""; + includeExpressions = String.Join("", relatedProperties + .Values + .Select(property => String.Format(".Include({0} => {0}.{1})", lambdaVar, property.AssociationPropertyName))); + if (!String.IsNullOrEmpty(includeExpressions)) + { + @:var @entitySetVar = _context.@entitySetName@includeExpressions; + if (Model.UseAsync) + { + @:return View(await @(entitySetVar).ToListAsync()); + } + else + { + @:return View(@(entitySetVar).ToList()); + } + } + else + { + if (Model.UseAsync) + { + @:return View(await _context.@(entitySetName).ToListAsync()); + } + else + { + @:return View(_context.@(entitySetName).ToList()); + } + } +} } + + // GET: @routePrefix/Details/5 +@{ + if (Model.UseAsync) + { + @:public async Task Details(@primaryKeyNullableTypeName id) + } + else + { + @:public IActionResult Details(@primaryKeyNullableTypeName id) + } +} { + if (id == null) + { + return HttpNotFound(); + } + +@{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } +} if (@Model.ModelVariable == null) + { + return HttpNotFound(); + } + + return View(@Model.ModelVariable); + } + + // GET: @routePrefix/Create + public IActionResult Create() + { +@{ + foreach (var property in relatedProperties.Values) + { + @:ViewData["@(property.ForeignKeyPropertyNames[0])"] = new SelectList(_context.@property.EntitySetName, "@property.PrimaryKeyNames[0]", "@property.DisplayPropertyName"); + } +} return View(); + } + + // POST: @routePrefix/Create + [HttpPost] + [ValidateAntiForgeryToken] +@{ + if (Model.UseAsync) + { + @:public async Task Create(@Model.ModelTypeName @Model.ModelVariable) + } + else + { + @:public IActionResult Create(@Model.ModelTypeName @Model.ModelVariable) + } +} { + if (ModelState.IsValid) + { +@{ + if(!string.IsNullOrEmpty(primaryKeyType) && IsGuid(primaryKeyType)) + { + @:@(Model.ModelVariable).@primaryKeyName = Guid.NewGuid(); + } + @:_context.@(entitySetName).Add(@Model.ModelVariable); + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } +} return RedirectToAction("Index"); + } +@{ + foreach (var property in relatedProperties.Values) + { + @:ViewData["@(property.ForeignKeyPropertyNames[0])"] = new SelectList(_context.@property.EntitySetName, "@property.PrimaryKeyNames[0]", "@property.DisplayPropertyName", @(Model.ModelVariable).@property.ForeignKeyPropertyNames[0]); + } +} + return View(@Model.ModelVariable); + } + + // GET: @routePrefix/Edit/5 +@{ + if (Model.UseAsync) + { + @:public async Task Edit(@primaryKeyNullableTypeName id) + } + else + { + @:public IActionResult Edit(@primaryKeyNullableTypeName id) + } +} { + if (id == null) + { + return HttpNotFound(); + } + +@{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } +} if (@Model.ModelVariable == null) + { + return HttpNotFound(); + } +@{ + foreach (var property in relatedProperties.Values) + { + @:ViewData["@(property.ForeignKeyPropertyNames[0])"] = new SelectList(_context.@property.EntitySetName, "@property.PrimaryKeyNames[0]", "@property.DisplayPropertyName", @(Model.ModelVariable).@property.ForeignKeyPropertyNames[0]); + } +} + return View(@Model.ModelVariable); + } + + // POST: @routePrefix/Edit/5 + [HttpPost] + [ValidateAntiForgeryToken] +@{ + if (Model.UseAsync) + { + @:public async Task Edit(@Model.ModelTypeName @Model.ModelVariable) + } + else + { + @:public IActionResult Edit(@Model.ModelTypeName @Model.ModelVariable) + } +} { + if (ModelState.IsValid) + { + _context.Update(@Model.ModelVariable); +@{ + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } +} return RedirectToAction("Index"); + } +@{ + foreach (var property in relatedProperties.Values) + { + @:ViewData["@(property.ForeignKeyPropertyNames[0])"] = new SelectList(_context.@property.EntitySetName, "@property.PrimaryKeyNames[0]", "@property.DisplayPropertyName", @(Model.ModelVariable).@property.ForeignKeyPropertyNames[0]); + } +} + return View(@Model.ModelVariable); + } + + // GET: @routePrefix/Delete/5 + [ActionName("Delete")] +@{ + if (Model.UseAsync) + { + @:public async Task Delete(@primaryKeyNullableTypeName id) + } + else + { + @:public IActionResult Delete(@primaryKeyNullableTypeName id) + } +} { + if (id == null) + { + return HttpNotFound(); + } + +@{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } +} if (@Model.ModelVariable == null) + { + return HttpNotFound(); + } + + return View(@Model.ModelVariable); + } + + // POST: @routePrefix/Delete/5 + [HttpPost, ActionName("Delete")] + [ValidateAntiForgeryToken] +@{ + if (Model.UseAsync) + { + @:public async Task DeleteConfirmed(@primaryKeyShortTypeName id) + } + else + { + @:public IActionResult DeleteConfirmed(@primaryKeyShortTypeName id) + } + @:{ + if (Model.UseAsync) + { + @:@Model.ModelTypeName @Model.ModelVariable = await _context.@(entitySetName).SingleAsync(m => m.@primaryKeyName == id); + } + else + { + @:@Model.ModelTypeName @Model.ModelVariable = _context.@(entitySetName).Single(m => m.@primaryKeyName == id); + } + @:_context.@(entitySetName).Remove(@Model.ModelVariable); + if (Model.UseAsync) + { + @:await _context.SaveChangesAsync(); + } + else + { + @:_context.SaveChanges(); + } +} + return RedirectToAction("Index"); + } + } +} +@functions +{ + // This function converts the primary key short type name to its nullable equivalent when possible. This is required to make + // sure that an HTTP 400 error is thrown when the user tries to access the edit, delete, or details action with null values. + string GetNullableTypeName(string typeName, string shortTypeName) + { + // The exceptions are caught because if for any reason the type is user defined, then the short type name will be used. + // In that case the user will receive a server error if null is passed to the edit, delete, or details actions. + Type primaryKeyType = null; + try + { + primaryKeyType = Type.GetType(typeName); + } + catch + { + } + if (primaryKeyType != null && (primaryKeyType.IsPrimitive || IsGuid(typeName))) + { + return shortTypeName + "?"; + } + return shortTypeName; + } + + bool IsGuid(string typeName) { + return String.Equals("System.Guid", typeName, StringComparison.OrdinalIgnoreCase); + } +} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/Error.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/Error.cshtml new file mode 100644 index 00000000..07505849 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/Error.cshtml @@ -0,0 +1,8 @@ +@{ + //Bug: Need a way to specify the layout page in a single place + Layout = "/Views/Shared/_Layout.cshtml"; + ViewBag["Title"] = "Error"; +} + +

Error.

+

An error occurred while processing your request.

\ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/_Layout.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/_Layout.cshtml new file mode 100644 index 00000000..c8e9265f --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/MvcLayout/_Layout.cshtml @@ -0,0 +1,44 @@ + + + + + + @ViewData["Title"] - My ASP.NET Application + + + + + + + +
+ @RenderBody() +
+
+

© @DateTime.Now.Year - My ASP.NET Application

+
+
+ + + + @RenderSection("scripts", required: false) + + \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/ReadMe.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/ReadMe.cshtml new file mode 100644 index 00000000..33ba8643 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/ReadMe.cshtml @@ -0,0 +1,58 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +@using System.Linq; +Scaffolding has generated all the files and added the required dependencies. + +However the Application's Startup code may required additional changes for things to work end to end. + +Add the following namespace usings if not already added: + +@{ + var allNamespaces = new SortedSet(StringComparer.Ordinal); + foreach (var list in Model.StartupList) + { + allNamespaces.UnionWith(list.RequiredNamespaces); + } + foreach (var namespaceName in allNamespaces) + { +@:using @namespaceName; + } +} +Add the following code to the end of Configure method in your Application's Startup class if not already done: + + // Set up application services + app.UseServices(services => + { +@{ + var count = Model.StartupList.Count; + for (var index = 0; index < count; index++) + { + var list = Model.StartupList[index]; + var atleastOneStatement = false; + foreach (var statement in list.ServiceStatements) + { + atleastOneStatement = true; + @:@statement + } + if (atleastOneStatement && (index != count-1)) + { +@: + } + } +} }); + +@{ + for (var index = 0; index < count; index++) + { + var list = Model.StartupList[index]; + var atleastOneStatement = false; + foreach (var statement in list.UseStatements) + { + atleastOneStatement = true; + @:@statement + } + if (atleastOneStatement && (index != count-1)) + { +@: + } + } +} \ No newline at end of file diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/Startup.cshtml b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/Startup.cshtml new file mode 100644 index 00000000..8bc57303 --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/Startup/Startup.cshtml @@ -0,0 +1,59 @@ +@inherits Microsoft.Extensions.CodeGeneration.Templating.RazorTemplateBase +@using System.Linq; +using Microsoft.AspNet.Builder; +@{ + var allNamespaces = new SortedSet(StringComparer.Ordinal); + foreach (var list in Model.StartupList) + { + allNamespaces.UnionWith(list.RequiredNamespaces); + } + foreach (var namespaceName in allNamespaces) + { +@:using @namespaceName; + } +} +namespace @Model.RootNamespace +{ + public class Startup + { + public void Configure(IBuilder app) + { + // Set up application services + app.UseServices(services => + { +@{ + var count = Model.StartupList.Count; + for (var index = 0; index < count; index++) + { + var list = Model.StartupList[index]; + var atleastOneStatement = false; + foreach (var statement in list.ServiceStatements) + { + atleastOneStatement = true; + @:@statement + } + if (atleastOneStatement && (index != count-1)) + { +@: + } + } +} }); + +@{ + for (var index = 0; index < count; index++) + { + var list = Model.StartupList[index]; + var atleastOneStatement = false; + foreach (var statement in list.UseStatements) + { + atleastOneStatement = true; + @:@statement + } + if (atleastOneStatement && (index != count-1)) + { +@: + } + } +} } + } +} diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/_references.js b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/_references.js new file mode 100644 index 00000000..cd1e001c --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/_references.js @@ -0,0 +1 @@ +/// diff --git a/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/bootstrap.js b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/bootstrap.js new file mode 100644 index 00000000..6cb3834b --- /dev/null +++ b/build/approot/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/StaticFiles/Content/Scripts/bootstrap.js @@ -0,0 +1,2014 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. Insofar as a script file is dual licensed under GPL, + * Microsoft neither took the code under GPL nor distributes it thereunder but + * under the terms set out in this paragraph. All notices and licenses + * below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ + +/** +* bootstrap.js v3.0.0 by @fat and @mdo +* Copyright 2013 Twitter Inc. +* http://www.apache.org/licenses/LICENSE-2.0 +*/ +if (!jQuery) { throw new Error("Bootstrap requires jQuery") } + +/* ======================================================================== + * Bootstrap: transition.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#transitions + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false, $el = this + $(this).one($.support.transition.end, function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#alerts + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.hasClass('alert') ? $this : $this.parent() + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent.trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one($.support.transition.end, removeElement) + .emulateTransitionEnd(150) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#buttons + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + } + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state = state + 'Text' + + if (!data.resetText) $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d); + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + .prop('checked', !this.$element.hasClass('active')) + .trigger('change') + if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') + } + + this.$element.toggleClass('active') + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + e.preventDefault() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#carousel + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = + this.sliding = + this.interval = + this.$active = + this.$items = null + + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.DEFAULTS = { + interval: 5000 + , pause: 'hover' + , wrap: true + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getActiveIndex = function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + + return this.$items.index(this.$active) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getActiveIndex() + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || $active[type]() + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var fallback = type == 'next' ? 'first' : 'last' + var that = this + + if (!$next.length) { + if (!this.options.wrap) return + $next = this.$element.find('.item')[fallback]() + } + + this.sliding = true + + isCycling && this.pause() + + var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + .emulateTransitionEnd(600) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + }) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + $carousel.carousel($carousel.data()) + }) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#collapse + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.transitioning = null + + if (this.options.parent) this.$parent = $(this.options.parent) + if (this.options.toggle) this.toggle() + } + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var actives = this.$parent && this.$parent.find('> .panel > .in') + + if (actives && actives.length) { + var hasData = actives.data('bs.collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing') + [dimension](0) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('in') + [dimension]('auto') + this.transitioning = 0 + this.$element.trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + [dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element + [dimension](this.$element[dimension]()) + [0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse') + .removeClass('in') + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .trigger('hidden.bs.collapse') + .removeClass('collapsing') + .addClass('collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + var target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + var $target = $(target) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + var parent = $this.attr('data-parent') + var $parent = parent && $(parent) + + if (!data || !data.transitioning) { + if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed') + $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + } + + $target.collapse(option) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#dropdowns + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle=dropdown]' + var Dropdown = function (element) { + var $el = $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we we use a backdrop because click events don't delegate + $('