diff --git a/.config/service-branch-merge.json b/.config/service-branch-merge.json index 9eaf6479d4..ec35ec5bcb 100644 --- a/.config/service-branch-merge.json +++ b/.config/service-branch-merge.json @@ -1,12 +1,16 @@ { "merge-flow-configurations": { // regular branch flow + "release/dev17.12": { + "MergeToBranch": "release/dev17.13", + "ExtraSwitches": "-QuietComments" + }, "release/dev17.13": { - "MergeToBranch": "main", + "MergeToBranch": "release/dev17.14", "ExtraSwitches": "-QuietComments" }, "release/dev17.14": { - "MergeToBranch": "release/dev18.0", + "MergeToBranch": "main", "ExtraSwitches": "-QuietComments" }, "main": { diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 47927f1f37..db23964cc6 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,12 +1,12 @@ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: { "name": "F#", - "image": "mcr.microsoft.com/dotnet/sdk:9.0.202", + "image": "mcr.microsoft.com/dotnet/sdk:10.0.100-preview.3", "features": { - "ghcr.io/devcontainers/features/common-utils:2.5.2": {}, - "ghcr.io/devcontainers/features/git:1.3.2": {}, - "ghcr.io/devcontainers/features/github-cli:1.0.13": {}, - "ghcr.io/devcontainers/features/dotnet:2.2.0": {} + "ghcr.io/devcontainers/features/common-utils:2.5.3": {}, + "ghcr.io/devcontainers/features/git:1.3.3": {}, + "ghcr.io/devcontainers/features/github-cli:1.0.14": {}, + "ghcr.io/devcontainers/features/dotnet:2.2.1": {} }, "hostRequirements": { "cpus": 2, diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b40e4b69c5..a05c971077 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1 @@ * @dotnet/fsharp-team-msft -/eng/DotNetBuild.props @dotnet/product-construction -/eng/SourceBuild* @dotnet/source-build diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 117da7b8af..80e2c97c4e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,20 +1,51 @@ # GitHub Copilot Instructions for F# Compiler -## Language and Environment +## Build and test steps (Linux) + +Always build and test the project before submitting your solution. + +1. As an initial smoke test for a quick build, run `dotnet build ./FSharp.Compiler.Service.sln --verbosity quiet` from the repository root. +Only if this succeeds, move on. +2. From the repository root, run `./build.sh -c Release --norestore`. This creates a prototype compiler, and then the proto compiler builds itself again. +3. Only if two previous steps suceed, run automated tests with `./build.sh -c Release --testcoreclr --norestore`. + + +If the build fails with errors or non-zero exit code, fix it based on the error messages given and repeat the build step. + +If either of the steps 1/2/3 fails, fix the errors and repeat from step 1 - up to 3 times. +After that, report all relevant build errors, error messages and specific details about failing tests and their test test failure details. + +### Fixing tests + +- If any of the tests fail: Check if the test, test expectation (either inline in the test or a reference file configured for the test) or implementation needs updating, and fix it +- If you see test failures for Surface area baselines: Refer to "Updating FCS surface area baselines" in devguide.md +- If you see test failures for IL baselines: Refer to "Updating ILVerify baselines" in devguide.md + + +## Acceptance criteria + +- Code is formatted using `dotnet fantomas .` executed at the repo root. +- Builds without errors. +- Runs tests without errors. If some tests needed adjustments, those test expectations/baseline adjustments were done. +- If the acceptance criteria was not met, collect the error messages (build failures or failing tests) and report them. + +## Coding standards + +### Language and Environment - Use modern F# with functional-first approach - Target .NET Standard 2.0 for compatibility - Avoid external dependencies - the codebase is self-contained -## Code Style and Standards -- Follow [coding standards](docs/coding-standards.md), especially: +### Code Style and Standards +- Follow docs/coding-standards.md, especially: - Prefer immutability and pure functions - Use consistent naming (see abbreviation guide) - Process complex types recursively with pattern matching - Avoid single-character identifiers except in established patterns - This project uses .fsi signature files. When adding a new public API to a namespace/module which will be consumed from other file, add it to the respective .fsi signature file as well -- Follow [overview](docs/overview.md) for key compiler data formats and representations +- Follow docs/overview.md for key compiler data formats and representations -## Type System Handling +### Type System Handling - When working with `TType` instances, use appropriate stripping functions: - `stripTyparEqns` - Removes inference equations from type parameters - `stripTyEqns` - Removes type equations and type abbreviations @@ -22,13 +53,13 @@ - Match the appropriate stripper to the context (e.g., display vs compilation) - Check equality with `typeEquiv` after stripping rather than direct comparison -## Core Data Structures +### Core Data Structures - Use F# discriminated unions for type representations - Respect representation hiding through access control - Use `remapX` functions when transforming types across boundaries - Be aware of performance implications for recursive type operations -## Documentation and Naming +### Documentation and Naming - Document public APIs with XML comments - Use descriptive function names that indicate transformation direction -- Follow established naming conventions in error messages +- Follow established naming conventions for error messages based on FSComp.txt file. Put all error messages into the FSComp.txt file to ensure localisation diff --git a/.github/workflows/add_to_project.yml b/.github/workflows/add_to_project.yml index 68e5cc454f..67df3f58a1 100644 --- a/.github/workflows/add_to_project.yml +++ b/.github/workflows/add_to_project.yml @@ -16,7 +16,7 @@ permissions: jobs: cleanup_old_runs: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest if: github.event_name != 'pull_request_target' permissions: actions: write diff --git a/.github/workflows/commands.yml b/.github/workflows/commands.yml index 72fa71e6e9..328e7c1c88 100644 --- a/.github/workflows/commands.yml +++ b/.github/workflows/commands.yml @@ -9,12 +9,12 @@ on: permissions: contents: write issues: write - pull-requests: write + pull-requests: read jobs: cleanup_old_runs: if: github.event.schedule == '0 13 * * *' - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest permissions: actions: write env: @@ -33,7 +33,7 @@ jobs: run_command: if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/run') - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Extract command to run uses: actions/github-script@v3 @@ -75,22 +75,29 @@ jobs: - name: Process fantomas command if: steps.command-extractor.outputs.result == 'fantomas' id: fantomas - run: dotnet fantomas . -r - - name: Process fantomas command + run: dotnet fantomas . + - name: Process xlf command if: steps.command-extractor.outputs.result == 'xlf' id: xlf run: dotnet build src/Compiler /t:UpdateXlf + - name: Commit and push changes - if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' + if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' || steps.ilverify.outcome == 'success' run: | + # Only commit if there are actual changes + if git diff --quiet; then + echo "No changes to commit, skipping." + exit 0 + fi + git config --local user.name "github-actions[bot]" git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git commit -a -m 'Automated command ran: ${{ steps.command-extractor.outputs.result }} Co-authored-by: ${{ github.event.comment.user.login }} <${{ github.event.comment.user.id }}+${{ github.event.comment.user.login }}@users.noreply.github.com>' - git push + git push origin HEAD:"refs/heads/$PR_HEAD_REF"\ - name: Post command comment - if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' + if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' || steps.ilverify.outcome == 'success' uses: actions/github-script@v3 with: script: | @@ -98,8 +105,10 @@ jobs: var output = "" if ("${{steps.command-extractor.outputs.result}}" == 'fantomas') { output = "${{steps.fantomas.outputs.result}}" - } else if("${{steps.command-extractor.outputs.result}}" == 'xlf') { + } else if ("${{steps.command-extractor.outputs.result}}" == 'xlf') { output = "${{steps.xlf.outputs.result}}" + } else if ("${{steps.command-extractor.outputs.result}}" == 'ilverify') { + output = "${{steps.ilverify.outputs.result}}" } const body = `Ran ${{ steps.command-extractor.outputs.result }}: https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${process.env.GITHUB_RUN_ID}\n${output}`; await github.issues.createComment({ diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000000..abef568c5c --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,24 @@ +name: "Copilot Setup Steps" + +# Allow testing of the setup steps from your repository's "Actions" tab. +on: workflow_dispatch + +jobs: + # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. + copilot-setup-steps: + runs-on: ubuntu-latest + + permissions: + contents: read + + # You can define any steps you want, and they will run before the agent starts. + # If you do not check out your code, Copilot will do this for you. + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-dotnet@v4 + with: + global-json-file: global.json + - name: Restore solution + env: + CI: false + run: dotnet build ./FSharp.Compiler.Service.sln --verbosity quiet diff --git a/NuGet.config b/NuGet.config index bb182ae7ad..1245da4ae6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -8,7 +8,6 @@ - @@ -20,6 +19,8 @@ + + diff --git a/README.md b/README.md index 0def09e17f..e5fde71496 100644 --- a/README.md +++ b/README.md @@ -132,3 +132,13 @@ If you're curious about F# itself, check out these links: * [Get started with F#](https://learn.microsoft.com/dotnet/fsharp/get-started/) * [F# Software Foundation](https://fsharp.org) * [F# Testimonials](https://fsharp.org/testimonials) + +## Contributors ✨ + +F# exists because of these wonderful people: + + + + + +Made with [contrib.rocks](https://contrib.rocks). diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index bf59708bdb..d73955cdb1 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -14,7 +14,7 @@ trigger: - docs/* - .vscode/* - .devcontainer/* - - tests/scripts/ + - tests/scripts/* - attributions.md - CODE_OF_CONDUCT.md - DEVGUIDE.md @@ -278,6 +278,16 @@ stages: NativeToolsOnMachine: true displayName: Build + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'XUnit' + testRunTitle: WindowsNoRealsig_testCoreclr + mergeTestResults: true + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + condition: succeededOrFailed() + - task: PublishBuildArtifacts@1 displayName: Publish Build BinLog condition: always() @@ -306,11 +316,13 @@ stages: name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 120 + strategy: + parallel: 4 steps: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release -testBatch $(System.JobPositionInPhase) env: DOTNET_DbgEnableMiniDump: 1 DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. @@ -318,9 +330,19 @@ stages: NativeToolsOnMachine: true displayName: Build + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'XUnit' + testRunTitle: WindowsNoRealsig_testDesktop batch $(System.JobPositionInPhase) + mergeTestResults: true + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + condition: succeededOrFailed() + continueOnError: true - task: PublishBuildArtifacts@1 displayName: Publish Build BinLog - condition: always() + condition: eq(variables['System.JobPositionInPhase'], 1) continueOnError: true inputs: PathToPublish: '$(Build.SourcesDirectory)\artifacts\log/Release\Build.VisualFSharp.sln.binlog' @@ -333,7 +355,7 @@ stages: continueOnError: true inputs: PathToPublish: '$(Build.SourcesDirectory)\artifacts\log\Release' - ArtifactName: 'Windows Release WindowsNoRealsig_testDesktop process dumps' + ArtifactName: 'Windows Release WindowsNoRealsig_testDesktop process dumps $(System.JobPositionInPhase)' ArtifactType: Container parallel: true @@ -429,83 +451,62 @@ stages: demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 120 strategy: - maxParallel: 5 matrix: - desktop_release: - _configuration: Release - _testKind: testDesktop coreclr_release: _configuration: Release _testKind: testCoreclr + transparentCompiler: # Empty display name part. fsharpqa_release: _configuration: Release _testKind: testFSharpQA + transparentCompiler: vs_release: _configuration: Release _testKind: testVs + setupVsHive: true + transparentCompiler: transparent_compiler_release: _configuration: Release _testKind: testCoreclr - - ${{ if eq(variables['Build.Reason'], 'Flaky, disabled, was PullRequest') }}: - inttests_release: - _configuration: Release - _testKind: testIntegration + TEST_TRANSPARENT_COMPILER: 1 # Pipeline variable will map to env var. + transparentCompiler: TransparentCompiler + # inttests_release: + # _configuration: Release + # _testKind: testIntegration + # setupVsHive: true steps: - checkout: self clean: true - powershell: eng\SetupVSHive.ps1 displayName: Setup VS Hive - condition: or(eq(variables['_testKind'], 'testVs'), eq(variables['_testKind'], 'testIntegration')) - - # yes, this is miserable, but - https://github.com/dotnet/arcade/issues/13239 - - script: eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind) - env: - DOTNET_DbgEnableMiniDump: 1 - DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. - DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp - NativeToolsOnMachine: true - displayName: Build / Test - condition: and( ne(variables['_testKind'], 'testIntegration'), ne(variables['System.JobName'], 'transparent_compiler_release') ) + condition: eq(variables.setupVsHive, 'true') - script: eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind) env: DOTNET_DbgEnableMiniDump: 1 DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp - TEST_TRANSPARENT_COMPILER: 1 NativeToolsOnMachine: true - displayName: Build / Test Transparent Compiler - condition: and( eq(variables['System.JobName'], 'transparent_compiler_release'), ne(variables['_testKind'], 'testIntegration') ) - - - script: eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind) - env: - DOTNET_DbgEnableMiniDump: 1 - DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. - DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp - NativeToolsOnMachine: true - displayName: Build / Integration Test - continueOnError: true - condition: eq(variables['_testKind'], 'testIntegration') + displayName: Build and Test $(_testKind) $(transparentCompiler) - task: PublishTestResults@2 displayName: Publish Test Results inputs: testResultsFormat: 'XUnit' - testRunTitle: WindowsCompressedMetadata $(_testKind) + testRunTitle: WindowsCompressedMetadata $(_testKind) $(transparentCompiler) mergeTestResults: true testResultsFiles: '*.xml' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)' continueOnError: true - condition: ne(variables['_testKind'], 'testFSharpQA') + condition: succeededOrFailed() # ne(variables['_testKind'], 'testFSharpQA') - task: PublishBuildArtifacts@1 displayName: Publish Tests BinLog condition: always() continueOnError: true inputs: PathToPublish: '$(Build.SourcesDirectory)\artifacts\log/$(_configuration)\Build.VisualFSharp.sln.binlog' - ArtifactName: 'Windows $(_configuration) $(_testKind) test binlogs' + ArtifactName: Windows $(_configuration) $(_testKind) $(transparentCompiler) test binlogs ArtifactType: Container parallel: true - task: PublishBuildArtifacts@1 @@ -521,7 +522,7 @@ stages: displayName: Publish Test Logs inputs: PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)' - ArtifactName: 'Windows $(_configuration) $(_testKind) test logs' + ArtifactName: Windows $(_configuration) $(_testKind) $(transparentCompilerSuffix) test logs publishLocation: Container continueOnError: true condition: always() @@ -537,6 +538,85 @@ stages: continueOnError: true condition: failed() + # Windows With Compressed Metadata Desktop + - job: WindowsCompressedMetadata_Desktop + variables: + - name: XUNIT_LOGS + value: $(Build.SourcesDirectory)\artifacts\TestResults\Release + - name: __VSNeverShowWhatsNew + value: 1 + pool: + # The PR build definition sets this variable: + # WindowsMachineQueueName=Windows.vs2022.amd64.open + # and there is an alternate build definition that sets this to a queue that is always scouting the + # next preview of Visual Studio. + name: $(DncEngPublicBuildPool) + demands: ImageOverride -equals $(WindowsMachineQueueName) + timeoutInMinutes: 120 + strategy: + parallel: 4 + + steps: + - checkout: self + clean: true + + - script: eng\CIBuild.cmd -compressallmetadata -configuration Release -testDesktop -testBatch $(System.JobPositionInPhase) + env: + DOTNET_DbgEnableMiniDump: 1 + DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. + DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp + NativeToolsOnMachine: true + displayName: Build / Test + + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'XUnit' + testRunTitle: WindowsCompressedMetadata testDesktop batch $(System.JobPositionInPhase) + mergeTestResults: true + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + continueOnError: true + condition: succeededOrFailed() + + - task: PublishBuildArtifacts@1 + displayName: Publish BinLog + condition: eq(variables['System.JobPositionInPhase'], 1) + continueOnError: true + inputs: + PathToPublish: '$(Build.SourcesDirectory)\artifacts\log/Release\Build.VisualFSharp.sln.binlog' + ArtifactName: 'Windows testDesktop binlogs' + ArtifactType: Container + parallel: true + - task: PublishBuildArtifacts@1 + displayName: Publish Dumps + condition: failed() + continueOnError: true + inputs: + PathToPublish: '$(Build.SourcesDirectory)\artifacts\log\Release' + ArtifactName: 'Windows testDesktop process dumps $(System.JobPositionInPhase)' + ArtifactType: Container + parallel: true + - task: PublishBuildArtifacts@1 + displayName: Publish Test Logs + inputs: + PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\Release' + ArtifactName: 'Windows testDesktop test logs batch $(System.JobPositionInPhase)' + publishLocation: Container + continueOnError: true + condition: always() + - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj + displayName: Dump NuGet cache contents + condition: failed() + - task: PublishBuildArtifacts@1 + displayName: Publish NuGet cache contents + inputs: + PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents' + ArtifactName: 'NuGetPackageContents Windows testDesktop $(System.JobPositionInPhase)' + publishLocation: Container + continueOnError: true + condition: failed() + # Mock official build - job: MockOfficial pool: @@ -570,7 +650,7 @@ stages: mergeTestResults: true searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' continueOnError: true - condition: always() + condition: succeededOrFailed() - task: PublishBuildArtifacts@1 displayName: Publish Test Logs inputs: @@ -615,7 +695,7 @@ stages: mergeTestResults: true searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' continueOnError: true - condition: always() + condition: succeededOrFailed() - task: PublishBuildArtifacts@1 displayName: Publish Test Logs inputs: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 08c20d1ef4..dae90331bb 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -29,7 +29,7 @@ variables: # Should be 'current' release branch name, i.e. 'release/dev17.10' in dotnet/fsharp/refs/heads/main, 'release/dev17.10' in dotnet/fsharp/refs/heads/release/dev17.10 and 'release/dev17.9' in dotnet/fsharp/refs/heads/release/dev17.9 # Should **never** be 'main' in dotnet/fsharp/refs/heads/main, since it will start inserting to VS twice. - name: FSharpReleaseBranchName - value: release/dev17.14 + value: release/dev18.0 # VS Insertion branch name (NOT the same as F# branch) # Should be previous release branch or 'main' in 'main' and 'main' in release branch # (since for all *new* release branches we insert into VS main and for all *previous* releases we insert into corresponding VS release), diff --git a/docs/release-notes/.FSharp.Compiler.Service/10.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/10.0.100.md new file mode 100644 index 0000000000..a3949c5b82 --- /dev/null +++ b/docs/release-notes/.FSharp.Compiler.Service/10.0.100.md @@ -0,0 +1,21 @@ +### Added +* Add opt-in warning attribute not valid for union case with fields [PR #18532](https://github.com/dotnet/fsharp/pull/18532)) + +### Fixed + +* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543)) +* Fix parsing errors using anonymous records and code quotations ([PR #18603](https://github.com/dotnet/fsharp/pull/18603)) +* Fixed: Allow `return`, `return!`, `yield`, `yield!` type annotations without parentheses ([PR #18533](https://github.com/dotnet/fsharp/pull/18533)) +* Range of `SynExprRecordField` should include the expression ([PR #18617](https://github.com/dotnet/fsharp/pull/18617)) +* Allow `let!` and `use!` type annotations without requiring parentheses ([PR #18508](https://github.com/dotnet/fsharp/pull/18508)) +* Fix find all references for F# exceptions ([PR #18565](https://github.com/dotnet/fsharp/pull/18565)) +* Shorthand lambda: fix completion for chained calls and analysis for unfinished expression ([PR #18560](https://github.com/dotnet/fsharp/pull/18560)) +* Completion: fix previous namespace considered opened [PR #18609](https://github.com/dotnet/fsharp/pull/18609) + +### Added + +* Add support for `when 'T : Enum` library-only library-only static optimization constraint. ([PR #18546](https://github.com/dotnet/fsharp/pull/18546)) + +### Breaking Changes + +* Scoped Nowarn: Add the #warnon compiler directive ([Language suggestion #278](https://github.com/fsharp/fslang-suggestions/issues/278), [RFC FS-1146 PR](https://github.com/fsharp/fslang-design/pull/782), [PR #18049](https://github.com/dotnet/fsharp/pull/18049)) diff --git a/docs/release-notes/.FSharp.Compiler.Service/9.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/9.0.300.md index 16f5721e22..7f5ab7289d 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/9.0.300.md +++ b/docs/release-notes/.FSharp.Compiler.Service/9.0.300.md @@ -16,7 +16,7 @@ * Unsafe downcast from `obj` to generic `T` no longer requires `not null` constraint on `T`([Issue #18275](https://github.com/dotnet/fsharp/issues/18275), [PR #18343](https://github.com/dotnet/fsharp/pull/18343)) * Fix "type inference problem too complicated" for SRTP with T:null and T:struct dummy constraint([Issue #18288](https://github.com/dotnet/fsharp/issues/18288), [PR #18345](https://github.com/dotnet/fsharp/pull/18345)) * Fix for missing parse diagnostics in TransparentCompiler.ParseAndCheckProject ([PR #18366](https://github.com/dotnet/fsharp/pull/18366)) -* Miscellanous parentheses analyzer fixes. ([PR #18350](https://github.com/dotnet/fsharp/pull/18350)) +* Miscellanous parentheses analyzer fixes. ([PR #18350](https://github.com/dotnet/fsharp/pull/18350), [PR #18534](https://github.com/dotnet/fsharp/pull/18534)) * Fix duplicate parse error reporting for GetBackgroundCheckResultsForFileInProject ([Issue #18379](https://github.com/dotnet/fsharp/issues/18379) [PR #18380](https://github.com/dotnet/fsharp/pull/18380)) * Fix MethodDefNotFound when compiling code invoking delegate with option parameter ([Issue #5171](https://github.com/dotnet/fsharp/issues/5171), [PR #18385](https://github.com/dotnet/fsharp/pull/18385)) * Fix #r nuget ..." downloads unneeded packages ([Issue #18231](https://github.com/dotnet/fsharp/issues/18231), [PR #18393](https://github.com/dotnet/fsharp/pull/18393)) @@ -25,7 +25,14 @@ * Fixed [#18433](https://github.com/dotnet/fsharp/issues/18433), a rare case of an internal error in xml comment processing. ([PR #18436](https://github.com/dotnet/fsharp/pull/18436)) * Fix confusing type inference error in task expression ([Issue #13789](https://github.com/dotnet/fsharp/issues/13789), [PR #18450](https://github.com/dotnet/fsharp/pull/18450)) * Fix missing `null` highlighting in tooltips ([PR #18457](https://github.com/dotnet/fsharp/pull/18457)) +* Fix range of SynPat.Named doesn't include accessibility ([PR #18526](https://github.com/dotnet/fsharp/pull/18526)) +* Allow `_` in `use!` bindings values (lift FS1228 restriction) ([PR #18487](https://github.com/dotnet/fsharp/pull/18487)) * Make `[]` combination work([PR #18444](https://github.com/dotnet/fsharp/pull/18444/)) +* Fix code completion considers types from own namespace non-imported ([PR #18518](https://github.com/dotnet/fsharp/issues/18518)) +* Code completion: fix getting qualifier expression in do statements in type decls ([PR #18524](https://github.com/dotnet/fsharp/pull/18524)) +* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543)) +* Fixed: [#18441](https://github.com/dotnet/fsharp/issues/18441) FSI multi-emit unstable. ([PR #18465](https://github.com/dotnet/fsharp/pull/18465)) +* Fixed: Allow `return`, `return!`, `yield`, `yield!` type annotations without parentheses ([PR #18533](https://github.com/dotnet/fsharp/pull/18533)) ### Added * Added missing type constraints in FCS. ([PR #18241](https://github.com/dotnet/fsharp/pull/18241)) @@ -37,7 +44,7 @@ * Type parameter constraint `null` in generic code will now automatically imply `not struct` ([Issue #18320](https://github.com/dotnet/fsharp/issues/18320), [PR #18323](https://github.com/dotnet/fsharp/pull/18323)) * Add a switch to determine whether to generate a default implementation body for overridden method when completing. [PR #18341](https://github.com/dotnet/fsharp/pull/18341) * Use a more accurate range for CE Combine methods. [PR #18394](https://github.com/dotnet/fsharp/pull/18394) - +* Enable TypeSubsumptionCache for IDE use. [PR #18499](https://github.com/dotnet/fsharp/pull/18499) ### Changed * FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. ([PR #18205](https://github.com/dotnet/fsharp/pull/18205)) @@ -48,6 +55,7 @@ * Warning for "useless null handling" works with piped syntax constructs now ([PR #18331](https://github.com/dotnet/fsharp/pull/18331)) * Make indent in generated overridden member code depend on the context, not fix to 4. ([PR #18341](https://github.com/dotnet/fsharp/pull/18341)) * Adjust caller info attribute error message range ([PR #18388](https://github.com/dotnet/fsharp/pull/18388)) +* Make attribute targets mismatch a warning and not an error ([PR #18492](https://github.com/dotnet/fsharp/pull/18492)) ### Breaking Changes * Struct unions with overlapping fields now generate mappings needed for reading via reflection ([Issue #18121](https://github.com/dotnet/fsharp/issues/17797), [PR #18274](https://github.com/dotnet/fsharp/pull/17877)) diff --git a/docs/release-notes/.FSharp.Core/10.0.100.md b/docs/release-notes/.FSharp.Core/10.0.100.md new file mode 100644 index 0000000000..10ff967c12 --- /dev/null +++ b/docs/release-notes/.FSharp.Core/10.0.100.md @@ -0,0 +1,11 @@ +### Fixed + +### Added + +* Enable more `string` optimizations by adding `when 'T : Enum` library-only library-only static optimization constraint. ([PR #18546](https://github.com/dotnet/fsharp/pull/18546)) + +### Changed + +* Random functions support for zero element chosen/sampled ([PR #18568](https://github.com/dotnet/fsharp/pull/18568)) + +### Breaking Changes diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index 905e086a16..687402597c 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -4,7 +4,11 @@ * Deprecate places where `seq` can be omitted. ([Language suggestion #1033](https://github.com/fsharp/fslang-suggestions/issues/1033), [PR #17772](https://github.com/dotnet/fsharp/pull/17772)) * Added type conversions cache, only enabled for compiler runs ([PR#17668](https://github.com/dotnet/fsharp/pull/17668)) * Support ValueOption + Struct attribute as optional parameter for methods ([Language suggestion #1136](https://github.com/fsharp/fslang-suggestions/issues/1136), [PR #18098](https://github.com/dotnet/fsharp/pull/18098)) +* Allow `_` in `use!` bindings values (lift FS1228 restriction) ([PR #18487](https://github.com/dotnet/fsharp/pull/18487)) * Warn when `unit` is passed to an `obj`-typed argument ([PR #18330](https://github.com/dotnet/fsharp/pull/18330)) +* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543)) +* Scoped Nowarn: added the #warnon compiler directive ([Language suggestion #278](https://github.com/fsharp/fslang-suggestions/issues/278), [RFC FS-1146 PR](https://github.com/fsharp/fslang-design/pull/782), [PR #18049](https://github.com/dotnet/fsharp/pull/18049)) +* Allow `let!` and `use!` type annotations without requiring parentheses. ([PR #18508](https://github.com/dotnet/fsharp/pull/18508)) ### Fixed diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 146372ecde..fe2fe5731b 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -73,6 +73,7 @@ param ( [switch]$compressAllMetadata, [switch]$buildnorealsig = $true, [switch]$verifypackageshipstatus = $false, + [string]$testBatch = "", [parameter(ValueFromRemainingArguments = $true)][string[]]$properties) Set-StrictMode -version 2.0 @@ -356,16 +357,24 @@ function VerifyAssemblyVersionsAndSymbols() { } } -function TestUsingMSBuild([string] $testProject, [string] $targetFramework, [string]$testadapterpath, [boolean] $asBackgroundJob = $false, [string] $settings = "") { +function TestUsingMSBuild([string] $testProject, [string] $targetFramework, [string] $settings = "") { + $dotnetPath = InitializeDotNetCli $dotnetExe = Join-Path $dotnetPath "dotnet.exe" $projectName = [System.IO.Path]::GetFileNameWithoutExtension($testProject) + + $testBatchSuffix = "" + if ($testBatch) { + $testBatchSuffix = "_batch$testBatch" + } + # {assembly} and {framework} will expand respectively. See https://github.com/spekt/testlogger/wiki/Logger-Configuration#logfilepath # This is useful to deconflict log filenames when there are many test assemblies, e.g. when testing a whole solution. - $testLogPath = "$ArtifactsDir\TestResults\$configuration\{assembly}_{framework}.xml" - $testBinLogPath = "$LogDir\${projectName}_$targetFramework.binlog" - $args = "test $testProject -c $configuration -f $targetFramework -v n --test-adapter-path $testadapterpath --logger ""xunit;LogFilePath=$testLogPath"" /bl:$testBinLogPath" - $args += " --blame --blame-hang-timeout 5minutes --results-directory $ArtifactsDir\TestResults\$configuration -p:vstestusemsbuildoutput=true" + $testLogPath = "$ArtifactsDir\TestResults\$configuration\{assembly}_{framework}$testBatchSuffix.xml" + + $testBinLogPath = "$LogDir\${projectName}_$targetFramework$testBatch.binlog" + $args = "test $testProject -c $configuration -f $targetFramework --logger ""xunit;LogFilePath=$testLogPath"" /bl:$testBinLogPath" + $args += " --blame-hang-timeout 5minutes --results-directory $ArtifactsDir\TestResults\$configuration" if (-not $noVisualStudio -or $norestore) { $args += " --no-restore" @@ -376,22 +385,12 @@ function TestUsingMSBuild([string] $testProject, [string] $targetFramework, [str } $args += " $settings" - - if ($asBackgroundJob) { - Write-Host - Write-Host("Starting on the background: $args") - Write-Host("------------------------------------") - Start-Job -ScriptBlock { - $argArray = $using:args -Split " " - & $using:dotnetExe $argArray - if ($LASTEXITCODE -ne 0) { - throw "Command failed to execute with exit code $($LASTEXITCODE): $using:dotnetExe $using:args" - } - } - } else { - Write-Host("$args") - Exec-Console $dotnetExe $args + if ($testBatch) { + $args += " --filter batch=$testBatch" } + + Write-Host("$args") + Exec-Console $dotnetExe $args } function Prepare-TempDir() { @@ -595,34 +594,12 @@ try { $script:BuildCategory = "Test" $script:BuildMessage = "Failure running tests" - function Receive($job) { - while($job.HasMoreData) { - Receive-Job $job | Write-Host - Start-Sleep -Seconds 1 - } - Receive-Job $job -Wait -ErrorAction Stop - } - if ($testCoreClr) { - $cpuLimit = if ($ci) { "-m:1 -- xUnit.MaxParallelThreads=1" } else { "" } - TestUsingMSBuild -testProject "$RepoRoot\FSharp.sln" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" -settings $cpuLimit + TestUsingMSBuild -testProject "$RepoRoot\FSharp.sln" -targetFramework $script:coreclrTargetFramework } - if ($testDesktop -and $ci) { - $bgJob = TestUsingMSBuild -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharpSuite.Tests\" -asBackgroundJob $true - - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Test.Utilities\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Service.Tests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Private.Scripting.UnitTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Build.UnitTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Core.UnitTests\" - - Receive -job $bgJob - } - - if ($testDesktop -and -not $ci ) { - TestUsingMSBuild -testProject "$RepoRoot\FSharp.sln" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" + if ($testDesktop) { + TestUsingMSBuild -testProject "$RepoRoot\FSharp.sln" -targetFramework $script:desktopTargetFramework } if ($testFSharpQA) { @@ -653,50 +630,49 @@ try { } if ($testFSharpCore) { - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Core.UnitTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Core.UnitTests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testCompiler) { - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Service.Tests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Service.Tests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:desktopTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testCompilerComponentTests) { - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testCompilerService) { - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Service.Tests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Service.Tests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testCambridge) { - TestUsingMSBuild -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharpSuite.Tests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharpSuite.Tests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testScripting) { - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $script:coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Private.Scripting.UnitTests\" - TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Private.Scripting.UnitTests\" + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $script:coreclrTargetFramework + TestUsingMSBuild -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testEditor -and -not $noVisualStudio) { - TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\FSharp.Editor.Tests\FSharp.Editor.Tests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Editor.Tests\FSharp.Editor.Tests.fsproj" + TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\FSharp.Editor.Tests\FSharp.Editor.Tests.fsproj" -targetFramework $script:desktopTargetFramework } if ($testVs -and -not $noVisualStudio) { - TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\VisualFSharp.UnitTests\" + TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $script:desktopTargetFramework } - if ($testIntegration) { - TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\FSharp.Editor.IntegrationTests\FSharp.Editor.IntegrationTests.csproj" -targetFramework $script:desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Editor.IntegrationTests\" + TestUsingMSBuild -testProject "$RepoRoot\vsintegration\tests\FSharp.Editor.IntegrationTests\FSharp.Editor.IntegrationTests.csproj" -targetFramework $script:desktopTargetFramework } if ($testAOT) { diff --git a/eng/DotNetBuild.props b/eng/DotNetBuild.props index 78286b23ba..8bdf636387 100644 --- a/eng/DotNetBuild.props +++ b/eng/DotNetBuild.props @@ -1,9 +1,13 @@ + fsharp true + $(DotNetBuildOrchestrator) + false + false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f1ed5b1566..d830fcc959 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,76 +1,63 @@ - - https://github.com/dotnet/source-build-reference-packages - 19eb5ea4e5f9c4e5256843a92805c8c9e942207d - - - - + https://github.com/dotnet/msbuild - 7ad4e1c76585d0ed6e438da2d4f9394326934399 - + 6de64741f6440bb6730d9a342934ce49d600fcc9 - + https://github.com/dotnet/msbuild - 7ad4e1c76585d0ed6e438da2d4f9394326934399 + 6de64741f6440bb6730d9a342934ce49d600fcc9 - + https://github.com/dotnet/msbuild - 7ad4e1c76585d0ed6e438da2d4f9394326934399 + 6de64741f6440bb6730d9a342934ce49d600fcc9 - + https://github.com/dotnet/msbuild - 7ad4e1c76585d0ed6e438da2d4f9394326934399 + 6de64741f6440bb6730d9a342934ce49d600fcc9 - - https://github.com/dotnet/msbuild - 7ad4e1c76585d0ed6e438da2d4f9394326934399 + + https://github.com/dotnet/runtime + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - - https://github.com/dotnet/arcade - aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - - - + https://github.com/dotnet/arcade - aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + 086a1771875b63404b4a710d27250fe384dc2810 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - 9d7532585ce71e30ab55f0364d3cecccaf0775d1 + a68196f69e40740fce716778138acaa26488b333 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - 9d7532585ce71e30ab55f0364d3cecccaf0775d1 + a68196f69e40740fce716778138acaa26488b333 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - 9d7532585ce71e30ab55f0364d3cecccaf0775d1 + a68196f69e40740fce716778138acaa26488b333 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - 9d7532585ce71e30ab55f0364d3cecccaf0775d1 + a68196f69e40740fce716778138acaa26488b333 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - 9d7532585ce71e30ab55f0364d3cecccaf0775d1 + a68196f69e40740fce716778138acaa26488b333 diff --git a/eng/Versions.props b/eng/Versions.props index 2bbd93c22a..51a79f9d12 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -12,9 +12,9 @@ beta - 9 + 10 0 - 300 + 100 0 @@ -29,7 +29,7 @@ 43 - 9 + 10 $(FSBuildVersion) $(FSRevisionVersion) $(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion) @@ -37,7 +37,7 @@ $(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion) - 9.0.201 + 9.0.300 $(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).* @@ -52,8 +52,8 @@ - 17 - 14 + 18 + 0 $(VSMajorVersion).0 $(VSMajorVersion).$(VSMinorVersion).0 $(VSAssemblyVersionPrefix).0 @@ -80,14 +80,14 @@ 4.6.0 - 4.5.5 + 4.6.0 6.1.0 - 8.0.0 + 9.0.0 $(SystemPackageVersionVersion) $(SystemPackageVersionVersion) $(SystemPackageVersionVersion) @@ -97,12 +97,13 @@ $(SystemPackageVersionVersion) 1.6.0 - 4.11.0-2.24264.2 - 17.10.191 - 17.10.40152 - 17.10.526-pre-g1b474069f5 - 17.10.41 - 17.13.25 + 4.15.0-1.25171.14 + 17.14.188 + 17.14.40268 + 17.14.79 + 17.14.40254 + 17.14.15 + 17.15.0-preview-25278-01 $(RoslynVersion) $(RoslynVersion) @@ -117,7 +118,7 @@ $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) @@ -127,20 +128,20 @@ $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + $(VisualStudioShellProjectsPackages) + $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 17.14.40270 $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 17.14.40270 10.0.30319 11.0.50727 15.0.25123-Dev15Preview - 17.13.25 - 17.13.25 - 17.13.25 + 17.15.0-preview-25278-01 + 17.15.0-preview-25278-01 + 17.15.0-preview-25278-01 $(VisualStudioEditorPackagesVersion) @@ -153,7 +154,7 @@ $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) + 17.14.106 5.6.0 0.1.169-beta $(MicrosoftVisualStudioExtensibilityTestingVersion) @@ -168,7 +169,7 @@ 17.10.2179 - 17.10.21 + 17.14.20 17.0.0 17.8.8 12.0.4 @@ -195,18 +196,18 @@ 17.11.1 13.0.3 1.0.0-beta2-dev3 - 2.18.48 - 2.10.69 + 2.22.11 + 2.12.87 2.9.0 2.8.2 3.1.17 2.2.0 - 1.0.0-prerelease.24462.2 - 1.0.0-prerelease.24462.2 - 1.0.0-prerelease.24462.2 - 1.0.0-prerelease.24462.2 - 1.0.0-prerelease.24462.2 + 1.0.0-prerelease.25256.1 + 1.0.0-prerelease.25256.1 + 1.0.0-prerelease.25256.1 + 1.0.0-prerelease.25256.1 + 1.0.0-prerelease.25256.1 diff --git a/eng/build.sh b/eng/build.sh index 53de7fda4c..07c3889f33 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -76,6 +76,7 @@ prepare_machine=false source_build=false product_build=false buildnorealsig=true +testbatch="" properties="" docker=false @@ -104,6 +105,11 @@ while [[ $# > 0 ]]; do args="$args $1" shift ;; + --testbatch) + testbatch=$2 + args="$args $1" + shift + ;; --verbosity|-v) verbosity=$2 args="$args $1" @@ -224,9 +230,17 @@ function Test() { projectname=$(basename -- "$testproject") projectname="${projectname%.*}" - testlogpath="$artifacts_dir/TestResults/$configuration/${projectname}_$targetframework.xml" - args="test \"$testproject\" --no-restore --no-build -c $configuration -f $targetframework --test-adapter-path . --logger \"xunit;LogFilePath=$testlogpath\" --blame-hang-timeout 5minutes --results-directory $artifacts_dir/TestResults/$configuration -p:vstestusemsbuildoutput=false" - args+=" -- xUnit.MaxParallelThreads=1" + testbatchsuffix="" + if [[ "$testbatch" != "" ]]; then + testbatchsuffix="_batch$testbatch" + fi + testlogpath="$artifacts_dir/TestResults/$configuration/${projectname}_$targetframework$testbatchsuffix.xml" + args="test \"$testproject\" --no-build -c $configuration -f $targetframework --logger \"xunit;LogFilePath=$testlogpath\" --blame-hang-timeout 5minutes --results-directory $artifacts_dir/TestResults/$configuration" + + if [[ "$testbatch" != "" ]]; then + args="$args --filter batch=$testbatch" + fi + "$DOTNET_INSTALL_DIR/dotnet" $args || exit $? } diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index 205fb5b3a3..8b833332b3 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -1,7 +1,7 @@ parameters: runAsPublic: false - sourceIndexUploadPackageVersion: 2.0.0-20240522.1 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20240522.1 + sourceIndexUploadPackageVersion: 2.0.0-20250425.2 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2 sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] diff --git a/global.json b/global.json index dad4b18b2f..a85e3a5fec 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,10 @@ { "sdk": { - "version": "9.0.202", + "version": "10.0.100-preview.3.25201.16", "allowPrerelease": true }, "tools": { - "dotnet": "9.0.202", + "dotnet": "10.0.100-preview.3.25201.16", "vs": { "version": "17.8", "components": [ @@ -17,7 +17,7 @@ "perl": "5.38.2.2" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25208.6", + "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25271.1", "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23255.2" } } diff --git a/src/Compiler/Checking/CheckDeclarations.fs b/src/Compiler/Checking/CheckDeclarations.fs index 78acf62bb9..dd0825f4bb 100644 --- a/src/Compiler/Checking/CheckDeclarations.fs +++ b/src/Compiler/Checking/CheckDeclarations.fs @@ -341,7 +341,7 @@ let AddNonLocalCcu g amap scopem env assemblyName (ccu: CcuThunk, internalsVisib env /// Adjust the TcEnv to account for a fully processed "namespace" declaration in this file -let AddLocalRootModuleOrNamespace tcSink g amap scopem env (moduleTy: ModuleOrNamespaceType) = +let AddLocalRootModuleOrNamespace g amap scopem env (moduleTy: ModuleOrNamespaceType) = // Compute the top-rooted module or namespace references let modrefs = moduleTy.ModuleAndNamespaceDefinitions |> List.map mkLocalModuleRef // Compute the top-rooted type definitions @@ -350,7 +350,6 @@ let AddLocalRootModuleOrNamespace tcSink g amap scopem env (moduleTy: ModuleOrNa let env = { env with eNameResEnv = if isNil tcrefs then env.eNameResEnv else AddTyconRefsToNameEnv BulkAdd.No false g amap env.eAccessRights scopem true env.eNameResEnv tcrefs eUngeneralizableItems = addFreeItemOfModuleTy moduleTy env.eUngeneralizableItems } - CallEnvSink tcSink (scopem, env.NameEnv, env.eAccessRights) env /// Inside "namespace X.Y.Z" there is an implicit open of "X.Y.Z" @@ -577,22 +576,33 @@ module TcRecdUnionAndEnumDeclarations = let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs let xmlDoc = xmldoc.ToXmlDoc(checkXmlDocs, Some names) - let attrs = - (* - The attributes of a union case decl get attached to the generated "static factory" method. - Enforce union-cases AttributeTargets: - - AttributeTargets.Method - type SomeUnion = - | Case1 of int // Compiles down to a static method - - AttributeTargets.Property - type SomeUnion = - | Case1 // Compiles down to a static property - *) - if g.langVersion.SupportsFeature(LanguageFeature.EnforceAttributeTargets) then - let target = if rfields.IsEmpty then AttributeTargets.Property else AttributeTargets.Method - TcAttributes cenv env target synAttrs - else - TcAttributes cenv env AttributeTargets.UnionCaseDecl synAttrs + let attrs = TcAttributes cenv env AttributeTargets.UnionCaseDecl synAttrs + (* + The attributes of a union case decl get attached to the generated "static factory" method. + Enforce union-cases AttributeTargets: + - AttributeTargets.Method + type SomeUnion = + | Case1 of int // Compiles down to a static method + - AttributeTargets.Property + type SomeUnion = + | Case1 // Compiles down to a static property + *) + if g.langVersion.SupportsFeature(LanguageFeature.EnforceAttributeTargets) then + let attrTargets = + attrs + |> List.collect (fun attr -> + attr.TyconRef.Attribs + |> List.choose (fun attr -> + match attr with + | Attrib(unnamedArgs = [ AttribInt32Arg validOn ]) -> Some validOn + | _ -> None)) + + attrTargets + |> List.iter (fun target -> + // If the union case has fields, and the target is not AttributeTargets.Method || AttributeTargets.All. Then we raise a separate opt-in warning + let hasNotMethodTarget = (enum target &&& AttributeTargets.Method) = enum 0 + if hasNotMethodTarget then + warning(Error(FSComp.SR.tcAttributeIsNotValidForUnionCaseWithFields(), id.idRange))) Construct.NewUnionCase id rfields recordTy attrs xmlDoc vis @@ -4978,7 +4988,7 @@ let rec TcSignatureElementNonMutRec (cenv: cenv) parent typeNames endm (env: TcE CallNameResolutionSink cenv.tcSink (moduleEntity.Range, env.NameEnv, item, emptyTyparInst, ItemOccurrence.Binding, env.AccessRights)) // For 'namespace rec' and 'module rec' we add the thing being defined - let envNS = if isRec then AddLocalRootModuleOrNamespace cenv.tcSink g cenv.amap m envNS modTyRoot else envNS + let envNS = if isRec then AddLocalRootModuleOrNamespace g cenv.amap m envNS modTyRoot else envNS let nsInfo = Some (modulNSOpt, envNS.eModuleOrNamespaceTypeAccumulator) let mutRecNSInfo = if isRec then nsInfo else None @@ -4990,7 +5000,7 @@ let rec TcSignatureElementNonMutRec (cenv: cenv) parent typeNames endm (env: TcE if isNil enclosingNamespacePath then envAtEnd else - let env = AddLocalRootModuleOrNamespace cenv.tcSink g cenv.amap m env modTyRoot + let env = AddLocalRootModuleOrNamespace g cenv.amap m env modTyRoot // If the namespace is an interactive fragment e.g. FSI_0002, then open FSI_0002 in the subsequent environment. let env, _openDecls = @@ -5429,6 +5439,7 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem let envNS = LocateEnv kind.IsModule cenv.thisCcu env enclosingNamespacePath let envNS = ImplicitlyOpenOwnNamespace cenv.tcSink g cenv.amap m enclosingNamespacePath envNS + CallEnvSink cenv.tcSink (m, envNS.NameEnv, env.eAccessRights) let modTyNS = envNS.eModuleOrNamespaceTypeAccumulator.Value let modTyRoot, modulNSs = BuildRootModuleType enclosingNamespacePath envNS.eCompPath modTyNS @@ -5440,7 +5451,7 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem CallNameResolutionSink cenv.tcSink (moduleEntity.Range, env.NameEnv, item, emptyTyparInst, ItemOccurrence.Binding, env.AccessRights)) // For 'namespace rec' and 'module rec' we add the thing being defined - let envNS = if isRec then AddLocalRootModuleOrNamespace cenv.tcSink g cenv.amap m envNS modTyRoot else envNS + let envNS = if isRec then AddLocalRootModuleOrNamespace g cenv.amap m envNS modTyRoot else envNS let nsInfo = Some (modulNSOpt, envNS.eModuleOrNamespaceTypeAccumulator) let mutRecNSInfo = if isRec then nsInfo else None @@ -5453,7 +5464,7 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem if isNil enclosingNamespacePath then envAtEnd, [] else - let env = AddLocalRootModuleOrNamespace cenv.tcSink g cenv.amap m env modTyRoot + let env = AddLocalRootModuleOrNamespace g cenv.amap m env modTyRoot // If the namespace is an interactive fragment e.g. FSI_0002, then open FSI_0002 in the subsequent environment let env, openDecls = @@ -5753,7 +5764,7 @@ let CheckOneImplFile synImplFile, diagnosticOptions) = - let (ParsedImplFileInput (fileName, isScript, qualNameOfFile, scopedPragmas, _, implFileFrags, isLastCompiland, _, _)) = synImplFile + let (ParsedImplFileInput (fileName, isScript, qualNameOfFile, _, implFileFrags, isLastCompiland, _, _)) = synImplFile let infoReader = InfoReader(g, amap) cancellable { @@ -5892,7 +5903,7 @@ let CheckOneImplFile |> Array.map (fun (KeyValue(k,v)) -> (k,v)) |> Map - let implFile = CheckedImplFile (qualNameOfFile, scopedPragmas, implFileTy, implFileContents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) + let implFile = CheckedImplFile (qualNameOfFile, implFileTy, implFileContents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) return (topAttrs, implFile, envAtEnd, cenv.createsGeneratedProvidedTypes) } diff --git a/src/Compiler/Checking/CheckDeclarations.fsi b/src/Compiler/Checking/CheckDeclarations.fsi index fb4679f243..9b06fcc828 100644 --- a/src/Compiler/Checking/CheckDeclarations.fsi +++ b/src/Compiler/Checking/CheckDeclarations.fsi @@ -13,8 +13,7 @@ open FSharp.Compiler.TcGlobals open FSharp.Compiler.Text open FSharp.Compiler.TypedTree -val AddLocalRootModuleOrNamespace: - TcResultsSink -> TcGlobals -> ImportMap -> range -> TcEnv -> ModuleOrNamespaceType -> TcEnv +val AddLocalRootModuleOrNamespace: TcGlobals -> ImportMap -> range -> TcEnv -> ModuleOrNamespaceType -> TcEnv val CreateInitialTcEnv: TcGlobals * ImportMap * range * assemblyName: string * (CcuThunk * string list * string list) list -> diff --git a/src/Compiler/Checking/CheckRecordSyntaxHelpers.fs b/src/Compiler/Checking/CheckRecordSyntaxHelpers.fs index 8783da1031..697e9a1462 100644 --- a/src/Compiler/Checking/CheckRecordSyntaxHelpers.fs +++ b/src/Compiler/Checking/CheckRecordSyntaxHelpers.fs @@ -129,7 +129,13 @@ let TransformAstForNestedUpdates (cenv: TcFileState) (env: TcEnv) overallTy (lid | _ -> let fields = [ - SynExprRecordField((LongIdentWithDots([ fieldId ], []), true), None, Some nestedField, None) + SynExprRecordField( + (LongIdentWithDots([ fieldId ], []), true), + None, + Some nestedField, + unionRanges fieldId.idRange nestedField.Range, + None + ) ] SynExpr.Record(None, copyInfo outerFieldId, fields, outerFieldId.idRange) diff --git a/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs b/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs index 011b6f0a5a..0d2404c5b1 100644 --- a/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs +++ b/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs @@ -4,6 +4,7 @@ /// with generalization at appropriate points. module internal FSharp.Compiler.CheckComputationExpressions +open FSharp.Compiler.TcGlobals open Internal.Utilities.Library open FSharp.Compiler.AccessibilityLogic open FSharp.Compiler.AttributeChecking @@ -1783,12 +1784,37 @@ let rec TryTranslateComputationExpression if ceenv.isQuery then error (Error(FSComp.SR.tcBindMayNotBeUsedInQueries (), mBind)) - match pat, andBangs with - | (SynPat.Named(ident = SynIdent(id, _); isThisVal = false) | SynPat.LongIdent(longDotId = SynLongIdent(id = [ id ]))), [] -> + match andBangs with + | [] -> // Valid pattern case - handle with Using + Bind requireBuilderMethod "Using" mBind cenv ceenv.env ceenv.ad ceenv.builderTy mBind requireBuilderMethod "Bind" mBind cenv ceenv.env ceenv.ad ceenv.builderTy mBind + let supportsUseBangBindingValueDiscard = + ceenv.cenv.g.langVersion.SupportsFeature LanguageFeature.UseBangBindingValueDiscard + + let supportsTypedLetOrUseBang = + ceenv.cenv.g.langVersion.SupportsFeature LanguageFeature.AllowTypedLetOrUseBang + + // use! x = ... + // use! (x) = ... + // use! (__) = ... + // use! _ = ... + // use! (_) = ... + let rec extractIdentifierFromPattern pat = + match pat with + | SynPat.Named(ident = SynIdent(id, _); isThisVal = false) -> id, pat + | SynPat.LongIdent(longDotId = SynLongIdent(id = [ id ])) -> id, pat + | SynPat.Typed(pat = pat) when supportsTypedLetOrUseBang -> extractIdentifierFromPattern pat + | SynPat.Wild(m) when supportsUseBangBindingValueDiscard -> + // To properly call the Using(disposable) CE member, we need to convert the wildcard to a SynPat.Named + let tmpIdent = mkSynId m "_" + tmpIdent, SynPat.Named(SynIdent(tmpIdent, None), false, None, m) + | SynPat.Paren(pat = pat) -> extractIdentifierFromPattern pat + | _ -> error (Error(FSComp.SR.tcInvalidUseBangBinding (), pat.Range)) + + let ident, pat = extractIdentifierFromPattern pat + let bindExpr = let consumeExpr = SynExpr.MatchLambda( @@ -1809,14 +1835,14 @@ let rec TryTranslateComputationExpression ) let consumeExpr = - mkSynCall "Using" mBind [ SynExpr.Ident id; consumeExpr ] ceenv.builderValName + mkSynCall "Using" mBind [ SynExpr.Ident ident; consumeExpr ] ceenv.builderValName let consumeExpr = SynExpr.MatchLambda( false, mBind, [ - SynMatchClause(pat, None, consumeExpr, id.idRange, DebugPointAtTarget.No, SynMatchClauseTrivia.Zero) + SynMatchClause(pat, None, consumeExpr, ident.idRange, DebugPointAtTarget.No, SynMatchClauseTrivia.Zero) ], DebugPointAtBinding.NoneAtInvisible, mBind @@ -1829,8 +1855,7 @@ let rec TryTranslateComputationExpression |> addBindDebugPoint spBind Some(translatedCtxt bindExpr) - | _pat, [] -> error (Error(FSComp.SR.tcInvalidUseBangBinding (), mBind)) - | _pat, _ands -> + | _ -> // Has andBangs let m = match andBangs with diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fs b/src/Compiler/Checking/Expressions/CheckExpressions.fs index 5f390038e3..4ce2fb1700 100644 --- a/src/Compiler/Checking/Expressions/CheckExpressions.fs +++ b/src/Compiler/Checking/Expressions/CheckExpressions.fs @@ -3187,6 +3187,24 @@ let BuildRecdFieldSet g m objExpr (rfinfo: RecdFieldInfo) argExpr = let wrap, objExpr, _readonly, _writeonly = mkExprAddrOfExpr g boxity false DefinitelyMutates objExpr None m wrap (mkRecdFieldSetViaExprAddr (objExpr, rfinfo.RecdFieldRef, rfinfo.TypeInst, argExpr, m) ) +// This is used to check the target of an attribute with the form of +// Long Form: [] +// Short Form: [] +let (|LongFormAttrTarget|UnrecognizedLongAttrTarget|ShortFormAttributeTarget|) (targetIndicator: Ident option) = + match targetIndicator with + | Some id when id.idText = "assembly" -> LongFormAttrTarget AttributeTargets.Assembly + | Some id when id.idText = "module" -> LongFormAttrTarget AttributeTargets.Module + | Some id when id.idText = "return" -> LongFormAttrTarget AttributeTargets.ReturnValue + | Some id when id.idText = "field" -> LongFormAttrTarget AttributeTargets.Field + | Some id when id.idText = "property" -> LongFormAttrTarget AttributeTargets.Property + | Some id when id.idText = "method" -> LongFormAttrTarget AttributeTargets.Method + | Some id when id.idText = "param" -> LongFormAttrTarget AttributeTargets.Parameter + | Some id when id.idText = "type" -> LongFormAttrTarget AttributeTargets.TyconDecl + | Some id when id.idText = "constructor" -> LongFormAttrTarget AttributeTargets.Constructor + | Some id when id.idText = "event" -> LongFormAttrTarget AttributeTargets.Event + | Some id -> UnrecognizedLongAttrTarget id + | None -> ShortFormAttributeTarget + //------------------------------------------------------------------------- // Helpers dealing with named and optional args at callsites //------------------------------------------------------------------------- @@ -11270,6 +11288,75 @@ and TcNonRecursiveBinding declKind cenv env tpenv ty binding = let explicitTyparInfo, tpenv = TcNonrecBindingTyparDecls cenv env tpenv binding TcNormalizedBinding declKind cenv env tpenv ty None NoSafeInitInfo ([], explicitTyparInfo) binding +and ResolveAttributeType (cenv: cenv) (env: TcEnv) (mAttr: range) (tycon: Ident list) = + let tpenv = emptyUnscopedTyparEnv + let ad = env.eAccessRights + + let tyPath, tyId = List.frontAndBack tycon + + let try1 n = + let tyid = mkSynId tyId.idRange n + let tycon = (tyPath @ [tyid]) + + match ResolveTypeLongIdent cenv.tcSink cenv.nameResolver ItemOccurrence.UseInAttribute OpenQualified env.eNameResEnv ad tycon TypeNameResolutionStaticArgsInfo.DefiniteEmpty PermitDirectReferenceToGeneratedType.No with + | Exception err -> raze err + | Result(tinstEnclosing, tcref, inst) -> success(TcTypeApp cenv NoNewTypars CheckCxs ItemOccurrence.UseInAttribute env tpenv mAttr tcref tinstEnclosing [] inst) + + ForceRaise ((try1 (tyId.idText + "Attribute")) |> otherwise (fun () -> (try1 tyId.idText))) + +and CheckAttributeUsage (g: TcGlobals) (mAttr: range) (tcref: TyconRef) (attrTgt: AttributeTargets) (targetIndicator: Ident option) (attrEx: AttributeTargets) = + // REVIEW: take notice of inherited? + let validOn, _inherited = + let validOnDefault = 0x7fff + let inheritedDefault = true + if tcref.IsILTycon then + let tdef = tcref.ILTyconRawMetadata + let tref = g.attrib_AttributeUsageAttribute.TypeRef + + match TryDecodeILAttribute tref tdef.CustomAttrs with + | Some ([ILAttribElem.Int32 validOn ], named) -> + let inherited = + match List.tryPick (function "Inherited", _, _, ILAttribElem.Bool res -> Some res | _ -> None) named with + | None -> inheritedDefault + | Some x -> x + (validOn, inherited) + | Some ([ILAttribElem.Int32 validOn; ILAttribElem.Bool _allowMultiple; ILAttribElem.Bool inherited ], _) -> + (validOn, inherited) + | _ -> + (validOnDefault, inheritedDefault) + else + match (TryFindFSharpAttribute g g.attrib_AttributeUsageAttribute tcref.Attribs) with + | Some(Attrib(unnamedArgs = [ AttribInt32Arg validOn ])) -> + validOn, inheritedDefault + | Some(Attrib(unnamedArgs = [ AttribInt32Arg validOn; AttribBoolArg(_allowMultiple); AttribBoolArg inherited])) -> + validOn, inherited + | Some _ -> + warning(Error(FSComp.SR.tcUnexpectedConditionInImportedAssembly(), mAttr)) + validOnDefault, inheritedDefault + | _ -> + validOnDefault, inheritedDefault + + // Determine valid attribute targets + let attributeTargets = enum validOn &&& attrTgt + let directedTargets = + match targetIndicator with + | LongFormAttrTarget attrTarget -> attrTarget + | UnrecognizedLongAttrTarget attrTarget -> + errorR(Error(FSComp.SR.tcUnrecognizedAttributeTarget(), attrTarget.idRange)) + attributeTargets + | ShortFormAttributeTarget -> attributeTargets &&& ~~~ attrEx + + let constrainedTargets = attributeTargets &&& directedTargets + + // Check if attribute is valid for the target + if constrainedTargets = enum 0 then + if (directedTargets = AttributeTargets.Assembly || directedTargets = AttributeTargets.Module) then + errorR(Error(FSComp.SR.tcAttributeIsNotValidForLanguageElementUseDo(), mAttr)) + else + warning(Error(FSComp.SR.tcAttributeIsNotValidForLanguageElement(), mAttr)) + + constrainedTargets + //------------------------------------------------------------------------- // TcAttribute* // *Ex means the function accepts attribute targets that must be explicit @@ -11284,24 +11371,13 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn let targetIndicator = synAttr.Target let isAppliedToGetterOrSetter = synAttr.AppliesToGetterAndSetter let mAttr = synAttr.Range - let typath, tyid = List.frontAndBack tycon - let tpenv = emptyUnscopedTyparEnv + let _, tyId = List.frontAndBack tycon let ad = env.eAccessRights // if we're checking an attribute that was applied directly to a getter or a setter, then // what we're really checking against is a method, not a property let attrTgt = if isAppliedToGetterOrSetter then ((attrTgt ^^^ AttributeTargets.Property) ||| AttributeTargets.Method) else attrTgt - let ty, tpenv = - let try1 n = - let tyid = mkSynId tyid.idRange n - let tycon = (typath @ [tyid]) - - match ResolveTypeLongIdent cenv.tcSink cenv.nameResolver ItemOccurrence.UseInAttribute OpenQualified env.eNameResEnv ad tycon TypeNameResolutionStaticArgsInfo.DefiniteEmpty PermitDirectReferenceToGeneratedType.No with - | Exception err -> raze err - | Result(tinstEnclosing, tcref, inst) -> success(TcTypeApp cenv NoNewTypars CheckCxs ItemOccurrence.UseInAttribute env tpenv mAttr tcref tinstEnclosing [] inst) - - ForceRaise ((try1 (tyid.idText + "Attribute")) |> otherwise (fun () -> (try1 tyid.idText))) - + let ty, tpenv = ResolveAttributeType cenv env mAttr tycon if not (IsTypeAccessible g cenv.amap mAttr ad ty) then errorR(Error(FSComp.SR.tcTypeIsInaccessible(), mAttr)) let tcref = tcrefOfAppTy g ty @@ -11312,62 +11388,7 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn | Some d, Some defines when not (List.contains d defines) -> [], false | _ -> - // REVIEW: take notice of inherited? - let validOn, _inherited = - let validOnDefault = 0x7fff - let inheritedDefault = true - if tcref.IsILTycon then - let tdef = tcref.ILTyconRawMetadata - let tref = g.attrib_AttributeUsageAttribute.TypeRef - - match TryDecodeILAttribute tref tdef.CustomAttrs with - | Some ([ILAttribElem.Int32 validOn ], named) -> - let inherited = - match List.tryPick (function "Inherited", _, _, ILAttribElem.Bool res -> Some res | _ -> None) named with - | None -> inheritedDefault - | Some x -> x - (validOn, inherited) - | Some ([ILAttribElem.Int32 validOn; ILAttribElem.Bool _allowMultiple; ILAttribElem.Bool inherited ], _) -> - (validOn, inherited) - | _ -> - (validOnDefault, inheritedDefault) - else - match (TryFindFSharpAttribute g g.attrib_AttributeUsageAttribute tcref.Attribs) with - | Some(Attrib(_, _, [ AttribInt32Arg validOn ], _, _, _, _)) -> - (validOn, inheritedDefault) - | Some(Attrib(_, _, [ AttribInt32Arg validOn - AttribBoolArg(_allowMultiple) - AttribBoolArg inherited], _, _, _, _)) -> - (validOn, inherited) - | Some _ -> - warning(Error(FSComp.SR.tcUnexpectedConditionInImportedAssembly(), mAttr)) - (validOnDefault, inheritedDefault) - | _ -> - (validOnDefault, inheritedDefault) - let possibleTgts = enum validOn &&& attrTgt - let directedTgts = - match targetIndicator with - | Some id when id.idText = "assembly" -> AttributeTargets.Assembly - | Some id when id.idText = "module" -> AttributeTargets.Module - | Some id when id.idText = "return" -> AttributeTargets.ReturnValue - | Some id when id.idText = "field" -> AttributeTargets.Field - | Some id when id.idText = "property" -> AttributeTargets.Property - | Some id when id.idText = "method" -> AttributeTargets.Method - | Some id when id.idText = "param" -> AttributeTargets.Parameter - | Some id when id.idText = "type" -> AttributeTargets.TyconDecl - | Some id when id.idText = "constructor" -> AttributeTargets.Constructor - | Some id when id.idText = "event" -> AttributeTargets.Event - | Some id -> - errorR(Error(FSComp.SR.tcUnrecognizedAttributeTarget(), id.idRange)) - possibleTgts - // mask explicit targets - | _ -> possibleTgts &&& ~~~ attrEx - let constrainedTgts = possibleTgts &&& directedTgts - if constrainedTgts = enum 0 then - if (directedTgts = AttributeTargets.Assembly || directedTgts = AttributeTargets.Module) then - error(Error(FSComp.SR.tcAttributeIsNotValidForLanguageElementUseDo(), mAttr)) - else - error(Error(FSComp.SR.tcAttributeIsNotValidForLanguageElement(), mAttr)) + let constrainedTargets = CheckAttributeUsage g mAttr tcref attrTgt targetIndicator attrEx match ResolveObjectConstructor cenv.nameResolver env.DisplayEnv mAttr ad ty with | Exception _ when canFail = TcCanFail.IgnoreAllErrors || canFail = TcCanFail.IgnoreMemberResoutionError -> [ ], true @@ -11382,7 +11403,7 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn match item with | Item.CtorGroup(methodName, minfos) -> let meths = minfos |> List.map (fun minfo -> minfo, None) - let afterResolution = ForNewConstructors cenv.tcSink env tyid.idRange methodName minfos + let afterResolution = ForNewConstructors cenv.tcSink env tyId.idRange methodName minfos let (expr, attributeAssignedNamedItems, _), _ = TcMethodApplication true cenv env tpenv None [] mAttr mAttr methodName None ad PossiblyMutates false meths afterResolution NormalValUse [arg] (MustEqual ty) None [] @@ -11390,7 +11411,12 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn let mkAttribExpr e = AttribExpr(e, EvalLiteralExprOrAttribArg g e) - + + let checkPropSetterAttribAccess m (pinfo: PropInfo) = + let setterMeth = pinfo.SetterMethod + if not <| IsTypeAndMethInfoAccessible cenv.amap m ad ad setterMeth then + errorR(Error (FSComp.SR.tcPropertyCannotBeSetPrivateSetter(pinfo.PropertyName), m)) + let namedAttribArgMap = attributeAssignedNamedItems |> List.map (fun (CallerNamedArg(id, CallerArg(callerArgTy, m, isOpt, callerArgExpr))) -> if isOpt then error(Error(FSComp.SR.tcOptionalArgumentsCannotBeUsedInCustomAttribute(), m)) @@ -11402,6 +11428,7 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn | Item.Property (info = [pinfo]) -> if not pinfo.HasSetter then errorR(Error(FSComp.SR.tcPropertyCannotBeSet0(), m)) + checkPropSetterAttribAccess m pinfo id.idText, true, pinfo.GetPropertyType(cenv.amap, m) | Item.ILField finfo -> CheckILFieldInfoAccessible g cenv.amap m ad finfo @@ -11428,11 +11455,11 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn if isStruct then error (Error(FSComp.SR.tcCustomAttributeMustBeReferenceType(), m)) if args.Length <> ilMethRef.ArgTypes.Length then error (Error(FSComp.SR.tcCustomAttributeArgumentMismatch(), m)) let args = args |> List.map mkAttribExpr - Attrib(tcref, ILAttrib ilMethRef, args, namedAttribArgMap, isAppliedToGetterOrSetter, Some constrainedTgts, m) + Attrib(tcref, ILAttrib ilMethRef, args, namedAttribArgMap, isAppliedToGetterOrSetter, Some constrainedTargets, m) | Expr.App (InnerExprPat(ExprValWithPossibleTypeInst(vref, _, _, _)), _, _, args, _) -> let args = args |> List.collect (function Expr.Const (Const.Unit, _, _) -> [] | expr -> tryDestRefTupleExpr expr) |> List.map mkAttribExpr - Attrib(tcref, FSAttrib vref, args, namedAttribArgMap, isAppliedToGetterOrSetter, Some constrainedTgts, mAttr) + Attrib(tcref, FSAttrib vref, args, namedAttribArgMap, isAppliedToGetterOrSetter, Some constrainedTargets, mAttr) | _ -> error (Error(FSComp.SR.tcCustomAttributeMustInvokeConstructor(), mAttr)) @@ -11440,7 +11467,7 @@ and TcAttributeEx canFail (cenv: cenv) (env: TcEnv) attrTgt attrEx (synAttr: Syn | _ -> error(Error(FSComp.SR.tcAttributeExpressionsMustBeConstructorCalls(), mAttr)) - [ (constrainedTgts, attrib) ], false + [ (constrainedTargets, attrib) ], false and TcAttributesWithPossibleTargetsEx canFail (cenv: cenv) env attrTgt attrEx synAttribs = diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fsi b/src/Compiler/Checking/Expressions/CheckExpressions.fsi index ed18b07a58..5992a4afc9 100644 --- a/src/Compiler/Checking/Expressions/CheckExpressions.fsi +++ b/src/Compiler/Checking/Expressions/CheckExpressions.fsi @@ -955,6 +955,8 @@ module AttributeTargets = val FieldDeclRestricted: AttributeTargets /// The allowed attribute targets for an F# union case declaration + /// - AttributeTargets.Method: union case with fields + /// - AttributeTargets.Property: union case with no fields val UnionCaseDecl: AttributeTargets /// The allowed attribute targets for an F# type declaration diff --git a/src/Compiler/Checking/TypeRelations.fs b/src/Compiler/Checking/TypeRelations.fs index 2cb5dd4057..fddf602787 100644 --- a/src/Compiler/Checking/TypeRelations.fs +++ b/src/Compiler/Checking/TypeRelations.fs @@ -102,7 +102,7 @@ let TypesFeasiblyEquivStripMeasures g amap m ty1 ty2 = TypesFeasiblyEquivalent true 0 g amap m ty1 ty2 let inline TryGetCachedTypeSubsumption (g: TcGlobals) (amap: ImportMap) key = - if g.compilationMode = CompilationMode.OneOff && g.langVersion.SupportsFeature LanguageFeature.UseTypeSubsumptionCache then + if g.langVersion.SupportsFeature LanguageFeature.UseTypeSubsumptionCache then match amap.TypeSubsumptionCache.TryGetValue(key) with | true, subsumes -> ValueSome subsumes @@ -112,8 +112,8 @@ let inline TryGetCachedTypeSubsumption (g: TcGlobals) (amap: ImportMap) key = ValueNone let inline UpdateCachedTypeSubsumption (g: TcGlobals) (amap: ImportMap) key subsumes : unit = - if g.compilationMode = CompilationMode.OneOff && g.langVersion.SupportsFeature LanguageFeature.UseTypeSubsumptionCache then - amap.TypeSubsumptionCache[key] <- subsumes + if g.langVersion.SupportsFeature LanguageFeature.UseTypeSubsumptionCache then + amap.TypeSubsumptionCache.TryAdd(key, subsumes) |> ignore /// The feasible coercion relation. Part of the language spec. let rec TypeFeasiblySubsumesType ndeep (g: TcGlobals) (amap: ImportMap) m (ty1: TType) (canCoerce: CanCoerce) (ty2: TType) = @@ -125,7 +125,7 @@ let rec TypeFeasiblySubsumesType ndeep (g: TcGlobals) (amap: ImportMap) m (ty1: let ty2 = stripTyEqns g ty2 // Check if language feature supported - let key = TTypeCacheKey.FromStrippedTypes (ty1, ty2, canCoerce, g) + let key = TTypeCacheKey.FromStrippedTypes (ty1, ty2, canCoerce) match TryGetCachedTypeSubsumption g amap key with | ValueSome subsumes -> diff --git a/src/Compiler/Checking/import.fs b/src/Compiler/Checking/import.fs index c87d6cdad0..f1f44090f1 100644 --- a/src/Compiler/Checking/import.fs +++ b/src/Compiler/Checking/import.fs @@ -6,22 +6,25 @@ module internal FSharp.Compiler.Import open System.Collections.Concurrent open System.Collections.Generic open System.Collections.Immutable -open FSharp.Compiler.Text.Range +open System.Diagnostics + open Internal.Utilities.Library open Internal.Utilities.Library.Extras open Internal.Utilities.TypeHashing -open Internal.Utilities.TypeHashing.HashTypes + open FSharp.Compiler open FSharp.Compiler.AbstractIL.IL open FSharp.Compiler.CompilerGlobalState open FSharp.Compiler.DiagnosticsLogger open FSharp.Compiler.SyntaxTreeOps open FSharp.Compiler.Text +open FSharp.Compiler.Text.Range open FSharp.Compiler.Xml open FSharp.Compiler.TypedTree open FSharp.Compiler.TypedTreeBasics open FSharp.Compiler.TypedTreeOps open FSharp.Compiler.TcGlobals +open FSharp.Compiler.Caches #if !NO_TYPEPROVIDERS open FSharp.Compiler.TypeProviders @@ -52,18 +55,18 @@ type CanCoerce = | CanCoerce | NoCoerce -type [] TTypeCacheKey = +[] +type TTypeCacheKey = val ty1: TType val ty2: TType val canCoerce: CanCoerce - val tcGlobals: TcGlobals - private new (ty1, ty2, canCoerce, tcGlobals) = - { ty1 = ty1; ty2 = ty2; canCoerce = canCoerce; tcGlobals = tcGlobals } + private new (ty1, ty2, canCoerce) = + { ty1 = ty1; ty2 = ty2; canCoerce = canCoerce } - static member FromStrippedTypes (ty1, ty2, canCoerce, tcGlobals) = - TTypeCacheKey(ty1, ty2, canCoerce, tcGlobals) + static member FromStrippedTypes (ty1, ty2, canCoerce) = + TTypeCacheKey(ty1, ty2, canCoerce) interface System.IEquatable with member this.Equals other = @@ -72,23 +75,24 @@ type [] TTypeCacheKey = elif this.ty1 === other.ty1 && this.ty2 === other.ty2 then true else - stampEquals this.tcGlobals this.ty1 other.ty1 - && stampEquals this.tcGlobals this.ty2 other.ty2 + HashStamps.stampEquals this.ty1 other.ty1 + && HashStamps.stampEquals this.ty2 other.ty2 override this.Equals(other:objnull) = match other with | :? TTypeCacheKey as p -> (this :> System.IEquatable).Equals p | _ -> false - override this.GetHashCode() : int = - let g = this.tcGlobals - - let ty1Hash = combineHash (hashStamp g this.ty1) (hashTType g this.ty1) - let ty2Hash = combineHash (hashStamp g this.ty2) (hashTType g this.ty2) + override this.GetHashCode () : int = + HashStamps.hashTType this.ty1 + |> pipeToHash (HashStamps.hashTType this.ty2) + |> pipeToHash (hash this.canCoerce) - let combined = combineHash (combineHash ty1Hash ty2Hash) (hash this.canCoerce) + override this.ToString () = $"{this.ty1.DebugText}-{this.ty2.DebugText}" - combined +let typeSubsumptionCache = + // Leave most of the capacity in reserve for bursts. + lazy Cache.Create({ TotalCapacity = 131072; HeadroomPercentage = 75 }, name = "TypeSubsumptionCache") //------------------------------------------------------------------------- // Import an IL types as F# types. @@ -106,15 +110,13 @@ type [] TTypeCacheKey = type ImportMap(g: TcGlobals, assemblyLoader: AssemblyLoader) = let typeRefToTyconRefCache = ConcurrentDictionary() - let typeSubsumptionCache = ConcurrentDictionary(System.Environment.ProcessorCount, 1024) - member _.g = g member _.assemblyLoader = assemblyLoader member _.ILTypeRefToTyconRefCache = typeRefToTyconRefCache - member _.TypeSubsumptionCache = typeSubsumptionCache + member val TypeSubsumptionCache: Cache = typeSubsumptionCache.Value let CanImportILScopeRef (env: ImportMap) m scoref = diff --git a/src/Compiler/Checking/import.fsi b/src/Compiler/Checking/import.fsi index c387558fcb..72611e12bf 100644 --- a/src/Compiler/Checking/import.fsi +++ b/src/Compiler/Checking/import.fsi @@ -5,13 +5,12 @@ module internal FSharp.Compiler.Import open Internal.Utilities.Library open FSharp.Compiler.AbstractIL.IL +open FSharp.Compiler.Caches open FSharp.Compiler.TcGlobals open FSharp.Compiler.Text open FSharp.Compiler.Xml open FSharp.Compiler.TypedTree -open System.Collections.Concurrent - #if !NO_TYPEPROVIDERS open FSharp.Compiler.TypeProviders #endif @@ -45,15 +44,14 @@ type CanCoerce = [] type TTypeCacheKey = interface System.IEquatable - private new: ty1: TType * ty2: TType * canCoerce: CanCoerce * tcGlobals: TcGlobals -> TTypeCacheKey + private new: ty1: TType * ty2: TType * canCoerce: CanCoerce -> TTypeCacheKey - static member FromStrippedTypes: - ty1: TType * ty2: TType * canCoerce: CanCoerce * tcGlobals: TcGlobals -> TTypeCacheKey + static member FromStrippedTypes: ty1: TType * ty2: TType * canCoerce: CanCoerce -> TTypeCacheKey val ty1: TType val ty2: TType val canCoerce: CanCoerce - val tcGlobals: TcGlobals + override GetHashCode: unit -> int /// Represents a context used for converting AbstractIL .NET and provided types to F# internal compiler data structures. @@ -73,7 +71,7 @@ type ImportMap = member g: TcGlobals /// Type subsumption cache - member TypeSubsumptionCache: ConcurrentDictionary + member TypeSubsumptionCache: Cache module Nullness = diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 1be3b7be3a..258346b910 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -10391,7 +10391,7 @@ and GenModuleBinding cenv (cgbuf: CodeGenBuffer) (qname: QualifiedNameOfFile) la /// Generate the namespace fragments in a single file and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: CheckedImplFileAfterOptimization) = - let (CheckedImplFile(qname, _, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, _)) = + let (CheckedImplFile(qname, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, _)) = implFile.ImplFile let optimizeDuringCodeGen = implFile.OptimizeDuringCodeGen diff --git a/src/Compiler/Driver/CompilerDiagnostics.fs b/src/Compiler/Driver/CompilerDiagnostics.fs index 68813e69a8..9fa8bc73f3 100644 --- a/src/Compiler/Driver/CompilerDiagnostics.fs +++ b/src/Compiler/Driver/CompilerDiagnostics.fs @@ -379,7 +379,7 @@ type PhasedDiagnostic with // Level 2 | _ -> 2 - member x.IsEnabled(severity, options) = + member private x.IsEnabled(severity, options) = let level = options.WarnLevel let specificWarnOn = options.WarnOn let n = x.Number @@ -402,6 +402,7 @@ type PhasedDiagnostic with | 3579 -> false // alwaysUseTypedStringInterpolation - off by default | 3582 -> false // infoIfFunctionShadowsUnionCase - off by default | 3570 -> false // tcAmbiguousDiscardDotLambda - off by default + | 3878 -> false // tcAttributeIsNotValidForUnionCaseWithFields - off by default | _ -> match x.Exception with | DiagnosticEnabledWithLanguageFeature(_, _, _, enabled) -> enabled @@ -412,19 +413,25 @@ type PhasedDiagnostic with member x.AdjustSeverity(options, severity) = let n = x.Number - let warnOff () = List.contains n options.WarnOff + let localWarnon () = WarnScopes.IsWarnon options n x.Range + + let localNowarn () = WarnScopes.IsNowarn options n x.Range + + let warnOff () = + List.contains n options.WarnOff && not (localWarnon ()) || localNowarn () match severity with | FSharpDiagnosticSeverity.Error -> FSharpDiagnosticSeverity.Error | FSharpDiagnosticSeverity.Warning when x.IsEnabled(severity, options) && ((options.GlobalWarnAsError && not (warnOff ())) - || List.contains n options.WarnAsError) + || List.contains n options.WarnAsError && not (localNowarn ())) && not (List.contains n options.WarnAsWarn) -> FSharpDiagnosticSeverity.Error + | FSharpDiagnosticSeverity.Info when List.contains n options.WarnAsError && not (localNowarn ()) -> FSharpDiagnosticSeverity.Error | FSharpDiagnosticSeverity.Warning when x.IsEnabled(severity, options) && not (warnOff ()) -> FSharpDiagnosticSeverity.Warning - | FSharpDiagnosticSeverity.Info when List.contains n options.WarnAsError -> FSharpDiagnosticSeverity.Error + | FSharpDiagnosticSeverity.Warning when localWarnon () -> FSharpDiagnosticSeverity.Warning | FSharpDiagnosticSeverity.Info when List.contains n options.WarnOn && not (warnOff ()) -> FSharpDiagnosticSeverity.Warning | FSharpDiagnosticSeverity.Info when x.IsEnabled(severity, options) && not (warnOff ()) -> FSharpDiagnosticSeverity.Info | _ -> FSharpDiagnosticSeverity.Hidden @@ -1135,6 +1142,7 @@ type Exception with | Parser.TOKEN_COLON_EQUALS -> SR.GetString("Parser.TOKEN.COLON.EQUALS") | Parser.TOKEN_LARROW -> SR.GetString("Parser.TOKEN.LARROW") | Parser.TOKEN_EQUALS -> SR.GetString("Parser.TOKEN.EQUALS") + | Parser.TOKEN_GREATER_BAR_RBRACE -> SR.GetString("Parser.TOKEN.GREATER.BAR.RBRACE") | Parser.TOKEN_GREATER_BAR_RBRACK -> SR.GetString("Parser.TOKEN.GREATER.BAR.RBRACK") | Parser.TOKEN_MINUS -> SR.GetString("Parser.TOKEN.MINUS") | Parser.TOKEN_ADJACENT_PREFIX_OP -> SR.GetString("Parser.TOKEN.ADJACENT.PREFIX.OP") @@ -1161,6 +1169,7 @@ type Exception with | Parser.TOKEN_GREATER_RBRACK -> SR.GetString("Parser.TOKEN.GREATER.RBRACK") | Parser.TOKEN_RQUOTE_DOT | Parser.TOKEN_RQUOTE -> SR.GetString("Parser.TOKEN.RQUOTE") + | Parser.TOKEN_RQUOTE_BAR_RBRACE -> SR.GetString("Parser.TOKEN.RQUOTE.BAR.RBRACE") | Parser.TOKEN_RBRACK -> SR.GetString("Parser.TOKEN.RBRACK") | Parser.TOKEN_RBRACE | Parser.TOKEN_RBRACE_COMING_SOON @@ -2274,51 +2283,25 @@ type PhasedDiagnostic with diagnostic.OutputContext(buf, prefix, fileLineFunction) diagnostic.Output(buf, tcConfig, severity)) -//---------------------------------------------------------------------------- -// Scoped #nowarn pragmas - -/// Build an DiagnosticsLogger that delegates to another DiagnosticsLogger but filters warnings turned off by the given pragma declarations -// -// NOTE: we allow a flag to turn of strict file checking. This is because file names sometimes don't match due to use of -// #line directives, e.g. for pars.fs/pars.fsy. In this case we just test by line number - in most cases this is sufficient -// because we install a filtering error handler on a file-by-file basis for parsing and type-checking. -// However this is indicative of a more systematic problem where source-line -// sensitive operations (lexfilter and warning filtering) do not always -// interact well with #line directives. -type DiagnosticsLoggerFilteringByScopedPragmas - (checkFile, scopedPragmas, diagnosticOptions: FSharpDiagnosticOptions, diagnosticsLogger: DiagnosticsLogger) = - inherit DiagnosticsLogger("DiagnosticsLoggerFilteringByScopedPragmas") +/// Build an DiagnosticsLogger that delegates to another DiagnosticsLogger but filters warnings +type DiagnosticsLoggerFilteringByScopedNowarn(diagnosticOptions: FSharpDiagnosticOptions, diagnosticsLogger: DiagnosticsLogger) = + inherit DiagnosticsLogger("DiagnosticsLoggerFilteringByScopedNowarn") let mutable realErrorPresent = false override _.DiagnosticSink(diagnostic: PhasedDiagnostic, severity) = + if severity = FSharpDiagnosticSeverity.Error then realErrorPresent <- true diagnosticsLogger.DiagnosticSink(diagnostic, severity) else - let report = - let warningNum = diagnostic.Number - - match diagnostic.Range with - | Some m -> - scopedPragmas - |> List.exists (fun pragma -> - let (ScopedPragma.WarningOff(pragmaRange, warningNumFromPragma)) = pragma - - warningNum = warningNumFromPragma - && (not checkFile || m.FileIndex = pragmaRange.FileIndex) - && posGeq m.Start pragmaRange.Start) - |> not - | None -> true - - if report then - match diagnostic.AdjustSeverity(diagnosticOptions, severity) with - | FSharpDiagnosticSeverity.Hidden -> () - | s -> diagnosticsLogger.DiagnosticSink(diagnostic, s) + match diagnostic.AdjustSeverity(diagnosticOptions, severity) with + | FSharpDiagnosticSeverity.Hidden -> () + | s -> diagnosticsLogger.DiagnosticSink(diagnostic, s) override _.ErrorCount = diagnosticsLogger.ErrorCount override _.CheckForRealErrorsIgnoringWarnings = realErrorPresent -let GetDiagnosticsLoggerFilteringByScopedPragmas (checkFile, scopedPragmas, diagnosticOptions, diagnosticsLogger) = - DiagnosticsLoggerFilteringByScopedPragmas(checkFile, scopedPragmas, diagnosticOptions, diagnosticsLogger) :> DiagnosticsLogger +let GetDiagnosticsLoggerFilteringByScopedNowarn (diagnosticOptions, diagnosticsLogger) = + DiagnosticsLoggerFilteringByScopedNowarn(diagnosticOptions, diagnosticsLogger) :> DiagnosticsLogger diff --git a/src/Compiler/Driver/CompilerDiagnostics.fsi b/src/Compiler/Driver/CompilerDiagnostics.fsi index cdf559c301..1f6e91d001 100644 --- a/src/Compiler/Driver/CompilerDiagnostics.fsi +++ b/src/Compiler/Driver/CompilerDiagnostics.fsi @@ -77,12 +77,8 @@ type PhasedDiagnostic with unit /// Get a diagnostics logger that filters the reporting of warnings based on scoped pragma information -val GetDiagnosticsLoggerFilteringByScopedPragmas: - checkFile: bool * - scopedPragmas: ScopedPragma list * - diagnosticOptions: FSharpDiagnosticOptions * - diagnosticsLogger: DiagnosticsLogger -> - DiagnosticsLogger +val GetDiagnosticsLoggerFilteringByScopedNowarn: + diagnosticOptions: FSharpDiagnosticOptions * diagnosticsLogger: DiagnosticsLogger -> DiagnosticsLogger /// Remove 'implicitIncludeDir' from a file name before output val SanitizeFileName: fileName: string -> implicitIncludeDir: string -> string diff --git a/src/Compiler/Driver/ParseAndCheckInputs.fs b/src/Compiler/Driver/ParseAndCheckInputs.fs index 6b7171b569..1ce85b734f 100644 --- a/src/Compiler/Driver/ParseAndCheckInputs.fs +++ b/src/Compiler/Driver/ParseAndCheckInputs.fs @@ -4,7 +4,6 @@ module internal FSharp.Compiler.ParseAndCheckInputs open System -open System.Diagnostics open System.IO open System.Threading open System.Collections.Generic @@ -41,7 +40,6 @@ open FSharp.Compiler.Text.Range open FSharp.Compiler.Xml open FSharp.Compiler.TypedTree open FSharp.Compiler.TypedTreeOps -open FSharp.Compiler.TypedTreeBasics open FSharp.Compiler.TcGlobals let CanonicalizeFilename fileName = @@ -96,13 +94,13 @@ let PrependPathToSpec x (SynModuleOrNamespaceSig(longId, isRecursive, kind, decl let PrependPathToInput x inp = match inp with - | ParsedInput.ImplFile(ParsedImplFileInput(b, c, q, d, hd, impls, e, trivia, i)) -> + | ParsedInput.ImplFile(ParsedImplFileInput(b, c, q, hd, impls, e, trivia, i)) -> ParsedInput.ImplFile( - ParsedImplFileInput(b, c, PrependPathToQualFileName x q, d, hd, List.map (PrependPathToImpl x) impls, e, trivia, i) + ParsedImplFileInput(b, c, PrependPathToQualFileName x q, hd, List.map (PrependPathToImpl x) impls, e, trivia, i) ) - | ParsedInput.SigFile(ParsedSigFileInput(b, q, d, hd, specs, trivia, i)) -> - ParsedInput.SigFile(ParsedSigFileInput(b, PrependPathToQualFileName x q, d, hd, List.map (PrependPathToSpec x) specs, trivia, i)) + | ParsedInput.SigFile(ParsedSigFileInput(b, q, hd, specs, trivia, i)) -> + ParsedInput.SigFile(ParsedSigFileInput(b, PrependPathToQualFileName x q, hd, List.map (PrependPathToSpec x) specs, trivia, i)) let IsValidAnonModuleName (modname: string) = modname |> String.forall (fun c -> Char.IsLetterOrDigit c || c = '_') @@ -217,36 +215,55 @@ let PostParseModuleSpec (_i, defaultNamespace, isLastCompiland, fileName, intf) SynModuleOrNamespaceSig(lid, isRecursive, kind, decls, xmlDoc, attributes, None, range, trivia) -let GetScopedPragmasForHashDirective hd (langVersion: LanguageVersion) = - [ - match hd with - | ParsedHashDirective("nowarn", args, _) -> - for arg in args do - let rangeAndDescription = - match arg with - | ParsedHashDirectiveArgument.Int32(n, m) -> Some(m, WarningDescription.Int32 n) - | ParsedHashDirectiveArgument.Ident(ident, m) -> Some(m, WarningDescription.Ident ident) - | ParsedHashDirectiveArgument.String(s, _, m) -> Some(m, WarningDescription.String s) - | _ -> None - - match rangeAndDescription with - | None -> () - | Some(m, description) -> - match GetWarningNumber(m, description, langVersion, WarningNumberSource.CompilerDirective) with - | None -> () - | Some n -> ScopedPragma.WarningOff(m, n) - | _ -> () - ] +let private collectCodeComments (lexbuf: UnicodeLexing.Lexbuf) = + let tripleSlashComments = XmlDocStore.ReportInvalidXmlDocPositions(lexbuf) -let private collectCodeComments (lexbuf: UnicodeLexing.Lexbuf) (tripleSlashComments: range list) = [ yield! CommentStore.GetComments(lexbuf) yield! (List.map CommentTrivia.LineComment tripleSlashComments) + yield! WarnScopes.getCommentTrivia lexbuf ] |> List.sortBy (function | CommentTrivia.LineComment r | CommentTrivia.BlockComment r -> r.StartLine, r.StartColumn) +let private collectParsedInputTrivia lexbuf diagnosticOptions isScript submoduleRanges = + WarnScopes.MergeInto diagnosticOptions isScript submoduleRanges lexbuf + + { + ConditionalDirectives = IfdefStore.GetTrivia(lexbuf) + WarnDirectives = WarnScopes.getDirectiveTrivia (lexbuf) + CodeComments = collectCodeComments lexbuf + } + +let private getImplSubmoduleRanges (impls: ParsedImplFileFragment list) = + let getDecls (impl: ParsedImplFileFragment) = + match impl with + | ParsedImplFileFragment.AnonModule(decls, _) -> decls + | ParsedImplFileFragment.NamedModule(SynModuleOrNamespace(decls = decls)) -> decls + | ParsedImplFileFragment.NamespaceFragment(decls = decls) -> decls + + let getSubmoduleRange decl = + match decl with + | SynModuleDecl.NestedModule(range = m) -> Some m + | _ -> None + + impls |> List.collect getDecls |> List.choose getSubmoduleRange + +let private getSpecSubmoduleRanges (specs: ParsedSigFileFragment list) = + let getDecls (spec: ParsedSigFileFragment) = + match spec with + | ParsedSigFileFragment.AnonModule(decls, _) -> decls + | ParsedSigFileFragment.NamedModule(SynModuleOrNamespaceSig(decls = decls)) -> decls + | ParsedSigFileFragment.NamespaceFragment(decls = decls) -> decls + + let getSubmoduleRange decl = + match decl with + | SynModuleSigDecl.NestedModule(range = m) -> Some m + | _ -> None + + specs |> List.collect getDecls |> List.choose getSubmoduleRange + let PostParseModuleImpls ( defaultNamespace, @@ -254,9 +271,15 @@ let PostParseModuleImpls isLastCompiland, ParsedImplFile(hashDirectives, impls), lexbuf: UnicodeLexing.Lexbuf, - tripleSlashComments: range list, + diagnosticOptions: FSharpDiagnosticOptions, identifiers: Set ) = + + let isScript = IsScript fileName + + let trivia = + collectParsedInputTrivia lexbuf diagnosticOptions isScript (getImplSubmoduleRanges impls) + let othersWithSameName = impls |> List.rev @@ -273,31 +296,8 @@ let PostParseModuleImpls |> List.mapi (fun i x -> PostParseModuleImpl(i, defaultNamespace, isLastCompiland, fileName, x)) let qualName = QualFileNameOfImpls fileName impls - let isScript = IsScript fileName - let scopedPragmas = - [ - for SynModuleOrNamespace(decls = decls) in impls do - for d in decls do - match d with - | SynModuleDecl.HashDirective(hd, _) -> yield! GetScopedPragmasForHashDirective hd lexbuf.LanguageVersion - | _ -> () - for hd in hashDirectives do - yield! GetScopedPragmasForHashDirective hd lexbuf.LanguageVersion - ] - - let conditionalDirectives = IfdefStore.GetTrivia(lexbuf) - let codeComments = collectCodeComments lexbuf tripleSlashComments - - let trivia: ParsedImplFileInputTrivia = - { - ConditionalDirectives = conditionalDirectives - CodeComments = codeComments - } - - ParsedInput.ImplFile( - ParsedImplFileInput(fileName, isScript, qualName, scopedPragmas, hashDirectives, impls, isLastCompiland, trivia, identifiers) - ) + ParsedInput.ImplFile(ParsedImplFileInput(fileName, isScript, qualName, hashDirectives, impls, isLastCompiland, trivia, identifiers)) let PostParseModuleSpecs ( @@ -306,9 +306,13 @@ let PostParseModuleSpecs isLastCompiland, ParsedSigFile(hashDirectives, specs), lexbuf: UnicodeLexing.Lexbuf, - tripleSlashComments: range list, + diagnosticOptions: FSharpDiagnosticOptions, identifiers: Set ) = + + let trivia = + collectParsedInputTrivia lexbuf diagnosticOptions false (getSpecSubmoduleRanges specs) + let othersWithSameName = specs |> List.rev @@ -326,27 +330,7 @@ let PostParseModuleSpecs let qualName = QualFileNameOfSpecs fileName specs - let scopedPragmas = - [ - for SynModuleOrNamespaceSig(decls = decls) in specs do - for d in decls do - match d with - | SynModuleSigDecl.HashDirective(hd, _) -> yield! GetScopedPragmasForHashDirective hd lexbuf.LanguageVersion - | _ -> () - for hd in hashDirectives do - yield! GetScopedPragmasForHashDirective hd lexbuf.LanguageVersion - ] - - let conditionalDirectives = IfdefStore.GetTrivia(lexbuf) - let codeComments = collectCodeComments lexbuf tripleSlashComments - - let trivia: ParsedSigFileInputTrivia = - { - ConditionalDirectives = conditionalDirectives - CodeComments = codeComments - } - - ParsedInput.SigFile(ParsedSigFileInput(fileName, qualName, scopedPragmas, hashDirectives, specs, trivia, identifiers)) + ParsedInput.SigFile(ParsedSigFileInput(fileName, qualName, hashDirectives, specs, trivia, identifiers)) type ModuleNamesDict = Map> @@ -391,26 +375,26 @@ let DeduplicateModuleName (moduleNamesDict: ModuleNamesDict) (fileName: string) let DeduplicateParsedInputModuleName (moduleNamesDict: ModuleNamesDict) input = match input with | ParsedInput.ImplFile implFile -> - let (ParsedImplFileInput(fileName, isScript, qualNameOfFile, scopedPragmas, hashDirectives, modules, flags, trivia, identifiers)) = + let (ParsedImplFileInput(fileName, isScript, qualNameOfFile, hashDirectives, modules, flags, trivia, identifiers)) = implFile let qualNameOfFileR, moduleNamesDictR = DeduplicateModuleName moduleNamesDict fileName qualNameOfFile let implFileR = - ParsedImplFileInput(fileName, isScript, qualNameOfFileR, scopedPragmas, hashDirectives, modules, flags, trivia, identifiers) + ParsedImplFileInput(fileName, isScript, qualNameOfFileR, hashDirectives, modules, flags, trivia, identifiers) let inputR = ParsedInput.ImplFile implFileR inputR, moduleNamesDictR | ParsedInput.SigFile sigFile -> - let (ParsedSigFileInput(fileName, qualNameOfFile, scopedPragmas, hashDirectives, modules, trivia, identifiers)) = + let (ParsedSigFileInput(fileName, qualNameOfFile, hashDirectives, modules, trivia, identifiers)) = sigFile let qualNameOfFileR, moduleNamesDictR = DeduplicateModuleName moduleNamesDict fileName qualNameOfFile let sigFileR = - ParsedSigFileInput(fileName, qualNameOfFileR, scopedPragmas, hashDirectives, modules, trivia, identifiers) + ParsedSigFileInput(fileName, qualNameOfFileR, hashDirectives, modules, trivia, identifiers) let inputT = ParsedInput.SigFile sigFileR inputT, moduleNamesDictR @@ -449,66 +433,54 @@ let ParseInput use _ = UseDiagnosticsLogger delayLogger use _ = UseBuildPhase BuildPhase.Parse - let mutable scopedPragmas = [] - try - let input = - let identStore = HashSet() - - let lexer = - if identCapture then - (fun x -> - let token = lexer x - - match token with - | Parser.token.PERCENT_OP ident - | Parser.token.FUNKY_OPERATOR_NAME ident - | Parser.token.ADJACENT_PREFIX_OP ident - | Parser.token.PLUS_MINUS_OP ident - | Parser.token.INFIX_AMP_OP ident - | Parser.token.INFIX_STAR_DIV_MOD_OP ident - | Parser.token.PREFIX_OP ident - | Parser.token.INFIX_BAR_OP ident - | Parser.token.INFIX_AT_HAT_OP ident - | Parser.token.INFIX_COMPARE_OP ident - | Parser.token.INFIX_STAR_STAR_OP ident - | Parser.token.IDENT ident -> identStore.Add ident |> ignore - | _ -> () - - token) - else - lexer - - if FSharpMLCompatFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then - if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - errorR (Error(FSComp.SR.buildInvalidSourceFileExtensionML fileName, rangeStartup)) - else - mlCompatWarning (FSComp.SR.buildCompilingExtensionIsForML ()) rangeStartup - - // Call the appropriate parser - for signature files or implementation files - if FSharpImplFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then - let impl = Parser.implementationFile lexer lexbuf - - let tripleSlashComments = XmlDocStore.ReportInvalidXmlDocPositions(lexbuf) - - PostParseModuleImpls(defaultNamespace, fileName, isLastCompiland, impl, lexbuf, tripleSlashComments, Set identStore) - elif FSharpSigFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then - let intfs = Parser.signatureFile lexer lexbuf - - let tripleSlashComments = XmlDocStore.ReportInvalidXmlDocPositions(lexbuf) + let identStore = HashSet() + + let lexer = + if identCapture then + (fun x -> + let token = lexer x + + match token with + | Parser.token.PERCENT_OP ident + | Parser.token.FUNKY_OPERATOR_NAME ident + | Parser.token.ADJACENT_PREFIX_OP ident + | Parser.token.PLUS_MINUS_OP ident + | Parser.token.INFIX_AMP_OP ident + | Parser.token.INFIX_STAR_DIV_MOD_OP ident + | Parser.token.PREFIX_OP ident + | Parser.token.INFIX_BAR_OP ident + | Parser.token.INFIX_AT_HAT_OP ident + | Parser.token.INFIX_COMPARE_OP ident + | Parser.token.INFIX_STAR_STAR_OP ident + | Parser.token.IDENT ident -> identStore.Add ident |> ignore + | _ -> () - PostParseModuleSpecs(defaultNamespace, fileName, isLastCompiland, intfs, lexbuf, tripleSlashComments, Set identStore) - else if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - error (Error(FSComp.SR.buildInvalidSourceFileExtensionUpdated fileName, rangeStartup)) + token) else - error (Error(FSComp.SR.buildInvalidSourceFileExtension fileName, rangeStartup)) + lexer - scopedPragmas <- input.ScopedPragmas - input + if FSharpMLCompatFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then + if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then + errorR (Error(FSComp.SR.buildInvalidSourceFileExtensionML fileName, rangeStartup)) + else + mlCompatWarning (FSComp.SR.buildCompilingExtensionIsForML ()) rangeStartup + + // Call the appropriate parser - for signature files or implementation files + if FSharpImplFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then + let impl = Parser.implementationFile lexer lexbuf + PostParseModuleImpls(defaultNamespace, fileName, isLastCompiland, impl, lexbuf, diagnosticOptions, Set identStore) + elif FSharpSigFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then + let intfs = Parser.signatureFile lexer lexbuf + PostParseModuleSpecs(defaultNamespace, fileName, isLastCompiland, intfs, lexbuf, diagnosticOptions, Set identStore) + else if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then + error (Error(FSComp.SR.buildInvalidSourceFileExtensionUpdated fileName, rangeStartup)) + else + error (Error(FSComp.SR.buildInvalidSourceFileExtension fileName, rangeStartup)) finally // OK, now commit the errors, since the ScopedPragmas will (hopefully) have been scraped let filteringDiagnosticsLogger = - GetDiagnosticsLoggerFilteringByScopedPragmas(false, scopedPragmas, diagnosticOptions, diagnosticsLogger) + GetDiagnosticsLoggerFilteringByScopedNowarn(diagnosticOptions, diagnosticsLogger) delayLogger.CommitDelayedDiagnostics filteringDiagnosticsLogger @@ -572,20 +544,7 @@ let ReportParsingStatistics res = let EmptyParsedInput (fileName, isLastCompiland) = if FSharpSigFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then - ParsedInput.SigFile( - ParsedSigFileInput( - fileName, - QualFileNameOfImpls fileName [], - [], - [], - [], - { - ConditionalDirectives = [] - CodeComments = [] - }, - Set.empty - ) - ) + ParsedInput.SigFile(ParsedSigFileInput(fileName, QualFileNameOfImpls fileName [], [], [], ParsedInputTrivia.Empty, Set.empty)) else ParsedInput.ImplFile( ParsedImplFileInput( @@ -594,12 +553,8 @@ let EmptyParsedInput (fileName, isLastCompiland) = QualFileNameOfImpls fileName [], [], [], - [], isLastCompiland, - { - ConditionalDirectives = [] - CodeComments = [] - }, + ParsedInputTrivia.Empty, Set.empty ) ) @@ -836,11 +791,7 @@ let ParseInputFiles (tcConfig: TcConfig, lexResourceManager, sourceFiles, diagno tcConfig.exiter.Exit 1 let ProcessMetaCommandsFromInput - ( - nowarnF: 'state -> range * string -> 'state, - hashReferenceF: 'state -> range * string * Directive -> 'state, - loadSourceF: 'state -> range * string -> unit - ) + (hashReferenceF: 'state -> range * string * Directive -> 'state, loadSourceF: 'state -> range * string -> unit) (tcConfig: TcConfigBuilder, inp: ParsedInput, pathOfMetaCommandSource, state0) = @@ -884,11 +835,6 @@ let ProcessMetaCommandsFromInput state - | ParsedHashDirective("nowarn", hashArguments, m) -> - let arguments = parsedHashDirectiveArgumentsNoCheck hashArguments - - List.fold (fun state d -> nowarnF state (m, d)) state arguments - | ParsedHashDirective(("reference" | "r") as c, [], m) -> if not canHaveScriptMetaCommands then errorR (HashDirectiveNotAllowedInNonScript m) @@ -1009,19 +955,9 @@ let ProcessMetaCommandsFromInput let state = List.fold ProcessMetaCommandsFromModuleImpl state implFile.Contents state -let ApplyNoWarnsToTcConfig (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource) = - // Clone - let tcConfigB = tcConfig.CloneToBuilder() - let addNoWarn = fun () (m, s) -> tcConfigB.TurnWarningOff(m, s) - let addReference = fun () (_m, _s, _) -> () - let addLoadedSource = fun () (_m, _s) -> () - ProcessMetaCommandsFromInput (addNoWarn, addReference, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ()) - TcConfig.Create(tcConfigB, validate = false) - let ApplyMetaCommandsFromInputToTcConfig (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource, dependencyProvider) = // Clone let tcConfigB = tcConfig.CloneToBuilder() - let getWarningNumber = fun () _ -> () let addReferenceDirective = fun () (m, path, directive) -> tcConfigB.AddReferenceDirective(dependencyProvider, m, path, directive) @@ -1029,7 +965,7 @@ let ApplyMetaCommandsFromInputToTcConfig (tcConfig: TcConfig, inp: ParsedInput, let addLoadedSource = fun () (m, s) -> tcConfigB.AddLoadedSource(m, s, pathOfMetaCommandSource) - ProcessMetaCommandsFromInput (getWarningNumber, addReferenceDirective, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ()) + ProcessMetaCommandsFromInput (addReferenceDirective, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ()) TcConfig.Create(tcConfigB, validate = false) /// Build the initial type checking environment @@ -1198,14 +1134,14 @@ let AddCheckResultsToTcState // Add the implementation as to the implementation env let tcImplEnv = - AddLocalRootModuleOrNamespace TcResultsSink.NoSink tcGlobals amap m tcImplEnv implFileSigType + AddLocalRootModuleOrNamespace tcGlobals amap m tcImplEnv implFileSigType // Add the implementation as to the signature env (unless it had an explicit signature) let tcSigEnv = if hadSig then tcState.tcsTcSigEnv else - AddLocalRootModuleOrNamespace TcResultsSink.NoSink tcGlobals amap m tcState.tcsTcSigEnv implFileSigType + AddLocalRootModuleOrNamespace tcGlobals amap m tcState.tcsTcSigEnv implFileSigType // Open the prefixPath for fsi.exe (tcImplEnv) let tcImplEnv, openDecls = @@ -1269,7 +1205,7 @@ let SkippedImplFilePlaceholder (tcConfig: TcConfig, tcImports: TcImports, tcGlob tcState let emptyImplFile = - CheckedImplFile(qualNameOfFile, [], rootSigTy, ModuleOrNamespaceContents.TMDefs [], false, false, StampMap [], Map.empty) + CheckedImplFile(qualNameOfFile, rootSigTy, ModuleOrNamespaceContents.TMDefs [], false, false, StampMap [], Map.empty) let tcEnvAtEnd = tcStateForImplFile.TcEnvFromImpls Some((tcEnvAtEnd, EmptyTopAttrs, Some emptyImplFile, ccuSigForFile), tcState) @@ -1402,15 +1338,15 @@ let CheckOneInput } // Within a file, equip loggers to locally filter w.r.t. scope pragmas in each input -let DiagnosticsLoggerForInput (tcConfig: TcConfig, input: ParsedInput, oldLogger) = - GetDiagnosticsLoggerFilteringByScopedPragmas(false, input.ScopedPragmas, tcConfig.diagnosticsOptions, oldLogger) +let DiagnosticsLoggerForInput (tcConfig: TcConfig, oldLogger) = + GetDiagnosticsLoggerFilteringByScopedNowarn(tcConfig.diagnosticsOptions, oldLogger) /// Typecheck a single file (or interactive entry into F# Interactive) let CheckOneInputEntry (ctok, checkForErrors, tcConfig: TcConfig, tcImports, tcGlobals, prefixPathOpt) tcState input = cancellable { // Equip loggers to locally filter w.r.t. scope pragmas in each input use _ = - UseTransformedDiagnosticsLogger(fun oldLogger -> DiagnosticsLoggerForInput(tcConfig, input, oldLogger)) + UseTransformedDiagnosticsLogger(fun oldLogger -> DiagnosticsLoggerForInput(tcConfig, oldLogger)) use _ = UseBuildPhase BuildPhase.TypeCheck @@ -1563,7 +1499,7 @@ let CheckOneInputWithCallback let rootSigs = Zmap.add qualNameOfFile sigFileType tcState.tcsRootSigs let tcSigEnv = - AddLocalRootModuleOrNamespace TcResultsSink.NoSink tcGlobals amap m tcState.tcsTcSigEnv sigFileType + AddLocalRootModuleOrNamespace tcGlobals amap m tcState.tcsTcSigEnv sigFileType // Add the signature to the signature env (unless it had an explicit signature) let ccuSigForFile = CombineCcuContentFragments [ sigFileType; tcState.tcsCcuSig ] @@ -1915,7 +1851,7 @@ let CheckMultipleInputsUsingGraphMode inputsWithLoggers |> List.toArray |> Array.map (fun (input, oldLogger) -> - let logger = DiagnosticsLoggerForInput(tcConfig, input, oldLogger) + let logger = DiagnosticsLoggerForInput(tcConfig, oldLogger) input, logger) let processFile (node: NodeToTypeCheck) (state: State) : Finisher = diff --git a/src/Compiler/Driver/ParseAndCheckInputs.fsi b/src/Compiler/Driver/ParseAndCheckInputs.fsi index fb32a4557c..281638b568 100644 --- a/src/Compiler/Driver/ParseAndCheckInputs.fsi +++ b/src/Compiler/Driver/ParseAndCheckInputs.fsi @@ -7,12 +7,12 @@ open System.IO open Internal.Utilities.Library open FSharp.Compiler.CheckBasics open FSharp.Compiler.CheckDeclarations -open FSharp.Compiler.CompilerGlobalState open FSharp.Compiler.CompilerConfig open FSharp.Compiler.CompilerImports open FSharp.Compiler.Diagnostics open FSharp.Compiler.DependencyManager open FSharp.Compiler.DiagnosticsLogger +open FSharp.Compiler.Features open FSharp.Compiler.GraphChecking open FSharp.Compiler.NameResolution open FSharp.Compiler.Syntax @@ -78,16 +78,13 @@ val ParseInput: /// A general routine to process hash directives val ProcessMetaCommandsFromInput: - ('T -> range * string -> 'T) * ('T -> range * string * Directive -> 'T) * ('T -> range * string -> unit) -> + ('T -> range * string * Directive -> 'T) * ('T -> range * string -> unit) -> TcConfigBuilder * ParsedInput * string * 'T -> 'T -/// Process all the #r, #I etc. in an input. For non-scripts report warnings about ignored directives. +/// Process all the #r, #I etc. in an input. val ApplyMetaCommandsFromInputToTcConfig: TcConfig * ParsedInput * string * DependencyProvider -> TcConfig -/// Process the #nowarn in an input and integrate them into the TcConfig -val ApplyNoWarnsToTcConfig: TcConfig * ParsedInput * string -> TcConfig - /// Parse one input stream val ParseOneInputStream: tcConfig: TcConfig * diff --git a/src/Compiler/Driver/ScriptClosure.fs b/src/Compiler/Driver/ScriptClosure.fs index b45049627c..a9dd544262 100644 --- a/src/Compiler/Driver/ScriptClosure.fs +++ b/src/Compiler/Driver/ScriptClosure.fs @@ -63,9 +63,6 @@ type LoadClosure = /// The #load, including those that didn't resolve OriginalLoadReferences: (range * string * string) list - /// The #nowarns - NoWarns: (string * range list) list - /// Diagnostics seen while processing resolutions ResolutionDiagnostics: (PhasedDiagnostic * FSharpDiagnosticSeverity) list @@ -95,8 +92,7 @@ module ScriptPreprocessClosure = range: range * parsedInput: ParsedInput option * parseDiagnostics: (PhasedDiagnostic * FSharpDiagnosticSeverity) list * - metaDiagnostics: (PhasedDiagnostic * FSharpDiagnosticSeverity) list * - nowarns: (string * range) list + metaDiagnostics: (PhasedDiagnostic * FSharpDiagnosticSeverity) list type Observed() = let seen = Dictionary<_, bool>() @@ -262,13 +258,9 @@ module ScriptPreprocessClosure = errorRecovery exn m [] - let ApplyMetaCommandsFromInputToTcConfigAndGatherNoWarn - (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource, dependencyProvider) - = + let ApplyMetaCommandsFromInputToTcConfig (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource, dependencyProvider) = let tcConfigB = tcConfig.CloneToBuilder() - let mutable nowarns = [] - let getWarningNumber () (m, s) = nowarns <- (s, m) :: nowarns let addReferenceDirective () (m, s, directive) = tcConfigB.AddReferenceDirective(dependencyProvider, m, s, directive) @@ -277,19 +269,17 @@ module ScriptPreprocessClosure = tcConfigB.AddLoadedSource(m, s, pathOfMetaCommandSource) try - ProcessMetaCommandsFromInput - (getWarningNumber, addReferenceDirective, addLoadedSource) - (tcConfigB, inp, pathOfMetaCommandSource, ()) + ProcessMetaCommandsFromInput (addReferenceDirective, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ()) with ReportedError _ -> // Recover by using whatever did end up in the tcConfig () try - TcConfig.Create(tcConfigB, validate = false), nowarns + TcConfig.Create(tcConfigB, validate = false) with ReportedError _ -> // Recover by using a default TcConfig. let tcConfigB = tcConfig.CloneToBuilder() - TcConfig.Create(tcConfigB, validate = false), nowarns + TcConfig.Create(tcConfigB, validate = false) let getDirective d = match d with @@ -474,13 +464,8 @@ module ScriptPreprocessClosure = let pathOfMetaCommandSource = !!Path.GetDirectoryName(fileName) let preSources = tcConfig.GetAvailableLoadedSources() - let tcConfigResult, noWarns = - ApplyMetaCommandsFromInputToTcConfigAndGatherNoWarn( - tcConfig, - parseResult, - pathOfMetaCommandSource, - dependencyProvider - ) + let tcConfigResult = + ApplyMetaCommandsFromInputToTcConfig(tcConfig, parseResult, pathOfMetaCommandSource, dependencyProvider) tcConfig <- tcConfigResult // We accumulate the tcConfig in order to collect assembly references @@ -501,14 +486,14 @@ module ScriptPreprocessClosure = for subSource in ClosureSourceOfFilename(subFile, m, tcConfigResult.inputCodePage, false) do yield! processClosureSource subSource else - ClosureFile(subFile, m, None, [], [], []) + ClosureFile(subFile, m, None, [], []) - ClosureFile(fileName, m, Some parseResult, parseDiagnostics, diagnosticsLogger.Diagnostics, noWarns) + ClosureFile(fileName, m, Some parseResult, parseDiagnostics, diagnosticsLogger.Diagnostics) else // Don't traverse into .fs leafs. printfn "yielding non-script source %s" fileName - ClosureFile(fileName, m, None, [], [], []) + ClosureFile(fileName, m, None, [], []) ] let sources = closureSources |> List.collect processClosureSource @@ -520,32 +505,22 @@ module ScriptPreprocessClosure = /// Mark the last file as isLastCompiland. let MarkLastCompiland (tcConfig: TcConfig, lastClosureFile) = - let (ClosureFile(fileName, m, lastParsedInput, parseDiagnostics, metaDiagnostics, nowarns)) = + let (ClosureFile(fileName, m, lastParsedInput, parseDiagnostics, metaDiagnostics)) = lastClosureFile match lastParsedInput with | Some(ParsedInput.ImplFile lastParsedImplFile) -> - let (ParsedImplFileInput(name, isScript, qualNameOfFile, scopedPragmas, hashDirectives, implFileFlags, _, trivia, identifiers)) = + let (ParsedImplFileInput(name, isScript, qualNameOfFile, hashDirectives, implFileFlags, _, trivia, identifiers)) = lastParsedImplFile let isLastCompiland = (true, tcConfig.target.IsExe) let lastParsedImplFileR = - ParsedImplFileInput( - name, - isScript, - qualNameOfFile, - scopedPragmas, - hashDirectives, - implFileFlags, - isLastCompiland, - trivia, - identifiers - ) + ParsedImplFileInput(name, isScript, qualNameOfFile, hashDirectives, implFileFlags, isLastCompiland, trivia, identifiers) let lastClosureFileR = - ClosureFile(fileName, m, Some(ParsedInput.ImplFile lastParsedImplFileR), parseDiagnostics, metaDiagnostics, nowarns) + ClosureFile(fileName, m, Some(ParsedInput.ImplFile lastParsedImplFileR), parseDiagnostics, metaDiagnostics) lastClosureFileR | _ -> lastClosureFile @@ -563,12 +538,12 @@ module ScriptPreprocessClosure = // Get all source files. let sourceFiles = - [ for ClosureFile(fileName, m, _, _, _, _) in closureFiles -> (fileName, m) ] + [ for ClosureFile(fileName, m, _, _, _) in closureFiles -> (fileName, m) ] let sourceInputs = [ for closureFile in closureFiles -> - let (ClosureFile(fileName, _, input, parseDiagnostics, metaDiagnostics, _nowarns)) = + let (ClosureFile(fileName, _, input, parseDiagnostics, metaDiagnostics)) = closureFile let closureInput: LoadClosureInput = @@ -582,10 +557,6 @@ module ScriptPreprocessClosure = closureInput ] - let globalNoWarns = - closureFiles - |> List.collect (fun (ClosureFile(_, _, _, _, _, noWarns)) -> noWarns) - // Resolve all references. let references, unresolvedReferences, resolutionDiagnostics = let diagnosticsLogger = CapturingDiagnosticsLogger("GetLoadClosure") @@ -601,7 +572,7 @@ module ScriptPreprocessClosure = // Root errors and warnings - look at the last item in the closureFiles list let loadClosureRootDiagnostics, allRootDiagnostics = match List.rev closureFiles with - | ClosureFile(_, _, _, parseDiagnostics, metaDiagnostics, _) :: _ -> + | ClosureFile(_, _, _, parseDiagnostics, metaDiagnostics) :: _ -> (earlierDiagnostics @ metaDiagnostics @ resolutionDiagnostics), (parseDiagnostics @ earlierDiagnostics @ metaDiagnostics @ resolutionDiagnostics) | _ -> [], [] // When no file existed. @@ -632,7 +603,6 @@ module ScriptPreprocessClosure = SdkDirOverride = tcConfig.sdkDirOverride UnresolvedReferences = unresolvedReferences Inputs = sourceInputs - NoWarns = List.groupBy fst globalNoWarns |> List.map (map2Of2 (List.map snd)) OriginalLoadReferences = tcConfig.loadedSources ResolutionDiagnostics = resolutionDiagnostics AllRootFileDiagnostics = allRootDiagnostics diff --git a/src/Compiler/Driver/ScriptClosure.fsi b/src/Compiler/Driver/ScriptClosure.fsi index 249885036c..b54b9b2f0d 100644 --- a/src/Compiler/Driver/ScriptClosure.fsi +++ b/src/Compiler/Driver/ScriptClosure.fsi @@ -60,9 +60,6 @@ type LoadClosure = /// The original #load references, including those that didn't resolve OriginalLoadReferences: (range * string * string) list - /// The #nowarns - NoWarns: (string * range list) list - /// Diagnostics seen while processing resolutions ResolutionDiagnostics: (PhasedDiagnostic * FSharpDiagnosticSeverity) list diff --git a/src/Compiler/Driver/fsc.fs b/src/Compiler/Driver/fsc.fs index 3518d9d488..2ef07e66e6 100644 --- a/src/Compiler/Driver/fsc.fs +++ b/src/Compiler/Driver/fsc.fs @@ -77,7 +77,7 @@ type DiagnosticsLoggerUpToMaxErrors(tcConfigB: TcConfigBuilder, exiter: Exiter, override x.DiagnosticSink(diagnostic, severity) = let tcConfig = TcConfig.Create(tcConfigB, validate = false) - match diagnostic.AdjustSeverity(tcConfigB.diagnosticsOptions, severity) with + match diagnostic.AdjustSeverity(tcConfig.diagnosticsOptions, severity) with | FSharpDiagnosticSeverity.Error -> if errors >= tcConfig.maxErrors then x.HandleTooManyErrors(FSComp.SR.fscTooManyErrors ()) @@ -225,11 +225,6 @@ let AdjustForScriptCompile (tcConfigB: TcConfigBuilder, commandLineSourceFiles, references |> List.iter (fun r -> tcConfigB.AddReferencedAssemblyByPath(r.originalReference.Range, r.resolvedPath)) - // Also record the other declarations from the script. - closure.NoWarns - |> List.collect (fun (n, ms) -> ms |> List.map (fun m -> m, n)) - |> List.iter (fun (x, m) -> tcConfigB.TurnWarningOff(x, m)) - closure.SourceFiles |> List.map fst |> List.iter AddIfNotPresent closure.AllRootFileDiagnostics |> List.iter diagnosticSink @@ -644,7 +639,6 @@ let main1 if not tcConfig.continueAfterParseFailure then AbortOnError(diagnosticsLogger, exiter) - // Apply any nowarn flags let tcConfig = (tcConfig, inputs) ||> List.fold (fun z (input, sourceFileDirectory) -> @@ -735,13 +729,7 @@ let main2 let oldLogger = diagnosticsLogger let diagnosticsLogger = - let scopedPragmas = - [ - for CheckedImplFile(pragmas = pragmas) in typedImplFiles do - yield! pragmas - ] - - GetDiagnosticsLoggerFilteringByScopedPragmas(true, scopedPragmas, tcConfig.diagnosticsOptions, oldLogger) + GetDiagnosticsLoggerFilteringByScopedNowarn(tcConfig.diagnosticsOptions, oldLogger) SetThreadDiagnosticsLoggerNoUnwind diagnosticsLogger diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 9bfa12ce96..78dde5bd14 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1526,6 +1526,7 @@ notAFunctionButMaybeDeclaration,"This value is not a function and cannot be appl 3245,tcCopyAndUpdateNeedsRecordType,"The input to a copy-and-update expression that creates an anonymous record must be either an anonymous record or a record" 3246,tcAugmentationsCannotHaveAttributes,"Attributes cannot be applied to type extensions." 3247,couldNotLoadDependencyManagerExtension,"The dependency manager extension %s could not be loaded. Message: %s" +3248,tcPropertyCannotBeSetPrivateSetter,"Property '%s' cannot be set because the setter is private" 3250,expressionHasNoName,"Expression does not have a name." 3251,chkNoFirstClassNameOf,"Using the 'nameof' operator as a first-class function value is not permitted." 3252,tcIllegalByrefsInOpenTypeDeclaration,"Byref types are not allowed in an open type declaration." @@ -1798,3 +1799,12 @@ featureDontWarnOnUppercaseIdentifiersInBindingPatterns,"Don't warn on uppercase featureDeprecatePlacesWhereSeqCanBeOmitted,"Deprecate places where 'seq' can be omitted" featureSupportValueOptionsAsOptionalParameters,"Support ValueOption as valid type for optional member parameters" featureSupportWarnWhenUnitPassedToObjArg,"Warn when unit is passed to a member accepting `obj` argument, e.g. `Method(o:obj)` will warn if called via `Method()`." +featureUseBangBindingValueDiscard,"Allows use! _ = ... in computation expressions" +featureBetterAnonymousRecordParsing,"Support for better anonymous record parsing" +featureScopedNowarn,"Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules" +featureAllowLetOrUseBangTypeAnnotationWithoutParens,"Allow let! and use! type annotations without requiring parentheses" +3874,lexWarnDirectiveMustBeFirst,"#nowarn/#warnon directives must appear as the first non-whitespace characters on a line" +3875,lexWarnDirectiveMustHaveArgs,"Warn directives must have warning number(s) as argument(s)" +3876,lexWarnDirectivesMustMatch,"There is another %s for this warning already in line %d." +3877,lexLineDirectiveMappingIsNotUnique,"The file '%s' was also pointed to in a line directive in '%s'. Proper warn directive application may not be possible." +3878,tcAttributeIsNotValidForUnionCaseWithFields,"This attribute is not valid for use on union cases with fields." \ No newline at end of file diff --git a/src/Compiler/FSStrings.resx b/src/Compiler/FSStrings.resx index abb2bb57f5..1b8be22d31 100644 --- a/src/Compiler/FSStrings.resx +++ b/src/Compiler/FSStrings.resx @@ -357,6 +357,12 @@ symbol '=' + + symbol '>|}' + + + symbol '@>|}' or '@@>|}' + symbol '>|]' diff --git a/src/Compiler/FSharp.Compiler.Service.fsproj b/src/Compiler/FSharp.Compiler.Service.fsproj index 30d3d918fd..3953da8944 100644 --- a/src/Compiler/FSharp.Compiler.Service.fsproj +++ b/src/Compiler/FSharp.Compiler.Service.fsproj @@ -148,6 +148,8 @@ + + @@ -280,6 +282,8 @@ + + diff --git a/src/Compiler/Facilities/CompilerLocation.fs b/src/Compiler/Facilities/CompilerLocation.fs index abd436647a..03251f2109 100644 --- a/src/Compiler/Facilities/CompilerLocation.fs +++ b/src/Compiler/Facilities/CompilerLocation.fs @@ -123,6 +123,7 @@ module internal FSharpEnvironment = |] elif typeof.Assembly.GetName().Name = "System.Private.CoreLib" then [| + "net10.0" "net9.0" "net8.0" "net7.0" diff --git a/src/Compiler/Facilities/DiagnosticOptions.fs b/src/Compiler/Facilities/DiagnosticOptions.fs index 2a3a6ffe74..b5f87d482a 100644 --- a/src/Compiler/Facilities/DiagnosticOptions.fs +++ b/src/Compiler/Facilities/DiagnosticOptions.fs @@ -20,6 +20,7 @@ type FSharpDiagnosticOptions = WarnOn: int list WarnAsError: int list WarnAsWarn: int list + mutable WarnScopeData: obj option } static member Default = @@ -30,6 +31,7 @@ type FSharpDiagnosticOptions = WarnOn = [] WarnAsError = [] WarnAsWarn = [] + WarnScopeData = None } member x.CheckXmlDocs = diff --git a/src/Compiler/Facilities/DiagnosticOptions.fsi b/src/Compiler/Facilities/DiagnosticOptions.fsi index 8ff6b3d2f8..a6f041c7ed 100644 --- a/src/Compiler/Facilities/DiagnosticOptions.fsi +++ b/src/Compiler/Facilities/DiagnosticOptions.fsi @@ -19,7 +19,8 @@ type FSharpDiagnosticOptions = WarnOff: int list WarnOn: int list WarnAsError: int list - WarnAsWarn: int list } + WarnAsWarn: int list + mutable WarnScopeData: obj option } static member Default: FSharpDiagnosticOptions diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 7a9a14b860..246ec741d6 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -99,6 +99,10 @@ type LanguageFeature = | DeprecatePlacesWhereSeqCanBeOmitted | SupportValueOptionsAsOptionalParameters | WarnWhenUnitPassedToObjArg + | UseBangBindingValueDiscard + | BetterAnonymousRecordParsing + | ScopedNowarn + | AllowTypedLetOrUseBang /// LanguageVersion management type LanguageVersion(versionText) = @@ -229,6 +233,10 @@ type LanguageVersion(versionText) = LanguageFeature.DeprecatePlacesWhereSeqCanBeOmitted, previewVersion LanguageFeature.SupportValueOptionsAsOptionalParameters, previewVersion LanguageFeature.WarnWhenUnitPassedToObjArg, previewVersion + LanguageFeature.UseBangBindingValueDiscard, previewVersion + LanguageFeature.BetterAnonymousRecordParsing, previewVersion + LanguageFeature.ScopedNowarn, previewVersion + LanguageFeature.AllowTypedLetOrUseBang, previewVersion ] static let defaultLanguageVersion = LanguageVersion("default") @@ -391,6 +399,10 @@ type LanguageVersion(versionText) = | LanguageFeature.DeprecatePlacesWhereSeqCanBeOmitted -> FSComp.SR.featureDeprecatePlacesWhereSeqCanBeOmitted () | LanguageFeature.SupportValueOptionsAsOptionalParameters -> FSComp.SR.featureSupportValueOptionsAsOptionalParameters () | LanguageFeature.WarnWhenUnitPassedToObjArg -> FSComp.SR.featureSupportWarnWhenUnitPassedToObjArg () + | LanguageFeature.UseBangBindingValueDiscard -> FSComp.SR.featureUseBangBindingValueDiscard () + | LanguageFeature.BetterAnonymousRecordParsing -> FSComp.SR.featureBetterAnonymousRecordParsing () + | LanguageFeature.ScopedNowarn -> FSComp.SR.featureScopedNowarn () + | LanguageFeature.AllowTypedLetOrUseBang -> FSComp.SR.featureAllowLetOrUseBangTypeAnnotationWithoutParens () /// Get a version string associated with the given feature. static member GetFeatureVersionString feature = diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index 410a8b193c..c9e70ce156 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -90,6 +90,10 @@ type LanguageFeature = | DeprecatePlacesWhereSeqCanBeOmitted | SupportValueOptionsAsOptionalParameters | WarnWhenUnitPassedToObjArg + | UseBangBindingValueDiscard + | BetterAnonymousRecordParsing + | ScopedNowarn + | AllowTypedLetOrUseBang /// LanguageVersion management type LanguageVersion = diff --git a/src/Compiler/Interactive/fsi.fs b/src/Compiler/Interactive/fsi.fs index 78d5cb94dc..662ba9752e 100644 --- a/src/Compiler/Interactive/fsi.fs +++ b/src/Compiler/Interactive/fsi.fs @@ -41,11 +41,8 @@ open FSharp.Compiler.CompilerOptions open FSharp.Compiler.CompilerConfig open FSharp.Compiler.CompilerDiagnostics open FSharp.Compiler.CompilerImports -open FSharp.Compiler.CompilerGlobalState -open FSharp.Compiler.CreateILModule open FSharp.Compiler.DependencyManager open FSharp.Compiler.Diagnostics -open FSharp.Compiler.EditorServices open FSharp.Compiler.DiagnosticsLogger open FSharp.Compiler.Features open FSharp.Compiler.IlxGen @@ -70,7 +67,6 @@ open FSharp.Compiler.Xml open FSharp.Compiler.Tokenization open FSharp.Compiler.TypedTree open FSharp.Compiler.TypedTreeOps -open FSharp.Compiler.BuildGraph open FSharp.Compiler.CheckExpressionsOps //---------------------------------------------------------------------------- @@ -1671,9 +1667,10 @@ let internal mkBoundValueTypedImpl tcGlobals m moduleName name ty = let contents = TMDefs([ TMDefs[TMDefRec(false, [], [], [ mbinding ], m)] ]) let qname = QualifiedNameOfFile.QualifiedNameOfFile(Ident(moduleName, m)) - entity, v, CheckedImplFile.CheckedImplFile(qname, [], mty, contents, false, false, StampMap.Empty, Map.empty) + entity, v, CheckedImplFile.CheckedImplFile(qname, mty, contents, false, false, StampMap.Empty, Map.empty) -let dynamicCcuName = "FSI-ASSEMBLY" +let dynamicCcuName (isEmitMulti) = + $"""FSI-ASSEMBLY{if isEmitMulti then "-MULTI" else ""}""" /// Encapsulates the coordination of the typechecking, optimization and code generation /// components of the F# compiler for interactively executed fragments of code. @@ -1723,7 +1720,11 @@ type internal FsiDynamicCompiler None else let assemBuilder, moduleBuilder = - mkDynamicAssemblyAndModule (dynamicCcuName, tcConfigB.optSettings.LocalOptimizationsEnabled, fsiCollectible) + mkDynamicAssemblyAndModule ( + dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit), + tcConfigB.optSettings.LocalOptimizationsEnabled, + fsiCollectible + ) dynamicAssemblies.Add(assemBuilder) Some(assemBuilder, moduleBuilder) @@ -1813,7 +1814,7 @@ type internal FsiDynamicCompiler let attrs = [ - tcGlobals.MakeInternalsVisibleToAttribute(dynamicCcuName) + tcGlobals.MakeInternalsVisibleToAttribute(dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit)) yield! manifest.CustomAttrs.AsList() ] @@ -1960,7 +1961,9 @@ type internal FsiDynamicCompiler diagnosticsLogger.AbortOnError(fsiConsoleOutput) ReportTime tcConfig "Linking" - let ilxMainModule = CreateModuleFragment(tcConfigB, dynamicCcuName, codegenResults) + + let ilxMainModule = + CreateModuleFragment(tcConfigB, dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit), codegenResults) diagnosticsLogger.AbortOnError(fsiConsoleOutput) @@ -2475,13 +2478,9 @@ type internal FsiDynamicCompiler true, ComputeQualifiedNameOfFileFromUniquePath(m, prefixPath), [], - [], [ impl ], (isLastCompiland, isExe), - { - ConditionalDirectives = [] - CodeComments = [] - }, + ParsedInputTrivia.Empty, Set.empty ) ) @@ -2652,7 +2651,7 @@ type internal FsiDynamicCompiler let tcEnv, asms = try - RequireReferences(ctok, tcImports, tcState.TcEnvFromImpls, dynamicCcuName, resolutions) + RequireReferences(ctok, tcImports, tcState.TcEnvFromImpls, dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit), resolutions) with _ -> for (path, _, _, m) in refs do tcConfigB.RemoveReferencedAssemblyByPath(m, path) @@ -2822,14 +2821,11 @@ type internal FsiDynamicCompiler = WithImplicitHome (tcConfigB, directoryName sourceFile) (fun () -> ProcessMetaCommandsFromInput - ((fun st (m, nm) -> - tcConfigB.TurnWarningOff(m, nm) - st), - (fun st (m, path, directive) -> - let st, _ = - fsiDynamicCompiler.PartiallyProcessReferenceOrPackageIncludePathDirective(ctok, st, directive, path, false, m) + ((fun st (m, path, directive) -> + let st, _ = + fsiDynamicCompiler.PartiallyProcessReferenceOrPackageIncludePathDirective(ctok, st, directive, path, false, m) - st), + st), (fun _ _ -> ())) (tcConfigB, input, !!Path.GetDirectoryName(sourceFile), istate)) @@ -2868,10 +2864,6 @@ type internal FsiDynamicCompiler fsiConsoleOutput.uprintfn "]" - for (warnNum, ranges) in closure.NoWarns do - for m in ranges do - tcConfigB.TurnWarningOff(m, warnNum) - // Play errors and warnings from resolution closure.ResolutionDiagnostics |> List.iter diagnosticSink @@ -3025,7 +3017,7 @@ type internal FsiDynamicCompiler let emEnv0 = if tcConfigB.fsiMultiAssemblyEmit then let emEnv = - ILMultiInMemoryAssemblyEmitEnv(ilGlobals, resolveAssemblyRef, dynamicCcuName) + ILMultiInMemoryAssemblyEmitEnv(ilGlobals, resolveAssemblyRef, dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit)) MultipleInMemoryAssemblies emEnv else @@ -3041,10 +3033,10 @@ type internal FsiDynamicCompiler let emEnv = ILDynamicAssemblyWriter.emEnv0 SingleRefEmitAssembly(cenv, emEnv) - let tcEnv, openDecls0 = - GetInitialTcEnv(dynamicCcuName, rangeStdin0, tcConfig, tcImports, tcGlobals) + let ccuName = dynamicCcuName (tcConfigB.fsiMultiAssemblyEmit) - let ccuName = dynamicCcuName + let tcEnv, openDecls0 = + GetInitialTcEnv(ccuName, rangeStdin0, tcConfig, tcImports, tcGlobals) let tcState = GetInitialTcState(rangeStdin0, ccuName, tcConfig, tcGlobals, tcImports, tcEnv, openDecls0) @@ -3679,7 +3671,7 @@ type FsiInteractionProcessor error (Error(FSIstrings.SR.fsiDirectoryDoesNotExist (path), m)) /// Parse one interaction. Called on the parser thread. - let ParseInteraction (tokenizer: LexFilter.LexFilter) = + let ParseInteraction diagnosticOptions (tokenizer: LexFilter.LexFilter) = let mutable lastToken = Parser.ELSE // Any token besides SEMICOLON_SEMICOLON will do for initial value try @@ -3695,6 +3687,8 @@ type FsiInteractionProcessor Parser.interaction lexerWhichSavesLastToken tokenizer.LexBuffer) + WarnScopes.MergeInto diagnosticOptions false [] tokenizer.LexBuffer + Some input with e -> // On error, consume tokens until to ;; or EOF. @@ -3723,7 +3717,7 @@ type FsiInteractionProcessor let tokenizer = fsiStdinLexerProvider.CreateBufferLexer("hdummy.fsx", lexbuf, diagnosticsLogger) - let parsedInteraction = ParseInteraction tokenizer + let parsedInteraction = ParseInteraction tcConfigB.diagnosticsOptions tokenizer match parsedInteraction with | Some(ParsedScriptInteraction.Definitions([ SynModuleDecl.Expr(e, _) ], _)) -> @@ -3832,12 +3826,6 @@ type FsiInteractionProcessor istate, Completed None - | ParsedHashDirective("nowarn", nowarnArguments, m) -> - let numbers = (parsedHashDirectiveArgumentsNoCheck nowarnArguments) - - List.iter (fun (d: string) -> tcConfigB.TurnWarningOff(m, d)) numbers - istate, Completed None - | ParsedHashDirective("terms", [], _) -> tcConfigB.showTerms <- not tcConfigB.showTerms istate, Completed None @@ -4140,6 +4128,7 @@ type FsiInteractionProcessor runCodeOnMainThread, istate: FsiDynamicCompilerState, tokenizer: LexFilter.LexFilter, + diagnosticOptions, diagnosticsLogger, ?cancellationToken: CancellationToken ) = @@ -4166,7 +4155,7 @@ type FsiInteractionProcessor // Parse the interaction. When FSI.EXE is waiting for input from the console the // parser thread is blocked somewhere deep this call. - let action = ParseInteraction tokenizer + let action = ParseInteraction diagnosticOptions tokenizer if progress then fprintfn fsiConsoleOutput.Out "returned from ParseInteraction...calling runCodeOnMainThread..." @@ -4204,7 +4193,13 @@ type FsiInteractionProcessor let rec run istate = let status = - processor.ParseAndExecuteInteractionFromLexbuf((fun f istate -> f ctok istate), istate, tokenizer, diagnosticsLogger) + processor.ParseAndExecuteInteractionFromLexbuf( + (fun f istate -> f ctok istate), + istate, + tokenizer, + tcConfigB.diagnosticsOptions, + diagnosticsLogger + ) ProcessStepStatus status None (fun _ istate -> run istate) @@ -4284,7 +4279,7 @@ type FsiInteractionProcessor currState |> InteractiveCatch diagnosticsLogger (fun istate -> - let expr = ParseInteraction tokenizer + let expr = ParseInteraction tcConfigB.diagnosticsOptions tokenizer ExecuteParsedInteractionOnMainThread(ctok, diagnosticsLogger, expr, istate, cancellationToken)) |> commitResult @@ -4337,7 +4332,7 @@ type FsiInteractionProcessor // mainForm.Invoke to pipe a message back through the form's main event loop. (The message // is a delegate to execute on the main Thread) // - member processor.StartStdinReadAndProcessThread diagnosticsLogger = + member processor.StartStdinReadAndProcessThread(diagnosticOptions, diagnosticsLogger) = if progress then fprintfn fsiConsoleOutput.Out "creating stdinReaderThread" @@ -4371,6 +4366,7 @@ type FsiInteractionProcessor runCodeOnMainThread, currState, currTokenizer, + diagnosticOptions, diagnosticsLogger ) @@ -4978,7 +4974,7 @@ type FsiEvaluationSession | _ -> ()) fsiInteractionProcessor.LoadInitialFiles(ctokRun, diagnosticsLogger) - fsiInteractionProcessor.StartStdinReadAndProcessThread(diagnosticsLogger) + fsiInteractionProcessor.StartStdinReadAndProcessThread(tcConfigB.diagnosticsOptions, diagnosticsLogger) DriveFsiEventLoop(fsi, fsiInterruptController, fsiConsoleOutput) diff --git a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs index f03db8f5e6..0b1f58713b 100644 --- a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs +++ b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs @@ -330,8 +330,8 @@ type ReqdItem = let reqdItemOrder = let rep = function - | ReqdSubEnv v -> true, v - | ReqdVal v -> false, v + | ReqdSubEnv v -> struct (true, v) + | ReqdVal v -> struct (false, v) Order.orderOn rep (Pair.order (Bool.order, valOrder)) @@ -1332,9 +1332,9 @@ module Pass4_RewriteAssembly = let rhs, z = TransModuleContents penv z rhs ModuleOrNamespaceBinding.Module(nm, rhs), z - let TransImplFile penv z (CheckedImplFile (fragName, pragmas, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = + let TransImplFile penv z (CheckedImplFile (fragName, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = let contentsR, z = TransModuleContents penv z contents - (CheckedImplFile (fragName, pragmas, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)), z + (CheckedImplFile (fragName, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)), z //------------------------------------------------------------------------- // pass5: copyExpr diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index 2840331f54..52e404cea3 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -4367,7 +4367,7 @@ and OptimizeModuleDefs cenv (env, bindInfosColl) defs = (defs, UnionOptimizationInfos minfos), (env, bindInfosColl) and OptimizeImplFileInternal cenv env isIncrementalFragment hidden implFile = - let (CheckedImplFile (qname, pragmas, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile + let (CheckedImplFile (qname, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile let env, contentsR, minfo, hidden = // FSI compiles interactive fragments as if you're typing incrementally into one module. // @@ -4389,7 +4389,7 @@ and OptimizeImplFileInternal cenv env isIncrementalFragment hidden implFile = let env = BindValsInModuleOrNamespace cenv minfo env env, mexprR, minfoExternal, hidden - let implFileR = CheckedImplFile (qname, pragmas, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) + let implFileR = CheckedImplFile (qname, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) env, implFileR, minfo, hidden diff --git a/src/Compiler/Service/BackgroundCompiler.fs b/src/Compiler/Service/BackgroundCompiler.fs index 5eb8bd35f9..29d73f6361 100644 --- a/src/Compiler/Service/BackgroundCompiler.fs +++ b/src/Compiler/Service/BackgroundCompiler.fs @@ -1350,8 +1350,6 @@ type internal BackgroundCompiler yield! otherFlags for r in loadClosure.References do yield "-r:" + fst r - for code, _ in loadClosure.NoWarns do - yield "--nowarn:" + code |] let options = @@ -1479,7 +1477,7 @@ type internal BackgroundCompiler member _.BeforeBackgroundFileCheck = self.BeforeBackgroundFileCheck - member _.CheckFileInProject + member this.CheckFileInProject ( parseResults: FSharpParseFileResults, fileName: string, @@ -1488,7 +1486,13 @@ type internal BackgroundCompiler options: FSharpProjectOptions, userOpName: string ) : Async = - self.CheckFileInProject(parseResults, fileName, fileVersion, sourceText, options, userOpName) + async { + ignore parseResults + + let! _, result = this.ParseAndCheckFileInProject(fileName, fileVersion, sourceText, options, userOpName) + + return result + } member _.CheckFileInProjectAllowingStaleCachedResults ( diff --git a/src/Compiler/Service/FSharpCheckerResults.fs b/src/Compiler/Service/FSharpCheckerResults.fs index 57d322c81a..a169b4a6a5 100644 --- a/src/Compiler/Service/FSharpCheckerResults.fs +++ b/src/Compiler/Service/FSharpCheckerResults.fs @@ -3102,8 +3102,14 @@ module internal ParseAndCheckFile = errHandler.CollectedDiagnostics(None), parseResult, errHandler.AnyErrors let ApplyLoadClosure - (tcConfig, parsedMainInput, mainInputFileName: string, loadClosure: LoadClosure option, tcImports: TcImports, backgroundDiagnostics) - = + ( + tcConfig: TcConfig, + parsedMainInput, + mainInputFileName: string, + loadClosure: LoadClosure option, + tcImports: TcImports, + backgroundDiagnostics + ) = // If additional references were brought in by the preprocessor then we need to process them match loadClosure with @@ -3240,13 +3246,6 @@ module internal ParseAndCheckFile = use _unwindBP = UseBuildPhase BuildPhase.TypeCheck - // Apply nowarns to tcConfig (may generate errors, so ensure diagnosticsLogger is installed) - let tcConfig = - ApplyNoWarnsToTcConfig(tcConfig, parsedMainInput, !!Path.GetDirectoryName(mainInputFileName)) - - // update the error handler with the modified tcConfig - errHandler.DiagnosticOptions <- tcConfig.diagnosticsOptions - // If additional references were brought in by the preprocessor then we need to process them ApplyLoadClosure(tcConfig, parsedMainInput, mainInputFileName, loadClosure, tcImports, backgroundDiagnostics) @@ -3293,7 +3292,9 @@ module internal ParseAndCheckFile = // Play background errors and warnings for this file. do for err, severity in backgroundDiagnostics do - diagnosticSink (err, severity) + match err.AdjustSeverity(tcConfig.diagnosticsOptions, severity) with + | FSharpDiagnosticSeverity.Hidden -> () + | s -> diagnosticSink (err, s) let (tcEnvAtEnd, _, implFiles, ccuSigsForFiles), tcState = resOpt diff --git a/src/Compiler/Service/IncrementalBuild.fs b/src/Compiler/Service/IncrementalBuild.fs index 0cdc4b9235..f98ccd09a1 100644 --- a/src/Compiler/Service/IncrementalBuild.fs +++ b/src/Compiler/Service/IncrementalBuild.fs @@ -30,6 +30,7 @@ open FSharp.Compiler.NameResolution open FSharp.Compiler.ParseAndCheckInputs open FSharp.Compiler.ScriptClosure open FSharp.Compiler.Syntax +open FSharp.Compiler.SyntaxTrivia open FSharp.Compiler.TcGlobals open FSharp.Compiler.Text open FSharp.Compiler.Text.Range @@ -128,9 +129,8 @@ module IncrementalBuildSyntaxTree = sigName, [], [], - [], isLastCompiland, - { ConditionalDirectives = []; CodeComments = [] }, + ParsedInputTrivia.Empty, Set.empty ) ), sourceRange, fileName, [||] @@ -254,7 +254,7 @@ type BoundModel private ( IncrementalBuilderEventTesting.MRU.Add(IncrementalBuilderEventTesting.IBETypechecked fileName) let capturingDiagnosticsLogger = CapturingDiagnosticsLogger("TypeCheck") - let diagnosticsLogger = GetDiagnosticsLoggerFilteringByScopedPragmas(false, input.ScopedPragmas, tcConfig.diagnosticsOptions, capturingDiagnosticsLogger) + let diagnosticsLogger = GetDiagnosticsLoggerFilteringByScopedNowarn(tcConfig.diagnosticsOptions, capturingDiagnosticsLogger) use _ = new CompilationGlobalsScope(diagnosticsLogger, BuildPhase.TypeCheck) beforeFileChecked.Trigger fileName diff --git a/src/Compiler/Service/ServiceLexing.fs b/src/Compiler/Service/ServiceLexing.fs index 8e97816290..74141b4805 100644 --- a/src/Compiler/Service/ServiceLexing.fs +++ b/src/Compiler/Service/ServiceLexing.fs @@ -283,9 +283,11 @@ module internal TokenClassifications = | LBRACE_BAR -> (FSharpTokenColorKind.Punctuation, FSharpTokenCharKind.Delimiter, FSharpTokenTriggerClass.MatchBraces) | GREATER_RBRACK + | GREATER_BAR_RBRACE | GREATER_BAR_RBRACK -> (FSharpTokenColorKind.Punctuation, FSharpTokenCharKind.Delimiter, FSharpTokenTriggerClass.None) | RQUOTE _ + | RQUOTE_BAR_RBRACE _ | RBRACK | RBRACE _ | RBRACE_COMING_SOON @@ -404,6 +406,7 @@ module internal TokenClassifications = | HASH_LIGHT _ | HASH_LINE _ + | WARN_DIRECTIVE _ | HASH_IF _ | HASH_ELSE _ | HASH_ENDIF _ -> (FSharpTokenColorKind.PreprocessorKeyword, FSharpTokenCharKind.WhiteSpace, FSharpTokenTriggerClass.None) @@ -935,6 +938,21 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi let offset = beforeIdent + identLength processWhiteAndComment str offset delay cont) + let processWarnDirective (str: string) leftc rightc cont = + let hashIdx = str.IndexOf("#", StringComparison.Ordinal) + let commentIdx = str.IndexOf("//", StringComparison.Ordinal) + + if commentIdx > 0 then + delayToken (COMMENT cont, leftc + commentIdx - 1, rightc) + + let rightc = if commentIdx > 0 then leftc + commentIdx else rightc + + if (hashIdx > 0) then + delayToken (WARN_DIRECTIVE(range0, "", cont), hashIdx, rightc) + WHITESPACE cont, leftc, leftc + hashIdx - 1 + else + WARN_DIRECTIVE(range0, "", cont), leftc, rightc + // Set up the initial file position do match fileName with @@ -1035,7 +1053,8 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi | HASH_IF(m, lineStr, cont) when lineStr <> "" -> false, processHashIfLine m.StartColumn lineStr cont | HASH_ELSE(m, lineStr, cont) when lineStr <> "" -> false, processHashEndElse m.StartColumn lineStr 4 cont | HASH_ENDIF(m, lineStr, cont) when lineStr <> "" -> false, processHashEndElse m.StartColumn lineStr 5 cont - | HASH_IDENT(ident) -> + | WARN_DIRECTIVE(_, s, cont) -> false, processWarnDirective s leftc rightc cont + | HASH_IDENT ident -> delayToken (IDENT ident, leftc + 1, rightc) false, (HASH, leftc, leftc) | RQUOTE_DOT(s, raw) -> @@ -1173,9 +1192,7 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi | true, "silentCd" | true, "q" | true, "quit" - | true, "help" - // These are for script and non-script - | _, "nowarn" -> + | true, "help" -> // Merge both tokens into one. let lexcontFinal = if isCached then @@ -1286,6 +1303,7 @@ type FSharpTokenKind = | HashIf | HashElse | HashEndIf + | WarnDirective | CommentTrivia | WhitespaceTrivia | HashLine @@ -1371,6 +1389,8 @@ type FSharpTokenKind = | Comma | RightArrow | GreaterBarRightBracket + | GreaterBarRightBrace + | RQuoteBarRightBrace | LeftParenthesisStarRightParenthesis | Open | Or @@ -1497,6 +1517,7 @@ type FSharpToken = | HASH_IF _ -> FSharpTokenKind.HashIf | HASH_ELSE _ -> FSharpTokenKind.HashElse | HASH_ENDIF _ -> FSharpTokenKind.HashEndIf + | WARN_DIRECTIVE _ -> FSharpTokenKind.WarnDirective | COMMENT _ -> FSharpTokenKind.CommentTrivia | WHITESPACE _ -> FSharpTokenKind.WhitespaceTrivia | HASH_LINE _ -> FSharpTokenKind.HashLine @@ -1581,6 +1602,7 @@ type FSharpToken = | STAR -> FSharpTokenKind.Star | COMMA -> FSharpTokenKind.Comma | RARROW -> FSharpTokenKind.RightArrow + | GREATER_BAR_RBRACE -> FSharpTokenKind.GreaterBarRightBrace | GREATER_BAR_RBRACK -> FSharpTokenKind.GreaterBarRightBracket | LPAREN_STAR_RPAREN -> FSharpTokenKind.LeftParenthesisStarRightParenthesis | OPEN -> FSharpTokenKind.Open @@ -1639,6 +1661,7 @@ type FSharpToken = | LQUOTE _ -> FSharpTokenKind.LeftQuote | RQUOTE _ -> FSharpTokenKind.RightQuote | RQUOTE_DOT _ -> FSharpTokenKind.RightQuoteDot + | RQUOTE_BAR_RBRACE _ -> FSharpTokenKind.RQuoteBarRightBrace | PERCENT_OP _ -> FSharpTokenKind.PercentOperator | BINDER _ -> FSharpTokenKind.Binder | LESS _ -> FSharpTokenKind.Less diff --git a/src/Compiler/Service/ServiceLexing.fsi b/src/Compiler/Service/ServiceLexing.fsi index ee2ab7411d..869b295d33 100755 --- a/src/Compiler/Service/ServiceLexing.fsi +++ b/src/Compiler/Service/ServiceLexing.fsi @@ -371,6 +371,7 @@ type public FSharpTokenKind = | HashIf | HashElse | HashEndIf + | WarnDirective | CommentTrivia | WhitespaceTrivia | HashLine @@ -456,6 +457,8 @@ type public FSharpTokenKind = | Comma | RightArrow | GreaterBarRightBracket + | GreaterBarRightBrace + | RQuoteBarRightBrace | LeftParenthesisStarRightParenthesis | Open | Or diff --git a/src/Compiler/Service/ServiceParseTreeWalk.fs b/src/Compiler/Service/ServiceParseTreeWalk.fs index 659f4c4bc6..33734db9a6 100644 --- a/src/Compiler/Service/ServiceParseTreeWalk.fs +++ b/src/Compiler/Service/ServiceParseTreeWalk.fs @@ -1014,6 +1014,8 @@ module SyntaxTraversal = let path = SyntaxNode.SynBinding b :: origPath match b with + | SynBinding(kind = SynBindingKind.Do; expr = expr) -> traverseSynExpr path expr + | SynBinding(headPat = synPat; expr = synExpr; attributes = attributes; range = m) -> [ yield! attributeApplicationDives path attributes diff --git a/src/Compiler/Service/ServiceParsedInputOps.fs b/src/Compiler/Service/ServiceParsedInputOps.fs index f5b1593690..b8ffe0d030 100644 --- a/src/Compiler/Service/ServiceParsedInputOps.fs +++ b/src/Compiler/Service/ServiceParsedInputOps.fs @@ -320,6 +320,13 @@ module ParsedInput = let _, r = CheckLongIdent longIdent Some r + | SynExpr.DotLambda(SynExpr.LongIdent _, range, _) -> Some range + | SynExpr.DotLambda(synExpr, range, _) -> + let result = traverseSynExpr synExpr + + result + |> Option.map (fun r -> if posEq r.Start synExpr.Range.Start then range else r) + | SynExpr.DotGet(synExpr, _dotm, lid, _) -> let (SynLongIdent(longIdent, _, _)) = lid diff --git a/src/Compiler/Service/SynExpr.fs b/src/Compiler/Service/SynExpr.fs index 5981dd5b28..52c10e8a7a 100644 --- a/src/Compiler/Service/SynExpr.fs +++ b/src/Compiler/Service/SynExpr.fs @@ -1078,6 +1078,14 @@ module SynExpr = | SynExpr.Sequential(expr1 = SynExpr.Paren(expr = Is inner); expr2 = expr2), _ when innerBindingsWouldShadowOuter inner expr2 -> true + // $"{({ A = 3 })}" + // $"{({| A = 3 |})}" + // $"{({1..10})}" + // $"{(();1)}" + // $"{(1,2)}" + | SynExpr.InterpolatedString _, SynExpr.Record _ + | SynExpr.InterpolatedString _, SynExpr.AnonRecd _ + | SynExpr.InterpolatedString _, SynExpr.ComputationExpr _ | SynExpr.InterpolatedString _, SynExpr.Sequential _ | SynExpr.InterpolatedString _, SynExpr.Tuple(isStruct = false) -> true diff --git a/src/Compiler/Service/TransparentCompiler.fs b/src/Compiler/Service/TransparentCompiler.fs index 12f864ec54..b23feb5f9b 100644 --- a/src/Compiler/Service/TransparentCompiler.fs +++ b/src/Compiler/Service/TransparentCompiler.fs @@ -299,7 +299,9 @@ type CacheSizes = { ParseFileKeepStrongly = 50 * sizeFactor - ParseFileKeepWeakly = 20 * sizeFactor + // Since ParseFile version is just a content hash, we keep only one version + // in order to ensure that we re-parse after undo for the sake of WarnScopes + ParseFileKeepWeakly = 0 // 20 * sizeFactor ParseFileWithoutProjectKeepStrongly = 5 * sizeFactor ParseFileWithoutProjectKeepWeakly = 2 * sizeFactor ParseAndCheckFileInProjectKeepStrongly = sizeFactor @@ -341,7 +343,9 @@ type internal CompilerCaches(cacheSizes: CacheSizes) = member _.CacheSizes = cs - member val ParseFile = AsyncMemoize(keepStrongly = cs.ParseFileKeepStrongly, keepWeakly = cs.ParseFileKeepWeakly, name = "ParseFile") + member val ParseFile = + AsyncMemoize(keepStrongly = cs.ParseFileKeepStrongly, keepWeakly = cs.ParseFileKeepWeakly, name = "ParseFile") + : AsyncMemoize<(FSharpProjectIdentifier * string), (string * string * bool), ProjectSnapshot.FSharpParsedFile> member val ParseFileWithoutProject = AsyncMemoize( @@ -1379,7 +1383,6 @@ type internal TransparentCompiler let mainInputFileName = file.FileName let sourceText = file.SourceText - let parsedMainInput = file.ParsedInput // Initialize the error handler let errHandler = @@ -1392,14 +1395,10 @@ type internal TransparentCompiler tcConfig.flatErrors ) - // Apply nowarns to tcConfig (may generate errors, so ensure diagnosticsLogger is installed) - let tcConfig = - ApplyNoWarnsToTcConfig(tcConfig, parsedMainInput, !!Path.GetDirectoryName(mainInputFileName)) - let diagnosticsLogger = errHandler.DiagnosticsLogger let diagnosticsLogger = - GetDiagnosticsLoggerFilteringByScopedPragmas(false, input.ScopedPragmas, tcConfig.diagnosticsOptions, diagnosticsLogger) + GetDiagnosticsLoggerFilteringByScopedNowarn(tcConfig.diagnosticsOptions, diagnosticsLogger) use _ = new CompilationGlobalsScope(diagnosticsLogger, BuildPhase.TypeCheck) @@ -1644,9 +1643,7 @@ type internal TransparentCompiler let extraLogger = CapturingDiagnosticsLogger("DiagnosticsWhileCreatingDiagnostics") use _ = new CompilationGlobalsScope(extraLogger, BuildPhase.TypeCheck) - // Apply nowarns to tcConfig (may generate errors, so ensure diagnosticsLogger is installed) - let tcConfig = - ApplyNoWarnsToTcConfig(bootstrapInfo.TcConfig, parseResults.ParseTree, Path.GetDirectoryName fileName |> (!!)) + let tcConfig = bootstrapInfo.TcConfig let diagnosticsOptions = tcConfig.diagnosticsOptions @@ -2090,22 +2087,20 @@ type internal TransparentCompiler // TODO: might need to deal with exceptions here: use _ = new CompilationGlobalsScope(DiscardErrorsLogger, BuildPhase.Parse) - let! tcConfigB, sourceFileNames, _ = ComputeTcConfigBuilder projectSnapshot - - let tcConfig = TcConfig.Create(tcConfigB, validate = true) - let _index, fileSnapshot = - projectSnapshot.SourceFiles - |> Seq.mapi pair - |> Seq.tryFind (fun (_, f) -> f.FileName = fileName) - |> Option.defaultWith (fun () -> failwith $"File not found: {fileName}") + match! ComputeBootstrapInfo projectSnapshot with + | None, creationDiags -> return emptyParseResult fileName creationDiags + | Some bootstrapInfo, _ -> + let tcConfig = bootstrapInfo.TcConfig - let isExe = tcConfig.target.IsExe - let isLastCompiland = fileName = (sourceFileNames |> List.last) + let fileSnapshot = + projectSnapshot.SourceFiles |> List.find (fun f -> f.FileName = fileName) - let! file = LoadSource fileSnapshot isExe isLastCompiland - let! parseResult = getParseResult projectSnapshot Seq.empty file tcConfig - return parseResult + let isExe = tcConfig.target.IsExe + let isLastCompiland = fileName = List.last projectSnapshot.SourceFileNames + let! file = LoadSource fileSnapshot isExe isLastCompiland + let! parseResult = getParseResult projectSnapshot Seq.empty file tcConfig + return parseResult } member _.ParseFileWithoutProject @@ -2430,14 +2425,7 @@ type internal TransparentCompiler assumeDotNetFramework otherFlags - let otherFlags = - [ - yield "--noframework" - yield "--warn:3" - yield! otherFlags - for code, _ in loadClosure.NoWarns do - yield "--nowarn:" + code - ] + let otherFlags = [ yield "--noframework"; yield "--warn:3"; yield! otherFlags ] // Once we do have the script closure, we can populate the cache to re-use can later. let loadClosureKey = diff --git a/src/Compiler/Symbols/Exprs.fs b/src/Compiler/Symbols/Exprs.fs index 5ec81f6861..33c87edb59 100644 --- a/src/Compiler/Symbols/Exprs.fs +++ b/src/Compiler/Symbols/Exprs.fs @@ -1353,7 +1353,7 @@ and FSharpImplementationFileDeclaration = and FSharpImplementationFileContents(cenv, mimpl) = let g = cenv.g - let (CheckedImplFile (qname, _pragmas, _, contents, hasExplicitEntryPoint, isScript, _anonRecdTypes, _)) = mimpl + let (CheckedImplFile (qname, _, contents, hasExplicitEntryPoint, isScript, _anonRecdTypes, _)) = mimpl let rec getBind (bind: Binding) = let v = bind.Var assert v.IsCompiledAsTopLevel diff --git a/src/Compiler/Symbols/Symbols.fs b/src/Compiler/Symbols/Symbols.fs index 48acdf03da..5e20f00b48 100644 --- a/src/Compiler/Symbols/Symbols.fs +++ b/src/Compiler/Symbols/Symbols.fs @@ -360,7 +360,8 @@ type FSharpEntity(cenv: SymbolEnv, entity: EntityRef, tyargs: TType list) = inherit FSharpSymbol(cenv, (fun () -> checkEntityIsResolved entity - if entity.IsModuleOrNamespace then Item.ModuleOrNamespaces [entity] + if entity.IsModuleOrNamespace then Item.ModuleOrNamespaces [entity] + elif entity.IsFSharpException then Item.ExnCase entity else Item.UnqualifiedType [entity]), (fun _this thisCcu2 ad -> checkForCrossProjectAccessibility cenv.g.ilg (thisCcu2, ad) (cenv.thisCcu, getApproxFSharpAccessibilityOfEntity entity)) diff --git a/src/Compiler/SyntaxTree/LexFilter.fs b/src/Compiler/SyntaxTree/LexFilter.fs index 20af46524b..e298202d98 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fs +++ b/src/Compiler/SyntaxTree/LexFilter.fs @@ -1093,7 +1093,7 @@ type LexFilterImpl ( scanAhead nParen else false - | GREATER _ | GREATER_RBRACK | GREATER_BAR_RBRACK -> + | GREATER _ | GREATER_RBRACK | GREATER_BAR_RBRACK | GREATER_BAR_RBRACE -> let nParen = nParen - 1 let hasAfterOp = (match lookaheadToken with GREATER _ -> false | _ -> true) if nParen > 0 then @@ -1201,10 +1201,20 @@ type LexFilterImpl ( delayToken (pool.UseShiftedLocation(tokenTup, INFIX_AT_HAT_OP "@", 1, 0)) delayToken (pool.UseShiftedLocation(tokenTup, LESS res, 0, -1)) pool.Return tokenTup + | GREATER_BAR_RBRACE -> + lexbuf.CheckLanguageFeatureAndRecover LanguageFeature.BetterAnonymousRecordParsing lexbuf.LexemeRange + delayToken (pool.UseShiftedLocation(tokenTup, BAR_RBRACE, 1, 0)) + delayToken (pool.UseShiftedLocation(tokenTup, GREATER res, 0, -2)) + pool.Return tokenTup | GREATER_BAR_RBRACK -> delayToken (pool.UseShiftedLocation(tokenTup, BAR_RBRACK, 1, 0)) delayToken (pool.UseShiftedLocation(tokenTup, GREATER res, 0, -2)) pool.Return tokenTup + | RQUOTE_BAR_RBRACE x -> + lexbuf.CheckLanguageFeatureAndRecover LanguageFeature.BetterAnonymousRecordParsing lexbuf.LexemeRange + delayToken (pool.UseShiftedLocation(tokenTup, BAR_RBRACE, 1, 0)) + delayToken (pool.UseShiftedLocation(tokenTup, RQUOTE(x), 0, -2)) + pool.Return tokenTup | GREATER_RBRACK -> delayToken (pool.UseShiftedLocation(tokenTup, RBRACK, 1, 0)) delayToken (pool.UseShiftedLocation(tokenTup, GREATER res, 0, -1)) @@ -2626,6 +2636,13 @@ type LexFilterImpl ( noMerge() true + | RQUOTE_BAR_RBRACE x -> + lexbuf.CheckLanguageFeatureAndRecover LanguageFeature.BetterAnonymousRecordParsing lexbuf.LexemeRange + delayToken (pool.UseShiftedLocation(tokenTup, BAR_RBRACE, 1, 0)) + delayToken (pool.UseShiftedLocation(tokenTup, RQUOTE(x), 0, -2)) + pool.Return tokenTup + true + | _ -> false diff --git a/src/Compiler/SyntaxTree/LexHelpers.fs b/src/Compiler/SyntaxTree/LexHelpers.fs index faf85ad811..dddaaa37a9 100644 --- a/src/Compiler/SyntaxTree/LexHelpers.fs +++ b/src/Compiler/SyntaxTree/LexHelpers.fs @@ -9,17 +9,16 @@ open Internal.Utilities open Internal.Utilities.Library open Internal.Utilities.Text.Lexing -open FSharp.Compiler.IO open FSharp.Compiler.DiagnosticsLogger open FSharp.Compiler.Features -open FSharp.Compiler.LexerStore +open FSharp.Compiler.IO open FSharp.Compiler.ParseHelpers -open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Parser open FSharp.Compiler.Syntax open FSharp.Compiler.Syntax.PrettyNaming open FSharp.Compiler.Text open FSharp.Compiler.Text.Range +open FSharp.Compiler.UnicodeLexing /// The "mock" file name used by fsi.exe when reading from stdin. /// Has special treatment by the lexer, i.e. __SOURCE_DIRECTORY__ becomes GetCurrentDirectory() diff --git a/src/Compiler/SyntaxTree/LexerStore.fs b/src/Compiler/SyntaxTree/LexerStore.fs index 2914d944c2..e2c6010a56 100644 --- a/src/Compiler/SyntaxTree/LexerStore.fs +++ b/src/Compiler/SyntaxTree/LexerStore.fs @@ -4,40 +4,18 @@ module internal FSharp.Compiler.LexerStore open FSharp.Compiler.SyntaxTreeOps open FSharp.Compiler.SyntaxTrivia -open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Text open FSharp.Compiler.Text.Position open FSharp.Compiler.Text.Range +open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Xml -//------------------------------------------------------------------------ -// Lexbuf.BufferLocalStore is used during lexing/parsing of a file for different purposes. -// All access happens through the functions and modules below. -//------------------------------------------------------------------------ - -let private getStoreData<'T when 'T: not null> (lexbuf: Lexbuf) key (getInitialData: unit -> 'T) = - let store = lexbuf.BufferLocalStore - - match store.TryGetValue key with - | true, data -> data :?> 'T - | _ -> - let data = getInitialData () - store[key] <- data - data - -let private tryGetStoreData<'T when 'T: not null> (lexbuf: Lexbuf) key = - let store = lexbuf.BufferLocalStore - - match store.TryGetValue key with - | true, data -> Some(data :?> 'T) - | _ -> None - //------------------------------------------------------------------------ // A SynArgNameGenerator for the current file, used by the parser //------------------------------------------------------------------------ let getSynArgNameGenerator (lexbuf: Lexbuf) = - getStoreData lexbuf "SynArgNameGenerator" SynArgNameGenerator + lexbuf.GetLocalData("SynArgNameGenerator", SynArgNameGenerator) //------------------------------------------------------------------------ // A XmlDocCollector, used to hold the current accumulated Xml doc lines, and related access functions @@ -47,8 +25,8 @@ let getSynArgNameGenerator (lexbuf: Lexbuf) = module XmlDocStore = let private xmlDocKey = "XmlDoc" - let private getCollector (lexbuf: Lexbuf) = - getStoreData lexbuf xmlDocKey XmlDocCollector + let private getCollector (lexbuf: Lexbuf) : XmlDocCollector = + lexbuf.GetLocalData(xmlDocKey, XmlDocCollector) /// Called from the lexer to save a single line of XML doc comment. let SaveXmlDocLine (lexbuf: Lexbuf, lineText, range: range) = @@ -78,9 +56,9 @@ module XmlDocStore = /// Called from the parser each time we parse a construct that marks the end of an XML doc comment range, /// e.g. a 'type' declaration. The markerRange is the range of the keyword that delimits the construct. let GrabXmlDocBeforeMarker (lexbuf: Lexbuf, markerRange: range) = - match tryGetStoreData lexbuf xmlDocKey with + match lexbuf.TryGetLocalData xmlDocKey with | Some collector -> PreXmlDoc.CreateFromGrabPoint(collector, markerRange.Start) - | _ -> PreXmlDoc.Empty + | None -> PreXmlDoc.Empty let ReportInvalidXmlDocPositions (lexbuf: Lexbuf) = let collector = getCollector lexbuf @@ -106,7 +84,7 @@ let rec LexerIfdefEval (lookup: string -> bool) = [] module IfdefStore = let private getStore (lexbuf: Lexbuf) = - getStoreData lexbuf "Ifdef" ResizeArray + lexbuf.GetLocalData("Ifdef", ResizeArray) let private mkRangeWithoutLeadingWhitespace (lexed: string) (m: range) : range = let startColumn = lexed.Length - lexed.TrimStart().Length @@ -150,7 +128,7 @@ module IfdefStore = [] module CommentStore = let private getStore (lexbuf: Lexbuf) = - getStoreData lexbuf "Comments" ResizeArray + lexbuf.GetLocalData("Comments", ResizeArray) let SaveSingleLineComment (lexbuf: Lexbuf, startRange: range, endRange: range) = let store = getStore lexbuf diff --git a/src/Compiler/SyntaxTree/LexerStore.fsi b/src/Compiler/SyntaxTree/LexerStore.fsi index 952a0cc6f8..e6bda94443 100644 --- a/src/Compiler/SyntaxTree/LexerStore.fsi +++ b/src/Compiler/SyntaxTree/LexerStore.fsi @@ -4,8 +4,8 @@ module internal FSharp.Compiler.LexerStore open FSharp.Compiler.SyntaxTreeOps open FSharp.Compiler.SyntaxTrivia -open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Text +open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Xml val getSynArgNameGenerator: Lexbuf -> SynArgNameGenerator diff --git a/src/Compiler/SyntaxTree/ParseHelpers.fs b/src/Compiler/SyntaxTree/ParseHelpers.fs index a8a8724f58..ea79152785 100644 --- a/src/Compiler/SyntaxTree/ParseHelpers.fs +++ b/src/Compiler/SyntaxTree/ParseHelpers.fs @@ -85,7 +85,7 @@ type LexerIfdefStack = LexerIfdefStackEntries /// Specifies how the 'endline' function in the lexer should continue after /// it reaches end of line or eof. The options are to continue with 'token' function -/// or to continue with 'skip' function. +/// or to continue with 'ifdefSkip' function. [] type LexerEndlineContinuation = | Token @@ -704,10 +704,31 @@ let patFromParseError (e: SynPat) = SynPat.FromParseError(e, e.Range) // to form // binding1*sep1, binding2*sep2 let rebindRanges first fields lastSep = - let rec run (name, mEquals, value) l acc = + let calculateFieldRange (lidwd: SynLongIdent) (mEquals: range option) (value: SynExpr option) = + match lidwd with + | SynLongIdent([], _, _) -> + // Special case used in inherit clause + match mEquals, value with + | Some mEq, Some expr -> unionRanges mEq expr.Range + | Some mEq, None -> mEq + | None, Some expr -> expr.Range + | None, None -> range0 + | _ -> + // Normal case + match value with + | Some expr -> unionRanges lidwd.Range expr.Range + | None -> + match mEquals with + | Some mEq -> unionRanges lidwd.Range mEq + | None -> lidwd.Range + + let rec run (name, mEquals, value: SynExpr option) l acc = + let lidwd, _ = name + let fieldRange = calculateFieldRange lidwd mEquals value + match l with - | [] -> List.rev (SynExprRecordField(name, mEquals, value, lastSep) :: acc) - | (f, m) :: xs -> run f xs (SynExprRecordField(name, mEquals, value, m) :: acc) + | [] -> List.rev (SynExprRecordField(name, mEquals, value, fieldRange, lastSep) :: acc) + | (f, m) :: xs -> run f xs (SynExprRecordField(name, mEquals, value, fieldRange, m) :: acc) run first fields [] diff --git a/src/Compiler/SyntaxTree/SyntaxTree.fs b/src/Compiler/SyntaxTree/SyntaxTree.fs index bd918e8848..5e3542f6b6 100644 --- a/src/Compiler/SyntaxTree/SyntaxTree.fs +++ b/src/Compiler/SyntaxTree/SyntaxTree.fs @@ -896,6 +896,7 @@ type SynExprRecordField = fieldName: RecordFieldName * equalsRange: range option * expr: SynExpr option * + range: range * blockSeparator: BlockSeparator option [] @@ -1759,9 +1760,6 @@ type ParsedImplFile = ParsedImplFile of hashDirectives: ParsedHashDirective list [] type ParsedSigFile = ParsedSigFile of hashDirectives: ParsedHashDirective list * fragments: ParsedSigFileFragment list -[] -type ScopedPragma = WarningOff of range: range * warningNumber: int - [] type QualifiedNameOfFile = | QualifiedNameOfFile of Ident @@ -1778,19 +1776,15 @@ type ParsedImplFileInput = fileName: string * isScript: bool * qualifiedNameOfFile: QualifiedNameOfFile * - scopedPragmas: ScopedPragma list * hashDirectives: ParsedHashDirective list * contents: SynModuleOrNamespace list * flags: (bool * bool) * - trivia: ParsedImplFileInputTrivia * + trivia: ParsedInputTrivia * identifiers: Set member x.QualifiedName = (let (ParsedImplFileInput(qualifiedNameOfFile = qualNameOfFile)) = x in qualNameOfFile) - member x.ScopedPragmas = - (let (ParsedImplFileInput(scopedPragmas = scopedPragmas)) = x in scopedPragmas) - member x.HashDirectives = (let (ParsedImplFileInput(hashDirectives = hashDirectives)) = x in hashDirectives) @@ -1812,18 +1806,14 @@ type ParsedSigFileInput = | ParsedSigFileInput of fileName: string * qualifiedNameOfFile: QualifiedNameOfFile * - scopedPragmas: ScopedPragma list * hashDirectives: ParsedHashDirective list * contents: SynModuleOrNamespaceSig list * - trivia: ParsedSigFileInputTrivia * + trivia: ParsedInputTrivia * identifiers: Set member x.QualifiedName = (let (ParsedSigFileInput(qualifiedNameOfFile = qualNameOfFile)) = x in qualNameOfFile) - member x.ScopedPragmas = - (let (ParsedSigFileInput(scopedPragmas = scopedPragmas)) = x in scopedPragmas) - member x.HashDirectives = (let (ParsedSigFileInput(hashDirectives = hashDirectives)) = x in hashDirectives) @@ -1844,11 +1834,6 @@ type ParsedInput = | ParsedInput.ImplFile file -> file.FileName | ParsedInput.SigFile file -> file.FileName - member inp.ScopedPragmas = - match inp with - | ParsedInput.ImplFile file -> file.ScopedPragmas - | ParsedInput.SigFile file -> file.ScopedPragmas - member inp.QualifiedName = match inp with | ParsedInput.ImplFile file -> file.QualifiedName diff --git a/src/Compiler/SyntaxTree/SyntaxTree.fsi b/src/Compiler/SyntaxTree/SyntaxTree.fsi index f50adfa289..15c8cf4a02 100644 --- a/src/Compiler/SyntaxTree/SyntaxTree.fsi +++ b/src/Compiler/SyntaxTree/SyntaxTree.fsi @@ -999,6 +999,7 @@ type SynExprRecordField = fieldName: RecordFieldName * equalsRange: range option * expr: SynExpr option * + range: range * blockSeparator: BlockSeparator option [] @@ -1933,12 +1934,6 @@ type ParsedImplFile = [] type ParsedSigFile = ParsedSigFile of hashDirectives: ParsedHashDirective list * fragments: ParsedSigFileFragment list -/// Represents a scoped pragma -[] -type ScopedPragma = - /// A pragma to turn a warning off - | WarningOff of range: range * warningNumber: int - /// Represents a qualifying name for anonymous module specifications and implementations, [] type QualifiedNameOfFile = @@ -1960,11 +1955,10 @@ type ParsedImplFileInput = fileName: string * isScript: bool * qualifiedNameOfFile: QualifiedNameOfFile * - scopedPragmas: ScopedPragma list * hashDirectives: ParsedHashDirective list * contents: SynModuleOrNamespace list * flags: (bool * bool) * - trivia: ParsedImplFileInputTrivia * + trivia: ParsedInputTrivia * identifiers: Set member FileName: string @@ -1973,13 +1967,11 @@ type ParsedImplFileInput = member QualifiedName: QualifiedNameOfFile - member ScopedPragmas: ScopedPragma list - member HashDirectives: ParsedHashDirective list member Contents: SynModuleOrNamespace list - member Trivia: ParsedImplFileInputTrivia + member Trivia: ParsedInputTrivia member IsLastCompiland: bool @@ -1991,23 +1983,20 @@ type ParsedSigFileInput = | ParsedSigFileInput of fileName: string * qualifiedNameOfFile: QualifiedNameOfFile * - scopedPragmas: ScopedPragma list * hashDirectives: ParsedHashDirective list * contents: SynModuleOrNamespaceSig list * - trivia: ParsedSigFileInputTrivia * + trivia: ParsedInputTrivia * identifiers: Set member FileName: string member QualifiedName: QualifiedNameOfFile - member ScopedPragmas: ScopedPragma list - member HashDirectives: ParsedHashDirective list member Contents: SynModuleOrNamespaceSig list - member Trivia: ParsedSigFileInputTrivia + member Trivia: ParsedInputTrivia /// Represents the syntax tree for a parsed implementation or signature file [] @@ -2027,8 +2016,5 @@ type ParsedInput = /// Gets the qualified name used to help match signature and implementation files member QualifiedName: QualifiedNameOfFile - /// Gets the #nowarn and other scoped pragmas - member ScopedPragmas: ScopedPragma list - /// Gets a set of all identifiers used in this parsed input. Only populated if captureIdentifiersWhenParsing option was used. member Identifiers: Set diff --git a/src/Compiler/SyntaxTree/SyntaxTreeOps.fs b/src/Compiler/SyntaxTree/SyntaxTreeOps.fs index 6633dab240..616191c9b5 100644 --- a/src/Compiler/SyntaxTree/SyntaxTreeOps.fs +++ b/src/Compiler/SyntaxTree/SyntaxTreeOps.fs @@ -103,6 +103,8 @@ let rec pushUnaryArg expr arg = SynExpr.TypeApp(innerExpr, mLess, tyargs, mCommas, mGreater, mTypars, m) | SynExpr.ArbitraryAfterError(_, m) when m.Start = m.End -> SynExpr.DiscardAfterMissingQualificationAfterDot(SynExpr.Ident arg, m.StartRange, unionRanges arg.idRange m) + | SynExpr.DiscardAfterMissingQualificationAfterDot(synExpr, dotRange, m) -> + SynExpr.DiscardAfterMissingQualificationAfterDot(pushUnaryArg synExpr arg, dotRange, unionRanges arg.idRange m) | _ -> errorR (Error(FSComp.SR.tcDotLambdaAtNotSupportedExpression (), expr.Range)) expr diff --git a/src/Compiler/SyntaxTree/SyntaxTrivia.fs b/src/Compiler/SyntaxTree/SyntaxTrivia.fs index 2cd42701e7..2137ffe427 100644 --- a/src/Compiler/SyntaxTree/SyntaxTrivia.fs +++ b/src/Compiler/SyntaxTree/SyntaxTrivia.fs @@ -22,24 +22,30 @@ and [] IfDirectiveExpression = | Not of IfDirectiveExpression | Ident of string +[] +type WarnDirectiveTrivia = + | Nowarn of warnNumbers: int list * range + | Warnon of warnNumbers: int list * range + [] type CommentTrivia = | LineComment of range: range | BlockComment of range: range [] -type ParsedImplFileInputTrivia = +type ParsedInputTrivia = { ConditionalDirectives: ConditionalDirectiveTrivia list + WarnDirectives: WarnDirectiveTrivia list CodeComments: CommentTrivia list } -[] -type ParsedSigFileInputTrivia = - { - ConditionalDirectives: ConditionalDirectiveTrivia list - CodeComments: CommentTrivia list - } + static member Empty = + { + ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] + } [] type SynExprTryWithTrivia = diff --git a/src/Compiler/SyntaxTree/SyntaxTrivia.fsi b/src/Compiler/SyntaxTree/SyntaxTrivia.fsi index ab6525bc01..9d4e50ce1f 100644 --- a/src/Compiler/SyntaxTree/SyntaxTrivia.fsi +++ b/src/Compiler/SyntaxTree/SyntaxTrivia.fsi @@ -34,33 +34,32 @@ type IfDirectiveExpression = | Not of IfDirectiveExpression | Ident of string +[] +type WarnDirectiveTrivia = + | Nowarn of warnNumbers: int list * range + | Warnon of warnNumbers: int list * range + [] type CommentTrivia = | LineComment of range: range | BlockComment of range: range -/// Represents additional information for ParsedImplFileInput +/// Represents additional information for ParsedInput [] -type ParsedImplFileInputTrivia = +type ParsedInputTrivia = { /// Preprocessor directives of type #if, #else or #endif ConditionalDirectives: ConditionalDirectiveTrivia list - /// Represent code comments found in the source file - CodeComments: CommentTrivia list - } - -/// Represents additional information for ParsedSigFileInputTrivia -[] -type ParsedSigFileInputTrivia = - { - /// Preprocessor directives of type #if, #else or #endif - ConditionalDirectives: ConditionalDirectiveTrivia list + /// Warn directives (#nowarn / #warnon) + WarnDirectives: WarnDirectiveTrivia list /// Represent code comments found in the source file CodeComments: CommentTrivia list } + static member internal Empty: ParsedInputTrivia + /// Represents additional information for SynExpr.TryWith [] type SynExprTryWithTrivia = diff --git a/src/Compiler/SyntaxTree/UnicodeLexing.fs b/src/Compiler/SyntaxTree/UnicodeLexing.fs index abb3d0e3d8..4ea41cbcf8 100644 --- a/src/Compiler/SyntaxTree/UnicodeLexing.fs +++ b/src/Compiler/SyntaxTree/UnicodeLexing.fs @@ -8,6 +8,21 @@ open Internal.Utilities.Text.Lexing type Lexbuf = LexBuffer +type LexBuffer<'char> with + + member lexbuf.GetLocalData<'T when 'T: not null>(key: string, initializer) = + match lexbuf.BufferLocalStore.TryGetValue key with + | true, data -> data :?> 'T + | _ -> + let data = initializer () + lexbuf.BufferLocalStore[key] <- data + data + + member lexbuf.TryGetLocalData<'T when 'T: not null>(key: string) = + match lexbuf.BufferLocalStore.TryGetValue key with + | true, data -> Some(data :?> 'T) + | _ -> None + let StringAsLexbuf (reportLibraryOnlyFeatures, langVersion, strictIndentation, s: string) = LexBuffer.FromChars(reportLibraryOnlyFeatures, langVersion, strictIndentation, s.ToCharArray()) diff --git a/src/Compiler/SyntaxTree/UnicodeLexing.fsi b/src/Compiler/SyntaxTree/UnicodeLexing.fsi index 80d772e03e..ee722ee08c 100644 --- a/src/Compiler/SyntaxTree/UnicodeLexing.fsi +++ b/src/Compiler/SyntaxTree/UnicodeLexing.fsi @@ -9,6 +9,10 @@ open Internal.Utilities.Text.Lexing type Lexbuf = LexBuffer +type LexBuffer<'char> with + member GetLocalData<'T when 'T: not null> : key: string * initializer: (unit -> 'T) -> 'T + member TryGetLocalData<'T when 'T: not null> : key: string -> 'T option + val StringAsLexbuf: reportLibraryOnlyFeatures: bool * langVersion: LanguageVersion * strictIndentation: bool option * string -> Lexbuf diff --git a/src/Compiler/SyntaxTree/WarnScopes.fs b/src/Compiler/SyntaxTree/WarnScopes.fs new file mode 100644 index 0000000000..2efab44f5d --- /dev/null +++ b/src/Compiler/SyntaxTree/WarnScopes.fs @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace FSharp.Compiler + +open FSharp.Compiler.Diagnostics +open FSharp.Compiler.DiagnosticsLogger +open FSharp.Compiler.Features +open FSharp.Compiler.SyntaxTrivia +open FSharp.Compiler.Text +open FSharp.Compiler.Text.Position +open FSharp.Compiler.Text.Range +open FSharp.Compiler.UnicodeLexing +open Internal.Utilities.Library +open System.Text.RegularExpressions + +[] +module internal WarnScopes = + + // ************************************* + // Temporary storage (during lexing one file) for warn scope related data + // ************************************* + + type private FileIndex = int + type private WarningNumber = int + type private LineNumber = int + + [] + type private WarnCmd = + | Nowarn of WarningNumber * range + | Warnon of WarningNumber * range + + member w.WarningNumber = + match w with + | Nowarn(n, _) + | Warnon(n, _) -> n + + type private WarnDirective = + { + DirectiveRange: range + CommentRange: range option + WarnCmds: WarnCmd list + } + + let private isWarnonDirective (w: WarnDirective) = + match w.WarnCmds with + | [] -> false + | h :: _ -> h.IsWarnon + + type private LineDirective = + { + SurrogateFileIndex: FileIndex + SurrogateLine: LineNumber + OriginalLine: LineNumber + } + + type private LexbufData = + { + OriginalFileIndex: int + mutable WarnDirectives: WarnDirective list + mutable LineDirectives: LineDirective list + } + + let private initialData (lexbuf: Lexbuf) = + { + OriginalFileIndex = lexbuf.StartPos.FileIndex + WarnDirectives = [] + LineDirectives = [] + } + + let private getLexbufData (lexbuf: Lexbuf) = + lexbuf.GetLocalData("WarnScopeData", (fun () -> initialData lexbuf)) + + // ************************************* + // Collect the line directives during lexing + // ************************************* + + let RegisterLineDirective (lexbuf, fileIndex, line: int) = //TODO: send OriginalLine i.o. lexbuf + let data = getLexbufData lexbuf + + let lineDirective = + { + SurrogateFileIndex = fileIndex + SurrogateLine = line + OriginalLine = lexbuf.StartPos.OriginalLine + 1 + } + + data.LineDirectives <- lineDirective :: data.LineDirectives + + // ************************************* + // Collect the warn scopes during lexing + // ************************************* + + let private getNumber (langVersion: LanguageVersion) m (ns: string) = + let argFeature = LanguageFeature.ParsedHashDirectiveArgumentNonQuotes + + let removeQuotes (s: string) = + if s.StartsWithOrdinal "\"" && s.EndsWithOrdinal "\"" then + if s.StartsWithOrdinal "\"\"\"" && s.EndsWithOrdinal "\"\"\"" then + Some(s.Substring(3, s.Length - 6)) + else + Some(s.Substring(1, s.Length - 2)) + elif tryCheckLanguageFeatureAndRecover langVersion argFeature m then + Some s + else + None + + let removePrefix (s: string) = + match s.StartsWithOrdinal "FS", langVersion.SupportsFeature argFeature with + | true, true -> Some(s.Substring 2, s) + | true, false -> + warning (Error(FSComp.SR.buildInvalidWarningNumber s, m)) + None + | false, _ -> Some(s, s) + + let parseInt (intString: string, argString) = + match System.Int32.TryParse intString with + | true, i -> Some i + | false, _ -> + if langVersion.SupportsFeature LanguageFeature.ScopedNowarn then + errorR (Error(FSComp.SR.buildInvalidWarningNumber argString, m)) + elif langVersion.SupportsFeature argFeature then + warning (Error(FSComp.SR.buildInvalidWarningNumber argString, m)) + + None + + ns |> removeQuotes |> Option.bind removePrefix |> Option.bind parseInt + + let private regex = + // This regex is matching the following lexer pattern that brought us here: + // anywhite* ("#nowarn" | "#warnon") anystring newline + // while extracting from "anystring" the directive arguments and the comment. + // A directive argument is any group of characters that is not a space, a newline, a slash or a semicolon. + // Both the presence and syntactic correctness of the directive arguments are checked later. + // For compatibility reasons, the arguments are allowed to be followed by a double semicolon. + // The comment is optional and starts with "//". + // The "(?: ...)?" is just a way to make the arguments optional while not interfering with the capturing. + // Matching a directive with this regex creates 5 groups (next to the full match): + // 1. The leading whitespace. + // 2. The directive identifier ("nowarn" or "warnon", possibly followed by additional characters). + // 3. The directive arguments (if any), with each argument in a separate capture. + // 4. The trailing whitespace. + // 5. The comment (if any). + + Regex("""( *)#(\S+)(?: +([^ \r\n/;]+))*(?:;;)?( *)(\/\/.*)?$""", RegexOptions.CultureInvariant) + + let private parseDirective originalFileIndex lexbuf = + let text = Lexbuf.LexemeString lexbuf + let startPos = lexbuf.StartPos + + let mGroups = (regex.Match text).Groups + let dIdentGroup = mGroups[2] + let dIdent = dIdentGroup.Value + let argsGroup = mGroups[3] + let argCaptures = [ for c in argsGroup.Captures -> c ] + let commentGroup = mGroups[5] + + let positions line offset length = + mkPos line (startPos.Column + offset), mkPos line (startPos.Column + offset + length) + // "normal" ranges (i.e. taking #line directives into account), for errors in the warn directive + let mkRange offset length = + positions lexbuf.StartPos.Line offset length + ||> mkFileIndexRange startPos.FileIndex + // "original" ranges, for the warn scopes + let mkOriginalRange offset length = + positions lexbuf.StartPos.OriginalLine offset length + ||> mkFileIndexRange originalFileIndex + + let directiveLength = + if argsGroup.Success then + argsGroup.Index - (dIdentGroup.Index - 1) + argsGroup.Length + else + dIdentGroup.Length + 1 + + let directiveRange = mkRange (dIdentGroup.Index - 1) directiveLength + + let commentRange = + if commentGroup.Success then + Some(mkRange commentGroup.Index commentGroup.Length) + else + None + + if argCaptures.IsEmpty then + errorR (Error(FSComp.SR.lexWarnDirectiveMustHaveArgs (), directiveRange)) + + let mkDirective ctor (c: Capture) = + getNumber lexbuf.LanguageVersion (mkRange c.Index c.Length) c.Value + |> Option.map (fun n -> ctor (n, mkOriginalRange c.Index c.Length)) + + let warnCmds = + match dIdent with + | "warnon" -> argCaptures |> List.choose (mkDirective WarnCmd.Warnon) + | "nowarn" -> argCaptures |> List.choose (mkDirective WarnCmd.Nowarn) + | _ -> + errorR (Error(FSComp.SR.fsiInvalidDirective ($"#{dIdent}", ""), directiveRange)) + [] + + { + DirectiveRange = directiveRange + CommentRange = commentRange + WarnCmds = warnCmds + } + + let ParseAndRegisterWarnDirective (lexbuf: Lexbuf) = + let data = getLexbufData lexbuf + let warnDirective = parseDirective data.OriginalFileIndex lexbuf + data.WarnDirectives <- warnDirective :: data.WarnDirectives + + // ************************************* + // After lexing, the (processed) warn scope data are kept in diagnosticOptions + // ************************************* + + [] + type private WarnScope = + | Off of range + | On of range + | OpenOff of range + | OpenOn of range + + /// Information about the mapping implied by the #line directives. + /// The Map key is the file index of the surrogate source (the source file pointed to by the line directive). + /// The Map value contains the file index of the original source (the one just being parsed) and + /// a list of mapped sections (surrogate and original start lines). + type private LineMaps = Map + + type private WarnScopeData = + { + ScopedNowarnFeatureIsSupported: bool + ScriptNowarns: WarningNumber list // only needed to avoid breaking changes for previous language versions + WarnScopes: Map> + LineMaps: LineMaps + } + + let private getWarnScopeData (diagnosticOptions: FSharpDiagnosticOptions) = + match diagnosticOptions.WarnScopeData with + | None -> + { + ScopedNowarnFeatureIsSupported = true + ScriptNowarns = [] + WarnScopes = Map.empty + LineMaps = Map.empty + } + | Some data -> data :?> WarnScopeData + + let private setWarnScopeData (diagnosticOptions: FSharpDiagnosticOptions) data = + diagnosticOptions.WarnScopeData <- Some data + + // ************************************* + // Create the warn scopes from the directives and store them in diagnosticOptions. + // ************************************* + + let MergeInto diagnosticOptions isScript subModuleRanges lexbuf = + let lexbufData = getLexbufData lexbuf + let fileIndex = lexbufData.OriginalFileIndex + + let scopedNowarnFeatureIsSupported = + lexbuf.LanguageVersion.SupportsFeature LanguageFeature.ScopedNowarn + + let fileWarnCmds, fileScriptNowarns = + let warnDirectives = lexbufData.WarnDirectives |> List.rev + + if scopedNowarnFeatureIsSupported then + List.collect _.WarnCmds warnDirectives, [] + else + let isInSubmodule (warnDirective: WarnDirective) = + List.exists (fun mRange -> rangeContainsRange mRange warnDirective.DirectiveRange) subModuleRanges + + let subModuleWarnDirectives, topLevelWarnDirectives = + List.partition isInSubmodule warnDirectives + + // Warn about and ignore directives in submodules + subModuleWarnDirectives + |> List.iter (fun wd -> warning (Error(FSComp.SR.buildDirectivesInModulesAreIgnored (), wd.DirectiveRange))) + + let topLevelWarnonDirectives, topLevelNowarnDirectives = + List.partition isWarnonDirective topLevelWarnDirectives + + // "feature not available in this language version" error for top-level #nowarn + topLevelWarnonDirectives + |> List.iter (fun wd -> errorR (languageFeatureError lexbuf.LanguageVersion LanguageFeature.ScopedNowarn wd.DirectiveRange)) + + let nowarnCmds = List.collect _.WarnCmds topLevelNowarnDirectives + + nowarnCmds, + if isScript then + nowarnCmds |> List.map _.WarningNumber + else + [] + + let processWarnCmd warnScopeMap warnCmd = + let getScopes warningNumber warnScopes = + Map.tryFind warningNumber warnScopes |> Option.defaultValue [] + + let mkScope (m1: range) (m2: range) = + mkFileIndexRange m1.FileIndex m1.Start m2.End + + match warnCmd with + | WarnCmd.Nowarn(n, m) -> + match getScopes n warnScopeMap with + | WarnScope.OpenOn m' :: t -> warnScopeMap.Add(n, WarnScope.On(mkScope m' m) :: t) + | WarnScope.OpenOff m' :: _ + | WarnScope.On m' :: _ -> + if scopedNowarnFeatureIsSupported then + informationalWarning (Error(FSComp.SR.lexWarnDirectivesMustMatch ("#nowarn", m'.StartLine), m)) + + warnScopeMap + | scopes -> warnScopeMap.Add(n, WarnScope.OpenOff(mkScope m m) :: scopes) + | WarnCmd.Warnon(n, m) -> + match getScopes n warnScopeMap with + | WarnScope.OpenOff m' :: t -> warnScopeMap.Add(n, WarnScope.Off(mkScope m' m) :: t) + | WarnScope.OpenOn m' :: _ + | WarnScope.Off m' :: _ -> + warning (Error(FSComp.SR.lexWarnDirectivesMustMatch ("#warnon", m'.EndLine), m)) + warnScopeMap + | scopes -> warnScopeMap.Add(n, WarnScope.OpenOn(mkScope m m) :: scopes) + + let fileWarnScopes = fileWarnCmds |> List.fold processWarnCmd Map.empty + + let fileLineMaps: LineMaps = + let sortedSectionMaps = + List.map (fun ld -> ld.SurrogateLine, ld.OriginalLine) >> List.sortBy fst + + lexbufData.LineDirectives + |> List.groupBy _.SurrogateFileIndex + |> List.map (fun (surrIdx, lineDirectives) -> surrIdx, (fileIndex, sortedSectionMaps lineDirectives)) + |> Map + + let merge () = + let projectData = getWarnScopeData diagnosticOptions + + // If the same file is parsed again (same fileIndex), we replace the warn scopes. + let projectWarnScopes = projectData.WarnScopes.Add(fileIndex, fileWarnScopes) + + // If the same surrogate file has entries already (from another parse), we replace the line maps. + // However, if it was referred to from a different original file before, we issue a warning. + // (Because it means the maps are not reliable.) + let projectLineMaps = + let checkAndAdd previousLinemaps surrIdx (newOrigIdx, linePairList as newLinemaps) = + match Map.tryFind surrIdx previousLinemaps with + | Some(origIdx, _) when origIdx <> newOrigIdx -> + let _, origLine = List.head linePairList + let m = mkFileIndexRange origIdx (mkPos origLine 0) (mkPos origLine 4) + + let getName idx = + FileIndex.fileOfFileIndex idx |> System.IO.Path.GetFileName |> string + + warning (Error(FSComp.SR.lexLineDirectiveMappingIsNotUnique (getName surrIdx, getName origIdx), m)) + | _ -> () + + Map.add surrIdx newLinemaps previousLinemaps + + Map.fold checkAndAdd projectData.LineMaps fileLineMaps + + let newWarnScopeData = + { + ScopedNowarnFeatureIsSupported = scopedNowarnFeatureIsSupported + ScriptNowarns = List.distinct (projectData.ScriptNowarns @ fileScriptNowarns) + WarnScopes = projectWarnScopes + LineMaps = projectLineMaps + } + + setWarnScopeData diagnosticOptions newWarnScopeData + + lock diagnosticOptions merge + + let getDirectiveTrivia (lexbuf: Lexbuf) = + let mkTrivia d = + if isWarnonDirective d then + WarnDirectiveTrivia.Warnon(d.WarnCmds |> List.map _.WarningNumber, d.DirectiveRange) + else + WarnDirectiveTrivia.Nowarn(d.WarnCmds |> List.map _.WarningNumber, d.DirectiveRange) + + (getLexbufData lexbuf).WarnDirectives |> List.rev |> List.map mkTrivia + + let getCommentTrivia (lexbuf: Lexbuf) = + (getLexbufData lexbuf).WarnDirectives + |> List.rev + |> List.choose _.CommentRange + |> List.map CommentTrivia.LineComment + + // ************************************* + // Apply the warn scopes after lexing + // ************************************* + + let private getScopes fileIndex warningNumber warnScopes = + Map.tryFind fileIndex warnScopes + |> Option.bind (Map.tryFind warningNumber) + |> Option.defaultValue [] + + let private originalRange lineMaps (m: range) = + match Map.tryFind m.FileIndex lineMaps with + | None -> m + | Some(origFileIndex, sectionMaps) -> + let surrLine, origLine = + if List.isEmpty sectionMaps || m.StartLine < fst sectionMaps.Head then + (1, 1) + else + sectionMaps |> List.skipWhile (fun (s, _) -> m.StartLine < s) |> List.head + + let origStart = mkPos (m.StartLine + origLine - surrLine) m.StartColumn + let origEnd = mkPos (m.EndLine + origLine - surrLine) m.EndColumn + mkFileIndexRange origFileIndex origStart origEnd + + // true if m1 contains the *start* of m2 + // i.e. if the error range encloses the closing warn directive, we still say it is in scope + let private contains (m2: range) (m1: range) = + m2.StartLine > m1.StartLine && m2.StartLine < m1.EndLine + + let private isEnclosingWarnonScope m scope = + match scope with + | WarnScope.On wm when contains m wm -> true + | WarnScope.OpenOn wm when m.StartLine > wm.StartLine -> true + | _ -> false + + let private isEnclosingNowarnScope m scope = + match scope with + | WarnScope.Off wm when contains m wm -> true + | WarnScope.OpenOff wm when m.StartLine > wm.StartLine -> true + | _ -> false + + let IsWarnon (diagnosticOptions: FSharpDiagnosticOptions) warningNumber (mo: range option) = + let data = getWarnScopeData diagnosticOptions + + match mo, data.ScopedNowarnFeatureIsSupported with + | Some m, true -> + let mOrig = originalRange data.LineMaps m + let scopes = getScopes mOrig.FileIndex warningNumber data.WarnScopes + List.exists (isEnclosingWarnonScope mOrig) scopes + | _ -> false + + let IsNowarn (diagnosticOptions: FSharpDiagnosticOptions) warningNumber (mo: range option) = + let data = getWarnScopeData diagnosticOptions + + if List.contains warningNumber data.ScriptNowarns then // this happens only for legacy language versions + true + else + match mo with + | Some m -> + let mOrig = originalRange data.LineMaps m + let scopes = getScopes mOrig.FileIndex warningNumber data.WarnScopes + List.exists (isEnclosingNowarnScope mOrig) scopes + | None -> false diff --git a/src/Compiler/SyntaxTree/WarnScopes.fsi b/src/Compiler/SyntaxTree/WarnScopes.fsi new file mode 100644 index 0000000000..1cdecc7614 --- /dev/null +++ b/src/Compiler/SyntaxTree/WarnScopes.fsi @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace FSharp.Compiler + +open FSharp.Compiler.Diagnostics +open FSharp.Compiler.SyntaxTrivia +open FSharp.Compiler.Text +open FSharp.Compiler.UnicodeLexing + +module internal WarnScopes = + + /// To be called during lexing to register the line directives for warn scope processing. + val internal RegisterLineDirective: lexbuf: Lexbuf * fileIndex: int * line: int -> unit + + /// To be called during lexing to save #nowarn / #warnon directives. + val ParseAndRegisterWarnDirective: lexbuf: Lexbuf -> unit + + /// To be called after lexing a file to create warn scopes from the stored line and + /// warn directives and to add them to the warn scopes from other files in the diagnostics options. + /// Note that isScript and subModuleRanges are needed only to avoid breaking changes for previous language versions. + val MergeInto: FSharpDiagnosticOptions -> isScript: bool -> subModuleRanges: range list -> Lexbuf -> unit + + /// Get the collected ranges of the warn directives + val getDirectiveTrivia: Lexbuf -> WarnDirectiveTrivia list + + /// Get the ranges of comments after warn directives + val getCommentTrivia: Lexbuf -> CommentTrivia list + + /// Check if the range is inside a "warnon" scope for the given warning number. + val IsWarnon: FSharpDiagnosticOptions -> warningNumber: int -> mo: range option -> bool + + /// Check if the range is inside a "nowarn" scope for the given warning number. + val IsNowarn: FSharpDiagnosticOptions -> warningNumber: int -> mo: range option -> bool diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index 93dd890555..8f82eebc07 100644 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -1278,6 +1278,8 @@ type TcGlobals( member val ArrayCollector_tcr = mk_MFCompilerServices_tcref fslibCcu "ArrayCollector`1" + member val SupportsWhenTEnum_tcr = mk_MFCompilerServices_tcref fslibCcu "SupportsWhenTEnum" + member _.TryEmbedILType(tref: ILTypeRef, mkEmbeddableType: unit -> ILTypeDef) = if tref.Scope = ILScopeRef.Local && not(embeddedILTypeDefs.ContainsKey(tref.Name)) then embeddedILTypeDefs.TryAdd(tref.Name, mkEmbeddableType()) |> ignore diff --git a/src/Compiler/TypedTree/TcGlobals.fsi b/src/Compiler/TypedTree/TcGlobals.fsi index b8c3610ef9..f7a3ca11e0 100644 --- a/src/Compiler/TypedTree/TcGlobals.fsi +++ b/src/Compiler/TypedTree/TcGlobals.fsi @@ -276,6 +276,8 @@ type internal TcGlobals = member ListCollector_tcr: FSharp.Compiler.TypedTree.EntityRef + member SupportsWhenTEnum_tcr: FSharp.Compiler.TypedTree.EntityRef + member MatchFailureException_tcr: FSharp.Compiler.TypedTree.EntityRef member ResumableCode_tcr: FSharp.Compiler.TypedTree.EntityRef diff --git a/src/Compiler/TypedTree/TypedTree.fs b/src/Compiler/TypedTree/TypedTree.fs index 817730ec6e..47815bed68 100644 --- a/src/Compiler/TypedTree/TypedTree.fs +++ b/src/Compiler/TypedTree/TypedTree.fs @@ -5609,7 +5609,6 @@ type NamedDebugPointKey = type CheckedImplFile = | CheckedImplFile of qualifiedNameOfFile: QualifiedNameOfFile * - pragmas: ScopedPragma list * signature: ModuleOrNamespaceType * contents: ModuleOrNamespaceContents * hasExplicitEntryPoint: bool * @@ -5623,8 +5622,6 @@ type CheckedImplFile = member x.QualifiedNameOfFile = let (CheckedImplFile (qualifiedNameOfFile=res)) = x in res - member x.Pragmas = let (CheckedImplFile (pragmas=res)) = x in res - member x.HasExplicitEntryPoint = let (CheckedImplFile (hasExplicitEntryPoint=res)) = x in res member x.IsScript = let (CheckedImplFile (isScript=res)) = x in res diff --git a/src/Compiler/TypedTree/TypedTree.fsi b/src/Compiler/TypedTree/TypedTree.fsi index 28ef5776e5..d9216efbe5 100644 --- a/src/Compiler/TypedTree/TypedTree.fsi +++ b/src/Compiler/TypedTree/TypedTree.fsi @@ -4059,7 +4059,6 @@ type NamedDebugPointKey = type CheckedImplFile = | CheckedImplFile of qualifiedNameOfFile: Syntax.QualifiedNameOfFile * - pragmas: Syntax.ScopedPragma list * signature: ModuleOrNamespaceType * contents: ModuleOrNamespaceContents * hasExplicitEntryPoint: bool * @@ -4078,8 +4077,6 @@ type CheckedImplFile = member IsScript: bool - member Pragmas: Syntax.ScopedPragma list - member QualifiedNameOfFile: Syntax.QualifiedNameOfFile member Signature: ModuleOrNamespaceType diff --git a/src/Compiler/TypedTree/TypedTreeOps.fs b/src/Compiler/TypedTree/TypedTreeOps.fs index 4b41db7234..b14dbd753b 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.fs @@ -5801,11 +5801,23 @@ type StaticOptimizationAnswer = // ^T : ^T --> used in (+), (-) etc. to guard witness-invoking implementations added in F# 5 // 'T : 'T --> used in FastGenericEqualityComparer, FastGenericComparer to guard struct/tuple implementations // +// For performance and compatibility reasons, 'T when 'T is an enum is handled with its own special hack. +// Unlike for other 'T : tycon constraints, 'T can be any enum; it need not (and indeed must not) be identical to System.Enum itself. +// 'T : Enum +// +// In order to add this hack in a backwards-compatible way, we must hide this capability behind a marker type +// which we use solely as an indicator of whether the compiler understands `when 'T : Enum`. +// 'T : SupportsWhenTEnum +// // canDecideTyparEqn is set to true in IlxGen when the witness-invoking implementation can be used. let decideStaticOptimizationConstraint g c canDecideTyparEqn = match c with | TTyconEqualsTycon (a, b) when canDecideTyparEqn && typeEquiv g a b && isTyparTy g a -> - StaticOptimizationAnswer.Yes + StaticOptimizationAnswer.Yes + | TTyconEqualsTycon (_, b) when tryTcrefOfAppTy g b |> ValueOption.exists (tyconRefEq g g.SupportsWhenTEnum_tcr) -> + StaticOptimizationAnswer.Yes + | TTyconEqualsTycon (a, b) when isEnumTy g a && not (typeEquiv g a g.system_Enum_ty) && typeEquiv g b g.system_Enum_ty -> + StaticOptimizationAnswer.Yes | TTyconEqualsTycon (a, b) -> // Both types must be nominal for a definite result let rec checkTypes a b = @@ -5815,7 +5827,7 @@ let decideStaticOptimizationConstraint g c canDecideTyparEqn = let b = normalizeEnumTy g (stripTyEqnsAndMeasureEqns g b) match b with | AppTy g (tcref2, _) -> - if tyconRefEq g tcref1 tcref2 then StaticOptimizationAnswer.Yes else StaticOptimizationAnswer.No + if tyconRefEq g tcref1 tcref2 && not (typeEquiv g a g.system_Enum_ty) then StaticOptimizationAnswer.Yes else StaticOptimizationAnswer.No | RefTupleTy g _ | FunTy g _ -> StaticOptimizationAnswer.No | _ -> StaticOptimizationAnswer.Unknown @@ -6495,10 +6507,10 @@ and remapAndRenameModBind ctxt compgen tmenv x = ModuleOrNamespaceBinding.Module(mspec, def) and remapImplFile ctxt compgen tmenv implFile = - let (CheckedImplFile (fragName, pragmas, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile + let (CheckedImplFile (fragName, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile let contentsR = copyAndRemapModDef ctxt compgen tmenv contents let signatureR, tmenv = copyAndRemapAndBindModTy ctxt compgen tmenv signature - let implFileR = CheckedImplFile (fragName, pragmas, signatureR, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) + let implFileR = CheckedImplFile (fragName, signatureR, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) implFileR, tmenv // Entry points @@ -9868,9 +9880,9 @@ and rewriteModuleOrNamespaceBindings env mbinds = List.map (rewriteModuleOrNamespaceBinding env) mbinds and RewriteImplFile env implFile = - let (CheckedImplFile (fragName, pragmas, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile + let (CheckedImplFile (fragName, signature, contents, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode)) = implFile let contentsR = rewriteModuleOrNamespaceContents env contents - let implFileR = CheckedImplFile (fragName, pragmas, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) + let implFileR = CheckedImplFile (fragName, signature, contentsR, hasExplicitEntryPoint, isScript, anonRecdTypes, namedDebugPointsForInlinedCode) implFileR //-------------------------------------------------------------------------- diff --git a/src/Compiler/Utilities/Caches.fs b/src/Compiler/Utilities/Caches.fs new file mode 100644 index 0000000000..a3cebd9316 --- /dev/null +++ b/src/Compiler/Utilities/Caches.fs @@ -0,0 +1,304 @@ +// LinkedList uses nulls, so we need to disable the nullability warnings for this file. +namespace FSharp.Compiler.Caches + +open System +open System.Collections.Generic +open System.Collections.Concurrent +open System.Threading +open System.Diagnostics +open System.Diagnostics.Metrics + +[] +type CacheOptions = + { + /// Total capacity, determines the size of the underlying store. + TotalCapacity: int + + /// Safety margin size as a percentage of TotalCapacity. + HeadroomPercentage: int + } + + static member Default = + { + TotalCapacity = 128 + HeadroomPercentage = 50 + } + +// It is important that this is not a struct, because LinkedListNode holds a reference to it, +// and it holds the reference to that Node, in a circular way. +[] +[] +type CachedEntity<'Key, 'Value> = + val mutable private key: 'Key + val mutable private value: 'Value + + [] + val mutable private node: LinkedListNode> + + private new(key, value) = { key = key; value = value } + + member this.Node = this.node + member this.Key = this.key + member this.Value = this.value + + static member Create(key: 'Key, value: 'Value) = + let entity = CachedEntity(key, value) + // The contract is that each CachedEntity produced by the EntityPool always has Node referencing itself. + entity.node <- LinkedListNode(entity) + entity + + member this.ReUse(key, value) = + this.key <- key + this.value <- value + this + + override this.ToString() = $"{this.Key}" + +// Currently the Cache itself exposes Metrics.Counters that count raw cache events: hits, misses, evictions etc. +// This class observes those counters and keeps a snapshot of readings. For now this is used only to print cache stats in debug mode. +// TODO: We could add some System.Diagnostics.Metrics.Gauge instruments to this class, to get computed stats also exposed as metrics. +type CacheMetrics(cacheId) = + static let meter = new Meter("FSharp.Compiler.Cache") + + static let observedCaches = ConcurrentDictionary() + + let readings = ConcurrentDictionary() + + let listener = new MeterListener() + + do + listener.InstrumentPublished <- + fun i l -> + if i.Meter = meter && i.Description = cacheId then + l.EnableMeasurementEvents(i) + + listener.SetMeasurementEventCallback(fun k v _ _ -> Interlocked.Add(readings.GetOrAdd(k.Name, ref 0L), v) |> ignore) + listener.Start() + + member this.Dispose() = listener.Dispose() + + member val CacheId = cacheId + + static member val Meter = meter + + member val RecentStats = "-" with get, set + + member this.TryUpdateStats(clearCounts) = + let ratio = + try + float readings["hits"].Value + / float (readings["hits"].Value + readings["misses"].Value) + * 100.0 + with _ -> + Double.NaN + + let stats = + [ + for name in readings.Keys do + let v = readings[name].Value + + if v > 0 then + $"{name}: {v}" + ] + |> String.concat ", " + |> sprintf "%s | hit ratio: %s %s" this.CacheId (if Double.IsNaN(ratio) then "-" else $"%.1f{ratio}%%") + + if clearCounts then + for r in readings.Values do + Interlocked.Exchange(r, 0L) |> ignore + + if stats <> this.RecentStats then + this.RecentStats <- stats + true + else + false + + // TODO: Should return a Map, not a string + static member GetStats(cacheId) = + observedCaches[cacheId].TryUpdateStats(false) |> ignore + observedCaches[cacheId].RecentStats + + static member GetStatsUpdateForAllCaches(clearCounts) = + [ + for i in observedCaches.Values do + if i.TryUpdateStats(clearCounts) then + i.RecentStats + ] + |> String.concat "\n" + + static member AddInstrumentation(cacheId) = + if observedCaches.ContainsKey cacheId then + invalidArg "cacheId" $"cache with name {cacheId} already exists" + + observedCaches[cacheId] <- new CacheMetrics(cacheId) + + static member RemoveInstrumentation(cacheId) = + observedCaches[cacheId].Dispose() + observedCaches.TryRemove(cacheId) |> ignore + +// Creates and after reclaiming holds entities for reuse. +// More than totalCapacity can be created, but it will hold for reuse at most totalCapacity. +type EntityPool<'Key, 'Value>(totalCapacity, cacheId) = + let pool = ConcurrentBag>() + + let created = CacheMetrics.Meter.CreateCounter("created", "count", cacheId) + + member _.Acquire(key, value) = + match pool.TryTake() with + | true, entity -> entity.ReUse(key, value) + | _ -> + created.Add 1L + CachedEntity.Create(key, value) + + member _.Reclaim(entity: CachedEntity<'Key, 'Value>) = + if pool.Count < totalCapacity then + pool.Add(entity) + +module Cache = + // During testing a lot of compilations are started in app domains and subprocesses. + // This is a reliable way to pass the override to all of them. + [] + let private overrideVariable = "FSHARP_CACHE_OVERRIDE" + + /// Use for testing purposes to reduce memory consumption in testhost and its subprocesses. + let OverrideCapacityForTesting () = + Environment.SetEnvironmentVariable(overrideVariable, "true", EnvironmentVariableTarget.Process) + + let applyOverride (capacity: int) = + match Environment.GetEnvironmentVariable(overrideVariable) with + | NonNull _ when capacity > 4096 -> 4096 + | _ -> capacity + +[] +type EvictionQueueMessage<'Key, 'Value> = + | Add of CachedEntity<'Key, 'Value> + | Update of CachedEntity<'Key, 'Value> + +[] +[] +type Cache<'Key, 'Value when 'Key: not null and 'Key: equality> internal (totalCapacity, headroom, ?name, ?observeMetrics) = + + let instanceId = defaultArg name (Guid.NewGuid().ToString()) + + let observeMetrics = defaultArg observeMetrics false + + do + if observeMetrics then + CacheMetrics.AddInstrumentation instanceId + + let meter = CacheMetrics.Meter + let hits = meter.CreateCounter("hits", "count", instanceId) + let misses = meter.CreateCounter("misses", "count", instanceId) + let evictions = meter.CreateCounter("evictions", "count", instanceId) + + let evictionFails = + meter.CreateCounter("eviction-fails", "count", instanceId) + + let pool = EntityPool<'Key, 'Value>(totalCapacity, instanceId) + + let store = + ConcurrentDictionary<'Key, CachedEntity<'Key, 'Value>>(Environment.ProcessorCount, totalCapacity) + + let evictionQueue = LinkedList>() + + // Non-evictable capacity. + let capacity = totalCapacity - headroom + + let evicted = Event<_>() + + let cts = new CancellationTokenSource() + + let evictionProcessor = + MailboxProcessor.Start( + (fun mb -> + let rec processNext () = + async { + match! mb.Receive() with + | EvictionQueueMessage.Add entity -> + evictionQueue.AddLast(entity.Node) + + // Evict one immediately if necessary. + if evictionQueue.Count > capacity then + let first = nonNull evictionQueue.First + + match store.TryRemove(first.Value.Key) with + | true, removed -> + evictionQueue.Remove(first) + pool.Reclaim(removed) + evictions.Add 1L + evicted.Trigger() + | _ -> evictionFails.Add 1L + + // Store updates are not synchronized. It is possible the entity is no longer in the queue. + | EvictionQueueMessage.Update entity when isNull entity.Node.List -> () + + | EvictionQueueMessage.Update entity -> + // Just move this node to the end of the list. + evictionQueue.Remove(entity.Node) + evictionQueue.AddLast(entity.Node) + + return! processNext () + } + + processNext ()), + cts.Token + ) + + member val Evicted = evicted.Publish + + member val Name = instanceId + + member _.TryGetValue(key: 'Key, value: outref<'Value>) = + match store.TryGetValue(key) with + | true, entity -> + hits.Add 1L + evictionProcessor.Post(EvictionQueueMessage.Update entity) + value <- entity.Value + true + | _ -> + misses.Add 1L + value <- Unchecked.defaultof<'Value> + false + + member _.TryAdd(key: 'Key, value: 'Value) = + let entity = pool.Acquire(key, value) + + let added = store.TryAdd(key, entity) + + if added then + evictionProcessor.Post(EvictionQueueMessage.Add entity) + else + pool.Reclaim(entity) + + added + + interface IDisposable with + member this.Dispose() = + cts.Cancel() + cts.Dispose() + evictionProcessor.Dispose() + store.Clear() + + if observeMetrics then + CacheMetrics.RemoveInstrumentation instanceId + + member this.Dispose() = (this :> IDisposable).Dispose() + + member this.GetStats() = CacheMetrics.GetStats(this.Name) + + static member Create<'Key, 'Value>(options: CacheOptions, ?name, ?observeMetrics) = + if options.TotalCapacity < 0 then + invalidArg "Capacity" "Capacity must be positive" + + if options.HeadroomPercentage < 0 then + invalidArg "HeadroomPercentage" "HeadroomPercentage must be positive" + + let totalCapacity = Cache.applyOverride options.TotalCapacity + // Determine evictable headroom as the percentage of total capcity, since we want to not resize the dictionary. + let headroom = + int (float options.TotalCapacity * float options.HeadroomPercentage / 100.0) + + let cache = + new Cache<_, _>(totalCapacity, headroom, ?name = name, ?observeMetrics = observeMetrics) + + cache diff --git a/src/Compiler/Utilities/Caches.fsi b/src/Compiler/Utilities/Caches.fsi new file mode 100644 index 0000000000..565342bf7f --- /dev/null +++ b/src/Compiler/Utilities/Caches.fsi @@ -0,0 +1,44 @@ +namespace FSharp.Compiler.Caches + +open System +open System.Diagnostics.Metrics +open System.Threading + +[] +type internal CacheOptions = + { + /// Total capacity, determines the size of the underlying store. + TotalCapacity: int + + /// Safety margin size as a percentage of TotalCapacity. + HeadroomPercentage: int + } + + static member Default: CacheOptions + +module internal Cache = + val OverrideCapacityForTesting: unit -> unit + +[] +type internal Cache<'Key, 'Value when 'Key: not null and 'Key: equality> = + new: totalCapacity: int * headroom: int * ?name: string * ?observeMetrics: bool -> Cache<'Key, 'Value> + + member TryGetValue: key: 'Key * value: outref<'Value> -> bool + member TryAdd: key: 'Key * value: 'Value -> bool + /// Cancels the background eviction task. + member Dispose: unit -> unit + + interface IDisposable + + /// For testing only + member Evicted: IEvent + + static member Create<'Key, 'Value> : + options: CacheOptions * ?name: string * ?observeMetrics: bool -> Cache<'Key, 'Value> + +[] +type internal CacheMetrics = + static member Meter: Meter + static member GetStats: cacheId: string -> string + /// Retrieves current hit ratio, hits, misses, evictions etc. formatted for printing or logging. + static member GetStatsUpdateForAllCaches: clearCounts: bool -> string diff --git a/src/Compiler/Utilities/Cancellable.fs b/src/Compiler/Utilities/Cancellable.fs index 20e220b7e9..bae9c6f829 100644 --- a/src/Compiler/Utilities/Cancellable.fs +++ b/src/Compiler/Utilities/Cancellable.fs @@ -73,7 +73,11 @@ module Cancellable = if ct.IsCancellationRequested then ValueOrCancelled.Cancelled(OperationCanceledException ct) else - oper ct + try + oper ct + with + | :? OperationCanceledException as e when ct.IsCancellationRequested -> ValueOrCancelled.Cancelled e + | :? OperationCanceledException as e -> InvalidOperationException("Wrong cancellation token", e) |> raise let fold f acc seq = Cancellable(fun ct -> @@ -101,14 +105,10 @@ module Cancellable = let! ct = Async.CancellationToken return! - Async.FromContinuations(fun (cont, econt, ccont) -> - try - match run ct c with - | ValueOrCancelled.Value v -> cont v - | ValueOrCancelled.Cancelled ce -> ccont ce - with - | :? OperationCanceledException as ce when ct.IsCancellationRequested -> ccont ce - | :? OperationCanceledException as e -> InvalidOperationException("Wrong cancellation token", e) |> econt) + Async.FromContinuations(fun (cont, _econt, ccont) -> + match run ct c with + | ValueOrCancelled.Value v -> cont v + | ValueOrCancelled.Cancelled ce -> ccont ce) } let token () = Cancellable(ValueOrCancelled.Value) diff --git a/src/Compiler/Utilities/TypeHashing.fs b/src/Compiler/Utilities/TypeHashing.fs index bcdface38b..7907c2148d 100644 --- a/src/Compiler/Utilities/TypeHashing.fs +++ b/src/Compiler/Utilities/TypeHashing.fs @@ -126,22 +126,6 @@ module HashAccessibility = module rec HashTypes = open Microsoft.FSharp.Core.LanguagePrimitives - let stampEquals g ty1 ty2 = - match (stripTyEqns g ty1), (stripTyEqns g ty2) with - | TType_app(tcref1, _, _), TType_app(tcref2, _, _) -> tcref1.Stamp.Equals(tcref2.Stamp) - | TType_var(r1, _), TType_var(r2, _) -> r1.Stamp.Equals(r2.Stamp) - | _ -> false - - /// Get has for Stamp for TType_app tyconref and TType_var typar - let hashStamp g ty = - let v: Stamp = - match (stripTyEqns g ty) with - | TType_app(tcref, _, _) -> tcref.Stamp - | TType_var(r, _) -> r.Stamp - | _ -> GenericZero - - hash v - /// Hash a reference to a type let hashTyconRef tcref = hashTyconRefImpl tcref @@ -344,3 +328,69 @@ module HashTastMemberOrVals = hashNonMemberVal (g, obs) (tps, vref.Deref, tau, cxs) | Some _ -> hashMember (g, obs) emptyTyparInst vref.Deref + +/// Practical TType comparer strictly for the use with cache keys. +module HashStamps = + let rec typeInstStampsEqual (tys1: TypeInst) (tys2: TypeInst) = + tys1.Length = tys2.Length && (tys1, tys2) ||> Seq.forall2 stampEquals + + and inline typarStampEquals (t1: Typar) (t2: Typar) = t1.Stamp = t2.Stamp + + and typarsStampsEqual (tps1: Typars) (tps2: Typars) = + tps1.Length = tps2.Length && (tps1, tps2) ||> Seq.forall2 typarStampEquals + + and measureStampEquals (m1: Measure) (m2: Measure) = + match m1, m2 with + | Measure.Var(mv1), Measure.Var(mv2) -> mv1.Stamp = mv2.Stamp + | Measure.Const(t1, _), Measure.Const(t2, _) -> t1.Stamp = t2.Stamp + | Measure.Prod(m1, m2, _), Measure.Prod(m3, m4, _) -> measureStampEquals m1 m3 && measureStampEquals m2 m4 + | Measure.Inv m1, Measure.Inv m2 -> measureStampEquals m1 m2 + | Measure.One _, Measure.One _ -> true + | Measure.RationalPower(m1, r1), Measure.RationalPower(m2, r2) -> r1 = r2 && measureStampEquals m1 m2 + | _ -> false + + and nullnessEquals (n1: Nullness) (n2: Nullness) = + match n1, n2 with + | Nullness.Known k1, Nullness.Known k2 -> k1 = k2 + | Nullness.Variable _, Nullness.Variable _ -> true + | _ -> false + + and stampEquals ty1 ty2 = + match ty1, ty2 with + | TType_ucase(u, tys1), TType_ucase(v, tys2) -> u.CaseName = v.CaseName && typeInstStampsEqual tys1 tys2 + | TType_app(tcref1, tinst1, n1), TType_app(tcref2, tinst2, n2) -> + tcref1.Stamp = tcref2.Stamp + && nullnessEquals n1 n2 + && typeInstStampsEqual tinst1 tinst2 + | TType_anon(info1, tys1), TType_anon(info2, tys2) -> info1.Stamp = info2.Stamp && typeInstStampsEqual tys1 tys2 + | TType_tuple(c1, tys1), TType_tuple(c2, tys2) -> c1 = c2 && typeInstStampsEqual tys1 tys2 + | TType_forall(tps1, tau1), TType_forall(tps2, tau2) -> stampEquals tau1 tau2 && typarsStampsEqual tps1 tps2 + | TType_var(r1, n1), TType_var(r2, n2) -> r1.Stamp = r2.Stamp && nullnessEquals n1 n2 + | TType_measure m1, TType_measure m2 -> measureStampEquals m1 m2 + | _ -> false + + let inline hashStamp (x: Stamp) : Hash = uint x * 2654435761u |> int + + // The idea is to keep the illusion of immutability of TType. + // This hash must be stable during compilation, otherwise we won't be able to find keys or evict from the cache. + let rec hashTType ty : Hash = + match ty with + | TType_ucase(u, tinst) -> tinst |> hashListOrderMatters (hashTType) |> pipeToHash (hash u.CaseName) + | TType_app(tcref, tinst, Nullness.Known n) -> + tinst + |> hashListOrderMatters (hashTType) + |> pipeToHash (hashStamp tcref.Stamp) + |> pipeToHash (hash n) + | TType_app(tcref, tinst, Nullness.Variable _) -> tinst |> hashListOrderMatters (hashTType) |> pipeToHash (hashStamp tcref.Stamp) + | TType_anon(info, tys) -> tys |> hashListOrderMatters (hashTType) |> pipeToHash (hashStamp info.Stamp) + | TType_tuple(c, tys) -> tys |> hashListOrderMatters (hashTType) |> pipeToHash (hash c) + | TType_forall(tps, tau) -> + tps + |> Seq.map _.Stamp + |> hashListOrderMatters (hashStamp) + |> pipeToHash (hashTType tau) + | TType_fun(d, r, Nullness.Known n) -> hashTType d |> pipeToHash (hashTType r) |> pipeToHash (hash n) + | TType_fun(d, r, Nullness.Variable _) -> hashTType d |> pipeToHash (hashTType r) + | TType_var(r, Nullness.Known n) -> hashStamp r.Stamp |> pipeToHash (hash n) + | TType_var(r, Nullness.Variable _) -> hashStamp r.Stamp + | TType_measure _ -> 0 diff --git a/src/Compiler/Utilities/lib.fs b/src/Compiler/Utilities/lib.fs index a2dd4f66d7..e3b08d3c98 100755 --- a/src/Compiler/Utilities/lib.fs +++ b/src/Compiler/Utilities/lib.fs @@ -59,12 +59,11 @@ module Int64 = module Pair = let order (compare1: IComparer<'T1>, compare2: IComparer<'T2>) = - { new IComparer<'T1 * 'T2> with + { new IComparer with member _.Compare((a1, a2), (aa1, aa2)) = let res1 = compare1.Compare (a1, aa1) if res1 <> 0 then res1 else compare2.Compare (a2, aa2) } - type NameSet = Zset module NameSet = diff --git a/src/Compiler/Utilities/lib.fsi b/src/Compiler/Utilities/lib.fsi index 0a56dd9d67..566d677914 100644 --- a/src/Compiler/Utilities/lib.fsi +++ b/src/Compiler/Utilities/lib.fsi @@ -52,7 +52,7 @@ module Int64 = val order: IComparer module Pair = - val order: compare1: IComparer<'T1> * compare2: IComparer<'T2> -> IComparer<'T1 * 'T2> + val order: compare1: IComparer<'T1> * compare2: IComparer<'T2> -> IComparer type NameSet = Zset diff --git a/src/Compiler/Utilities/range.fs b/src/Compiler/Utilities/range.fs index 5e13752df0..0857d7c4d7 100755 --- a/src/Compiler/Utilities/range.fs +++ b/src/Compiler/Utilities/range.fs @@ -449,7 +449,7 @@ module Range = let posOrder = let pairOrder = Pair.order (Int32.order, Int32.order) - let lineAndColumn = fun (p: pos) -> p.Line, p.Column + let lineAndColumn = fun (p: pos) -> struct (p.Line, p.Column) { new IComparer with member _.Compare(x, xx) = @@ -458,7 +458,7 @@ module Range = let rangeOrder = let tripleOrder = Pair.order (String.order, Pair.order (posOrder, posOrder)) - let fileLineColumn = fun (r: range) -> r.FileName, (r.Start, r.End) + let fileLineColumn = fun (r: range) -> struct (r.FileName, struct (r.Start, r.End)) { new IComparer with member _.Compare(x, xx) = diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index 34bfe4bfe1..c4aa041abc 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -817,7 +817,9 @@ rule token (args: LexArgs) (skip: bool) = parse // Construct the new position if args.applyLineDirectives then - lexbuf.EndPos <- pos.ApplyLineDirective((match file with Some f -> FileIndex.fileIndexOfFile f | None -> pos.FileIndex), line) + let fileIndex = match file with Some f -> FileIndex.fileIndexOfFile f | None -> pos.FileIndex + WarnScopes.RegisterLineDirective(lexbuf, fileIndex, line) + lexbuf.EndPos <- pos.ApplyLineDirective(fileIndex, line) else // add a newline when we don't apply a directive since we consumed a newline getting here incrLine lexbuf @@ -837,6 +839,10 @@ rule token (args: LexArgs) (skip: bool) = parse | "@@>" { checkExprOp lexbuf; RQUOTE ("<@@ @@>", true) } + | "@>|}" { RQUOTE_BAR_RBRACE ("<@ @>", false) } + + | "@@>|}" { RQUOTE_BAR_RBRACE ("<@@ @@>", true) } + | '#' { HASH } | '&' { AMP } @@ -903,6 +909,8 @@ rule token (args: LexArgs) (skip: bool) = parse | ">" { GREATER false } + | ">|}" { GREATER_BAR_RBRACE } + | "[<" { LBRACK_LESS } | "]" { RBRACK } @@ -1080,6 +1088,13 @@ rule token (args: LexArgs) (skip: bool) = parse lexbuf.StartPos <- lexbuf.StartPos.ShiftColumnBy(n) HASH_IDENT(lexemeTrimLeft lexbuf (n+1)) } + | anywhite* ("#nowarn" | "#warnon") anystring + { let m = lexbuf.LexemeRange + shouldStartLine args lexbuf m (FSComp.SR.lexWarnDirectiveMustBeFirst()) + WarnScopes.ParseAndRegisterWarnDirective lexbuf + let tok = WARN_DIRECTIVE(m, lexeme lexbuf, LexCont.EndLine(args.ifdefStack, args.stringNest, LexerEndlineContinuation.Token)) + if skip then endline LexerEndlineContinuation.Token args skip lexbuf else tok } + | surrogateChar surrogateChar | _ diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 7cac0ad0dc..f4c291ce26 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -78,13 +78,13 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %token LET YIELD YIELD_BANG AND_BANG %token LESS GREATER /* here the bool indicates if the tokens are part of a type application or type parameter declaration, e.g. C, detected by the lex filter */ %token PERCENT_OP BINDER -%token LQUOTE RQUOTE RQUOTE_DOT +%token LQUOTE RQUOTE RQUOTE_DOT RQUOTE_BAR_RBRACE %token BAR_BAR UPCAST DOWNCAST NULL RESERVED MODULE NAMESPACE DELEGATE CONSTRAINT BASE %token AND AS ASSERT OASSERT ASR BEGIN DO DONE DOWNTO ELSE ELIF END DOT_DOT DOT_DOT_HAT %token EXCEPTION FALSE FOR FUN FUNCTION IF IN JOIN_IN FINALLY DO_BANG %token LAZY OLAZY MATCH MATCH_BANG MUTABLE NEW OF %token OPEN OR REC THEN TO TRUE TRY TYPE VAL INLINE INTERFACE INSTANCE CONST -%token WHEN WHILE WHILE_BANG WITH HASH AMP AMP_AMP QUOTE LPAREN RPAREN RPAREN_COMING_SOON RPAREN_IS_HERE STAR COMMA RARROW GREATER_BAR_RBRACK LPAREN_STAR_RPAREN +%token WHEN WHILE WHILE_BANG WITH HASH AMP AMP_AMP QUOTE LPAREN RPAREN RPAREN_COMING_SOON RPAREN_IS_HERE STAR COMMA RARROW GREATER_BAR_RBRACK GREATER_BAR_RBRACE LPAREN_STAR_RPAREN %token QMARK QMARK_QMARK DOT COLON COLON_COLON COLON_GREATER COLON_QMARK_GREATER COLON_QMARK COLON_EQUALS SEMICOLON %token SEMICOLON_SEMICOLON LARROW EQUALS LBRACK LBRACK_BAR LBRACE_BAR LBRACK_LESS %token BAR_RBRACK BAR_RBRACE UNDERSCORE @@ -152,7 +152,7 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> /* These are artificial */ %token LEX_FAILURE %token COMMENT WHITESPACE HASH_LINE HASH_LIGHT INACTIVECODE LINE_COMMENT STRING_TEXT EOF -%token HASH_IF HASH_ELSE HASH_ENDIF +%token HASH_IF HASH_ELSE HASH_ENDIF WARN_DIRECTIVE %start signatureFile implementationFile interaction typedSequentialExprEOF typEOF %type typedSequentialExprEOF @@ -474,7 +474,7 @@ interactiveSeparator: | OBLOCKSEP { } /*--------------------------------------------------------------------------*/ -/* #directives - used by both F# Interactive directives and #nowarn etc. */ +/* #directives - used by F# Interactive directives */ /* A #directive in a module, namespace or an interaction */ @@ -3755,18 +3755,32 @@ atomicPattern: { SynPat.ArrayOrList(true, $2, lhs parseState) } | UNDERSCORE - { SynPat.Wild(lhs parseState) } + { (* Underscore pattern ('_') is represented as SynPat.Wild + This wild pattern is used in all binding forms: + - let _ = ... + - use _ = ... + - let! _ = ... + - use! _ = ... + This ensures consistent representation of wildcard bindings in the AST *) + SynPat.Wild(lhs parseState) } | QMARK ident { SynPat.OptionalVal($2, lhs parseState) } | atomicPatternLongIdent %prec prec_atompat_pathop - { let vis, lidwd = $1 + { (* This rule handles identifiers in patterns like 'use! __' *) + (* For simple identifiers (like '__'), it creates a SynPat.Named AST node *) + (* For complex paths (A.B.C) or uppercase ids, it calls mkSynPatMaybeVar *) + let vis, lidwd = $1 if not (isNilOrSingleton lidwd.LongIdent) || String.isLeadingIdentifierCharacterUpperCase (List.head lidwd.LongIdent).idText then mkSynPatMaybeVar lidwd vis (lhs parseState) else let synIdent = List.head lidwd.IdentsWithTrivia - SynPat.Named(synIdent, false, vis, synIdent.Range) } + let m = + match vis with + | Some vis -> unionRanges vis.Range synIdent.Range + | _ -> synIdent.Range + SynPat.Named(synIdent, false, vis, m) } | constant { SynPat.Const(fst $1, snd $1) } @@ -4412,13 +4426,22 @@ declExpr: let mForLoopAll = rhs2 parseState 1 2 exprFromParseError (SynExpr.ForEach(spFor, spIn, SeqExprOnly false, true, $2, arbExpr ("forLoopCollection", mFor), arbExpr ("forLoopBody3", mForLoopBodyArb), mForLoopAll)) } - | YIELD declExpr + | YIELD declExpr COLON typ { let trivia: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = rhs parseState 1 } - SynExpr.YieldOrReturn(($1, not $1), $2, (unionRanges (rhs parseState 1) $2.Range), trivia) } + let typedExpr = SynExpr.Typed($2, $4, unionRanges $2.Range $4.Range) + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang typedExpr.Range + SynExpr.YieldOrReturn(($1, not $1), typedExpr, (unionRanges (rhs parseState 1) $4.Range), trivia) } - | YIELD_BANG declExpr - { let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 } - SynExpr.YieldOrReturnFrom(($1, not $1), $2, (unionRanges (rhs parseState 1) $2.Range), trivia) } + | YIELD declExpr opt_topReturnTypeWithTypeConstraints + { let trivia: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = rhs parseState 1 } + let expr = + match $3 with + | None -> $2 + | Some(_, SynReturnInfo((ty, _), m)) -> + let m = unionRanges $2.Range m + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang m + SynExpr.Typed($2, ty, m) + SynExpr.YieldOrReturn(($1, not $1), expr, (unionRanges (rhs parseState 1) expr.Range), trivia) } | YIELD recover { let mYieldAll = rhs parseState 1 @@ -4430,8 +4453,31 @@ declExpr: let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 } SynExpr.YieldOrReturnFrom(($1, not $1), arbExpr ("yield!", mYieldAll), mYieldAll, trivia) } + | YIELD_BANG declExpr COLON typ + { let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 } + let typedExpr = SynExpr.Typed($2, $4, unionRanges $2.Range $4.Range) + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang typedExpr.Range + SynExpr.YieldOrReturnFrom(($1, not $1), typedExpr, (unionRanges (rhs parseState 1) $2.Range), trivia) } + + | YIELD_BANG declExpr opt_topReturnTypeWithTypeConstraints + { let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 } + let expr = + match $3 with + | None -> $2 + | Some(_, SynReturnInfo((ty, _), m)) -> + let m = unionRanges $2.Range m + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang m + SynExpr.Typed($2, ty, m) + SynExpr.YieldOrReturnFrom(($1, not $1), expr, (unionRanges (rhs parseState 1) $2.Range), trivia) } + | BINDER headBindingPattern EQUALS typedSequentialExprBlock IN opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let - { let spBind = DebugPointAtBinding.Yes(rhs2 parseState 1 5) + { (* This rule handles the 'use!' and 'let!' binding expressions in computation expressions *) + (* The BINDER token represents keywords like 'use!' or 'let!' *) + (* headBindingPattern represents patterns in the binding: + - Underscore ('_') patterns are preserved as SynPat.Wild + - Named patterns ('__') are represented as SynPat.Named + - Identifiers (like 'value') are represented as SynPat.LongIdent *) + let spBind = DebugPointAtBinding.Yes(rhs2 parseState 1 5) let mEquals = rhs parseState 3 let m = unionRanges (rhs parseState 1) $8.Range let trivia: SynExprLetOrUseBangTrivia = { LetOrUseBangKeyword = rhs parseState 1 ; EqualsRange = Some mEquals } @@ -4446,6 +4492,39 @@ declExpr: let trivia: SynExprLetOrUseBangTrivia = { LetOrUseBangKeyword = rhs parseState 1 ; EqualsRange = Some mEquals } SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, $7, $8, m, trivia) } + | BINDER headBindingPattern opt_topReturnTypeWithTypeConstraints EQUALS typedSequentialExprBlock IN opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let + { // Handle type annotations on patterns in let!/use! bindings + // Examples: let! x: int = async { return 1 } + // use! _: IDisposable = async { return new MemoryStream() } + let spBind = DebugPointAtBinding.Yes(rhs2 parseState 1 7) + let pat = + match $3 with + | None -> $2 + | Some (_, SynReturnInfo((ty, _), _)) -> + SynPat.Typed($2, ty, unionRanges $2.Range ty.Range) + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang pat.Range + let mEquals = rhs parseState 4 + let m = unionRanges (rhs parseState 1) $9.Range + let trivia: SynExprLetOrUseBangTrivia = { LetOrUseBangKeyword = rhs parseState 1 ; EqualsRange = Some mEquals } + SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, pat, $5, $8, $9, m, trivia) } + + | OBINDER headBindingPattern opt_topReturnTypeWithTypeConstraints EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let + { // Handle type annotations on patterns in let!/use! bindings (offside-sensitive version) + // This rule maintains consistent handling of binding constructs across different syntactic contexts + let report, mIn, _ = $6 + report (if $1 = "use" then "use!" else "let!") (rhs parseState 1) // report unterminated error + let spBind = DebugPointAtBinding.Yes(unionRanges (rhs parseState 1) $5.Range) + let pat = + match $3 with + | None -> $2 + | Some (_, SynReturnInfo((ty, _), _)) -> + SynPat.Typed($2, ty, unionRanges $2.Range ty.Range) + parseState.LexBuffer.CheckLanguageFeatureAndRecover LanguageFeature.AllowTypedLetOrUseBang pat.Range + let mEquals = rhs parseState 4 + let m = unionRanges (rhs parseState 1) $9.Range + let trivia: SynExprLetOrUseBangTrivia = { LetOrUseBangKeyword = rhs parseState 1 ; EqualsRange = Some mEquals } + SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, pat, $5, $8, $9, m, trivia) } + | OBINDER headBindingPattern EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP error %prec expr_let { // error recovery that allows intellisense when writing incomplete computation expressions let spBind = DebugPointAtBinding.Yes(unionRanges (rhs parseState 1) $4.Range) @@ -5545,7 +5624,7 @@ recdExpr: let l = List.rev $5 let dummyField = mkRecdField (SynLongIdent([], [], [])) // dummy identifier, it will be discarded let l = rebindRanges (dummyField, None, None) l $6 - let (SynExprRecordField(_, _, _, inheritsSep)) = List.head l + let (SynExprRecordField(_, _, _, _, inheritsSep)) = List.head l let bindings = List.tail l (Some($2, arg, rhs2 parseState 2 4, inheritsSep, rhs parseState 1), None, bindings) } @@ -5587,7 +5666,7 @@ recdExprCore: reportParseErrorAt m (FSComp.SR.parsUnderscoreInvalidFieldName()) reportParseErrorAt m (FSComp.SR.parsFieldBinding()) let f = mkUnderscoreRecdField m - (None, [ SynExprRecordField(f, None, None, None) ]) } + (None, [ SynExprRecordField(f, None, None, m, None) ]) } | UNDERSCORE EQUALS { let m = rhs parseState 1 @@ -5596,7 +5675,7 @@ recdExprCore: let mEquals = rhs parseState 2 reportParseErrorAt (rhs2 parseState 1 2) (FSComp.SR.parsFieldBinding()) - (None, [ SynExprRecordField(f, Some mEquals, None, None) ]) } + (None, [ SynExprRecordField(f, Some mEquals, None, (rhs2 parseState 1 2), None) ]) } | UNDERSCORE EQUALS declExprBlock recdExprBindings opt_seps_recd { reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnderscoreInvalidFieldName()) @@ -5781,9 +5860,9 @@ braceBarExprCore: { let orig, flds = $2 let flds = flds |> List.choose (function - | SynExprRecordField((synLongIdent, _), mEquals, Some e, _) when orig.IsSome -> Some(synLongIdent, mEquals, e) // copy-and-update, long identifier signifies nesting - | SynExprRecordField((SynLongIdent([ _id ], _, _) as synLongIdent, _), mEquals, Some e, _) -> Some(synLongIdent, mEquals, e) // record construction, long identifier not valid - | SynExprRecordField((synLongIdent, _), mEquals, None, _) -> Some(synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range)) + | SynExprRecordField((synLongIdent, _), mEquals, Some e, _, _) when orig.IsSome -> Some(synLongIdent, mEquals, e) // copy-and-update, long identifier signifies nesting + | SynExprRecordField((SynLongIdent([ _id ], _, _) as synLongIdent, _), mEquals, Some e, _, _) -> Some(synLongIdent, mEquals, e) // record construction, long identifier not valid + | SynExprRecordField((synLongIdent, _), mEquals, None, _, _) -> Some(synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range)) | _ -> reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidAnonRecdType()); None) let mLeftBrace = rhs parseState 1 let mRightBrace = rhs parseState 3 @@ -5796,8 +5875,8 @@ braceBarExprCore: let orig, flds = $2 let flds = flds |> List.map (function - | SynExprRecordField((synLongIdent, _), mEquals, Some e, _) -> (synLongIdent, mEquals, e) - | SynExprRecordField((synLongIdent, _), mEquals, None, _) -> (synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range))) + | SynExprRecordField((synLongIdent, _), mEquals, Some e, _, _) -> (synLongIdent, mEquals, e) + | SynExprRecordField((synLongIdent, _), mEquals, None, _, _) -> (synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range))) let mLeftBrace = rhs parseState 1 let mExpr = rhs parseState 2 (fun (mStruct: range option) -> diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 7d64601c30..bcd1c3fb0b 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ atributy napravo od klíčového slova Module + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations automatické generování vlastnosti Message pro deklarace exception @@ -597,6 +607,11 @@ Sdílení podkladových polí v rozlišeném sjednocení [<Struct>] za předpokladu, že mají stejný název a typ + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints omezení vlastního typu @@ -657,6 +672,11 @@ Interoperabilita mezi neřízeným obecným omezením jazyka C# a F# (emitovat další modreq) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Znak }} musí být v interpolovaném řetězci uvozený (zdvojeným znakem). @@ -862,6 +887,21 @@ Interpolovaný řetězec obsahuje nespárované složené závorky. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Všechny prvky seznamu musí být implicitně převoditelné na typ prvního prvku, což je řazená kolekce členů o délce {0} typu\n {1} \nTento element je řazená kolekce členů o délce {2} typu\n {3} \n @@ -1357,6 +1397,11 @@ Pole {0} se v tomto anonymním typu záznamu vyskytuje vícekrát. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Atributy nejde použít pro rozšíření typů. @@ -5112,6 +5157,11 @@ Tato vlastnost se nedá nastavit. + + Property '{0}' cannot be set because the setter is private + Vlastnost '{0}' nelze nastavit, protože setter je soukromý + + This property or field was not found on this custom attribute type Tato vlastnost nebo pole se u tohoto typu vlastního atributu nenašla. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 67f4270377..0886b9ec60 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ Attribute rechts vom "Module"-Schlüsselwort + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations Automatische Generierung der Eigenschaft „Message“ für „exception“-Deklarationen @@ -597,6 +607,11 @@ Teilen sie zugrunde liegende Felder in einen [<Struct>]-diskriminierten Union, solange sie denselben Namen und Typ aufweisen. + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints Selbsttypeinschränkungen @@ -657,6 +672,11 @@ Interop zwischen nicht verwalteter generischer Einschränkung in C# und F# (zusätzlicher ModReq ausgeben) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Ein }}-Zeichen muss in einer interpolierten Zeichenfolge (durch Verdoppeln) mit Escapezeichen versehen werden. @@ -862,6 +887,21 @@ Die interpolierte Zeichenfolge enthält schließende geschweifte Klammern ohne Entsprechung. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Alle Elemente einer Liste müssen implizit in den Typ des ersten Elements konvertiert werden. Hierbei handelt es sich um ein Tupel der Länge {0} vom Typ\n {1} \nDieses Element ist ein Tupel der Länge {2} vom Typ\n {3}. \n @@ -1357,6 +1397,11 @@ Das Feld "{0}" ist in diesem anonymen Datensatztyp mehrmals vorhanden. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Attribute können nicht auf Typerweiterungen angewendet werden. @@ -5112,9 +5157,14 @@ Diese Eigenschaft kann nicht festgelegt werden. + + Property '{0}' cannot be set because the setter is private + Die Eigenschaft '{0}' kann nicht festgelegt werden, da der Setter privat ist. + + This property or field was not found on this custom attribute type - Diese Eigenschaft bzw. dieses Feld wurde in diesem benutzerdefinierten Attributtyp nicht gefunden. + Diese Eigenschaft bzw. dieses Feld wurde in diesem benutzerdefinierten Attributtyp nicht gefunden diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 9478e3d2c5..bdb43c5e1a 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ atributos a la derecha de la palabra clave “módulo” + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations generación automática de la propiedad 'Message' para declaraciones 'exception' @@ -597,6 +607,11 @@ Compartir campos subyacentes en una unión discriminada [<Struct>] siempre y cuando tengan el mismo nombre y tipo + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints restricciones de tipo propio @@ -657,6 +672,11 @@ Interoperabilidad entre la restricción genérica no administrada de C# y F# (emitir modreq adicional) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. El carácter "}}" se debe escapar (duplicándose) en las cadenas interpoladas. @@ -862,6 +887,21 @@ La cadena interpolada contiene llaves de cierre no coincidentes. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Todos los elementos de una lista deben convertirse implícitamente en el tipo del primer elemento, que aquí es una tupla de longitud {0} de tipo\n {1} \nEste elemento es una tupla de longitud {2} de tipo\n {3} \n @@ -1357,6 +1397,11 @@ El campo "{0}" aparece varias veces en este tipo de registro anónimo. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Los atributos no se pueden aplicar a las extensiones de tipo. @@ -5112,6 +5157,11 @@ Esta propiedad no se puede establecer. + + Property '{0}' cannot be set because the setter is private + No se puede establecer la propiedad '{0}' porque el método set es privado + + This property or field was not found on this custom attribute type No se encontró esta propiedad o campo en este tipo de atributo personalizado. diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index 57fade5d25..5344354b3a 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ attributs à droite du mot clé 'module' + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations génération automatique de la propriété « Message » pour les déclarations « exception » @@ -597,6 +607,11 @@ Partager les champs sous-jacents dans une union discriminée [<Struct>] tant qu’ils ont le même nom et le même type + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints contraintes d’auto-type @@ -657,6 +672,11 @@ Interopérabilité entre les contraintes génériques non gérées de C# et F# (émettre un modreq supplémentaire) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Un caractère '}}' doit faire l'objet d'une séquence d'échappement (par doublement) dans une chaîne interpolée. @@ -862,6 +887,21 @@ La chaîne interpolée contient des accolades fermantes sans correspondance. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Tous les éléments d’une liste doivent être implicitement convertibles en type du premier élément, qui est ici un tuple de longueur {0} de type\n {1} \nCet élément est un tuple de longueur {2} de type\n {3} \n @@ -1357,6 +1397,11 @@ Le champ '{0}' apparaît plusieurs fois dans ce type d'enregistrement anonyme. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Impossible d'appliquer des attributs aux extensions de type. @@ -5112,6 +5157,11 @@ Impossible de définir cette propriété + + Property '{0}' cannot be set because the setter is private + La propriété '{0}' ne peut pas être définie car le setter est privé + + This property or field was not found on this custom attribute type Impossible de trouver cette propriété ou ce champ dans ce type d'attribut personnalisé diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 14d670e845..ec472ee00b 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ attributi a destra della parola chiave 'module' + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations generazione automatica della proprietà 'Messaggio' per le dichiarazioni 'eccezione' @@ -597,6 +607,11 @@ Condividi i campi sottostanti in un'unione discriminata di [<Struct>] purché abbiano lo stesso nome e tipo + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints vincoli di tipo automatico @@ -657,6 +672,11 @@ Interoperabilità tra il vincolo generico non gestito di C# e di F# (crea un modreq aggiuntivo) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. In una stringa interpolata è necessario specificare il carattere di escape di un carattere '}}' raddoppiandolo. @@ -862,6 +887,21 @@ La stringa interpolata contiene parentesi graffe di chiusura non corrispondenti. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Tutti gli elementi di un elenco devono essere convertibili in modo implicito nel tipo del primo elemento, che qui è una tupla di lunghezza {0} di tipo\n {1} \nQuesto elemento è una tupla di lunghezza {2} di tipo\n {3} \n @@ -1357,6 +1397,11 @@ Il campo '{0}' viene visualizzato più volte in questo tipo di record anonimo. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Gli attributi non possono essere applicati a estensioni di tipo. @@ -5112,6 +5157,11 @@ Non è possibile impostare questa proprietà + + Property '{0}' cannot be set because the setter is private + La proprietà '{0}' non può essere impostata perché il setter è privato. + + This property or field was not found on this custom attribute type La proprietà o il campo non è stato trovato in questo tipo di attributo personalizzato diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 78acb0fd94..8db04ab162 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ 'module' キーワードの右側の属性 + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations `exception` 宣言の `Message` プロパティの自動生成 @@ -597,6 +607,11 @@ 名前と型が同じである限り、[<Struct>] 判別可能な共用体で基になるフィールドを共有する + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints 自己型制約 @@ -657,6 +672,11 @@ C# と F# のアンマネージド ジェネリック制約の間の相互運用 (追加の modreq を出力) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. 文字 '}}' は、補間された文字列内で (二重にすることで) エスケープする必要があります。 @@ -862,6 +887,21 @@ 補間された文字列には、一致しない閉じかっこが含まれています。 + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n リストのすべての要素は、最初の要素の型に暗黙的に変換できる必要があります。これは、型の長さ {0} のタプルです\n {1} \nこの要素は、型の長さ {2} のタプルです\n {3} \n @@ -1357,6 +1397,11 @@ この匿名レコードの種類に、フィールド '{0}' が複数回出現します。 + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. 属性を型拡張に適用することはできません。 @@ -5112,6 +5157,11 @@ このプロパティは設定できません + + Property '{0}' cannot be set because the setter is private + プロパティ '{0}' は setter が private のため設定できません。 + + This property or field was not found on this custom attribute type このカスタム属性型に、このプロパティまたはフィールドが見つかりませんでした diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 604ac431e4..a17460ee15 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ 'module' 키워드 오른쪽에 있는 특성 + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations 'exception' 선언에 대한 'Message' 속성 자동 생성 @@ -597,6 +607,11 @@ 이름과 형식이 같으면 [<Struct>] 구분된 공용 구조체에서 기본 필드 공유 + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints 자체 형식 제약 조건 @@ -657,6 +672,11 @@ C#과 F#의 관리되지 않는 제네릭 제약 조건 간의 Interop(추가 modreq 내보내기) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. '}}' 문자는 보간된 문자열에서 이중으로 사용하여 이스케이프해야 합니다. @@ -862,6 +887,21 @@ 보간된 문자열에 일치하지 않는 닫는 중괄호가 포함되어 있습니다. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n 목록의 모든 요소는 첫 번째 요소의 형식으로 암시적으로 변환할 수 있어야 합니다. 여기서는 형식이 \n {1}이고 길이가 {0}인 튜플입니다. \n이 요소는 형식이 \n {3}이고 길이가 {2}인 튜플입니다. \n @@ -1357,6 +1397,11 @@ '{0}' 필드가 이 익명 레코드 형식에서 여러 번 나타납니다. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. 형식 확장에 특성을 적용할 수 없습니다. @@ -5112,6 +5157,11 @@ 이 속성은 설정할 수 없습니다. + + Property '{0}' cannot be set because the setter is private + '{0}' 속성은 setter가 private이기 때문에 설정할 수 없습니다. + + This property or field was not found on this custom attribute type 이 속성 또는 필드를 이 사용자 지정 특성 형식에서 찾을 수 없습니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index fdee3d82f7..94416cfb23 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ atrybuty po prawej stronie słowa kluczowego "module" + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations Automatyczne generowanie właściwości „Wiadomość“ dla deklaracji „Wyjątek“ @@ -597,6 +607,11 @@ Udostępnij pola źródłowe w unii rozłącznej [<Struct>], o ile mają taką samą nazwę i ten sam typ + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints ograniczenia typu własnego @@ -657,6 +672,11 @@ Międzyoperacyjnie między niezarządzanym ograniczeniem ogólnym języka C# i F# (emituj dodatkowe modreq) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. W przypadku znaku „}}” należy zastosować ucieczkę (przez wpisanie dwóch takich znaków) w ciągu interpolowanym. @@ -862,6 +887,21 @@ Ciąg interpolowany zawiera niedopasowane zamykające nawiasy klamrowe. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Wszystkie elementy tablicy muszą być niejawnie konwertowalne na typ pierwszego elementu, który w tym miejscu jest krotką o długości {0} typu\n {1} \nTen element jest krotką o długości {2} typu\n {3} \n @@ -1357,6 +1397,11 @@ Pole „{0}” występuje wielokrotnie w tym anonimowym typie rekordu. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Atrybutów nie można stosować do rozszerzeń typu. @@ -5112,6 +5157,11 @@ Nie można ustawić tej właściwości + + Property '{0}' cannot be set because the setter is private + Właściwość '{0}' nie może być ustawiona, ponieważ setter jest prywatny. + + This property or field was not found on this custom attribute type Nie odnaleziono tej właściwości pola w tym niestandardowym typie atrybutu diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 2f86c57d96..99709def4e 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ atributos à direita da palavra-chave 'módulo' + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations geração automática da propriedade 'Message' para declarações de 'exception' @@ -597,6 +607,11 @@ Compartilhar campos subjacentes em uma união discriminada [<Struct>], desde que tenham o mesmo nome e tipo + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints restrições de auto-tipo @@ -657,6 +672,11 @@ Interoperabilidade entre a restrição genérica não gerenciada de C# e F# (emitir modreq adicional) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Um caractere ''}}' precisa ser de escape (ao duplicar) em uma cadeia de caracteres interpolada. @@ -862,6 +887,21 @@ A cadeia de caracteres interpolada contém chaves de fechamento sem correspondência. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Todos os elementos de uma lista devem ser implicitamente conversíveis ao tipo do primeiro elemento, que aqui é uma tupla de comprimento {0} do tipo\n {1} \nEste elemento é uma tupla de comprimento {2} do tipo\n {3} \n @@ -1357,6 +1397,11 @@ O campo '{0}' aparece várias vezes nesse tipo de registro anônimo. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Os atributos não podem ser aplicados às extensões de tipo. @@ -5112,6 +5157,11 @@ Esta propriedade não pode ser definida + + Property '{0}' cannot be set because the setter is private + A propriedade '{0}' não pode ser definida porque o setter é privado. + + This property or field was not found on this custom attribute type Esta propriedade ou campo não foram encontrados neste tipo de atributo personalizado diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index fefd5255a0..e1e97fdf67 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ атрибуты справа от ключевого слова "module" + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations автоматическое создание свойства “Message” для объявлений “exception” @@ -597,6 +607,11 @@ Совместное использование базовых полей в дискриминируемом объединении [<Struct>], если они имеют одинаковое имя и тип. + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints ограничения самостоятельного типа @@ -657,6 +672,11 @@ Взаимодействие между универсальным ограничением "unmanaged" C# и F#(создание дополнительного modreq) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Символ "}}" необходимо экранировать (путем дублирования) в интерполированной строке. @@ -862,6 +887,21 @@ Интерполированная строка содержит непарные закрывающие фигурные скобки. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Все элементы списка должны поддерживать неявное преобразование в тип первого элемента, который здесь является кортежем длиной {0} типа\n {1} \nЭтот элемент является кортежем длиной {2} типа\n {3} \n @@ -1357,6 +1397,11 @@ Поле "{0}" появляется несколько раз в этом типе анонимной записи. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Атрибуты не могут быть применены к расширениям типа. @@ -5112,6 +5157,11 @@ Это свойство задать нельзя + + Property '{0}' cannot be set because the setter is private + Свойство '{0}' не может быть установлено, так как сеттер является приватным + + This property or field was not found on this custom attribute type Данное свойство или поле не было найдено в этом пользовательском типе атрибута diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 5325f0ab09..cff0f89ef1 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ 'modül' anahtar sözcüğünün sağındaki öznitelikler + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations 'exception' bildirimleri için 'Message' özelliğinin otomatik olarak oluşturulması @@ -597,6 +607,11 @@ Aynı ada ve türe sahip oldukları sürece temel alınan alanları [<Struct>] ayırt edici birleşim biçiminde paylaşın + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints kendi kendine tür kısıtlamaları @@ -657,6 +672,11 @@ C# ile F#' arasında yönetilmeyen genel kısıtlama (ek modreq yayın) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. Bir '}}' karakteri, düz metin arasına kod eklenmiş bir dizede kaçış dizisi ile (yineleme yapılarak) belirtilir. @@ -862,6 +887,21 @@ İlişkilendirilmiş dize, eşleşmeyen kapatma küme ayraçları içeriyor. + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n Bir listenin tüm öğeleri örtük olarak ilk öğenin türüne dönüştürülebilir olmalıdır. Burada ilk öğe {0} uzunluğunda türü\n {1} \nolan bir demet. Bu öğe ise {2} uzunluğunda türü\n {3} \nolan bir demet. @@ -1357,6 +1397,11 @@ '{0}' alanı bu anonim kayıt türünde birden fazla yerde görünüyor. + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. Öznitelikler tür uzantılarına uygulanamaz. @@ -5112,6 +5157,11 @@ Bu özellik ayarlanamaz + + Property '{0}' cannot be set because the setter is private + '{0}' özelliği, setter'ı özel olduğu için ayarlanamaz. + + This property or field was not found on this custom attribute type Bu özellik veya alan bu özel öznitelik türünde bulunamadı diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 2e8b957d81..5ce3ac9c82 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ "module" 关键字右侧的属性 + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations 自动生成“异常”声明的“消息”属性 @@ -597,6 +607,11 @@ 只要它们具有相同的名称和类型,即可在 [<Struct>] 中共享基础字段 + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints 自类型约束 @@ -657,6 +672,11 @@ C# 和 F# 的非托管泛型约束之间的互操作(发出额外的 modreq) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. 在内插字符串中,必需对 "}}" 字符进行转义(通过加倍)。 @@ -862,6 +887,21 @@ 内插字符串包含不匹配的右大括号。 + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n 列表的所有元素必须可隐式转换为第一个元素的类型,这是一个长度为 {0} 的类型的元组\n {1} \n此元素是长度为 {2} 类型的元组\n {3} \n @@ -1357,6 +1397,11 @@ 字段“{0}”在此匿名记录类型中多次出现。 + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. 属性不可应用于类型扩展。 @@ -5112,6 +5157,11 @@ 无法设置此属性 + + Property '{0}' cannot be set because the setter is private + 属性“{0}”无法设置,因为 setter 是私有的。 + + This property or field was not found on this custom attribute type 未在此自定义特性类型中找到此属性或字段 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index f0924b3d30..ae4eeed6b1 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -287,6 +287,11 @@ Allow access modifiers to auto properties getters and setters + + Allow let! and use! type annotations without requiring parentheses + Allow let! and use! type annotations without requiring parentheses + + Allow object expressions without overrides Allow object expressions without overrides @@ -307,6 +312,11 @@ 'module' 關鍵字右邊的屬性 + + Support for better anonymous record parsing + Support for better anonymous record parsing + + automatic generation of 'Message' property for 'exception' declarations 自動產生 'exception' 宣告的 'Message' 屬性 @@ -597,6 +607,11 @@ 只要 [<Struct>] 具有相同名稱和類型,就以強制聯集共用基礎欄位 + + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + Support for scoped enabling / disabling of warnings by #warn and #nowarn directives, also inside modules + + self type constraints 自我類型限制式 @@ -657,6 +672,11 @@ C# 與 F# 的非受控泛型條件約束之間的 Interop (發出額外的 modreq) + + Allows use! _ = ... in computation expressions + Allows use! _ = ... in computation expressions + + Use type conversion cache during compilation Use type conversion cache during compilation @@ -832,6 +852,11 @@ This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error. + + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + The file '{0}' was also pointed to in a line directive in '{1}'. Proper warn directive application may not be possible. + + A '}}' character must be escaped (by doubling) in an interpolated string. 在插補字串中,必須將 '}}' 字元逸出 (重複一次)。 @@ -862,6 +887,21 @@ 差補字串包含不成對的右大括弧。 + + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + #nowarn/#warnon directives must appear as the first non-whitespace characters on a line + + + + Warn directives must have warning number(s) as argument(s) + Warn directives must have warning number(s) as argument(s) + + + + There is another {0} for this warning already in line {1}. + There is another {0} for this warning already in line {1}. + + All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length {0} of type\n {1} \nThis element is a tuple of length {2} of type\n {3} \n 清單的所有元素必須以隱含方式轉換成第一個元素的類型,這是類型為\n {1} \n的元組長度 {0}此元素是類型為\n {3} \n的元組長度 {2} @@ -1357,6 +1397,11 @@ 欄位 '{0}' 在這個匿名記錄類型中出現多次。 + + This attribute is not valid for use on union cases with fields. + This attribute is not valid for use on union cases with fields. + + Attributes cannot be applied to type extensions. 屬性無法套用到類型延伸模組。 @@ -5112,6 +5157,11 @@ 無法設定這個屬性 + + Property '{0}' cannot be set because the setter is private + 屬性「{0}」無法設定,因為 setter 是私有的。 + + This property or field was not found on this custom attribute type 在這個自訂屬性類型上找不到這個屬性或欄位 diff --git a/src/Compiler/xlf/FSStrings.cs.xlf b/src/Compiler/xlf/FSStrings.cs.xlf index 698e7180ad..b704039921 100644 --- a/src/Compiler/xlf/FSStrings.cs.xlf +++ b/src/Compiler/xlf/FSStrings.cs.xlf @@ -82,6 +82,16 @@ symbol ..^ + + symbol '>|}' + symbol '>|}' + + + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + interpolated string interpolovaný řetězec diff --git a/src/Compiler/xlf/FSStrings.de.xlf b/src/Compiler/xlf/FSStrings.de.xlf index ebfb525eb2..83242b1a2e 100644 --- a/src/Compiler/xlf/FSStrings.de.xlf +++ b/src/Compiler/xlf/FSStrings.de.xlf @@ -82,6 +82,11 @@ Symbol "..^" + + symbol '>|}' + symbol '>|}' + + interpolated string Interpolierte Zeichenfolge @@ -102,6 +107,11 @@ Interpolierte Zeichenfolge (Teil) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' Schlüsselwort "while!" diff --git a/src/Compiler/xlf/FSStrings.es.xlf b/src/Compiler/xlf/FSStrings.es.xlf index 46816a23ab..b874728926 100644 --- a/src/Compiler/xlf/FSStrings.es.xlf +++ b/src/Compiler/xlf/FSStrings.es.xlf @@ -82,6 +82,11 @@ símbolo "..^" + + symbol '>|}' + symbol '>|}' + + interpolated string cadena interpolada @@ -102,6 +107,11 @@ cadena interpolada (parte) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' palabra clave “while!” diff --git a/src/Compiler/xlf/FSStrings.fr.xlf b/src/Compiler/xlf/FSStrings.fr.xlf index 7e8f9df4ee..e6d9ea22b8 100644 --- a/src/Compiler/xlf/FSStrings.fr.xlf +++ b/src/Compiler/xlf/FSStrings.fr.xlf @@ -82,6 +82,11 @@ symbole '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string chaîne interpolée @@ -102,6 +107,11 @@ chaîne interpolée (partie) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' mot-clé « pendant ! » diff --git a/src/Compiler/xlf/FSStrings.it.xlf b/src/Compiler/xlf/FSStrings.it.xlf index 004e8d04e1..91edb4c9e5 100644 --- a/src/Compiler/xlf/FSStrings.it.xlf +++ b/src/Compiler/xlf/FSStrings.it.xlf @@ -82,6 +82,11 @@ simbolo '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string stringa interpolata @@ -102,6 +107,11 @@ stringa interpolata (parte) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' parola chiave "while" diff --git a/src/Compiler/xlf/FSStrings.ja.xlf b/src/Compiler/xlf/FSStrings.ja.xlf index b7e4a21e67..af62fb0a03 100644 --- a/src/Compiler/xlf/FSStrings.ja.xlf +++ b/src/Compiler/xlf/FSStrings.ja.xlf @@ -82,6 +82,11 @@ シンボル '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string 補間された文字列 @@ -102,6 +107,11 @@ 補間された文字列 (部分) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' キーワード 'while!' diff --git a/src/Compiler/xlf/FSStrings.ko.xlf b/src/Compiler/xlf/FSStrings.ko.xlf index edee12a29a..d6eebed9af 100644 --- a/src/Compiler/xlf/FSStrings.ko.xlf +++ b/src/Compiler/xlf/FSStrings.ko.xlf @@ -82,6 +82,11 @@ 기호 '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string 보간 문자열 @@ -102,6 +107,11 @@ 보간 문자열(부분) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' 'while!' 키워드 diff --git a/src/Compiler/xlf/FSStrings.pl.xlf b/src/Compiler/xlf/FSStrings.pl.xlf index b50fb8fc18..cf4407fa89 100644 --- a/src/Compiler/xlf/FSStrings.pl.xlf +++ b/src/Compiler/xlf/FSStrings.pl.xlf @@ -82,6 +82,11 @@ symbol „..^” + + symbol '>|}' + symbol '>|}' + + interpolated string ciąg interpolowany @@ -102,6 +107,11 @@ ciąg interpolowany (część) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' słowo kluczowe „while!” diff --git a/src/Compiler/xlf/FSStrings.pt-BR.xlf b/src/Compiler/xlf/FSStrings.pt-BR.xlf index f94ce79cd9..80d7ede40c 100644 --- a/src/Compiler/xlf/FSStrings.pt-BR.xlf +++ b/src/Compiler/xlf/FSStrings.pt-BR.xlf @@ -82,6 +82,11 @@ símbolo '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string cadeia de caracteres interpolada @@ -102,6 +107,11 @@ cadeia de caracteres interpolada (parte) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' palavra-chave "while!" diff --git a/src/Compiler/xlf/FSStrings.ru.xlf b/src/Compiler/xlf/FSStrings.ru.xlf index 6df88d26d4..28e040426d 100644 --- a/src/Compiler/xlf/FSStrings.ru.xlf +++ b/src/Compiler/xlf/FSStrings.ru.xlf @@ -82,6 +82,11 @@ символ "..^" + + symbol '>|}' + symbol '>|}' + + interpolated string интерполированная строка @@ -102,6 +107,11 @@ интерполированная строка (часть) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' ключевое слово "while!" diff --git a/src/Compiler/xlf/FSStrings.tr.xlf b/src/Compiler/xlf/FSStrings.tr.xlf index 59fc6b6962..8f81ede3df 100644 --- a/src/Compiler/xlf/FSStrings.tr.xlf +++ b/src/Compiler/xlf/FSStrings.tr.xlf @@ -82,6 +82,11 @@ '..^' sembolü + + symbol '>|}' + symbol '>|}' + + interpolated string düz metin arasına kod eklenmiş dize @@ -102,6 +107,11 @@ düz metin arasına kod eklenmiş dize (parça) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' 'while!' anahtar sözcüğü diff --git a/src/Compiler/xlf/FSStrings.zh-Hans.xlf b/src/Compiler/xlf/FSStrings.zh-Hans.xlf index f97800458f..21191e552c 100644 --- a/src/Compiler/xlf/FSStrings.zh-Hans.xlf +++ b/src/Compiler/xlf/FSStrings.zh-Hans.xlf @@ -82,6 +82,11 @@ 符号 "..^" + + symbol '>|}' + symbol '>|}' + + interpolated string 内插字符串 @@ -102,6 +107,11 @@ 内插字符串(部分) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' 关键字 "while!" diff --git a/src/Compiler/xlf/FSStrings.zh-Hant.xlf b/src/Compiler/xlf/FSStrings.zh-Hant.xlf index 2f0181b62d..5f834c4e1f 100644 --- a/src/Compiler/xlf/FSStrings.zh-Hant.xlf +++ b/src/Compiler/xlf/FSStrings.zh-Hant.xlf @@ -82,6 +82,11 @@ 符號 '..^' + + symbol '>|}' + symbol '>|}' + + interpolated string 插補字串 @@ -102,6 +107,11 @@ 插補字串 (部分) + + symbol '@>|}' or '@@>|}' + symbol '@>|}' or '@@>|}' + + keyword 'while!' 關鍵字 'while!' diff --git a/src/FSharp.Build/WriteCodeFragment.fs b/src/FSharp.Build/WriteCodeFragment.fs index 7df19fad32..0e5b045764 100644 --- a/src/FSharp.Build/WriteCodeFragment.fs +++ b/src/FSharp.Build/WriteCodeFragment.fs @@ -9,6 +9,9 @@ open System.Text open Microsoft.Build.Framework open Microsoft.Build.Utilities +[] +type EscapedValue = { Escaped: string; Raw: string } + type WriteCodeFragment() as this = inherit Task() let mutable _outputDirectory: ITaskItem MaybeNull = null @@ -41,7 +44,10 @@ type WriteCodeFragment() as this = | _ -> sb.Append(c)) (StringBuilder().Append("\"")) - sb.Append("\"").ToString() + { + Escaped = sb.Append("\"").ToString() + Raw = str + } member _.GenerateAttribute(item: ITaskItem, language: string) = let attributeName = item.ItemSpec @@ -60,9 +66,11 @@ type WriteCodeFragment() as this = let value = match entry.Value with - | null -> "null" - | :? string as value -> escapeString value - | value -> value.ToString() + | null -> { Escaped = "null"; Raw = "null" } + | :? string as strValue -> escapeString strValue + | value -> + let strValue = value.ToString() + { Escaped = strValue; Raw = strValue } (key, value)) @@ -85,12 +93,47 @@ type WriteCodeFragment() as this = else Array.create (List.last orderedParametersWithIndex |> fst) "null" - List.iter (fun (index, value) -> orderedParametersArray.[index - 1] <- value) orderedParametersWithIndex + List.iter (fun (index, value) -> orderedParametersArray.[index - 1] <- value.Escaped) orderedParametersWithIndex // construct ordered parameter lists let combinedOrderedParameters = String.Join(", ", orderedParametersArray) let combinedNamedParameters = - String.Join(", ", List.map (fun (key, value) -> sprintf "%s = %s" key value) namedParameters) + // Define "_IsLiteral" suffix to match MSBuild behavior + let isLiteralSuffix = "_IsLiteral" + + // Process named parameters to handle IsLiteral suffix + let processedNamedParameters = + // First identify all parameters with _IsLiteral suffix + let isLiteralParams = + namedParameters + |> List.choose (fun (key, value) -> + if key.EndsWith(isLiteralSuffix) && (value.Raw = "true" || value.Raw = "True") then + // Extract the base parameter name by removing the suffix + Some(key.Substring(0, key.Length - isLiteralSuffix.Length)) + else + None) + |> Set.ofList + + // Process all parameters, handling literals appropriately + namedParameters + |> List.choose (fun (key, value) -> + // Skip _IsLiteral metadata entries + if key.EndsWith(isLiteralSuffix) then + None + else + // Check if this parameter should be treated as a literal + let isLiteral = Set.contains key isLiteralParams + + if isLiteral then + // For literals, use the raw value + Some(key, value.Raw) + else + // Regular parameter, use the escaped value + Some(key, value.Escaped)) + // Sort parameters alphabetically by key to match MSBuild behavior + |> List.sortBy fst + + String.Join(", ", List.map (fun (key, value) -> sprintf "%s = %s" key value) processedNamedParameters) // construct the final argument string; positional arguments followed by named match (combinedOrderedParameters.Length, combinedNamedParameters.Length) with | (0, 0) -> "" // no arguments diff --git a/src/FSharp.Core/array.fs b/src/FSharp.Core/array.fs index ca88e22465..358836ddf1 100644 --- a/src/FSharp.Core/array.fs +++ b/src/FSharp.Core/array.fs @@ -2020,15 +2020,18 @@ module Array = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputArrayEmptyString - - let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count + if count = 0 then + [||] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count - for i = 0 to count - 1 do - let j = random.Next(0, inputLength) - result[i] <- source[j] + for i = 0 to count - 1 do + let j = random.Next(0, inputLength) + result[i] <- source[j] - result + result [] let randomChoicesBy (randomizer: unit -> float) (count: int) (source: 'T array) : 'T array = @@ -2040,15 +2043,18 @@ module Array = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputArrayEmptyString - - let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count + if count = 0 then + [||] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count - for i = 0 to count - 1 do - let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - result[i] <- source[j] + for i = 0 to count - 1 do + let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + result[i] <- source[j] - result + result [] let randomChoices (count: int) (source: 'T array) : 'T array = @@ -2065,35 +2071,38 @@ module Array = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputArrayEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) + if count = 0 then + [||] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) - let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count + let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - if inputLength <= setSize then - let pool = copy source + if inputLength <= setSize then + let pool = copy source - for i = 0 to count - 1 do - let j = random.Next(0, inputLength - i) - result[i] <- pool[j] - pool[j] <- pool[inputLength - i - 1] - else - let selected = HashSet() + for i = 0 to count - 1 do + let j = random.Next(0, inputLength - i) + result[i] <- pool[j] + pool[j] <- pool[inputLength - i - 1] + else + let selected = HashSet() - for i = 0 to count - 1 do - let mutable j = random.Next(0, inputLength) + for i = 0 to count - 1 do + let mutable j = random.Next(0, inputLength) - while not (selected.Add j) do - j <- random.Next(0, inputLength) + while not (selected.Add j) do + j <- random.Next(0, inputLength) - result[i] <- source[j] + result[i] <- source[j] - result + result [] let randomSampleBy (randomizer: unit -> float) (count: int) (source: 'T array) : 'T array = @@ -2105,39 +2114,42 @@ module Array = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputArrayEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) + if count = 0 then + [||] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) - let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count + let result = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked count - // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - if inputLength <= setSize then - let pool = copy source + if inputLength <= setSize then + let pool = copy source - for i = 0 to count - 1 do - let j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) + for i = 0 to count - 1 do + let j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) - result[i] <- pool[j] - pool[j] <- pool[inputLength - i - 1] - else - let selected = HashSet() + result[i] <- pool[j] + pool[j] <- pool[inputLength - i - 1] + else + let selected = HashSet() - for i = 0 to count - 1 do - let mutable j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + for i = 0 to count - 1 do + let mutable j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - while not (selected.Add j) do - j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + while not (selected.Add j) do + j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - result[i] <- source[j] + result[i] <- source[j] - result + result [] let randomSample (count: int) (source: 'T array) : 'T array = diff --git a/src/FSharp.Core/array.fsi b/src/FSharp.Core/array.fsi index 151081c300..18a4463277 100644 --- a/src/FSharp.Core/array.fsi +++ b/src/FSharp.Core/array.fsi @@ -1919,8 +1919,9 @@ module Array = [] val ofSeq: source: seq<'T> -> 'T array - /// Returns an array of each element in the input array and its predecessor, with the - /// exception of the first element which is only returned as the predecessor of the second element. + /// Returns an array of each element in the input array paired with its predecessor, with the + /// exception of the first element which is only returned as the predecessor of the second element. + /// The predecessor comes first in the returned pairs. /// /// The input array. /// @@ -3282,7 +3283,7 @@ module Array = /// An array of randomly selected elements from the input array. /// /// Thrown when the input array is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty. /// Thrown when count is less than 0. /// /// @@ -3306,7 +3307,7 @@ module Array = /// /// Thrown when the input array is null. /// Thrown when the random argument is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty. /// Thrown when count is less than 0. /// /// @@ -3329,7 +3330,7 @@ module Array = /// An array of randomly selected elements from the input array. /// /// Thrown when the input array is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty. /// Thrown when count is less than 0. /// Thrown when the randomizer function returns a value outside the range [0, 1). /// @@ -3352,7 +3353,7 @@ module Array = /// An array of randomly selected elements from the input array. /// /// Thrown when the input array is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input array. /// @@ -3377,7 +3378,7 @@ module Array = /// /// Thrown when the input array is null. /// Thrown when the random argument is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty.. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input array. /// @@ -3401,7 +3402,7 @@ module Array = /// An array of randomly selected elements from the input array. /// /// Thrown when the input array is null. - /// Thrown when the input array is empty. + /// Thrown when count is more than 0 and the input array is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input array. /// Thrown when the randomizer function returns a value outside the range [0, 1). diff --git a/src/FSharp.Core/list.fs b/src/FSharp.Core/list.fs index d502107a6d..7fc02845d3 100644 --- a/src/FSharp.Core/list.fs +++ b/src/FSharp.Core/list.fs @@ -1043,13 +1043,16 @@ module List = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - [ - for _ = 0 to count - 1 do - let j = random.Next(0, inputLength) - source[j] - ] + if count = 0 then + [] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + [ + for _ = 0 to count - 1 do + let j = random.Next(0, inputLength) + source[j] + ] [] let randomChoicesBy (randomizer: unit -> float) (count: int) (source: 'T list) : 'T list = @@ -1059,13 +1062,16 @@ module List = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - [ - for _ = 0 to count - 1 do - let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - source[j] - ] + if count = 0 then + [] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + [ + for _ = 0 to count - 1 do + let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + source[j] + ] [] let randomChoices (count: int) (source: 'T list) : 'T list = @@ -1081,37 +1087,40 @@ module List = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) - - // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - - if inputLength <= setSize then - let pool = source |> toArray - - [ - for i = 0 to count - 1 do - let j = random.Next(0, inputLength - i) - let item = pool[j] - pool[j] <- pool[inputLength - i - 1] - item - ] + if count = 0 then + [] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString else - let selected = HashSet() + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) + + // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + + if inputLength <= setSize then + let pool = source |> toArray + + [ + for i = 0 to count - 1 do + let j = random.Next(0, inputLength - i) + let item = pool[j] + pool[j] <- pool[inputLength - i - 1] + item + ] + else + let selected = HashSet() - [ - for _ = 0 to count - 1 do - let mutable j = random.Next(0, inputLength) + [ + for _ = 0 to count - 1 do + let mutable j = random.Next(0, inputLength) - while not (selected.Add j) do - j <- random.Next(0, inputLength) + while not (selected.Add j) do + j <- random.Next(0, inputLength) - source[j] - ] + source[j] + ] [] let randomSampleBy (randomizer: unit -> float) (count: int) (source: 'T list) : 'T list = @@ -1121,39 +1130,42 @@ module List = let inputLength = source.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) + if count = 0 then + [] + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - if inputLength <= setSize then - let pool = source |> toArray + if inputLength <= setSize then + let pool = source |> toArray - [ - for i = 0 to count - 1 do - let j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) + [ + for i = 0 to count - 1 do + let j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) - let item = pool[j] - pool[j] <- pool[inputLength - i - 1] - item - ] - else - let selected = HashSet() + let item = pool[j] + pool[j] <- pool[inputLength - i - 1] + item + ] + else + let selected = HashSet() - [ - for _ = 0 to count - 1 do - let mutable j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + [ + for _ = 0 to count - 1 do + let mutable j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - while not (selected.Add j) do - j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + while not (selected.Add j) do + j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - source[j] - ] + source[j] + ] [] let randomSample (count: int) (source: 'T list) : 'T list = diff --git a/src/FSharp.Core/list.fsi b/src/FSharp.Core/list.fsi index e14fe7eb44..c77e26ddaf 100644 --- a/src/FSharp.Core/list.fsi +++ b/src/FSharp.Core/list.fsi @@ -1613,8 +1613,9 @@ module List = [] val ofSeq: source:seq<'T> -> 'T list - /// Returns a list of each element in the input list and its predecessor, with the - /// exception of the first element which is only returned as the predecessor of the second element. + /// Returns a list of each element in the input list paired with its predecessor, with the + /// exception of the first element which is only returned as the predecessor of the second element. + /// The predecessor comes first in the returned pairs. /// /// The input list. /// @@ -2820,7 +2821,7 @@ module List = /// /// A list of randomly selected elements from the input list. /// - /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// /// @@ -2843,7 +2844,7 @@ module List = /// A list of randomly selected elements from the input list. /// /// Thrown when the random argument is null. - /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// /// @@ -2866,6 +2867,7 @@ module List = /// A list of randomly selected elements from the input list. /// /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when the randomizer function returns a value outside the range [0, 1). /// @@ -2887,7 +2889,7 @@ module List = /// /// A list of randomly selected elements from the input list. /// - /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input list. /// @@ -2911,7 +2913,7 @@ module List = /// A list of randomly selected elements from the input list. /// /// Thrown when the random argument is null. - /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input list. /// @@ -2934,7 +2936,7 @@ module List = /// /// A list of randomly selected elements from the input list. /// - /// Thrown when the input list is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input list. /// Thrown when the randomizer function returns a value outside the range [0, 1). diff --git a/src/FSharp.Core/prim-types.fs b/src/FSharp.Core/prim-types.fs index d9a7e41bf5..0fb2b87a06 100644 --- a/src/FSharp.Core/prim-types.fs +++ b/src/FSharp.Core/prim-types.fs @@ -391,6 +391,20 @@ namespace Microsoft.FSharp.Core type TailCallAttribute() = inherit System.Attribute() +namespace Microsoft.FSharp.Core.CompilerServices + + open System.ComponentModel + open Microsoft.FSharp.Core + + /// + /// A marker type that only compilers that support the when 'T : Enum + /// library-only static optimization constraint will recognize. + /// + [] + [] + [] + type SupportsWhenTEnum = class end + #if !NET5_0_OR_GREATER namespace System.Diagnostics.CodeAnalysis @@ -5149,11 +5163,10 @@ namespace Microsoft.FSharp.Core when ^T : decimal = (# "conv.i" (int64 (# "" value : decimal #)) : unativeint #) when ^T : ^T = (^T : (static member op_Explicit: ^T -> nativeint) (value)) - [] - let inline string (value: 'T) = - anyToString "" value + let inline defaultString (value : 'T) = + anyToString "" value - when 'T : string = + when 'T : string = if value = unsafeDefault<'T> then "" else (# "" value : string #) // force no-op @@ -5170,10 +5183,9 @@ namespace Microsoft.FSharp.Core when 'T : nativeint = let x = (# "" value : nativeint #) in x.ToString() when 'T : unativeint = let x = (# "" value : unativeint #) in x.ToString() - // Integral types can be enum: - // It is not possible to distinguish statically between Enum and (any type of) int. For signed types we have - // to use IFormattable::ToString, as the minus sign can be overridden. Using boxing we'll print their symbolic - // value if it's an enum, e.g.: 'ConsoleKey.Backspace' gives "Backspace", rather than "8") + // These rules for signed integer types will no longer be used when built with a compiler version that + // supports `when 'T : Enum`, but we must keep them to remain compatible with compiler versions that do not. + // Once all compiler versions that do not understand `when 'T : Enum` are out of support, these four rules can be removed. when 'T : sbyte = (box value :?> IFormattable).ToString(null, CultureInfo.InvariantCulture) when 'T : int16 = (box value :?> IFormattable).ToString(null, CultureInfo.InvariantCulture) when 'T : int32 = (box value :?> IFormattable).ToString(null, CultureInfo.InvariantCulture) @@ -5186,7 +5198,6 @@ namespace Microsoft.FSharp.Core when 'T : uint32 = let x = (# "" value : 'T #) in x.ToString() when 'T : uint64 = let x = (# "" value : 'T #) in x.ToString() - // other common mscorlib System struct types when 'T : DateTime = let x = (# "" value : DateTime #) in x.ToString(null, CultureInfo.InvariantCulture) when 'T : DateTimeOffset = let x = (# "" value : DateTimeOffset #) in x.ToString(null, CultureInfo.InvariantCulture) @@ -5206,6 +5217,38 @@ namespace Microsoft.FSharp.Core if value = unsafeDefault<'T> then "" else let x = (# "" value : IFormattable #) in defaultIfNull "" (x.ToString(null, CultureInfo.InvariantCulture)) + [] + let inline string (value: 'T) = + defaultString value + + // Only compilers that understand `when 'T : SupportsWhenTEnum` will understand `when 'T : Enum`. + when 'T : CompilerServices.SupportsWhenTEnum = + ( + let inline string (value : 'T) = + defaultString value + + // Special handling is required for enums, since: + // + // - The runtime value may be outside the defined members of the enum. + // - Their underlying type may be a signed integral type. + // - The negative sign may be overridden. + // + // For example: + // + // string DayOfWeek.Wednesday → "Wednesday" + // string (enum -3) → "-3" // The negative sign is culture-dependent. + // string (enum -3) → "⁒3" // E.g., the negative sign for the current culture could be overridden to "⁒". + when 'T : Enum = let x = (# "" value : 'T #) in x.ToString() // Use 'T to constrain the call to the specific enum type. + + // For compilers that understand `when 'T : Enum`, we can safely make a constrained call on the integral type itself here. + when 'T : sbyte = let x = (# "" value : sbyte #) in x.ToString(null, CultureInfo.InvariantCulture) + when 'T : int16 = let x = (# "" value : int16 #) in x.ToString(null, CultureInfo.InvariantCulture) + when 'T : int32 = let x = (# "" value : int32 #) in x.ToString(null, CultureInfo.InvariantCulture) + when 'T : int64 = let x = (# "" value : int64 #) in x.ToString(null, CultureInfo.InvariantCulture) + + string value + ) + [] [] let inline char (value: ^T) = diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index 7c2f171a60..6697e108d2 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -994,6 +994,20 @@ namespace Microsoft.FSharp.Core inherit System.Attribute new : unit -> TailCallAttribute +namespace Microsoft.FSharp.Core.CompilerServices + + open System.ComponentModel + open Microsoft.FSharp.Core + + /// + /// A marker type that only compilers that support the when 'T : Enum + /// library-only static optimization constraint will recognize. + /// + [] + [] + [] + type SupportsWhenTEnum = class end + namespace System.Diagnostics.CodeAnalysis open System @@ -4772,7 +4786,7 @@ namespace Microsoft.FSharp.Core /// Converts the argument to a string using ToString. /// - /// For standard integer and floating point values and any type that implements IFormattable + /// For standard integer and floating point values and any type that implements IFormattable, /// ToString conversion uses CultureInfo.InvariantCulture. /// The input value. /// diff --git a/src/FSharp.Core/seq.fs b/src/FSharp.Core/seq.fs index 20fcdefb15..ce1bfe6d4a 100644 --- a/src/FSharp.Core/seq.fs +++ b/src/FSharp.Core/seq.fs @@ -2002,13 +2002,16 @@ module Seq = let inputLength = tempArray.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - seq { - for _ = 0 to count - 1 do - let j = random.Next(0, inputLength) - tempArray[j] - } + if count = 0 then + empty + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + seq { + for _ = 0 to count - 1 do + let j = random.Next(0, inputLength) + tempArray[j] + } [] let randomChoicesBy (randomizer: unit -> float) (count: int) (source: seq<'T>) : seq<'T> = @@ -2021,13 +2024,16 @@ module Seq = let inputLength = tempArray.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - seq { - for _ = 0 to count - 1 do - let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - tempArray[j] - } + if count = 0 then + empty + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + seq { + for _ = 0 to count - 1 do + let j = Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + tempArray[j] + } [] let randomChoices (count: int) (source: seq<'T>) : seq<'T> = @@ -2045,35 +2051,38 @@ module Seq = let inputLength = tempArray.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) - - // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - - if inputLength <= setSize then - seq { - for i = 0 to count - 1 do - let j = random.Next(0, inputLength - i) - let item = tempArray[j] - tempArray[j] <- tempArray[inputLength - i - 1] - item - } + if count = 0 then + empty + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString else - let selected = HashSet() + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) + + // algorithm taken from https://github.com/python/cpython/blob/69b3e8ea569faabccd74036e3d0e5ec7c0c62a20/Lib/random.py#L363-L456 + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + + if inputLength <= setSize then + seq { + for i = 0 to count - 1 do + let j = random.Next(0, inputLength - i) + let item = tempArray[j] + tempArray[j] <- tempArray[inputLength - i - 1] + item + } + else + let selected = HashSet() - seq { - for _ = 0 to count - 1 do - let mutable j = random.Next(0, inputLength) + seq { + for _ = 0 to count - 1 do + let mutable j = random.Next(0, inputLength) - while not (selected.Add j) do - j <- random.Next(0, inputLength) + while not (selected.Add j) do + j <- random.Next(0, inputLength) - tempArray[j] - } + tempArray[j] + } [] let randomSampleBy (randomizer: unit -> float) (count: int) (source: seq<'T>) : seq<'T> = @@ -2086,37 +2095,40 @@ module Seq = let inputLength = tempArray.Length if inputLength = 0 then - invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString - - if count > inputLength then - invalidArg "count" (SR.GetString(SR.notEnoughElements)) + if count = 0 then + empty + else + invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString + else + if count > inputLength then + invalidArg "count" (SR.GetString(SR.notEnoughElements)) - let setSize = - Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count + let setSize = + Microsoft.FSharp.Primitives.Basics.Random.getMaxSetSizeForSampling count - if inputLength <= setSize then - seq { - for i = 0 to count - 1 do - let j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) + if inputLength <= setSize then + seq { + for i = 0 to count - 1 do + let j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 (inputLength - i) - let item = tempArray[j] - tempArray[j] <- tempArray[inputLength - i - 1] - item - } - else - let selected = HashSet() + let item = tempArray[j] + tempArray[j] <- tempArray[inputLength - i - 1] + item + } + else + let selected = HashSet() - seq { - for _ = 0 to count - 1 do - let mutable j = - Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + seq { + for _ = 0 to count - 1 do + let mutable j = + Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - while not (selected.Add j) do - j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength + while not (selected.Add j) do + j <- Microsoft.FSharp.Primitives.Basics.Random.next randomizer 0 inputLength - tempArray[j] - } + tempArray[j] + } [] let randomSample (count: int) (source: seq<'T>) : seq<'T> = diff --git a/src/FSharp.Core/seq.fsi b/src/FSharp.Core/seq.fsi index 790a486e85..24189d3730 100644 --- a/src/FSharp.Core/seq.fsi +++ b/src/FSharp.Core/seq.fsi @@ -1852,8 +1852,9 @@ module Seq = [] val ofList: source: 'T list -> seq<'T> - /// Returns a sequence of each element in the input sequence and its predecessor, with the - /// exception of the first element which is only returned as the predecessor of the second element. + /// Returns a sequence of each element in the input sequence paired with its predecessor, with the + /// exception of the first element which is only returned as the predecessor of the second element. + /// The predecessor comes first in the returned pairs. /// /// The input sequence. /// @@ -3077,7 +3078,7 @@ module Seq = /// A sequence of randomly selected elements from the input sequence. /// /// Thrown when the input sequence is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// /// @@ -3103,7 +3104,7 @@ module Seq = /// /// Thrown when the input sequence is null. /// Thrown when the random argument is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// /// @@ -3128,7 +3129,7 @@ module Seq = /// A sequence of randomly selected elements from the input sequence. /// /// Thrown when the input sequence is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when the randomizer function returns a number outside the range [0.0..1.0). /// @@ -3153,7 +3154,7 @@ module Seq = /// A sequence of randomly selected elements from the input sequence. /// /// Thrown when the input sequence is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input sequence. /// @@ -3180,7 +3181,7 @@ module Seq = /// /// Thrown when the input sequence is null. /// Thrown when the random argument is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input sequence. /// @@ -3206,7 +3207,7 @@ module Seq = /// A sequence of randomly selected elements from the input sequence. /// /// Thrown when the input sequence is null. - /// Thrown when the input sequence is empty. + /// Thrown when count is more than 0 and the input list is empty. /// Thrown when count is less than 0. /// Thrown when count is greater than the length of the input sequence. /// Thrown when the randomizer function returns a number outside the range [0.0..1.0). diff --git a/tests/AheadOfTime/Trimming/check.ps1 b/tests/AheadOfTime/Trimming/check.ps1 index 50a8a9e642..f0aece70cd 100644 --- a/tests/AheadOfTime/Trimming/check.ps1 +++ b/tests/AheadOfTime/Trimming/check.ps1 @@ -46,4 +46,4 @@ function CheckTrim($root, $tfm, $outputfile, $expected_len) { CheckTrim -root "SelfContained_Trimming_Test" -tfm "net9.0" -outputfile "FSharp.Core.dll" -expected_len 300032 # Check net8.0 trimmed assemblies -CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net9.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 9150976 +CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net9.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 9154048 diff --git a/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj b/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj index 853737b3ca..0758556621 100644 --- a/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj +++ b/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj @@ -21,7 +21,7 @@ PreserveNewest - + @@ -30,8 +30,11 @@ - + + + + diff --git a/tests/FSharp.Build.UnitTests/WriteCodeFragmentTests.fs b/tests/FSharp.Build.UnitTests/WriteCodeFragmentTests.fs index f8c89bac2e..56de7ceb19 100644 --- a/tests/FSharp.Build.UnitTests/WriteCodeFragmentTests.fs +++ b/tests/FSharp.Build.UnitTests/WriteCodeFragmentTests.fs @@ -36,6 +36,52 @@ type WriteCodeFragmentFSharpTests() = member _.``Escaped string parameters``() = verifyAttribute "SomeAttribute" [("_Parameter1", "\"uno\"")] "SomeAttribute(\"\\\"uno\\\"\")" + [] + member _.``Named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" [("Bool", "true"); ("Bool_IsLiteral", "true")] "SomeAttribute(Bool = true)" + + [] + member _.``Multiple named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(Bool = false, Number = 42)" + + [] + member _.``Mixed named parameters with and without _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Text", "hello") + ] + "SomeAttribute(Number = 42, Text = \"hello\")" + + [] + member _.``Mixed unnamed parameters and named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("_Parameter1", "1"); + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(\"1\", Bool = false, Number = 42)" + + [] + member _.``Enum _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("EnumValue", "System.StringComparison.OrdinalIgnoreCase"); + ("EnumValue_IsLiteral", "true") + ] + "SomeAttribute(EnumValue = System.StringComparison.OrdinalIgnoreCase)" + type WriteCodeFragmentCSharpTests() = let verifyAttribute (attributeName:string) (parameters:(string*string) list) (expectedAttributeText:string) = @@ -44,7 +90,7 @@ type WriteCodeFragmentCSharpTests() = let actualAttributeText = (new WriteCodeFragment()).GenerateAttribute (taskItem :> ITaskItem, "c#") let fullExpectedAttributeText = "[assembly: " + expectedAttributeText + "]" Assert.Equal(fullExpectedAttributeText, actualAttributeText) - + [] member _.``No parameters``() = verifyAttribute "SomeAttribute" [] "SomeAttribute()" @@ -65,6 +111,52 @@ type WriteCodeFragmentCSharpTests() = member _.``Escaped string parameters``() = verifyAttribute "SomeAttribute" [("_Parameter1", "\"uno\"")] "SomeAttribute(\"\\\"uno\\\"\")" // this should look like: SomeAttribute("\"uno\"") + + [] + member _.``Named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" [("Bool", "true"); ("Bool_IsLiteral", "true")] "SomeAttribute(Bool = true)" + + [] + member _.``Multiple named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(Bool = false, Number = 42)" + + [] + member _.``Mixed named parameters with and without _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Text", "hello") + ] + "SomeAttribute(Number = 42, Text = \"hello\")" + + [] + member _.``Mixed unnamed parameters and named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("_Parameter1", "1"); + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(\"1\", Bool = false, Number = 42)" + + [] + member _.``Enum _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("EnumValue", "System.StringComparison.OrdinalIgnoreCase"); + ("EnumValue_IsLiteral", "true") + ] + "SomeAttribute(EnumValue = System.StringComparison.OrdinalIgnoreCase)" type WriteCodeFragmentVisualBasicTests() = @@ -96,4 +188,50 @@ type WriteCodeFragmentVisualBasicTests() = member _.``Escaped string parameters``() = verifyAttribute "SomeAttribute" [("_Parameter1", "\"uno\"")] "SomeAttribute(\"\\\"uno\\\"\")" // this should look like: SomeAttribute("\"uno\"") + + [] + member _.``Named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" [("Bool", "true"); ("Bool_IsLiteral", "true")] "SomeAttribute(Bool = true)" + + [] + member _.``Multiple named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(Bool = false, Number = 42)" + + [] + member _.``Mixed named parameters with and without _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Text", "hello") + ] + "SomeAttribute(Number = 42, Text = \"hello\")" + + [] + member _.``Mixed unnamed parameters and named parameters with _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("_Parameter1", "1"); + ("Number", "42"); + ("Number_IsLiteral", "true"); + ("Bool", "false"); + ("Bool_IsLiteral", "true") + ] + "SomeAttribute(\"1\", Bool = false, Number = 42)" + + [] + member _.``Enum _IsLiteral suffix``() = + verifyAttribute "SomeAttribute" + [ + ("EnumValue", "System.StringComparison.OrdinalIgnoreCase"); + ("EnumValue_IsLiteral", "true") + ] + "SomeAttribute(EnumValue = System.StringComparison.OrdinalIgnoreCase)" diff --git a/tests/FSharp.Compiler.ComponentTests/Attributes/AttributeCtorSetPropAccess.fs b/tests/FSharp.Compiler.ComponentTests/Attributes/AttributeCtorSetPropAccess.fs new file mode 100644 index 0000000000..3fdcf10bf5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Attributes/AttributeCtorSetPropAccess.fs @@ -0,0 +1,51 @@ +namespace FSharp.Compiler.ComponentTests.Attributes + +open Xunit +open FSharp.Test.Compiler + +module AttributeCtorSetPropAccess = + let private csLib = """ + using System; + + namespace TestAttribute + { + [AttributeUsage(AttributeTargets.All, Inherited = false)] + public class FooAttribute : Attribute + { + public int X { get; %s set; } + } + } + """ + + let private fsCode = """ + namespace Other + open System + open TestAttribute + + module TestAttributeModule = + + [] + let myFunction() = () + """ + + [] + [] + [] + [] + [] + [] + let ``Cannot set property outside its accessibility scope``(modifier: string): unit = + FSharp fsCode + |> withReferences [(CSharp <| csLib.Replace("%s", modifier))] + |> compile + |> shouldFail + |> withDiagnostics [ (ErrorType.Error 3248, Line 8, Col 28, Line 8, Col 31, "Property 'X' cannot be set because the setter is private") ] + |> ignore + + [] + let ``Can set property inside its accessibility scope``(): unit = + FSharp fsCode + |> withReferences [(CSharp <| csLib.Replace("%s", ""))] + |> compile + |> shouldSucceed + |> ignore \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/NonStringArgs.fs b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/NonStringArgs.fs index 32f40de89d..a28132266b 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/NonStringArgs.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/NonStringArgs.fs @@ -9,7 +9,7 @@ module NonStringArgs = [] [] [] - let ``#nowarn - errors`` (languageVersion) = + let ``#nowarn - errors - separate`` (languageVersion) = FSharp """ #nowarn "988" @@ -43,42 +43,7 @@ module NonStringArgs = [] [] - [] - let ``#nowarn - errors - collected`` (languageVersion) = - - FSharp """ -#nowarn - "988" - FS - FSBLAH - ACME - "FS" - "FSBLAH" - "ACME" - """ - |> withLangVersion languageVersion - |> asExe - |> compile - |> shouldFail - |> withDiagnostics [ - if languageVersion = "8.0" then - (Error 3350, Line 4, Col 5, Line 4, Col 7, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") - (Error 3350, Line 5, Col 5, Line 5, Col 11, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") - (Error 3350, Line 6, Col 5, Line 6, Col 9, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") - (Warning 203, Line 7, Col 5, Line 7, Col 9, "Invalid warning number 'FS'"); - (Warning 203, Line 8, Col 5, Line 8, Col 13, "Invalid warning number 'FSBLAH'"); - else - (Warning 203, Line 4, Col 5, Line 4, Col 7, "Invalid warning number 'FS'"); - (Warning 203, Line 5, Col 5, Line 5, Col 11, "Invalid warning number 'FSBLAH'"); - (Warning 203, Line 6, Col 5, Line 6, Col 9, "Invalid warning number 'ACME'"); - (Warning 203, Line 7, Col 5, Line 7, Col 9, "Invalid warning number 'FS'"); - (Warning 203, Line 8, Col 5, Line 8, Col 13, "Invalid warning number 'FSBLAH'"); - (Warning 203, Line 9, Col 5, Line 9, Col 11, "Invalid warning number 'ACME'") - ] - - - [] - [] + [] [] let ``#nowarn - errors - inline`` (languageVersion) = @@ -97,18 +62,26 @@ module NonStringArgs = (Error 3350, Line 3, Col 19, Line 3, Col 23, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") (Warning 203, Line 3, Col 24, Line 3, Col 28, "Invalid warning number 'FS'"); (Warning 203, Line 3, Col 29, Line 3, Col 37, "Invalid warning number 'FSBLAH'"); - else + elif languageVersion = "9.0" then (Warning 203, Line 3, Col 9, Line 3, Col 11, "Invalid warning number 'FS'"); (Warning 203, Line 3, Col 12, Line 3, Col 18, "Invalid warning number 'FSBLAH'"); (Warning 203, Line 3, Col 19, Line 3, Col 23, "Invalid warning number 'ACME'"); (Warning 203, Line 3, Col 24, Line 3, Col 28, "Invalid warning number 'FS'"); (Warning 203, Line 3, Col 29, Line 3, Col 37, "Invalid warning number 'FSBLAH'"); (Warning 203, Line 3, Col 38, Line 3, Col 44, "Invalid warning number 'ACME'") + else // preview + (Error 203, Line 3, Col 9, Line 3, Col 11, "Invalid warning number 'FS'"); + (Error 203, Line 3, Col 12, Line 3, Col 18, "Invalid warning number 'FSBLAH'"); + (Error 203, Line 3, Col 19, Line 3, Col 23, "Invalid warning number 'ACME'"); + (Error 203, Line 3, Col 24, Line 3, Col 28, "Invalid warning number 'FS'"); + (Error 203, Line 3, Col 29, Line 3, Col 37, "Invalid warning number 'FSBLAH'"); + (Error 203, Line 3, Col 38, Line 3, Col 44, "Invalid warning number 'ACME'") ] [] [] + [] [] let ``#nowarn - realcode`` (langVersion) = @@ -142,10 +115,10 @@ module DoBinding = compileResult |> shouldFail |> withDiagnostics [ - (Warning 1104, Line 5, Col 15, Line 5, Col 31, "Identifiers containing '@' are reserved for use in F# code generation") (Error 3350, Line 2, Col 9, Line 2, Col 11, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") (Error 3350, Line 2, Col 12, Line 2, Col 18, "Feature '# directives with non-quoted string arguments' is not available in F# 8.0. Please use language version 9.0 or greater.") (Warning 203, Line 2, Col 26, Line 2, Col 34, "Invalid warning number 'FS3221'") + (Warning 1104, Line 5, Col 15, Line 5, Col 31, "Identifiers containing '@' are reserved for use in F# code generation") ] else compileResult diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Nowarn.fs b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Nowarn.fs new file mode 100644 index 0000000000..dfbb6d3a73 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Nowarn.fs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. +namespace CompilerDirectives + +open Xunit +open FSharp.Test.Compiler +open FSharp.Test +open System +open System.Text + +module Nowarn = + + let private nowarn n = $"#nowarn {n}" + let private warnon n = $"#warnon {n}" + let private line1 = """#line 1 "some.fsy" """ + let private line10 = """#line 10 "some.fsy" """ + let private make20 = "1" + let private make25 = "match None with None -> ()" + let private W20 = Warning 20 + let private vp = "PREVIEW" + let private v9 = "9.0" + let private fs = String.concat Environment.NewLine >> FsSource + let private fsMod lines = fs ("module A" :: lines) + let private fsSub lines = fs ("namespace A" :: "module B =" :: (lines |> List.map (fun s -> " " + s))) + let private fsi = String.concat Environment.NewLine >> FsiSource + let private fsx = String.concat Environment.NewLine >> FsxSourceCode + + let private fsiSource44 = [ + "namespace A" + "[]" + "type T = class end" + "type T2 = T" + "#nowarn 44" + "type T3 = T" + "#warnon 44" + "type T4 = T" + "#nowarn 44" + "type T5 = T" + ] + + let private fsSource44 = [ + "namespace A" + "#nowarn 44" + "[]" + "type T = class end" + "type T2 = T" + "type T3 = T" + "type T4 = T" + "type T5 = T" + ] + + let private testData = + [ + vp, [], [fsMod [make20]], [W20, 2] + vp, [], [fsMod [nowarn 20; make20]], [] + vp, [], [fsMod ["#nowarn 20;;"; make20]], [] + vp, [], [fsMod [make20; nowarn 20; make20; warnon 20; make20]], [W20, 2; W20, 6] + v9, [], [fsMod [make20; nowarn 20; make20; warnon 20; make20]], [Error 3350, 5] + vp, [], [fsMod [nowarn 20; line1; make20]], [] + v9, [], [fsMod [nowarn 20; line1; make20]], [] // real v9 shows a warning here + vp, [], [fsMod [nowarn 20; line10; make20]], [] + v9, [], [fsMod [nowarn 20; line10; make20]], [] + vp, [], [fsMod [nowarn 20; line1; make20; warnon 20; make20]], [W20, 3] + v9, [], [fsMod [nowarn 20; line1; make20; warnon 20; make20]], [Error 3350, 2] + vp, ["--nowarn:20"], [fsMod [make20]], [] + v9, ["--nowarn:20"], [fsMod [make20]], [] + vp, ["--nowarn:20"], [fsMod [warnon 20; make20]], [W20, 3] + v9, ["--nowarn:20"], [fsMod [warnon 20; make20]], [Error 3350, 2] + vp, ["--warnon:3579"], [fsMod ["""ignore $"{1}" """]], [Warning 3579, 2] + v9, ["--warnon:3579"], [fsMod ["""ignore $"{1}" """]], [Warning 3579, 2] + vp, [], [fsMod ["#warnon 3579"; """ignore $"{1}" """]], [Warning 3579, 3] + v9, [], [fsMod ["#warnon 3579"; """ignore $"{1}" """]], [Error 3350, 2] + vp, ["--warnaserror"], [fsMod [make20]], [Error 20, 2] + vp, ["--warnaserror"; "--nowarn:20"], [fsMod [make20]], [] + vp, ["--warnaserror"; "--nowarn:20"], [fsMod [warnon 20; make20]], [Error 20, 3] + v9, ["--warnaserror"; "--nowarn:20"], [fsMod [warnon 20; make20]], [Error 3350, 2] + vp, ["--warnaserror"], [fsMod [nowarn 20; make20]], [] + vp, ["--warnaserror"; "--warnaserror-:20"], [fsMod [make20]], [W20, 2] + vp, ["--warnaserror:20"], [fsMod [nowarn 20; make20]], [] + vp, [], [fsSub [nowarn 20; make20]], [] + v9, [], [fsSub [nowarn 20; make20]], [Warning 236, 3; W20, 4] + vp, [], [fsSub [make20; nowarn 20; make20; warnon 20; make20]], [W20, 3; W20, 7] + v9, [], [fsSub [make20; nowarn 20; make20; warnon 20; make20]], [Warning 236, 4; Warning 236, 6; W20, 3; W20, 5; W20, 7] + vp, [], [fsi fsiSource44; fs fsSource44], [Warning 44, 4; Warning 44, 8] + v9, [], [fsi fsiSource44; fs fsSource44], [Error 3350, 7] + vp, [], [fsx ["module A"; make20; nowarn 20; make20; warnon 20; make20]], [] // 20 is not checked in scripts + vp, [], [fsx ["module A"; make25; nowarn 25; make25; warnon 25; make25]], [Warning 25, 2; Warning 25, 6] + v9, [], [fsx ["module A"; make25; nowarn 25; make25; warnon 25; make25]], [Error 3350, 5] + v9, [], [fsx ["module A"; make25; nowarn 25; make25]], [] + vp, [], [fsMod ["let x ="; nowarn 20; " 1"; warnon 20; " 2"; " 3"; "4"]], [W20, 6; W20, 8] + vp, [], [fsMod [nowarn 20; nowarn 20; warnon 20; make20]], [Information 3876, 3; W20, 5] + vp, [], [fsMod [nowarn 20; warnon 20; warnon 20; make20]], [Warning 3876, 4; W20, 5] + vp, ["--warnon:3876"], [fsMod [nowarn 20; nowarn 20; warnon 20; make20]], [Warning 3876, 3; W20, 5] + vp, [], [fsMod ["#nowarn \"\"\"20\"\"\" "; make20]], [] + vp, [], [fsMod ["#nowarnx 20"; make20]], [Error 3353, 2] + vp, [], [fsMod ["#nowarn 20 // comment"; make20]], [] + vp, [], [fsMod ["#nowarn"; make20]], [Error 3875, 2] + vp, [], [fsMod ["let a = 1; #nowarn 20"; make20]], [Error 3874, 2] + ] + |> List.mapi (fun i (v, fl, sources, diags) -> [| + box (i + 1) + box v + box fl + box (List.toArray sources) + box (List.toArray diags) |]) + + let testMemberData = + match System.Int32.TryParse(System.Environment.GetEnvironmentVariable("NowarnSingleTest")) with + | true, n when n > 0 && n <= testData.Length -> [testData[n-1]] + | _ -> testData + + let private testFailed (expected: (ErrorType * int) list) (actual: ErrorInfo list) = + expected.Length <> actual.Length + || (List.zip expected actual |> List.exists(fun((error, line), d) -> error <> d.Error || line <> d.Range.StartLine)) + + let private withDiags testId langVersion flags (sources: SourceCodeFileKind list) (expected: (ErrorType * int) list) (result: CompilationResult) = + let actual = result.Output.Diagnostics + if testFailed expected actual then + let sb = new StringBuilder() + let print (s: string) = sb.AppendLine s |> ignore + print "" + print $"test {testId} of {testData.Length}" + print " language version:" + print $" {langVersion}" + print " added compiler options:" + for flag in flags do print $" {flag}" + for source in sources do + print $" source code %s{source.GetSourceFileName}:" + let text = source.GetSourceText |> Option.defaultValue "" + let lines = text.Split(Environment.NewLine |> Seq.toArray) |> Array.toList + for line in lines do print $" {line}" + print $" expected diagnostics:" + for (error, line) in expected do print $" {error} in line {line}" + print $" actual diagnostics:" + for d in actual do print $" {d.Error} in line {d.Range.StartLine}" + Assert.Fail(string sb) + + [] + [] + let testWarnScopes testId langVersion flags (sourceArray: SourceCodeFileKind array) expectedDiags = + let sources = Array.toList sourceArray + sources.Head + |> fsFromString + |> FS + |> withAdditionalSourceFiles sources.Tail + |> withLangVersion langVersion + |> withOptions flags + |> compile + |> withDiags testId langVersion flags sources (Array.toList expectedDiags) + + [] + let testBadLineDirectiveInteraction() = + let sources = + [ + "test1.fs", "module A1 \n#line 10 \"test.fsy\" \n()" + "test2.fs", "module A2 \n#line 20 \"test.fsy\" \n()" + ] + |> List.map (fun (name, text) -> {FileName = name; SourceText = Some text}) + |> List.map SourceCodeFileKind.Fs + let result = + sources.Head + |> fsFromString + |> FS + |> withAdditionalSourceFiles sources.Tail + |> compile + let actual = result.Output.Diagnostics + if actual.Length <> 1 then Assert.Fail $"expected 1 warning, got {actual.Length}" + let errorInfo = actual.Head + if errorInfo.Error <> Warning 3877 then Assert.Fail $"expected Warning 3877, got {errorInfo.Error}" + if errorInfo.Range.StartLine <> 3 then Assert.Fail $"expected warning in line 3, got line {errorInfo.Range.StartLine}" + if not <| errorInfo.Message.StartsWith "The file 'test.fsy' was also pointed to" then Assert.Fail $"unexpected message {errorInfo.Message}" + + [] + let warnDirectiveArgRange() = + FSharp """ +module A +#nowarn xy "abx" +let a = 1; #nowarn 20 +""" + |> compile + |> withDiagnostics [ + Error 3874, Line 4, Col 11, Line 4, Col 22, "#nowarn/#warnon directives must appear as the first non-whitespace characters on a line" + Warning 203, Line 3, Col 9, Line 3, Col 11, "Invalid warning number 'xy'" + Warning 203, Line 3, Col 12, Line 3, Col 17, "Invalid warning number 'abx'" + ] diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/checked.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/checked.fs index 8a0447a450..b842f04de7 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/checked.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/checked.fs @@ -12,7 +12,7 @@ module Checked = [] let ``fsc-unchecked - unchecked01_fs`` compilation = compilation - |> getCompilation + |> getCompilation |> asFs |> compile |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs b/tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs new file mode 100644 index 0000000000..3849cd9add --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs @@ -0,0 +1,90 @@ +module CompilerService.Caches + +open FSharp.Compiler.Caches + +open System.Threading +open Xunit + +[] +let ``Create and dispose many`` () = + let caches = + [ + for _ in 1 .. 100 do + Cache.Create(CacheOptions.Default, observeMetrics = true) + ] + + for c in caches do c.Dispose() + +[] +let ``Create and dispose many named`` () = + let caches = + [ + for i in 1 .. 100 do + Cache.Create(CacheOptions.Default, name = $"testCache{i}", observeMetrics = true) + ] + + for c in caches do c.Dispose() + +[] +let ``Basic add and retrieve`` () = + use cache = Cache.Create(CacheOptions.Default, observeMetrics = true) + + cache.TryAdd("key1", 1) |> ignore + cache.TryAdd("key2", 2) |> ignore + + let mutable value = 0 + Assert.True(cache.TryGetValue("key1", &value), "Should retrieve key1") + Assert.Equal(1, value) + Assert.True(cache.TryGetValue("key2", &value), "Should retrieve key2") + Assert.Equal(2, value) + Assert.False(cache.TryGetValue("key3", &value), "Should not retrieve non-existent key3") + +[] +let ``Eviction of least recently used`` () = + use cache = Cache.Create({ TotalCapacity = 2; HeadroomPercentage = 0 }, observeMetrics = true) + + cache.TryAdd("key1", 1) |> ignore + cache.TryAdd("key2", 2) |> ignore + + // Make key1 recently used by accessing it + let mutable value = 0 + cache.TryGetValue("key1", &value) |> ignore + + let evicted = new ManualResetEvent(false) + cache.Evicted.Add(fun _ -> evicted.Set() |> ignore) + + // Add a third item, which should schedule key2 for eviction + cache.TryAdd("key3", 3) |> ignore + + // Wait for eviction to complete using the event + evicted.WaitOne() |> ignore + + Assert.False(cache.TryGetValue("key2", &value), "key2 should have been evicted") + Assert.True(cache.TryGetValue("key1", &value), "key1 should still be in cache") + Assert.Equal(1, value) + Assert.True(cache.TryGetValue("key3", &value), "key3 should be in cache") + Assert.Equal(3, value) + +[] +let ``Metrics can be retrieved`` () = + use cache = Cache.Create({ TotalCapacity = 2; HeadroomPercentage = 0 }, name = "test_metrics", observeMetrics = true) + + cache.TryAdd("key1", 1) |> ignore + cache.TryAdd("key2", 2) |> ignore + + // Make key1 recently used by accessing it + let mutable value = 0 + cache.TryGetValue("key1", &value) |> ignore + + let evicted = new ManualResetEvent(false) + cache.Evicted.Add(fun _ -> evicted.Set() |> ignore) + + // Add a third item, which should schedule key2 for eviction + cache.TryAdd("key3", 3) |> ignore + + // Wait for eviction to complete using the event + evicted.WaitOne() |> ignore + + let metrics = CacheMetrics.GetStats "test_metrics" + + Assert.Contains("test_metrics | hit ratio", metrics) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs index c7c2cf72ec..b0fa891d2b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs @@ -64,6 +64,7 @@ module CustomAttributes_AttributeUsage = let ``AttributeTargetsIsMethod01_fs 8.0`` compilation = compilation |> withLangVersion80 + |> withWarnOn 3878 |> verifyCompileAndRun |> shouldSucceed @@ -74,6 +75,15 @@ module CustomAttributes_AttributeUsage = |> verifyCompileAndRun |> shouldSucceed + // SOURCE=AttributeTargetsIsMethod01.fs # AttributeTargetsIsMethod01.fs + [] + let ``Preview: AttributeTargetsIsMethod01_fs opt-in warning`` compilation = + compilation + |> withLangVersionPreview + |> withWarnOn 3878 + |> verifyCompileAndRun + |> shouldSucceed + // SOURCE=AttributeTargetsIsProperty.fs # AttributeTargetsIsProperty.fs [] let ``AttributeTargetsIsProperty_fs 8.0`` compilation = @@ -104,10 +114,10 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 21, Col 21, Line 21, Col 22, "This attribute is not valid for use on this language element") - (Error 842, Line 24, Col 21, Line 24, Col 29, "This attribute is not valid for use on this language element") - (Error 842, Line 27, Col 7, Line 27, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 18, Col 7, Line 18, Col 8, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 21, Line 21, Col 22, "This attribute is not valid for use on this language element") + (Warning 842, Line 24, Col 21, Line 24, Col 29, "This attribute is not valid for use on this language element") + (Warning 842, Line 27, Col 7, Line 27, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 18, Col 7, Line 18, Col 8, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargets02.fs # E_AttributeTargets02.fs @@ -117,9 +127,10 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 14, Col 7, Line 14, Col 34, "This attribute is not valid for use on this language element") - (Error 842, Line 24, Col 7, Line 24, Col 36, "This attribute is not valid for use on this language element") - (Error 842, Line 29, Col 15, Line 29, Col 47, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 7, Line 14, Col 34, "This attribute is not valid for use on this language element") + (Warning 842, Line 24, Col 7, Line 24, Col 36, "This attribute is not valid for use on this language element") + (Warning 842, Line 29, Col 15, Line 29, Col 47, "This attribute is not valid for use on this language element") + (Error 3172, Line 28, Col 14, Line 28, Col 17, "A property's getter and setter must have the same type. Property 'Foo' has getter of type 'int' but setter of type 'obj'.") ] // SOURCE=E_AttributeTargetIsField01.fs # E_AttributeTargetIsField01.fs @@ -140,23 +151,23 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 9, Col 3, Line 9, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 12, Col 3, Line 12, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 15, Col 3, Line 15, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 18, Col 3, Line 18, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 21, Col 3, Line 21, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 24, Col 3, Line 24, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 27, Col 3, Line 27, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 30, Col 3, Line 30, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 33, Col 3, Line 33, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 36, Col 3, Line 36, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 39, Col 3, Line 39, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 42, Col 3, Line 42, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 45, Col 3, Line 45, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 49, Col 3, Line 49, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 56, Col 3, Line 56, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 64, Col 3, Line 64, Col 12, "This attribute is not valid for use on this language element") - (Error 842, Line 66, Col 7, Line 66, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 9, Col 3, Line 9, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 12, Col 3, Line 12, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 15, Col 3, Line 15, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 18, Col 3, Line 18, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 3, Line 21, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 24, Col 3, Line 24, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 27, Col 3, Line 27, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 30, Col 3, Line 30, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 33, Col 3, Line 33, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 36, Col 3, Line 36, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 39, Col 3, Line 39, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 42, Col 3, Line 42, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 45, Col 3, Line 45, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 49, Col 3, Line 49, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 56, Col 3, Line 56, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 64, Col 3, Line 64, Col 12, "This attribute is not valid for use on this language element") + (Warning 842, Line 66, Col 7, Line 66, Col 16, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsField02.fs # E_AttributeTargetIsField02.fs @@ -194,17 +205,17 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 9, Col 3, Line 9, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 12, Col 3, Line 12, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 15, Col 3, Line 15, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 18, Col 3, Line 18, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 21, Col 3, Line 21, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 24, Col 3, Line 24, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 26, Col 7, Line 26, Col 17, "This attribute is not valid for use on this language element") - (Error 842, Line 28, Col 3, Line 28, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 31, Col 3, Line 31, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 34, Col 3, Line 34, Col 13, "This attribute is not valid for use on this language element") - (Error 842, Line 39, Col 3, Line 39, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 9, Col 3, Line 9, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 12, Col 3, Line 12, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 15, Col 3, Line 15, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 18, Col 3, Line 18, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 3, Line 21, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 24, Col 3, Line 24, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 26, Col 7, Line 26, Col 17, "This attribute is not valid for use on this language element") + (Warning 842, Line 28, Col 3, Line 28, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 31, Col 3, Line 31, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 34, Col 3, Line 34, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 39, Col 3, Line 39, Col 13, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsMethod03.fs # E_AttributeTargetIsMethod03.fs @@ -225,21 +236,21 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 12, Col 6, Line 12, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 15, Col 6, Line 15, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 18, Col 6, Line 18, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 20, Col 10, Line 20, Col 20, "This attribute is not valid for use on this language element") - (Error 842, Line 22, Col 6, Line 22, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 25, Col 6, Line 25, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 28, Col 6, Line 28, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 31, Col 6, Line 31, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 34, Col 6, Line 34, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 37, Col 6, Line 37, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 39, Col 10, Line 39, Col 20, "This attribute is not valid for use on this language element") - (Error 842, Line 41, Col 6, Line 41, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 44, Col 6, Line 44, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 47, Col 6, Line 47, Col 16, "This attribute is not valid for use on this language element") - (Error 842, Line 52, Col 6, Line 52, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 12, Col 6, Line 12, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 15, Col 6, Line 15, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 18, Col 6, Line 18, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 20, Col 10, Line 20, Col 20, "This attribute is not valid for use on this language element") + (Warning 842, Line 22, Col 6, Line 22, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 25, Col 6, Line 25, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 28, Col 6, Line 28, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 31, Col 6, Line 31, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 34, Col 6, Line 34, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 37, Col 6, Line 37, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 39, Col 10, Line 39, Col 20, "This attribute is not valid for use on this language element") + (Warning 842, Line 41, Col 6, Line 41, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 44, Col 6, Line 44, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 47, Col 6, Line 47, Col 16, "This attribute is not valid for use on this language element") + (Warning 842, Line 52, Col 6, Line 52, Col 16, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsMethod04.fs # E_AttributeTargetIsMethod04.fs @@ -250,8 +261,8 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 10, Col 3, Line 10, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 13, Col 3, Line 13, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 10, Col 3, Line 10, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 13, Col 3, Line 13, Col 15, "This attribute is not valid for use on this language element") ] // SOURCE=E_ConditionalAttribute.fs SCFLAGS="--test:ErrorRanges" # E_ConditionalAttribute.fs @@ -293,7 +304,7 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 12, Col 3, Line 12, Col 6, "This attribute is not valid for use on this language element") + (Warning 842, Line 12, Col 3, Line 12, Col 6, "This attribute is not valid for use on this language element") ] // SOURCE=AttributeTargetIsStruct.fs # AttributeTargetIsStruct.fs @@ -342,18 +353,18 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 13, Col 3, Line 13, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 19, Col 3, Line 19, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 22, Col 11, Line 22, Col 22, "This attribute is not valid for use on this language element") - (Error 842, Line 25, Col 3, Line 25, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 34, Col 3, Line 34, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 35, Col 3, Line 35, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 40, Col 3, Line 40, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 41, Col 3, Line 41, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 49, Col 3, Line 49, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 50, Col 3, Line 50, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 53, Col 3, Line 53, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 54, Col 3, Line 54, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 13, Col 3, Line 13, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 19, Col 3, Line 19, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 22, Col 11, Line 22, Col 22, "This attribute is not valid for use on this language element") + (Warning 842, Line 25, Col 3, Line 25, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 34, Col 3, Line 34, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 35, Col 3, Line 35, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 40, Col 3, Line 40, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 41, Col 3, Line 41, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 49, Col 3, Line 49, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 50, Col 3, Line 50, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 53, Col 3, Line 53, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 54, Col 3, Line 54, Col 18, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsClass.fs # E_AttributeTargetIsClass.fs @@ -372,9 +383,9 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 13, Col 3, Line 13, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 22, Col 10, Line 22, Col 22, "This attribute is not valid for use on this language element") + (Warning 842, Line 13, Col 3, Line 13, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 22, Col 10, Line 22, Col 22, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsClass01.fs # E_AttributeTargetIsClass01.fs @@ -393,8 +404,8 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 7, Col 3, Line 7, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 10, Col 10, Line 10, Col 25, "This attribute is not valid for use on this language element") + (Warning 842, Line 7, Col 3, Line 7, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 10, Col 10, Line 10, Col 25, "This attribute is not valid for use on this language element") ] // SOURCE=MarshalAsAttribute.fs # MarshalAsAttribute.fs @@ -480,7 +491,19 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element") + ] + + // SOURCE=E_AttributeTargetIsField03.fs # E_AttributeTargetIsField03.fs + [] + let ``E_AttributeTargetIsField03_fs opt-in warning`` compilation = + compilation + |> withLangVersion90 + |> withWarnOn 3878 + |> verifyCompile + |> shouldFail + |> withDiagnostics [ + (Warning 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeTargetIsField03.fs # E_AttributeTargetIsField03.fs @@ -491,8 +514,21 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 15, Col 5, Line 15, Col 25, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element") + ] + + // SOURCE=E_AttributeTargetIsField03.fs # E_AttributeTargetIsField03.fs + [] + let ``Preview: E_AttributeTargetIsField03_fs opt-in warning`` compilation = + compilation + |> withLangVersionPreview + |> withWarnOn 3878 + |> verifyCompile + |> shouldFail + |> withDiagnostics [ + (Warning 842, Line 14, Col 5, Line 14, Col 15, "This attribute is not valid for use on this language element"); + (Warning 3878, Line 14, Col 18, Line 14, Col 23, "This attribute is not valid for use on union cases with fields."); + (Warning 3878, Line 15, Col 28, Line 15, Col 33, "This attribute is not valid for use on union cases with fields.") ] // SOURCE=E_AttributeTargetIsProperty01.fs # E_AttributeTargetIsField03.fs @@ -509,11 +545,7 @@ module CustomAttributes_AttributeUsage = compilation |> withLangVersionPreview |> verifyCompile - |> shouldFail - |> withDiagnostics [ - (Error 842, Line 14, Col 5, Line 14, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 15, Col 5, Line 15, Col 25, "This attribute is not valid for use on this language element") - ] + |> shouldSucceed // SOURCE=E_AttributeTargetIsCtor01.fs # E_AttributeTargetIsCtor01.fs [] @@ -531,10 +563,10 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 9, Col 15, Line 9, Col 27, "This attribute is not valid for use on this language element") - (Error 842, Line 11, Col 16, Line 11, Col 28, "This attribute is not valid for use on this language element") - (Error 842, Line 14, Col 15, Line 14, Col 27, "This attribute is not valid for use on this language element") - (Error 842, Line 17, Col 16, Line 17, Col 28, "This attribute is not valid for use on this language element") + (Warning 842, Line 9, Col 15, Line 9, Col 27, "This attribute is not valid for use on this language element") + (Warning 842, Line 11, Col 16, Line 11, Col 28, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 15, Line 14, Col 27, "This attribute is not valid for use on this language element") + (Warning 842, Line 17, Col 16, Line 17, Col 28, "This attribute is not valid for use on this language element") ] // SOURCE=AttributeTargetsIsEnum01.fs # AttributeTargetsIsEnum01.fs @@ -568,10 +600,10 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 20, Col 3, Line 20, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 22, Col 3, Line 22, Col 17, "This attribute is not valid for use on this language element") + (Warning 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 20, Col 3, Line 20, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 22, Col 3, Line 22, Col 17, "This attribute is not valid for use on this language element") ] // SOURCE=AttributeTargetsIsDelegate01.fs # AttributeTargetsIsDelegate01.fs @@ -605,10 +637,10 @@ module CustomAttributes_AttributeUsage = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 19, Col 3, Line 19, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 20, Col 3, Line 20, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 22, Col 3, Line 22, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 19, Col 3, Line 19, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 20, Col 3, Line 20, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 22, Col 3, Line 22, Col 13, "This attribute is not valid for use on this language element") ] [] @@ -654,10 +686,10 @@ type InterruptibleLazy<'T> private (valueFactory: unit -> 'T) = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 11, Col 3, Line 11, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 14, Col 3, Line 14, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 18, Col 3, Line 18, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 11, Col 3, Line 11, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 3, Line 14, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 18, Col 3, Line 18, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 19, Col 3, Line 19, Col 15, "This attribute is not valid for use on this language element") ] // SOURCE= E_AttributeTargetIsClass02.fs # E_AttributeTargetIsClass02.fs @@ -676,18 +708,18 @@ type InterruptibleLazy<'T> private (valueFactory: unit -> 'T) = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 15, Col 3, Line 15, Col 18, "This attribute is not valid for use on this language element"); - (Error 842, Line 16, Col 3, Line 16, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 20, Col 3, Line 20, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 26, Col 3, Line 26, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 27, Col 3, Line 27, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 34, Col 3, Line 34, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 35, Col 3, Line 35, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 43, Col 3, Line 43, Col 18, "This attribute is not valid for use on this language element") - (Error 842, Line 44, Col 3, Line 44, Col 15, "This attribute is not valid for use on this language element") - (Error 842, Line 47, Col 3, Line 47, Col 14, "This attribute is not valid for use on this language element") - (Error 842, Line 48, Col 3, Line 48, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 15, Col 3, Line 15, Col 18, "This attribute is not valid for use on this language element"); + (Warning 842, Line 16, Col 3, Line 16, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 20, Col 3, Line 20, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 21, Col 3, Line 21, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 26, Col 3, Line 26, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 27, Col 3, Line 27, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 34, Col 3, Line 34, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 35, Col 3, Line 35, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 43, Col 3, Line 43, Col 18, "This attribute is not valid for use on this language element") + (Warning 842, Line 44, Col 3, Line 44, Col 15, "This attribute is not valid for use on this language element") + (Warning 842, Line 47, Col 3, Line 47, Col 14, "This attribute is not valid for use on this language element") + (Warning 842, Line 48, Col 3, Line 48, Col 18, "This attribute is not valid for use on this language element") ] // SOURCE= CLIMutableAttribute01.fs # CLIMutableAttribute01.fs @@ -756,8 +788,8 @@ type InterruptibleLazy<'T> private (valueFactory: unit -> 'T) = (Error 934, Line 33, Col 10, Line 33, Col 11, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") (Error 934, Line 36, Col 10, Line 36, Col 11, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") (Error 934, Line 39, Col 10, Line 39, Col 13, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") - (Error 842, Line 41, Col 7, Line 41, Col 23, "This attribute is not valid for use on this language element") - (Error 842, Line 44, Col 7, Line 44, Col 23, "This attribute is not valid for use on this language element") + (Warning 842, Line 41, Col 7, Line 41, Col 23, "This attribute is not valid for use on this language element") + (Warning 842, Line 44, Col 7, Line 44, Col 23, "This attribute is not valid for use on this language element") (Error 935, Line 54, Col 10, Line 54, Col 11, "Types with the 'AllowNullLiteral' attribute may only inherit from or implement types which also allow the use of the null literal") ] @@ -775,8 +807,8 @@ type InterruptibleLazy<'T> private (valueFactory: unit -> 'T) = (Error 934, Line 33, Col 10, Line 33, Col 11, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") (Error 934, Line 36, Col 10, Line 36, Col 11, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") (Error 934, Line 39, Col 10, Line 39, Col 13, "Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute") - (Error 842, Line 41, Col 7, Line 41, Col 23, "This attribute is not valid for use on this language element") - (Error 842, Line 44, Col 7, Line 44, Col 23, "This attribute is not valid for use on this language element") + (Warning 842, Line 41, Col 7, Line 41, Col 23, "This attribute is not valid for use on this language element") + (Warning 842, Line 44, Col 7, Line 44, Col 23, "This attribute is not valid for use on this language element") (Error 935, Line 54, Col 10, Line 54, Col 11, "Types with the 'AllowNullLiteral' attribute may only inherit from or implement types which also allow the use of the null literal") ] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Basic.fs index 1e3c99dc8a..44ee388af9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Basic.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Basic.fs @@ -61,7 +61,7 @@ module CustomAttributes_Basic = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 15, Col 7, Line 15, Col 17, "This attribute is not valid for use on this language element") + (Warning 842, Line 15, Col 7, Line 15, Col 17, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeApplication04.fs SCFLAGS="--test:ErrorRanges" # E_AttributeApplication04.fs @@ -71,7 +71,7 @@ module CustomAttributes_Basic = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 14, Col 3, Line 14, Col 13, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 3, Line 14, Col 13, "This attribute is not valid for use on this language element") ] // SOURCE=E_AttributeApplication05.fs SCFLAGS="--test:ErrorRanges" # E_AttributeApplication05.fs @@ -81,7 +81,8 @@ module CustomAttributes_Basic = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 842, Line 8, Col 7, Line 8, Col 8, "This attribute is not valid for use on this language element") + (Warning 842, Line 8, Col 7, Line 8, Col 8, "This attribute is not valid for use on this language element") + (Error 824, Line 8, Col 7, Line 8, Col 8, "Attributes are not permitted on 'let' bindings in expressions") (Warning 20, Line 8, Col 1, Line 8, Col 31, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") ] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/EntryPoint.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/EntryPoint.fs index ce51bcf6c1..38b84fb649 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/EntryPoint.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/EntryPoint.fs @@ -75,7 +75,7 @@ module EntryPoint = |> compile |> shouldFail |> withDiagnostics [ - (Error 842, Line 9, Col 3, Line 9, Col 13, """This attribute is not valid for use on this language element""") + (Warning 842, Line 9, Col 3, Line 9, Col 13, """This attribute is not valid for use on this language element""") ] // SOURCE=E_twoattributesonsamefunction001.fs SCFLAGS="--test:ErrorRanges" # E_twoattributesonsamefunction001.fs diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Basic.fs index c0a19c9ad3..b59d28cbdd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Basic.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Basic.fs @@ -53,9 +53,9 @@ module LetBindings_Basic = |> shouldFail |> withDiagnostics [ (Error 683, Line 14, Col 6, Line 14, Col 27, "Attributes are not allowed within patterns") - (Error 842, Line 14, Col 8, Line 14, Col 25, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 8, Line 14, Col 25, "This attribute is not valid for use on this language element") (Error 683, Line 14, Col 42, Line 14, Col 63, "Attributes are not allowed within patterns") - (Error 842, Line 14, Col 44, Line 14, Col 61, "This attribute is not valid for use on this language element") + (Warning 842, Line 14, Col 44, Line 14, Col 61, "This attribute is not valid for use on this language element") ] // SOURCE=E_ErrorsForInlineValue.fs SCFLAGS="--test:ErrorRanges" # E_ErrorsForInlineValue.fs diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang01.fs new file mode 100644 index 0000000000..4b6335c378 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang01.fs @@ -0,0 +1,58 @@ +open System + +open System + +type Disposable(id: int) = + static let mutable disposedIds = Set.empty + static let mutable constructedIds = Set.empty + + do constructedIds <- constructedIds.Add(id) + + member _.Id = id + + static member GetDisposed() = disposedIds + static member GetConstructed() = constructedIds + static member Reset() = + disposedIds <- Set.empty + constructedIds <- Set.empty + + interface IDisposable with + member this.Dispose() = disposedIds <- disposedIds.Add(this.Id) + +type DisposableBuilder() = + member _.Using(resource: #IDisposable, f) = + async { + use res = resource + return! f res + } + + member _.Bind(disposable: Disposable, f) = async.Bind(async.Return(disposable), f) + member _.Return(x) = async.Return x + member _.ReturnFrom(x) = x + member _.Bind(task, f) = async.Bind(task, f) + +let counterDisposable = DisposableBuilder() + +let testBindingPatterns() = + Disposable.Reset() + + counterDisposable { + use! res = new Disposable(1) + use! __ = new Disposable(2) + use! (res1) = new Disposable(3) + use! _ = new Disposable(4) + use! (_) = new Disposable(5) + return () + } |> Async.RunSynchronously + + let constructed = Disposable.GetConstructed() + let disposed = Disposable.GetDisposed() + let undisposed = constructed - disposed + + if not undisposed.IsEmpty then + printfn $"Undisposed instances: %A{undisposed}" + failwithf "Not all disposables were properly disposed" + else + printfn $"Success! All %d{constructed.Count} disposables were properly disposed" + +testBindingPatterns() \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang02.fs new file mode 100644 index 0000000000..d57f0b8c14 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang02.fs @@ -0,0 +1,57 @@ +open System + +open System + +type Disposable(id: int) = + static let mutable disposedIds = Set.empty + static let mutable constructedIds = Set.empty + + do constructedIds <- constructedIds.Add(id) + + member _.Id = id + + static member GetDisposed() = disposedIds + static member GetConstructed() = constructedIds + static member Reset() = + disposedIds <- Set.empty + constructedIds <- Set.empty + + interface IDisposable with + member this.Dispose() = disposedIds <- disposedIds.Add(this.Id) + +type DisposableBuilder() = + member _.Using(resource: #IDisposable, f) = + async { + use res = resource + return! f res + } + + member _.Bind(disposable: Disposable, f) = async.Bind(async.Return(disposable), f) + member _.Return(x) = async.Return x + member _.ReturnFrom(x) = x + member _.Bind(task, f) = async.Bind(task, f) + +let counterDisposable = DisposableBuilder() + +let testBindingPatterns() = + Disposable.Reset() + + counterDisposable { + use! _ = new Disposable(1) + use! _ = new Disposable(2) + use! (_) = new Disposable(3) + use! (_) = new Disposable(4) + return () + } |> Async.RunSynchronously + + let constructed = Disposable.GetConstructed() + let disposed = Disposable.GetDisposed() + let undisposed = constructed - disposed + + if not undisposed.IsEmpty then + printfn $"Undisposed instances: %A{undisposed}" + failwithf "Not all disposables were properly disposed" + else + printfn $"Success! All %d{constructed.Count} disposables were properly disposed" + +testBindingPatterns() \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang03.fs new file mode 100644 index 0000000000..57c814c561 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang03.fs @@ -0,0 +1,71 @@ +open System + +type Disposable(id: int) = + static let mutable disposedIds = Map.empty + static let mutable constructedIds = Set.empty + + do constructedIds <- constructedIds.Add(id) + + member _.Id = id + + static member GetDisposed() = disposedIds + static member GetConstructed() = constructedIds + static member Reset() = + disposedIds <- Map.empty + constructedIds <- Set.empty + + interface IDisposable with + member this.Dispose() = + let currentCount = + match Map.tryFind this.Id disposedIds with + | Some count -> count + | None -> 0 + disposedIds <- Map.add this.Id (currentCount + 1) disposedIds + +type DisposableBuilder() = + member _.Using(resource: #IDisposable, f) = + async { + use res = resource + return! f res + } + + member _.Bind(disposable: Disposable, f) = async.Bind(async.Return(disposable), f) + member _.Return(x) = async.Return x + member _.ReturnFrom(x) = x + member _.Bind(task, f) = async.Bind(task, f) + +let counterDisposable = DisposableBuilder() + +let testBindingPatterns() = + Disposable.Reset() + + counterDisposable { + use! res = new Disposable(1) + use! __ = new Disposable(2) + use! (res1) = new Disposable(3) + use! _ = new Disposable(4) + use! (_) = new Disposable(5) + return () + } |> Async.RunSynchronously + + let constructed = Disposable.GetConstructed() + let disposed = Disposable.GetDisposed() + + let disposedSet = Set.ofSeq (Map.keys disposed) + let undisposed = constructed - disposedSet + + if not undisposed.IsEmpty then + printfn $"Undisposed instances: %A{undisposed}" + failwithf "Not all disposables were properly disposed" + + let multipleDisposed = + disposed + |> Map.filter (fun _ count -> count > 1) + + if not multipleDisposed.IsEmpty then + printfn $"Objects disposed multiple times: %A{multipleDisposed}" + failwithf "Some disposables were disposed multiple times" + + printfn $"Success! All %d{constructed.Count} disposables were properly disposed exactly once" + +testBindingPatterns() \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang04.fs new file mode 100644 index 0000000000..3c32e29bc4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang04.fs @@ -0,0 +1,91 @@ +open System + +type Disposable(id: int) = + static let mutable disposedIds = Map.empty + static let mutable constructedIds = Set.empty + + do constructedIds <- constructedIds.Add(id) + + member _.Id = id + + static member GetDisposed() = disposedIds + static member GetConstructed() = constructedIds + static member Reset() = + disposedIds <- Map.empty + constructedIds <- Set.empty + + interface IDisposable with + member this.Dispose() = + let currentCount = + match Map.tryFind this.Id disposedIds with + | Some count -> count + | None -> 0 + disposedIds <- Map.add this.Id (currentCount + 1) disposedIds + +type DisposableBuilder() = + member _.Using(resource: #IDisposable, f) = + async { + use res = resource + return! f res + } + + member _.Bind(disposable: Disposable, f) = async.Bind(async.Return(disposable), f) + member _.Return(x) = async.Return x + member _.ReturnFrom(x) = x + member _.Bind(task, f) = async.Bind(task, f) + +let counterDisposable = DisposableBuilder() + +let testBindingPatterns() = + Disposable.Reset() + + counterDisposable { + use! res = new Disposable(1) + use! __ = new Disposable(2) + use! (res1) = new Disposable(3) + + use! _ = new Disposable(4) + use! _ = new Disposable(5) + + use! x = new Disposable(6) + use! x = new Disposable(7) + + use! (_) = new Disposable(8) + use! (_) = new Disposable(9) + + return () + } |> Async.RunSynchronously + + let constructed = Disposable.GetConstructed() + let disposed = Disposable.GetDisposed() + + let disposedSet = Set.ofSeq (Map.keys disposed) + let undisposed = constructed - disposedSet + + if not undisposed.IsEmpty then + printfn $"Undisposed instances: %A{undisposed}" + failwithf "Not all disposables were properly disposed" + + // Verify each object was disposed exactly once + let incorrectlyDisposed = + disposed + |> Map.partition (fun _ count -> count = 1) + |> snd + + if not incorrectlyDisposed.IsEmpty then + printfn $"Objects with incorrect disposal count: %A{incorrectlyDisposed}" + failwithf "Some disposables were not disposed exactly once" + + let idChecks = + [1..9] |> List.map (fun id -> + match Map.tryFind id disposed with + | Some 1 -> true + | _ -> false + ) + + if not ((List.forall id) idChecks) then + failwithf "Not all disposable IDs were properly handled" + + printfn $"Success! All %d{constructed.Count} disposables were properly disposed exactly once, including repeated patterns" + +testBindingPatterns() \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang05.fs new file mode 100644 index 0000000000..7bd2b4cd82 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBang05.fs @@ -0,0 +1,58 @@ +open System + +open System + +type Disposable(id: int) = + static let mutable disposedIds = Set.empty + static let mutable constructedIds = Set.empty + + do constructedIds <- constructedIds.Add(id) + + member _.Id = id + + static member GetDisposed() = disposedIds + static member GetConstructed() = constructedIds + static member Reset() = + disposedIds <- Set.empty + constructedIds <- Set.empty + + interface IDisposable with + member this.Dispose() = disposedIds <- disposedIds.Add(this.Id) + +type DisposableBuilder() = + member _.Using(resource: #IDisposable, f) = + async { + use res = resource + return! f res + } + + member _.Bind(disposable: Disposable, f) = async.Bind(async.Return(disposable), f) + member _.Return(x) = async.Return x + member _.ReturnFrom(x) = x + member _.Bind(task, f) = async.Bind(task, f) + +let counterDisposable = DisposableBuilder() + +let testBindingPatterns() = + Disposable.Reset() + + counterDisposable { + use! res:IDisposable = new Disposable(1) + use! __:IDisposable = new Disposable(2) + use! (res1: IDisposable) = new Disposable(3) + use! _: IDisposable = new Disposable(4) + use! (_: IDisposable) = new Disposable(5) + return () + } |> Async.RunSynchronously + + let constructed = Disposable.GetConstructed() + let disposed = Disposable.GetDisposed() + let undisposed = constructed - disposed + + if not undisposed.IsEmpty then + printfn $"Undisposed instances: %A{undisposed}" + failwithf "Not all disposables were properly disposed" + else + printfn $"Success! All %d{constructed.Count} disposables were properly disposed" + +testBindingPatterns() \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBangBindings.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBangBindings.fs new file mode 100644 index 0000000000..37c1447e89 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBangBindings.fs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Language + +open FSharp.Test +open Xunit +open FSharp.Test.Compiler + +module UseBangBindingsVersion9 = + [] + let ``UseBangBindings - UseBang01_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 1228, Line 43, Col 14, Line 43, Col 15, "'use!' bindings must be of the form 'use! = '") + ] + + [] + let ``UseBangBindings - UseBang02_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 1228, Line 40, Col 14, Line 40, Col 15, "'use!' bindings must be of the form 'use! = '") + ] + + [] + let ``UseBangBindings - UseBang03_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 1228, Line 46, Col 14, Line 46, Col 15, "'use!' bindings must be of the form 'use! = '") + ] + + [] + let ``UseBangBindings - UseBang04_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 1228, Line 47, Col 14, Line 47, Col 15, "'use!' bindings must be of the form 'use! = '") + ] + + [] + let ``UseBangBindings - UseBang05_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 43, Col 14, Line 43, Col 28, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 41, Col 14, Line 41, Col 28, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 40, Col 14, Line 40, Col 29, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + +module UseBangBindingsPreview = + [] + let ``UseBangBindings - UseBang01_fs - Preview LangVersion`` compilation = + compilation + |> asExe + |> withLangVersionPreview + |> compileAndRun + |> shouldSucceed + + [] + let ``UseBangBindings - UseBang02_fs - Preview LangVersion`` compilation = + compilation + |> asExe + |> withLangVersionPreview + |> compileAndRun + |> shouldSucceed + + [] + let ``UseBangBindings - UseBang03_fs - Preview LangVersion`` compilation = + compilation + |> asExe + |> withLangVersionPreview + |> compileAndRun + |> shouldSucceed + + [] + let ``UseBangBindings - UseBang04_fs - Preview LangVersion`` compilation = + compilation + |> asExe + |> withLangVersionPreview + |> compileAndRun + |> shouldSucceed + + [] + let ``UseBangBindings - UseBang05_fs - Preview LangVersion`` compilation = + compilation + |> asExe + |> withLangVersionPreview + |> compileAndRun + |> shouldSucceed + + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding01.fs new file mode 100644 index 0000000000..4fbe7575b3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding01.fs @@ -0,0 +1,7 @@ +// #DeclarationElements #LetBindings +// +open System + +let answer = + use x:IDisposable = new System.IO.MemoryStream() + 42 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding02.fs new file mode 100644 index 0000000000..be6cf7b839 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBinding02.fs @@ -0,0 +1,26 @@ +open System + +type private Disposable() = + [] static val mutable private disposedTimes: int + [] static val mutable private constructedTimes: int + + do Disposable.constructedTimes <- Disposable.constructedTimes + 1 + + static member DisposeCallCount() = Disposable.disposedTimes + static member ConstructorCallCount() = Disposable.constructedTimes + + interface System.IDisposable with + member _.Dispose() = + Disposable.disposedTimes <- Disposable.disposedTimes + 1 + +let _scope = + use x: IDisposable = new Disposable() + () + +let disposeCalls = Disposable.DisposeCallCount() +if disposeCalls <> 1 then + failwith "was not disposed or disposed too many times" + +let ctorCalls = Disposable.ConstructorCallCount() +if ctorCalls <> 1 then + failwithf "unexpected constructor call count: %i" ctorCalls diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard02.fs new file mode 100644 index 0000000000..9a31ba2763 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard02.fs @@ -0,0 +1,26 @@ +open System + +type private Disposable() = + [] static val mutable private disposedTimes: int + [] static val mutable private constructedTimes: int + + do Disposable.constructedTimes <- Disposable.constructedTimes + 1 + + static member DisposeCallCount() = Disposable.disposedTimes + static member ConstructorCallCount() = Disposable.constructedTimes + + interface System.IDisposable with + member _.Dispose() = + Disposable.disposedTimes <- Disposable.disposedTimes + 1 + +let _scope = + use _ = new Disposable() + () + +let disposeCalls = Disposable.DisposeCallCount() +if disposeCalls <> 1 then + failwith "was not disposed or disposed too many times" + +let ctorCalls = Disposable.ConstructorCallCount() +if ctorCalls <> 1 then + failwithf "unexpected constructor call count: %i" ctorCalls diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard03.fs new file mode 100644 index 0000000000..840870377f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindingDiscard03.fs @@ -0,0 +1,26 @@ +open System + +type private Disposable() = + [] static val mutable private disposedTimes: int + [] static val mutable private constructedTimes: int + + do Disposable.constructedTimes <- Disposable.constructedTimes + 1 + + static member DisposeCallCount() = Disposable.disposedTimes + static member ConstructorCallCount() = Disposable.constructedTimes + + interface System.IDisposable with + member _.Dispose() = + Disposable.disposedTimes <- Disposable.disposedTimes + 1 + +let _scope = + use _:IDisposable = new Disposable() + () + +let disposeCalls = Disposable.DisposeCallCount() +if disposeCalls <> 1 then + failwith "was not disposed or disposed too many times" + +let ctorCalls = Disposable.ConstructorCallCount() +if ctorCalls <> 1 then + failwithf "unexpected constructor call count: %i" ctorCalls diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindings.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindings.fs index 8196a9fe28..b1e0886931 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindings.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/UseBindings/UseBindings.fs @@ -27,36 +27,31 @@ module UseBindings = |> withErrorCode 3350 |> withDiagnosticMessageMatches "Feature 'discard pattern in use binding' is not available.*" - [] - let ``Dispose called for discarded value of use binding`` () = - Fsx """ -type private Disposable() = - [] static val mutable private disposedTimes: int - [] static val mutable private constructedTimes: int - - do Disposable.constructedTimes <- Disposable.constructedTimes + 1 - - static member DisposeCallCount() = Disposable.disposedTimes - static member ConstructorCallCount() = Disposable.constructedTimes - - interface System.IDisposable with - member _.Dispose() = - Disposable.disposedTimes <- Disposable.disposedTimes + 1 - -let _scope = - use _ = new Disposable() - () - -let disposeCalls = Disposable.DisposeCallCount() -if disposeCalls <> 1 then - failwith "was not disposed or disposed too many times" - -let ctorCalls = Disposable.ConstructorCallCount() -if ctorCalls <> 1 then - failwithf "unexpected constructor call count: %i" ctorCalls - - """ + [] + let ``Dispose called for discarded value of use binding`` compilation = + compilation |> asExe |> withLangVersion60 |> compileAndRun - |> shouldSucceed \ No newline at end of file + |> shouldSucceed + + [] + let ``UseBindings - UseBindingDiscard03_fs - Current LangVersion`` compilation = + compilation + |> asExe + |> compileAndRun + |> shouldSucceed + + [] + let ``UseBindings - UseBinding01_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> compile + |> shouldSucceed + + [] + let ``UseBindings - UseBinding02_fs - Current LangVersion`` compilation = + compilation + |> asFsx + |> compile + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/AnonymousRecords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/AnonymousRecords.fs index 354539ed7c..be7d0bf7ee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/AnonymousRecords.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/AnonymousRecords.fs @@ -19,6 +19,138 @@ module AnonRecd = |> shouldFail |> withErrorCode 3522 |> withMessage "The field 'A' appears multiple times in this record expression." + + [] + let ``Anonymous Record with unit of measures`` () = + FSharp """ +namespace FSharpTest + +[] +type m + +module AnonRecd = + let a = {|a=1|} + let b = {|a=1; b=2|} + let c = {|a=1 |} + let d = {| a=1; b=2; c=3 |} +""" + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 8, Col 20, Line 8, Col 23, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 9, Col 28, Line 9, Col 31, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview : Anonymous Record with unit of measures`` () = + FSharp """ +namespace FSharpTest + +[] +type m + +module AnonRecd = + let a = {|a=1|} + let b = {|a=1; b=2|} + let c = {|a=1 |} + let d = {| a=1; b=2; c=3 |} +""" + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Anonymous Record with typeof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a = {|a=typeof|} + let b = {|a=typeof |} + let c = {| a=typeof|} + let d = {| a=typeof |} +""" + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 4, Col 27, Line 4, Col 30, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 6, Col 28, Line 6, Col 31, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Anonymous Record with typeof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a = {|a=typeof|} + let b = {|a=typeof |} + let c = {| a=typeof|} + let d = {| a=typeof |} +""" + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Anonymous Record with typedefof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a = {|a=typedefof<_ option>|} + let b = {|a=typedefof<_ option> |} + let c = {| a=typedefof<_ option>|} + let d = {| a=typedefof<_ option> |} +""" + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 4, Col 35, Line 4, Col 38, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 6, Col 36, Line 6, Col 39, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Anonymous Record with typedefof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a = {|a=typedefof<_ option>|} + let b = {|a=typedefof<_ option> |} + let c = {| a=typedefof<_ option>|} + let d = {| a=typedefof<_ option> |} +""" + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Anonymous Record with nameof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a<'T> = {|a=nameof<'T>|} + let b<'T> = {|a=nameof<'T> |} + let c<'T> = {| a=nameof<'T>|} + let d<'T> = {| a=nameof<'T> |} +""" + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 4, Col 30, Line 4, Col 33, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 6, Col 31, Line 6, Col 34, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Anonymous Record with nameof`` () = + FSharp """ +namespace FSharpTest +module AnonRecd = + let a<'T> = {|a=nameof<'T>|} + let b<'T> = {|a=nameof<'T> |} + let c<'T> = {| a=nameof<'T>|} + let d<'T> = {| a=nameof<'T> |} +""" + |> withLangVersionPreview + |> compile + |> shouldSucceed [] let ``Anonymous Record missing single field`` () = @@ -374,4 +506,174 @@ let v = {| ``A`` = 0; B = 5; A = ""; B = 0 |} |> withDiagnostics [ (Error 3522, Line 2, Col 12, Line 2, Col 17, "The field 'A' appears multiple times in this record expression.") (Error 3522, Line 2, Col 23, Line 2, Col 24, "The field 'B' appears multiple times in this record expression.") - ] \ No newline at end of file + ] + + [] + let ``Preview: Anonymous records with typed quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr1 : {| A: Expr |} = {| A = <@ 1 + 1 @> |} +let expr2 : {| A: Expr |} = {| A = <@ 1 + 1 @>|} +let expr3 : {| A: Expr; B: Expr |} = {| A = <@ "hello" @>; B = <@ 42 @>|} +let expr4 : {| A: Expr; B: Expr |} = {| A = <@ "hello" @>; B = <@ 42 @>|} + +let expr5 : {| A: Expr |} = {| A= <@ 1 + 1 @> |} +let expr6 : {| A: Expr |} = {| A= <@ 1 + 1 @>|} +let expr7 : {| A: Expr |} = {| A = <@ 1 + 1 @> |} +let expr8 : {| A: Expr |} = {| A = <@ 1 + 1 @>|} + +let (=<@) = (@) +let (@>=) = (@) + +[1..2] =<@ [3..4] @>= [5..6] + """ + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Preview: Anonymous records with untyped quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr1 : {| A: Expr |} = {| A = <@@ 1 + 1 @@> |} +let expr2 : {| A: Expr |} = {| A = <@@ 1 + 1 @@>|} +let expr3 : {| A: Expr; B: Expr |} = {| A = <@@ "hello" @@>; B = <@@ 42 @@>|} +let expr4 : {| A: Expr; B: Expr |} = {| A = <@@ "hello" @@>; B = <@@ 42 @@>|} + +let expr5 : {| A: Expr |} = {| A= <@@ 1 + 1 @@> |} +let expr6 : {| A: Expr |} = {| A= <@@ 1 + 1 @@>|} +let expr7 : {| A: Expr |} = {| A = <@@ 1 + 1 @@> |} +let expr8 : {| A: Expr |} = {| A = <@@ 1 + 1 @@>|} + """ + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Preview: Anonymous records with mixed quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr : {| Typed: Expr; Untyped: Expr |} = + {| Typed = <@ 1 + 1 @>; Untyped = <@@ "test" @@>|} + +let expr2 : {| A: Expr; B: Expr; C: string |} = + {| A = <@ 42 @>; B = <@@ true @@>; C = "normal string"|} + """ + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Preview: Nested anonymous records with quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let nested = + {| Outer = {| Inner = <@ 1 + 1 @>|}; Other = <@@ "test" @@>|} + +let nested2 : {| A: {| B: Expr |}; C: Expr |} = + {| A = {| B = <@ 42 @>|}; C = <@@ true @@>|} + """ + |> withLangVersionPreview + |> compile + |> shouldSucceed + + [] + let ``Version 9: Anonymous records with typed quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr1 : {| A: Expr |} = {| A = <@ 1 + 1 @> |} +let expr2 : {| A: Expr |} = {| A = <@ 1 + 1 @>|} +let expr3 : {| A: Expr; B: Expr |} = {| A = <@ "hello" @>; B = <@ 42 @>|} +let expr4 : {| A: Expr; B: Expr |} = {| A = <@ "hello" @>; B = <@ 42 @>|} + +let expr5 : {| A: Expr |} = {| A= <@ 1 + 1 @> |} +let expr6 : {| A: Expr |} = {| A= <@ 1 + 1 @>|} +let expr7 : {| A: Expr |} = {| A = <@ 1 + 1 @> |} +let expr8 : {| A: Expr |} = {| A = <@ 1 + 1 @>|} + +let (=<@) = (@) +let (@>=) = (@) + +[1..2] =<@ [3..4] @>= [5..6] + """ + |> withLangVersion90 + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 5, Col 48, Line 5, Col 49, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 6, Col 80, Line 6, Col 82, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 7, Col 80, Line 7, Col 82, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 10, Col 47, Line 10, Col 48, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 12, Col 48, Line 12, Col 49, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + + ] + + [] + let ``Version 9: Anonymous records with untyped quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr1 : {| A: Expr |} = {| A = <@@ 1 + 1 @@> |} +let expr2 : {| A: Expr |} = {| A = <@@ 1 + 1 @@>|} +let expr3 : {| A: Expr; B: Expr |} = {| A = <@@ "hello" @@>; B = <@@ 42 @@>|} +let expr4 : {| A: Expr; B: Expr |} = {| A = <@@ "hello" @@>; B = <@@ 42 @@>|} + +let expr5 : {| A: Expr |} = {| A= <@@ 1 + 1 @@> |} +let expr6 : {| A: Expr |} = {| A= <@@ 1 + 1 @@>|} +let expr7 : {| A: Expr |} = {| A = <@@ 1 + 1 @@> |} +let expr8 : {| A: Expr |} = {| A = <@@ 1 + 1 @@>|} + """ + |> withLangVersion90 + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 5, Col 44, Line 5, Col 45, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 6, Col 70, Line 6, Col 72, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 7, Col 70, Line 7, Col 72, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 10, Col 43, Line 10, Col 44, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 12, Col 44, Line 12, Col 45, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Version 9: Anonymous records with mixed quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let expr : {| Typed: Expr; Untyped: Expr |} = + {| Typed = <@ 1 + 1 @>; Untyped = <@@ "test" @@>|} + +let expr2 : {| A: Expr; B: Expr; C: string |} = + {| A = <@ 42 @>; B = <@@ true @@>; C = "normal string"|} + """ + |> withLangVersion90 + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 5, Col 50, Line 5, Col 55, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Version 9: Nested anonymous records with quotations should parse correctly``() = + Fsx """ +open Microsoft.FSharp.Quotations + +let nested = + {| Outer = {| Inner = <@ 1 + 1 @>|}; Other = <@@ "test" @@>|} + +let nested2 : {| A: {| B: Expr |}; C: Expr |} = + {| A = {| B = <@ 42 @>|}; C = <@@ true @@>|} + """ + |> withLangVersion90 + |> compile + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 5, Col 34, Line 5, Col 35, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 5, Col 61, Line 5, Col 66, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 8, Col 22, Line 8, Col 24, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + (Error 3350, Line 8, Col 44, Line 8, Col 49, "Feature 'Support for better anonymous record parsing' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs deleted file mode 100644 index da86f94926..0000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -namespace Conformance.UnitsOfMeasure - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module Basic = - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - Misc01_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - Misc03_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - Stats_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - SI_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - RationalExponents01_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Basic) - [] - let ``Basic - Quotation04_hidden_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Basic.fs new file mode 100644 index 0000000000..ddb3a9fb04 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Basic.fs @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Basic = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + [] + [] + [] + [] + [] + [] + [] + let ``Basic - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + [] + let ``Basic - E_MassForce`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 1, Line 15, Col 27, Line 15, Col 32, "The unit of measure 'N' does not match the unit of measure 'kg'") + (Error 43, Line 15, Col 25, Line 15, Col 26, "The unit of measure 'N' does not match the unit of measure 'kg'") + ] + + [] + let ``Basic - Misc02_fs`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Warning 64, Line 36, Col 60, Line 36, Col 61, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'v has been constrained to be measure ''u/'w'.") + ] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Calculus.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Calculus.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx index 0263135fc5..cd91c9f2d2 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Calculus.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx @@ -18,6 +18,7 @@ let rec newton (f:float<_> -> float<_>) f' x xacc = else newton f f' x' xacc // Non-regular datatype: a list of derivatives of a function +[] type derivs<[] 'u, [] 'v> = Nil | Cons of (float<'u> -> float<'v>) * derivs<'u,'v/'u> diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/E_MassForce.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/E_MassForce.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Ints01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Ints01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Ints01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Ints01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Mars.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Mars.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/MassForce.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/MassForce.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Misc01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Misc01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx index 87e1f8d602..79b036bef9 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx @@ -94,4 +94,4 @@ let r2 = (polyadd (new ComplexProd())) let weird(x:float<'u 'w>) (y:float<'v 'w>) (z:float<'w/'u 'v>) = 1 -if (r/1.0 = 14.0) && (r2/1.0 = 28.0) then exit 0 else 1 +(if (r/1.0 = 14.0) && (r2/1.0 = 28.0) then 0 else 1) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Misc03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc03.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Misc03.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc03.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc04.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/SI.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/SI.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Stats.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Stats.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/Bounds.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/Bounds.fs new file mode 100644 index 0000000000..f2473d8a31 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/Bounds.fs @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Bounds = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + + [] + let ``infinity_01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 717, Line 12, Col 18, Line 12, Col 27, "Unexpected type arguments") + (Error 717, Line 13, Col 18, Line 13, Col 26, "Unexpected type arguments") + (Error 717, Line 14, Col 19, Line 14, Col 28, "Unexpected type arguments") + (Error 717, Line 15, Col 19, Line 15, Col 27, "Unexpected type arguments") + ] + + [] + let ``nan_01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 717, Line 7, Col 19, Line 7, Col 22, "Unexpected type arguments") + ] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/infinity_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/infinity_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/nan_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/nan_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx index 399089c85d..3272b6ad10 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/nan_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx @@ -5,4 +5,3 @@ #light [] type kg let mysterymass = nan -exit 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/Constants.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/Constants.fs new file mode 100644 index 0000000000..fd1d8440ae --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/Constants.fs @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Constants = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + [] + let ``Constants - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + [] + let ``E_UnsupportedTypes01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 636, Line 22, Col 9, Line 22, Col 15, "Units-of-measure are only supported on float, float32, decimal, and integer types.") + (Error 636, Line 23, Col 9, Line 23, Col 15, "Units-of-measure are only supported on float, float32, decimal, and integer types.") + ] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/E_UnsupportedTypes01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/E_UnsupportedTypes01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/E_UnsupportedTypes01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/E_UnsupportedTypes01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/SpecialSyntax_.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/SpecialSyntax_.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/SpecialSyntax_.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/SpecialSyntax_.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/decimal.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/decimal.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/decimal.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/decimal.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/ieee32.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/ieee32.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/ieee32.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/ieee32.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/ieee64.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/ieee64.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/ieee64.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Constants/ieee64.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs deleted file mode 100644 index df101be4a3..0000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -namespace Conformance.UnitsOfMeasure - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module Diagnostics = - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Diagnostics) - // - [] - let ``Diagnostics - RangeExpression01_fs - --test:ErrorRanges`` compilation = - compilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldSucceed - |> ignore - diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/Diagnostics.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/Diagnostics.fs new file mode 100644 index 0000000000..703dc3cb51 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/Diagnostics.fs @@ -0,0 +1,226 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Diagnostics = + + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> compile + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceedWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> ignoreWarnings + |> compile + |> shouldSucceed + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> compile + |> shouldSucceed + + [] + [] + [] + [] + [] + let ``Diagnostics - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + [] + let ``E_CantBeUsedAsPrefixArgToAType01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 706, Line 9, Col 12, Line 9, Col 29, "Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets.") + ] + + [] + let ``E_CantBeUsedAsPrefixArgToAType02_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 706, Line 9, Col 12, Line 9, Col 24, "Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets.") + ] + + [] + let ``E_CantBeUsedAsPrefixArgToAType03_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 706, Line 9, Col 12, Line 9, Col 27, "Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets.") + ] + + [] + let ``E_CantBeUsedAsPrefixArgToAType04_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 706, Line 9, Col 12, Line 9, Col 21, "Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets.") + ] + + [] + let ``E_CantBeUsedAsPrefixArgToAType05_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 716, Line 10, Col 12, Line 10, Col 21, "Unexpected / in type") + (Error 704, Line 10, Col 12, Line 10, Col 13, "Expected type, not unit-of-measure") + (Error 706, Line 10, Col 14, Line 10, Col 21, "Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets.") + ] + + [] + let ``E_ExpectedTypeNotUnitOfMeasure01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 33, Line 11, Col 10, Line 11, Col 19, "The non-generic type 'Microsoft.FSharp.Core.string' does not expect any type arguments, but here is given 1 type argument(s)") + (Error 704, Line 12, Col 11, Line 12, Col 12, "Expected type, not unit-of-measure") + (Error 704, Line 13, Col 17, Line 13, Col 18, "Expected type, not unit-of-measure") + (Error 704, Line 14, Col 49, Line 14, Col 50, "Expected type, not unit-of-measure") + ] + + [] + let ``E_ExplicitUnitOfMeasureParameters01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 702, Line 6, Col 41, Line 6, Col 43, "Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [] attribute.") + ] + + [] + let ``E_ExplicitUnitOfMeasureParameters02_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 702, Line 6, Col 45, Line 6, Col 47, "Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [] attribute.") + ] + + [] + let ``E_ExplicitUnitOfMeasureParameters03_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 702, Line 6, Col 33, Line 6, Col 35, "Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [] attribute.") + (Warning 1178, Line 6, Col 6, Line 6, Col 12, "The struct, record or union type 'T_2920' is not structurally comparable because the type 'obj' does not satisfy the 'comparison' constraint. Consider adding the 'NoComparison' attribute to the type 'T_2920' to clarify that the type is not comparable") + ] + + [] + let ``E_ExplicitUnitOfMeasureParameters04_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 702, Line 6, Col 27, Line 6, Col 29, "Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [] attribute.") + (Error 35, Line 6, Col 6, Line 6, Col 12, "This construct is deprecated: This type abbreviation has one or more declared type parameters that do not appear in the type being abbreviated. Type abbreviations must use all declared type parameters in the type being abbreviated. Consider removing one or more type parameters, or use a concrete type definition that wraps an underlying type, such as 'type C<'a> = C of ...'.") + ] + + [] + let ``E_NonGenVarInValueRestrictionWarning_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 30, Line 6, Col 5, Line 6, Col 6, """Value restriction: The value 'x' has an inferred generic type + val x: float<'_u> list ref + However, values cannot have generic type variables like '_a in "let x: '_a". You can do one of the following: + - Define it as a simple data term like an integer literal, a string literal or a union case like "let x = 1" + - Add an explicit type annotation like "let x : int" + - Use the value as a non-generic type in later code for type inference like "do x" + or if you still want type-dependent results, you can define 'x' as a function instead by doing either: + - Add a unit parameter like "let x()" + - Write explicit type parameters like "let x<'a>". + This error is because a let binding without parameters defines a value, not a function. Values cannot be generic because reading a value is assumed to result in the same everywhere but generic type parameters may invalidate this assumption by enabling type-dependent results.""") + (Error 30, Line 7, Col 5, Line 7, Col 6, """Value restriction: The value 'y' has an inferred generic type + val y: '_a list ref + However, values cannot have generic type variables like '_a in "let x: '_a". You can do one of the following: + - Define it as a simple data term like an integer literal, a string literal or a union case like "let x = 1" + - Add an explicit type annotation like "let x : int" + - Use the value as a non-generic type in later code for type inference like "do x" + or if you still want type-dependent results, you can define 'y' as a function instead by doing either: + - Add a unit parameter like "let x()" + - Write explicit type parameters like "let x<'a>". + This error is because a let binding without parameters defines a value, not a function. Values cannot be generic because reading a value is assumed to result in the same everywhere but generic type parameters may invalidate this assumption by enabling type-dependent results.""") + ] + + [] + let ``E_ParsingRationalExponents_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 620, Line 11, Col 19, Line 11, Col 20, "Unexpected integer literal in unit-of-measure expression") + (Error 10, Line 12, Col 20, Line 12, Col 21, "Unexpected symbol ')' in binding. Expected integer literal or other token.") + (Error 10, Line 13, Col 18, Line 13, Col 19, "Unexpected infix operator in binding. Expected integer literal, '-' or other token.") + ] + + [] + let ``E_RangeOfDecimals01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 1, Line 8, Col 16, Line 8, Col 23, "The type 'decimal' does not match the type 'decimal'") + ] + + [] + let ``E_RangeOfDimensioned03_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 1, Line 7, Col 11, Line 7, Col 18, "The type 'float' does not match the type 'float'") + (Error 1, Line 7, Col 22, Line 7, Col 28, """Type mismatch. Expecting a +'float' +but given a +'float' +The unit of measure 'Kg' does not match the unit of measure 's'""") + (Error 1, Line 9, Col 22, Line 9, Col 28, "The unit of measure 's' does not match the unit of measure 'Kg'") + ] + + [] + let ``E_UnexpectedTypeParameter01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 634, Line 7, Col 15, Line 7, Col 17, "Non-zero constants cannot have generic units. For generic zero, write 0.0<_>.") + (Error 634, Line 8, Col 16, Line 8, Col 18, "Non-zero constants cannot have generic units. For generic zero, write 0.0<_>.") + (Error 634, Line 9, Col 16, Line 9, Col 18, "Non-zero constants cannot have generic units. For generic zero, write 0.0<_>.") + ] + + [] + let ``E_UnsupportedType01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 636, Line 9, Col 9, Line 9, Col 15, "Units-of-measure are only supported on float, float32, decimal, and integer types.") + ] + + [] + let ``E_ZeroDenominator_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 625, Line 8, Col 19, Line 8, Col 20, "Denominator must not be 0 in unit-of-measure exponent") + (Error 625, Line 9, Col 21, Line 9, Col 22, "Denominator must not be 0 in unit-of-measure exponent") + ] + + [] + let ``W_UnitOfMeasureCodeLessGeneric01_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 64, Line 5, Col 30, Line 5, Col 31, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'a has been constrained to be measure '1'.") + ] + + diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType05.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType05.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType05.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType05.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/W_NonGenVarInValueRestrictionWarning.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_NonGenVarInValueRestrictionWarning.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/W_NonGenVarInValueRestrictionWarning.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_NonGenVarInValueRestrictionWarning.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeExpression01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeExpression01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeExpression01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeExpression01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDecimals01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDecimals01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDecimals01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDecimals01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDimensioned03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDimensioned03.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDimensioned03.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_RangeOfDimensioned03.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_UnsupportedType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnsupportedType01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_UnsupportedType01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnsupportedType01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fsx index aa6402c840..486eec8218 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/IntTypes01.fsx @@ -9,4 +9,4 @@ let b = 1 * 1 // int=int32 let c = 1s / 1s // int16 let d = 1y + 1y // int8 -exit 0 +ignore 0 diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fsx similarity index 94% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fsx index c2ba1e3df3..5124be877c 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeExpression01.fsx @@ -10,4 +10,3 @@ type foo let m, n = 1, 10 [m .. 1 .. n] // OK -printfn "Finished" diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fsx similarity index 86% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fsx index 028d13cfb5..940800dbe5 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned01.fsx @@ -7,4 +7,4 @@ let v1 = [1.0 .. 1.0 .. 3.0] |> Seq.sum -(if v1 = 6.0 then 0 else 1) |> exit +(if v1 = 6.0 then 0 else 1) |> ignore diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fsx similarity index 70% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fsx index 60007529f2..a692428ab3 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/RangeOfDimensioned02.fsx @@ -5,8 +5,8 @@ [] type Kg -let v1 = [1.0 .. 2.0 .. 5.0] |> Seq.nth 1 +let v1 = [1.0 .. 2.0 .. 5.0] |> Seq.item 1 -(if v1 = 3.0 then 0 else 1) |> exit +(if v1 = 3.0 then 0 else 1) |> ignore diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/W_UnitOfMeasureCodeLessGeneric01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/W_UnitOfMeasureCodeLessGeneric01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/W_UnitOfMeasureCodeLessGeneric01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/W_UnitOfMeasureCodeLessGeneric01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators.fs new file mode 100644 index 0000000000..34b4f11944 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators.fs @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Operators = + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + let ``Operators - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_decimal_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_decimal_01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_decimal_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_decimal_01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_float32_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_float32_01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_float32_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_float32_01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_float_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_float_01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/Operators_float_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Operators/Operators_float_01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens02.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_IncompleteParens02.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/Parenthesis.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/Parenthesis.fs new file mode 100644 index 0000000000..16df852fb5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/Parenthesis.fs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Parenthesis = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceedWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> ignoreWarnings + |> typecheck + |> shouldSucceed + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + let ``E_Error02_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 620, Line 11, Col 19, Line 11, Col 20, "Unexpected integer literal in unit-of-measure expression") + ] + + [] + let ``E_Error03_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 10, Line 11, Col 31, Line 11, Col 32, "Unexpected symbol ')' in binding") + ] + + [] + let ``E_Error04_fs`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 10, Line 11, Col 34, Line 11, Col 35, "Unexpected symbol '_' in binding") + ] + + [] + let ``E_Error05_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 10, Line 11, Col 28, Line 11, Col 29, "Unexpected symbol ')' in binding") + ] + + [] + let ``E_Error06_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 620, Line 11, Col 20, Line 11, Col 23, "Unexpected integer literal in unit-of-measure expression") + ] + + [] + let ``E_IncompleteParens01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 10, Line 11, Col 1, Line 11, Col 1, "Incomplete structured construct at or before this point in expression. Expected ')' or other token.") + (Error 583, Line 10, Col 26, Line 10, Col 27, "Unmatched '('") + ] + + [] + let ``E_IncompleteParens02_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 3156, Line 11, Col 24, Line 11, Col 25, "Unexpected token '/' or incomplete expression") + (Error 10, Line 11, Col 26, Line 11, Col 27, "Unexpected symbol ')' in binding. Expected incomplete structured construct at or before this point or other token.") + ] + + [] + let ``W_ImplicitProduct01_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 632, Line 11, Col 25, Line 11, Col 32, "Implicit product of measures following /") + ] + + [] + let ``W_Positive01_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 464, Line 24, Col 33, Line 24, Col 39, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + ] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/Positive01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_Positive01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/Positive01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_Positive01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs deleted file mode 100644 index 6dc46f8013..0000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -namespace Conformance.UnitsOfMeasure - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module Parsing = - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Parsing) - [] - let ``Parsing - GreaterBarRBrack01_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Parsing) - [] - let ``Parsing - Reciprocal01_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Parsing) - [] - let ``Parsing - QuotientAssoc_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Parsing) - [] - let ``Parsing - Quotient_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/Parsing) - [] - let ``Parsing - PowerSynonym_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/KnownTypeAsUnit01b.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_KnownTypeAsUnit01b.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/KnownTypeAsUnit01b.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_KnownTypeAsUnit01b.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Parsing.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Parsing.fs new file mode 100644 index 0000000000..6b2b654517 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Parsing.fs @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module Parsing = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceedWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> ignoreWarnings + |> typecheck + |> shouldSucceed + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + [] + [] + let ``Parsing - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + [] + let ``E_KnownTypeAsUnit01b_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 705, Line 14, Col 9, Line 14, Col 14, "Expected unit-of-measure, not type") + (Error 705, Line 17, Col 17, Line 17, Col 20, "Expected unit-of-measure, not type") + (Error 705, Line 20, Col 24, Line 20, Col 27, "Expected unit-of-measure, not type") + (Error 705, Line 23, Col 37, Line 23, Col 42, "Expected unit-of-measure, not type") + (Error 705, Line 26, Col 38, Line 26, Col 41, "Expected unit-of-measure, not type") + ] + + [] + let ``E_Nesting01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 714, Line 12, Col 19, Line 12, Col 20, "Anonymous unit-of-measure cannot be nested inside another unit-of-measure expression") + (Error 707, Line 17, Col 17, Line 17, Col 21, "Unit-of-measure cannot be used in type constructor application") + ] + + [] + let ``W_find_gtdef_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 64, Line 16, Col 21, Line 16, Col 22, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'u has been constrained to be measure 'Continuous'.") + ] diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/Quotient.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Quotient.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/Quotient.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Quotient.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/find_gtdef.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/W_find_gtdef.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/find_gtdef.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/W_find_gtdef.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs deleted file mode 100644 index 34d3de2094..0000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -namespace Conformance.UnitsOfMeasure - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module TypeChecker = - - // This test was automatically generated (moved from FSharpQA suite - Conformance/UnitsOfMeasure/TypeChecker) - [] - let ``TypeChecker - GenericSubType01_fs`` compilation = - compilation - |> asFsx - |> typecheck - |> shouldSucceed - |> ignore - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/E_GenInterfaceWithDifferentGenInstantiations.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/E_GenInterfaceWithDifferentGenInstantiations.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/E_GenInterfaceWithDifferentGenInstantiations.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/E_GenInterfaceWithDifferentGenInstantiations.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/typechecker01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/E_typechecker01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/typechecker01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/E_typechecker01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fsx similarity index 94% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fsx index c46cefad1f..53494495f2 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Generalization01.fsx @@ -14,4 +14,4 @@ type T = static member star ( y:'b when 'b :> M<'a>) = 0 let p = 1 let m = Unchecked.defaultof> -T.star(m) |> exit +T.star(m) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/TypeChecker/GenericSubType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/GenericSubType01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/TypeChecker/GenericSubType01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/GenericSubType01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Slash_InFunction01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Slash_InFunction01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Slash_InFunction01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Slash_InFunction01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Slash_InMethod01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Slash_InMethod01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/Slash_InMethod01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/Slash_InMethod01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx similarity index 87% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx index bcb68704da..b6231bdc93 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx @@ -10,4 +10,4 @@ module WithDecimal = let a = 100.0M let a_na = a * 2.0M // Bug #3427 let b : Ab = 100.0M - (if (b*2.0M = 200.0M) then 0 else 1) |> exit + (if (b*2.0M = 200.0M) then 0 else 1) |> ignore diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx similarity index 86% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx index 3a4b5c44f1..cf52976f43 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx @@ -10,5 +10,5 @@ module WithFloat32 = let a = 100.0f let a_na = a * 2.0f let b : Ab = 100.0f - (if (b*2.0f = 200.0f) then 0 else 1) |> exit + (if (b*2.0f = 200.0f) then 0 else 1) |> ignore diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx similarity index 87% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx index 015e097a97..5075586b4d 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx @@ -12,5 +12,5 @@ module WithFloat = let a_na = a * 2.0 let b : Ab = 100.0 - (if (b*2.0 = 200.0) then 0 else 1) |> exit + (if (b*2.0 = 200.0) then 0 else 1) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeChecker.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeChecker.fs new file mode 100644 index 0000000000..7b511e22b4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeChecker.fs @@ -0,0 +1,117 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module TypeChecker = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceedWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> ignoreWarnings + |> typecheck + |> shouldSucceed + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + [] + [] + [] + [] + [] + [] + let ``TypeChecker - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + + [] + let ``E_GenInterfaceWithDifferentGenInstantiations_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 3360, Line 13, Col 6, Line 13, Col 8, "'IB<'b>' cannot implement the interface 'IA<_>' with the two instantiations 'IA' and 'IA<'b>' because they may unify.") + ] + + [] + let ``E_typechecker01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 687, Line 8, Col 1, Line 8, Col 2, "This value, type or method expects 2 type parameter(s) but was given 1") + ] + + [] + let ``W_LessGeneric01_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 64, Line 18, Col 17, Line 18, Col 19, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'u has been constrained to be measure '1'.") + ] + + [] + let ``W_LessGeneric02_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 464, Line 9, Col 18, Line 9, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 10, Col 18, Line 10, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 11, Col 18, Line 11, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 12, Col 18, Line 12, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 13, Col 18, Line 13, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 14, Col 18, Line 14, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 15, Col 18, Line 15, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 16, Col 18, Line 16, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 17, Col 18, Line 17, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 18, Col 18, Line 18, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 19, Col 18, Line 19, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 20, Col 18, Line 20, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 21, Col 18, Line 21, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 22, Col 18, Line 22, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 23, Col 18, Line 23, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 24, Col 18, Line 24, Col 25, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + (Warning 464, Line 25, Col 21, Line 25, Col 28, "This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'.") + ] + + [] + let ``W_TypeConstraint01_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ + (Warning 64, Line 11, Col 7, Line 11, Col 14, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'u has been constrained to be measure 'kg'.") + (Warning 64, Line 11, Col 19, Line 11, Col 26, "This construct causes code to be less generic than indicated by the type annotations. The unit-of-measure variable 'v has been constrained to be measure 'kg'.") + ] + + [] + let ``W_TypeConstraint03_fsx`` compilation = + compilation + |> getCompilation + |> shouldSucceedWithDiagnostics [ +#if NETFRAMEWORK + (Warning 52, Line 10, Col 7, Line 10, Col 21, "The value has been copied to ensure the original is not mutated by this operation or because the copy is implicit when returning a struct from a member and another member is then accessed") +#endif + ] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/ValueRestriction01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/ValueRestriction01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/ValueRestriction01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/ValueRestriction01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric01.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/LessGeneric02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx similarity index 99% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/LessGeneric02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx index 51b928922a..55fe6960ad 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/LessGeneric02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx @@ -26,4 +26,4 @@ let sq = } |> Seq.sum -exit 0 +ignore 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint01.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint01.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint03.fsx similarity index 88% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint03.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint03.fsx index 4fe15a1481..686f194055 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_TypeConstraint03.fsx @@ -8,5 +8,5 @@ type x = System.Nullable> let x_obj = Unchecked.defaultof match x_obj.HasValue with -| false -> exit 0 -| _ -> exit 1 \ No newline at end of file +| false -> ignore 0 +| _ -> ignore 1 \ No newline at end of file diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fsx similarity index 76% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fsx index 369697935e..0f27193b5a 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_GenericUOM01.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #UnitsOfMeasure #ObjectOrientedTypes // Verify error when putting invalid attributes on type arguments // (We should only allow [].) -//This attribute is not valid for use on this language element +//This attribute is not valid for use on this language element open System diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx index aa1a38aefd..9149a41087 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx @@ -10,4 +10,4 @@ type kg = static member Foo() = 1 let objKg = 1.0f -exit 1 +ignore 1 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fsx index 4ff94cf868..8a3a857491 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoInstanceOnMeasure01.fsx @@ -8,4 +8,4 @@ type kg = member this.Foo() = 5 -exit 1 +ignore 1 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_OverloadsDifferByUOMAttr.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_OverloadsDifferByUOMAttr.fsx similarity index 100% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_OverloadsDifferByUOMAttr.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_OverloadsDifferByUOMAttr.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx similarity index 94% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx index 961af529c0..f33870b14f 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_Polymorphism01.fsx @@ -14,8 +14,5 @@ type Meter() = type Value< [] 'a > = float<'a> * Unit<'a> -#if INTERACTIVE -;; -exit 1;; -#endif +ignore 1 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx similarity index 95% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx index 3fd973024c..30fe2cd9c9 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx @@ -23,6 +23,6 @@ let y = x.Foo 1.0 if y <> 5.0 then - exit 1 + ignore 1 -exit 0 +ignore 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx similarity index 96% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx index ec5f428200..42b23b9e27 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx @@ -31,6 +31,6 @@ let testResult = | _ -> true if testResult = false then - exit 1 + ignore 1 -exit 0 +ignore 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx similarity index 97% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx index ad94a9d4e1..8161b0560f 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx @@ -13,4 +13,4 @@ type Unit<[] 'a >() = let objUnit = new Unit() if objUnit.Factor() <> 1.0 then exit 1 -exit 0 +ignore 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx similarity index 96% rename from tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fs rename to tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx index ead91c1ad1..58047848f9 100644 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx @@ -11,4 +11,4 @@ type kg = if kg.Prop <> 5 then exit 1 if kg.Func 3 <> 4 then exit 1 -exit 0 +ignore 0 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/WithOOP.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/WithOOP.fs new file mode 100644 index 0000000000..b915fe6234 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/WithOOP.fs @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace Conformance.UnitsOfMeasure + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module WithOOP = + let shouldFailWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldFail + |> withDiagnostics expectedDiagnostics + + let shouldSucceedWithDiagnostics expectedDiagnostics compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> ignoreWarnings + |> typecheck + |> shouldSucceed + |> withDiagnostics expectedDiagnostics + + let shouldSucceed compilation = + compilation + |> asLibrary + |> withOptions ["--test:ErrorRanges"] + |> typecheck + |> shouldSucceed + + [] + [] + [] + [] + [] + let ``TypeChecker - shouldSucceed`` compilation = + compilation + |> getCompilation + |> shouldSucceed + + [] + let ``E_GenericUOM01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Warning 842, Line 8, Col 36, Line 8, Col 51, "This attribute is not valid for use on this language element") + ] + + [] + let ``E_NoConstructorOnMeasure01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 904, Line 8, Col 5, Line 8, Col 18, "Measure declarations may have only static members: constructors are not available") + ] + + [] + let ``E_NoInstanceOnMeasure01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 897, Line 9, Col 5, Line 9, Col 26, "Measure declarations may have only static members") + ] + + + [] + let ``E_OverloadsDifferByUOMAttr_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 438, Line 10, Col 5, Line 10, Col 8, "Duplicate method. The method '.ctor' has the same name and signature as another method in type 'Foo<'a>' once tuples, functions, units of measure and/or provided types are erased.") + (Error 438, Line 9, Col 5, Line 9, Col 8, "Duplicate method. The method '.ctor' has the same name and signature as another method in type 'Foo<'a>' once tuples, functions, units of measure and/or provided types are erased.") + ] + + [] + let ``E_Polymorphism01_fsx`` compilation = + compilation + |> getCompilation + |> shouldFailWithDiagnostics [ + (Error 366, Line 12, Col 13, Line 12, Col 25, "No implementation was given for 'abstract Unit.Factor: unit -> float'. Note that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'.") + ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.net472.bsl index fbb185005e..63458b7050 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.net472.bsl @@ -662,8 +662,9 @@ class MyTestModule/MyDu/JustInt V_2, int32 V_3, int32 V_4, - class MyTestModule/MyDu/MaybeString V_5, - string V_6) + int32 V_5, + class MyTestModule/MyDu/MaybeString V_6, + string V_7) IL_0000: ldarg.0 IL_0001: stloc.0 IL_0002: ldloc.0 @@ -677,7 +678,7 @@ IL_000f: ldloc.1 IL_0010: isinst MyTestModule/MyDu/MaybeString - IL_0015: brtrue.s IL_0048 + IL_0015: brtrue.s IL_0040 IL_0017: br.s IL_001b @@ -696,23 +697,22 @@ IL_002b: ldloc.3 IL_002c: stloc.s V_4 IL_002e: ldloc.s V_4 - IL_0030: box [runtime]System.Int32 - IL_0035: unbox.any [runtime]System.IFormattable - IL_003a: ldnull - IL_003b: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() - IL_0040: tail. - IL_0042: callvirt instance string [netstandard]System.IFormattable::ToString(string, - class [netstandard]System.IFormatProvider) - IL_0047: ret - - IL_0048: ldloc.0 - IL_0049: castclass MyTestModule/MyDu/MaybeString - IL_004e: stloc.s V_5 - IL_0050: ldloc.s V_5 - IL_0052: ldfld string MyTestModule/MyDu/MaybeString::_nullableString - IL_0057: stloc.s V_6 - IL_0059: ldloc.s V_6 - IL_005b: ret + IL_0030: stloc.s V_5 + IL_0032: ldloca.s V_5 + IL_0034: ldnull + IL_0035: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_003a: call instance string [netstandard]System.Int32::ToString(string, + class [netstandard]System.IFormatProvider) + IL_003f: ret + + IL_0040: ldloc.0 + IL_0041: castclass MyTestModule/MyDu/MaybeString + IL_0046: stloc.s V_6 + IL_0048: ldloc.s V_6 + IL_004a: ldfld string MyTestModule/MyDu/MaybeString::_nullableString + IL_004f: stloc.s V_7 + IL_0051: ldloc.s V_7 + IL_0053: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.netcore.bsl index 44ee6d4e2c..423360aff6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/ReferenceDU.fs.il.netcore.bsl @@ -662,8 +662,9 @@ class MyTestModule/MyDu/JustInt V_2, int32 V_3, int32 V_4, - class MyTestModule/MyDu/MaybeString V_5, - string V_6) + int32 V_5, + class MyTestModule/MyDu/MaybeString V_6, + string V_7) IL_0000: ldarg.0 IL_0001: stloc.0 IL_0002: ldloc.0 @@ -677,7 +678,7 @@ IL_000f: ldloc.1 IL_0010: isinst MyTestModule/MyDu/MaybeString - IL_0015: brtrue.s IL_0048 + IL_0015: brtrue.s IL_0040 IL_0017: br.s IL_001b @@ -696,23 +697,22 @@ IL_002b: ldloc.3 IL_002c: stloc.s V_4 IL_002e: ldloc.s V_4 - IL_0030: box [runtime]System.Int32 - IL_0035: unbox.any [runtime]System.IFormattable - IL_003a: ldnull - IL_003b: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() - IL_0040: tail. - IL_0042: callvirt instance string [netstandard]System.IFormattable::ToString(string, - class [netstandard]System.IFormatProvider) - IL_0047: ret - - IL_0048: ldloc.0 - IL_0049: castclass MyTestModule/MyDu/MaybeString - IL_004e: stloc.s V_5 - IL_0050: ldloc.s V_5 - IL_0052: ldfld string MyTestModule/MyDu/MaybeString::_nullableString - IL_0057: stloc.s V_6 - IL_0059: ldloc.s V_6 - IL_005b: ret + IL_0030: stloc.s V_5 + IL_0032: ldloca.s V_5 + IL_0034: ldnull + IL_0035: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_003a: call instance string [netstandard]System.Int32::ToString(string, + class [netstandard]System.IFormatProvider) + IL_003f: ret + + IL_0040: ldloc.0 + IL_0041: castclass MyTestModule/MyDu/MaybeString + IL_0046: stloc.s V_6 + IL_0048: ldloc.s V_6 + IL_004a: ldfld string MyTestModule/MyDu/MaybeString::_nullableString + IL_004f: stloc.s V_7 + IL_0051: ldloc.s V_7 + IL_0053: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/StaticOptimizations.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/StaticOptimizations.fs new file mode 100644 index 0000000000..d1099c27c2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/StaticOptimizations.fs @@ -0,0 +1,26 @@ +namespace EmittedIL + +open FSharp.Test +open FSharp.Test.Compiler +open Xunit + +module StaticOptimizations = + let verifyCompilation compilation = + compilation + |> asExe + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyILBaseline + + [] + let String_Enum_fs compilation = + compilation + |> getCompilation + |> verifyCompilation + + [] + let String_SignedIntegralTypes_fs compilation = + compilation + |> getCompilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs new file mode 100644 index 0000000000..ca952d7113 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs @@ -0,0 +1,32 @@ +open System + +module String = + type CharEnum = Char = 'a' + type SByteEnum = SByte = 1y + type Int16Enum = Int16 = 1s + type Int32Enum = Int32 = 1 + type Int64Enum = Int64 = 1L + + type ByteEnum = Byte = 1uy + type UInt16Enum = UInt16 = 1us + type UInt32Enum = UInt32 = 1u + type UInt64Enum = UInt64 = 1UL + + let ``string`` (enum : CharEnum) = string enum + let ``string`` (enum : SByteEnum) = string enum + let ``string`` (enum : Int16Enum) = string enum + let ``string`` (enum : Int32Enum) = string enum + let ``string`` (enum : Int64Enum) = string enum + + let ``string`` (enum : ByteEnum) = string enum + let ``string`` (enum : UInt16Enum) = string enum + let ``string`` (enum : UInt32Enum) = string enum + let ``string`` (enum : UInt64Enum) = string enum + + let ``string<#Enum>`` (enum : #Enum) = string enum + let ``string<'T :> Enum>`` (enum : 'T :> Enum) = string enum + + let ``string<'T when 'T : enum<'U>>`` (enum : 'T when 'T : enum<'U>) = string enum + let ``string<'T when 'T : enum>`` (enum : 'T when 'T : enum) = string enum + + let ``string Unchecked.defaultof`` () = string Unchecked.defaultof diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs.il.bsl new file mode 100644 index 0000000000..740505ce6a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_Enum.fs.il.bsl @@ -0,0 +1,543 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public String + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested public CharEnum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname char value__ + .field public static literal valuetype assembly/String/CharEnum Char = char(0x0061) + } + + .class auto ansi serializable sealed nested public SByteEnum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname int8 value__ + .field public static literal valuetype assembly/String/SByteEnum SByte = int8(0x01) + } + + .class auto ansi serializable sealed nested public Int16Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname int16 value__ + .field public static literal valuetype assembly/String/Int16Enum Int16 = int16(0x0001) + } + + .class auto ansi serializable sealed nested public Int32Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype assembly/String/Int32Enum Int32 = int32(0x00000001) + } + + .class auto ansi serializable sealed nested public Int64Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname int64 value__ + .field public static literal valuetype assembly/String/Int64Enum Int64 = int64(0x1) + } + + .class auto ansi serializable sealed nested public ByteEnum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname uint8 value__ + .field public static literal valuetype assembly/String/ByteEnum Byte = uint8(0x01) + } + + .class auto ansi serializable sealed nested public UInt16Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname uint16 value__ + .field public static literal valuetype assembly/String/UInt16Enum UInt16 = uint16(0x0001) + } + + .class auto ansi serializable sealed nested public UInt32Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname uint32 value__ + .field public static literal valuetype assembly/String/UInt32Enum UInt32 = uint32(0x00000001) + } + + .class auto ansi serializable sealed nested public UInt64Enum + extends [runtime]System.Enum + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public specialname rtspecialname uint64 value__ + .field public static literal valuetype assembly/String/UInt64Enum UInt64 = uint64(0x1) + } + + .method public static string 'string'(valuetype assembly/String/CharEnum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/CharEnum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/CharEnum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/SByteEnum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/SByteEnum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/SByteEnum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/Int16Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/Int16Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/Int16Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/Int32Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/Int32Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/Int32Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/Int64Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/Int64Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/Int64Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/ByteEnum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/ByteEnum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/ByteEnum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/UInt16Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/UInt16Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/UInt16Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/UInt32Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/UInt32Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/UInt32Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string'(valuetype assembly/String/UInt64Enum 'enum') cil managed + { + + .maxstack 3 + .locals init (valuetype assembly/String/UInt64Enum V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloca.s V_0 + IL_0004: constrained. assembly/String/UInt64Enum + IL_000a: callvirt instance string [netstandard]System.Object::ToString() + IL_000f: ret + } + + .method public static string 'string<#Enum>'<([runtime]System.Enum) a>(!!a 'enum') cil managed + { + + .maxstack 5 + .locals init (object V_0, + class [runtime]System.IFormattable V_1, + string V_2, + !!a V_3) + IL_0000: ldarg.0 + IL_0001: box !!a + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: isinst [runtime]System.IFormattable + IL_000d: brtrue.s IL_0014 + + IL_000f: ldloc.0 + IL_0010: brfalse.s IL_0033 + + IL_0012: br.s IL_0039 + + IL_0014: ldloc.0 + IL_0015: unbox.any [runtime]System.IFormattable + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldnull + IL_001d: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0022: callvirt instance string [netstandard]System.IFormattable::ToString(string, + class [netstandard]System.IFormatProvider) + IL_0027: stloc.2 + IL_0028: ldloc.2 + IL_0029: brtrue.s IL_0031 + + IL_002b: ldstr "" + IL_0030: ret + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldstr "" + IL_0038: ret + + IL_0039: ldarg.0 + IL_003a: stloc.3 + IL_003b: ldloca.s V_3 + IL_003d: constrained. !!a + IL_0043: callvirt instance string [netstandard]System.Object::ToString() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0052 + + IL_004c: ldstr "" + IL_0051: ret + + IL_0052: ldloc.2 + IL_0053: ret + } + + .method public static string 'string<\'T :> Enum>'<([runtime]System.Enum) T>(!!T 'enum') cil managed + { + + .maxstack 5 + .locals init (object V_0, + class [runtime]System.IFormattable V_1, + string V_2, + !!T V_3) + IL_0000: ldarg.0 + IL_0001: box !!T + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: isinst [runtime]System.IFormattable + IL_000d: brtrue.s IL_0014 + + IL_000f: ldloc.0 + IL_0010: brfalse.s IL_0033 + + IL_0012: br.s IL_0039 + + IL_0014: ldloc.0 + IL_0015: unbox.any [runtime]System.IFormattable + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldnull + IL_001d: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0022: callvirt instance string [netstandard]System.IFormattable::ToString(string, + class [netstandard]System.IFormatProvider) + IL_0027: stloc.2 + IL_0028: ldloc.2 + IL_0029: brtrue.s IL_0031 + + IL_002b: ldstr "" + IL_0030: ret + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldstr "" + IL_0038: ret + + IL_0039: ldarg.0 + IL_003a: stloc.3 + IL_003b: ldloca.s V_3 + IL_003d: constrained. !!T + IL_0043: callvirt instance string [netstandard]System.Object::ToString() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0052 + + IL_004c: ldstr "" + IL_0051: ret + + IL_0052: ldloc.2 + IL_0053: ret + } + + .method public static string 'string<\'T when \'T : enum<\'U>>'(!!T 'enum') cil managed + { + + .maxstack 5 + .locals init (object V_0, + class [runtime]System.IFormattable V_1, + string V_2, + !!T V_3) + IL_0000: ldarg.0 + IL_0001: box !!T + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: isinst [runtime]System.IFormattable + IL_000d: brtrue.s IL_0014 + + IL_000f: ldloc.0 + IL_0010: brfalse.s IL_0033 + + IL_0012: br.s IL_0039 + + IL_0014: ldloc.0 + IL_0015: unbox.any [runtime]System.IFormattable + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldnull + IL_001d: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0022: callvirt instance string [netstandard]System.IFormattable::ToString(string, + class [netstandard]System.IFormatProvider) + IL_0027: stloc.2 + IL_0028: ldloc.2 + IL_0029: brtrue.s IL_0031 + + IL_002b: ldstr "" + IL_0030: ret + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldstr "" + IL_0038: ret + + IL_0039: ldarg.0 + IL_003a: stloc.3 + IL_003b: ldloca.s V_3 + IL_003d: constrained. !!T + IL_0043: callvirt instance string [netstandard]System.Object::ToString() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0052 + + IL_004c: ldstr "" + IL_0051: ret + + IL_0052: ldloc.2 + IL_0053: ret + } + + .method public static string 'string<\'T when \'T : enum>'(!!T 'enum') cil managed + { + + .maxstack 5 + .locals init (object V_0, + class [runtime]System.IFormattable V_1, + string V_2, + !!T V_3) + IL_0000: ldarg.0 + IL_0001: box !!T + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: isinst [runtime]System.IFormattable + IL_000d: brtrue.s IL_0014 + + IL_000f: ldloc.0 + IL_0010: brfalse.s IL_0033 + + IL_0012: br.s IL_0039 + + IL_0014: ldloc.0 + IL_0015: unbox.any [runtime]System.IFormattable + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldnull + IL_001d: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0022: callvirt instance string [netstandard]System.IFormattable::ToString(string, + class [netstandard]System.IFormatProvider) + IL_0027: stloc.2 + IL_0028: ldloc.2 + IL_0029: brtrue.s IL_0031 + + IL_002b: ldstr "" + IL_0030: ret + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldstr "" + IL_0038: ret + + IL_0039: ldarg.0 + IL_003a: stloc.3 + IL_003b: ldloca.s V_3 + IL_003d: constrained. !!T + IL_0043: callvirt instance string [netstandard]System.Object::ToString() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0052 + + IL_004c: ldstr "" + IL_0051: ret + + IL_0052: ldloc.2 + IL_0053: ret + } + + .method public static string 'string Unchecked.defaultof'() cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Enum V_0, + object V_1, + class [runtime]System.IFormattable V_2, + string V_3, + class [runtime]System.Enum V_4) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: box [runtime]System.Enum + IL_0008: stloc.1 + IL_0009: ldloc.1 + IL_000a: isinst [runtime]System.IFormattable + IL_000f: brtrue.s IL_0016 + + IL_0011: ldloc.1 + IL_0012: brfalse.s IL_0035 + + IL_0014: br.s IL_003b + + IL_0016: ldloc.1 + IL_0017: unbox.any [runtime]System.IFormattable + IL_001c: stloc.2 + IL_001d: ldloc.2 + IL_001e: ldnull + IL_001f: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0024: callvirt instance string [netstandard]System.IFormattable::ToString(string, + class [netstandard]System.IFormatProvider) + IL_0029: stloc.3 + IL_002a: ldloc.3 + IL_002b: brtrue.s IL_0033 + + IL_002d: ldstr "" + IL_0032: ret + + IL_0033: ldloc.3 + IL_0034: ret + + IL_0035: ldstr "" + IL_003a: ret + + IL_003b: ldloc.0 + IL_003c: stloc.s V_4 + IL_003e: ldloca.s V_4 + IL_0040: constrained. [runtime]System.Enum + IL_0046: callvirt instance string [netstandard]System.Object::ToString() + IL_004b: stloc.3 + IL_004c: ldloc.3 + IL_004d: brtrue.s IL_0055 + + IL_004f: ldstr "" + IL_0054: ret + + IL_0055: ldloc.3 + IL_0056: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs new file mode 100644 index 0000000000..984bc4a99f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs @@ -0,0 +1,7 @@ +open System + +module String = + let ``string sbyte`` (value : sbyte) = string value + let ``string int16`` (value : int16) = string value + let ``string int32`` (value : int32) = string value + let ``string int64`` (value : int64) = string value diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs.il.bsl new file mode 100644 index 0000000000..c1470054a4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticOptimizations/String_SignedIntegralTypes.fs.il.bsl @@ -0,0 +1,114 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public String + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static string 'string sbyte'(int8 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarga.s 'value' + IL_0002: ldnull + IL_0003: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0008: call instance string [netstandard]System.SByte::ToString(string, + class [netstandard]System.IFormatProvider) + IL_000d: ret + } + + .method public static string 'string int16'(int16 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarga.s 'value' + IL_0002: ldnull + IL_0003: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0008: call instance string [netstandard]System.Int16::ToString(string, + class [netstandard]System.IFormatProvider) + IL_000d: ret + } + + .method public static string 'string int32'(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarga.s 'value' + IL_0002: ldnull + IL_0003: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0008: call instance string [netstandard]System.Int32::ToString(string, + class [netstandard]System.IFormatProvider) + IL_000d: ret + } + + .method public static string 'string int64'(int64 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarga.s 'value' + IL_0002: ldnull + IL_0003: call class [netstandard]System.Globalization.CultureInfo [netstandard]System.Globalization.CultureInfo::get_InvariantCulture() + IL_0008: call instance string [netstandard]System.Int64::ToString(string, + class [netstandard]System.IFormatProvider) + IL_000d: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TailCallAttribute.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TailCallAttribute.fs index 1b68505ab1..81ce04fc05 100644 --- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TailCallAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TailCallAttribute.fs @@ -245,7 +245,7 @@ namespace N [] let ``Warn successfully for invalid tailcalls in type methods`` () = - """ + FSharp """ namespace N module M = @@ -261,29 +261,12 @@ namespace N printfn "M2 called" this.M1() + 2 // should warn """ - |> FSharp |> withLangVersion80 |> compile |> shouldFail - |> withResults [ - { Error = Warning 3569 - Range = { StartLine = 10 - StartColumn = 17 - EndLine = 10 - EndColumn = 26 } - Message = - "The member or function 'M2' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way." } - { Error = Warning 3569 - Range = { StartLine = 15 - StartColumn = 17 - EndLine = 15 - EndColumn = 26 } - Message = -#if Debug - "The member or function 'M2' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way." } -#else - "The member or function 'M1' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way." } -#endif + |> withDiagnostics [ + (Warning 3569, Line 10, Col 17, Line 10, Col 26, "The member or function 'M2' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way."); + (Warning 3569, Line 15, Col 17, Line 15, Col 26, "The member or function 'M1' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way.") ] [] @@ -1481,7 +1464,10 @@ namespace N |> withLangVersionPreview |> compile |> shouldFail - |> withSingleDiagnostic (Error 842, Line 6, Col 11, Line 6, Col 19, "This attribute is not valid for use on this language element") + |> withDiagnostics [ + (Warning 842, Line 6, Col 11, Line 6, Col 19, "This attribute is not valid for use on this language element") + (Warning 3861, Line 7, Col 13, Line 7, Col 18, "The TailCall attribute should only be applied to recursive functions.") + ] [] let ``Error about attribute on recursive let-bound value`` () = @@ -1497,7 +1483,7 @@ namespace N |> withLangVersionPreview |> compile |> shouldFail - |> withSingleDiagnostic (Error 842, Line 6, Col 11, Line 6, Col 19, "This attribute is not valid for use on this language element") + |> withSingleDiagnostic (Warning 842, Line 6, Col 11, Line 6, Col 19, "This attribute is not valid for use on this language element") [] let ``Warn about self-defined attribute`` () = // is the analysis available for users of older FSharp.Core versions diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 49b459e279..952624f9fc 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -30,6 +30,7 @@ XunitSetup.fs + @@ -75,6 +76,7 @@ + @@ -128,10 +130,15 @@ - - - - + + + + + + + + + @@ -178,6 +185,7 @@ + @@ -300,6 +308,7 @@ + @@ -337,6 +346,7 @@ + diff --git a/tests/FSharp.Compiler.ComponentTests/FSharpChecker/FindReferences.fs b/tests/FSharp.Compiler.ComponentTests/FSharpChecker/FindReferences.fs index 727fac9b05..fd98658e88 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharpChecker/FindReferences.fs +++ b/tests/FSharp.Compiler.ComponentTests/FSharpChecker/FindReferences.fs @@ -265,6 +265,33 @@ val myFunc2: param: int -> int ]) } +module Exceptions = + let project() = SyntheticProject.Create( + { sourceFile "First" [] with ExtraSource = "exception MyException of string" }, + { sourceFile "Second" [] with ExtraSource = """ +open ModuleFirst +let foo x = raise (MyException "foo")""" }) + + [] + let ``We find exception from definition`` () = + project().Workflow { + placeCursor "First" 6 21 "exception MyException of string" ["MyException"] + findAllReferences (expectToFind [ + "FileFirst.fs", 6, 10, 21 + "FileSecond.fs", 8, 19, 30 + ]) + } + + [] + let ``We find exception from usage`` () = + project().Workflow { + placeCursor "Second" 8 30 "raise (MyException \"foo\")" ["MyException"] + findAllReferences (expectToFind [ + "FileFirst.fs", 6, 10, 21 + "FileSecond.fs", 8, 19, 30 + ]) + } + module Attributes = let project() = SyntheticProject.Create( diff --git a/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs index 6b0a260a42..da918ffc00 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. namespace Language @@ -23,6 +23,142 @@ let x = lb {1; 2;} |> shouldSucceed |> ignore + [] + let ``Version 9.0: Allow CE return and type annotations don't play well together needing parentheses``() = + FSharp """ +module ComputationExpressionTests +open System + +type MyType() = + interface IDisposable with + member this.Dispose () = () + +let f () = + async { + return new MyType() : IDisposable + } + +let f1 () = + async { + return new MyType() :> IDisposable + } + +let f2 () : Async = + async { + return new MyType() + } + +let f3 () = + async { + return (new MyType() : IDisposable) + } + """ + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 11, Col 16, Line 11, Col 42, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Version 9.0: Allow CE return! and type annotations don't to play well together needing parentheses``() = + FSharp """ +module ComputationExpressionTests + +type ResultBuilder() = + member _.Return(x) = Ok x + member _.ReturnFrom(x) = x + member _.Bind(m, f) = + match m with + | Ok a -> f a + | Error e -> Error e + +let result = ResultBuilder() + +let f() = + result { + return! Ok 1 : Result + } + +let f1() = + result { + return! (Ok 1 : Result) + } + """ + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 16, Col 17, Line 16, Col 43, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Allow CE return and type annotations to play well together without needing parentheses``() = + FSharp """ +module ComputationExpressionTests +open System + +type MyType() = + interface IDisposable with + member this.Dispose () = () + +let f () = + async { + return new MyType() : IDisposable + } + +let f1 () = + async { + return new MyType() :> IDisposable + } + +let f2 () : Async = + async { + return new MyType() + } + +let f3 () = + async { + return (new MyType() : IDisposable) + } + """ + |> withLangVersionPreview + |> asExe + |> ignoreWarnings + |> compileAndRun + |> shouldSucceed + + [] + let ``Preview: Allow CE return! and type annotations to play well together without needing parentheses``() = + FSharp """ +module ComputationExpressionTests + +type ResultBuilder() = + member _.Return(x) = Ok x + member _.ReturnFrom(x) = x + member _.Bind(m, f) = + match m with + | Ok a -> f a + | Error e -> Error e + +let result = ResultBuilder() + +let f() = + result { + return! Ok 1 : Result + } + +let f1() = + result { + return! (Ok 1 : Result) + } + """ + |> withLangVersionPreview + |> asExe + |> ignoreWarnings + |> compileAndRun + |> shouldSucceed + [] let ``A CE explicitly using Zero fails without a defined Zero``() = FSharp """ diff --git a/tests/FSharp.Compiler.ComponentTests/Language/DotLambdaTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/DotLambdaTests.fs index ab135a31be..c8a34da06d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/DotLambdaTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/DotLambdaTests.fs @@ -105,6 +105,17 @@ let myFunction (x:MyRecord) = x |> _.DoStuff 1 2 3""" Error 72, Line 4, Col 36, Line 4, Col 45, "Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved." ] +[] +let ``Underscore Dot Lambda - Missing qualification after dot`` () = + Fsx """ +"" |> _.Length. """ + |> withLangVersion80 + |> typecheck + |> shouldFail + |> withDiagnostics [ + Error 599, Line 2, Col 15, Line 2, Col 16, "Missing qualification after '.'" + ] + [] let ``Underscore Dot Length on string`` () = Fsx """ diff --git a/tests/FSharp.Compiler.ComponentTests/Language/SequenceExpressions/SequenceExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/SequenceExpressions/SequenceExpressionTests.fs index d64262e856..8490b41a75 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/SequenceExpressions/SequenceExpressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/SequenceExpressions/SequenceExpressionTests.fs @@ -644,4 +644,94 @@ let c = [ { 1;10 } ] |> withOptions [ "--nowarn:0020" ] |> withLangVersionPreview |> typecheck + |> shouldSucceed + + [] + let ``Version 9.0: Allow SE yield and type annotations don't play well together needing parentheses``() = + FSharp """ +module SequenceExpressionTests +open System + +let f() = + seq { + yield 1 : int + } + +let f1() = + seq { + yield (1 : int) + } + """ + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 7, Col 15, Line 7, Col 22, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Allow SE yield and type annotations to play well together without needing parentheses``() = + FSharp """ +module SequenceExpressionTests +open System + +let f() = + seq { + yield 1 : int + } + +let f1() = + seq { + yield (1 : int) + } + """ + |> withLangVersionPreview + |> asExe + |> ignoreWarnings + |> compileAndRun + |> shouldSucceed + + [] + let ``Version 9.0: Allow SE yield! and type annotations don't play well together needing parentheses``() = + FSharp """ +module SequenceExpressionTests +open System + +let f() = + seq { + yield! [1;2] : int list + } + +let f1() = + seq { + yield! ([1;2] : int list) + } + """ + |> withLangVersion90 + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Error 3350, Line 7, Col 16, Line 7, Col 32, "Feature 'Allow let! and use! type annotations without requiring parentheses' is not available in F# 9.0. Please use language version 'PREVIEW' or greater.") + ] + + [] + let ``Preview: Allow SE yield! and type annotations to play well together without needing parentheses``() = + FSharp """ +module SequenceExpressionTests +open System + +let f() = + seq { + yield! [1;2] : int list + } + +let f1() = + seq { + yield! ([1;2] : int list) + } + """ + |> withLangVersionPreview + |> asExe + |> ignoreWarnings + |> compileAndRun |> shouldSucceed \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs index 8ab6a4ac58..ecba3a3fa8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs @@ -14,11 +14,18 @@ open FSharp.Test.ScriptHelpers module Configuration = let supportedNames = set ["testlib.fsi";"testlib.fs";"test.mli";"test.ml";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] +[] +type ScriptSessionIsolation = Shared | Isolated + module ScriptRunner = open Internal.Utilities.Library - let private createEngine(args,version) = - getSessionForEval args version + let private getOrCreateEngine(args,version) sessionIsolation = + match sessionIsolation with + | ScriptSessionIsolation.Isolated -> + new FSharpScript(args, true, version) + | ScriptSessionIsolation.Shared -> + getSessionForEval args version let defaultDefines = [ @@ -27,12 +34,12 @@ module ScriptRunner = #endif ] - let runScriptFile version (cu:CompilationUnit) = + let runScriptFile version sessionIsolation (cu:CompilationUnit) = let cu = cu |> withDefines defaultDefines match cu with | FS fsSource -> use capture = new TestConsole.ExecutionCapture() - let engine = createEngine (fsSource.Options |> Array.ofList,version) + let engine = getOrCreateEngine (fsSource.Options |> Array.ofList,version) sessionIsolation let res = evalScriptFromDiskInSharedSession engine cu match res with | CompilationResult.Failure _ -> res @@ -88,7 +95,7 @@ module TestFrameworkAdapter = | LangVersion.SupportsMl -> "5.0", "--mlcompatibility" :: bonusArgs - let singleTestBuildAndRunAuxVersion (folder:string) bonusArgs mode langVersion = + let singleTestBuildAndRunAuxVersion (folder:string) bonusArgs mode langVersion sessionIsolation = let absFolder = Path.Combine(baseFolder,folder) let supportedNames, files = match mode with @@ -137,17 +144,17 @@ module TestFrameworkAdapter = cu |> withDebug |> withNoOptimize - |> ScriptRunner.runScriptFile langVersion + |> ScriptRunner.runScriptFile langVersion sessionIsolation |> shouldSucceed | FSC_OPTIMIZED -> cu |> withOptimize |> withNoDebug - |> ScriptRunner.runScriptFile langVersion + |> ScriptRunner.runScriptFile langVersion sessionIsolation |> shouldSucceed | FSI -> cu - |> ScriptRunner.runScriptFile langVersion + |> ScriptRunner.runScriptFile langVersion sessionIsolation |> shouldSucceed | COMPILED_EXE_APP -> cu @@ -161,7 +168,8 @@ module TestFrameworkAdapter = let singleTestBuildAndRunAux folder bonusArgs mode = singleTestBuildAndRunAuxVersion folder bonusArgs mode LangVersion.Latest let singleTestBuildAndRunVersion folder mode version = singleTestBuildAndRunAuxVersion folder [] mode version - let singleTestBuildAndRun folder mode = singleTestBuildAndRunVersion folder mode LangVersion.Latest + let singleTestBuildAndRun folder mode = singleTestBuildAndRunVersion folder mode LangVersion.Latest ScriptSessionIsolation.Shared + let singleTestBuildAndRunIsolated folder mode = singleTestBuildAndRunVersion folder mode LangVersion.Latest ScriptSessionIsolation.Isolated let singleVersionedNegTestAux folder bonusArgs version testName = singleTestBuildAndRunAuxVersion folder bonusArgs (NEG_TEST_BUILD testName) version diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs index d0cd80472f..bc2e782a76 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs @@ -352,13 +352,13 @@ let ``subtype-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/subtype" FSC_OPTI let ``subtype-FSI`` () = singleTestBuildAndRun "core/subtype" FSI [] -let ``syntax-FSC_DEBUG`` () = singleTestBuildAndRun "core/syntax" FSC_DEBUG +let ``syntax-FSC_DEBUG`` () = singleTestBuildAndRunIsolated "core/syntax" FSC_DEBUG [] -let ``syntax-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/syntax" FSC_OPTIMIZED +let ``syntax-FSC_OPTIMIZED`` () = singleTestBuildAndRunIsolated "core/syntax" FSC_OPTIMIZED [] -let ``syntax-FSI`` () = singleTestBuildAndRun "core/syntax" FSI +let ``syntax-FSI`` () = singleTestBuildAndRunIsolated "core/syntax" FSI [] let ``test int32-FSC_DEBUG`` () = singleTestBuildAndRun "core/int32" FSC_DEBUG @@ -453,10 +453,10 @@ let ``fsi_load-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/fsi-load" FSC_OP let ``fsi_load-FSI`` () = singleTestBuildAndRun "core/fsi-load" FSI [] -let ``reflect-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/reflect" FSC_OPTIMIZED +let ``reflect-FSC_OPTIMIZED`` () = singleTestBuildAndRunIsolated "core/reflect" FSC_OPTIMIZED [] -let ``reflect-FSI`` () = singleTestBuildAndRun "core/reflect" FSI +let ``reflect-FSI`` () = singleTestBuildAndRunIsolated "core/reflect" FSI let isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) diff --git a/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs b/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs index 4fab401b9c..7580dae092 100644 --- a/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs +++ b/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs @@ -7,6 +7,9 @@ open Xunit open System open FSharp.Test.Compiler open FSharp.Test.ScriptHelpers +open FSharp.Compiler.Interactive.Shell +open FSharp.Compiler.Diagnostics +open FSharp.Test.CompilerAssertHelpers module ``Interactive tests`` = @@ -35,34 +38,48 @@ module ``Interactive tests`` = ] [] - [] - [] - let ``Evaluation of multiple sessions should succeed`` (useMultiEmit) = + [] + [] + [] + [] + let ``Evaluation of multiple sessions should succeed`` (useMultiEmit1, useMultiEmit2) = - let args : string array = [| if useMultiEmit then "--multiemit+" else "--multiemit-"|] - use sessionOne = new FSharpScript(additionalArgs=args) - use sessionTwo = new FSharpScript(additionalArgs=args) + // This test is to check that we can have multiple sessions and that they can access each other - sessionOne.Eval(""" -module Test1 = + let AssertCanWeAccessTheOtherSession (session: FSharpScript) (script: string) (moduleName: string) (errorChoice: string) = - let test1 obj = sprintf "Execute - Test1.test1 - %A" obj""") |> ignore + let result: Result * FSharpDiagnostic[] = session.Eval(script) + let expected = + [ (Error 39, Line 1, Col 1, Line 1, Col 6, $"The value, namespace, type or module '{moduleName}' is not defined. Maybe you want one of the following:{errorChoice}") ] - let result1 = sessionOne.Eval("""Test1.test1 18""") |> getValue + match result with + | Result.Error _, diagnostics -> Assert.WithDiagnostics(0, diagnostics, expected) + | _ -> () + + // Initialize + let args useMultiEmit : string array = [| if useMultiEmit then "--multiemit+" else "--multiemit-"|] + use sessionOne = new FSharpScript(additionalArgs = args useMultiEmit1) + use sessionTwo = new FSharpScript(additionalArgs = args useMultiEmit2) + use sessionThree = new FSharpScript(additionalArgs = args useMultiEmit2) + + // First session + sessionOne.Eval("""module Test1 = let test1 obj = sprintf "Execute - Test1.test1 - %A" obj""") |> ignore + let result1 = sessionOne.Eval("Test1.test1 18") |> getValue let value1 = result1.Value Assert.Equal(typeof, value1.ReflectionType) Assert.Equal("Execute - Test1.test1 - 18", value1.ReflectionValue :?> string) - sessionTwo.Eval(""" -module Test2 = - - let test2 obj = sprintf "Execute - Test2.test2 - %A" obj""") |> ignore - + // Second session + sessionTwo.Eval("""module Test2 = let test2 obj = sprintf "Execute - Test2.test2 - %A" obj""") |> ignore let result2 = sessionTwo.Eval("""Test2.test2 27""") |> getValue let value2 = result2.Value Assert.Equal(typeof, value2.ReflectionType) Assert.Equal("Execute - Test2.test2 - 27", value2.ReflectionValue :?> string) + // Can I access the other session + AssertCanWeAccessTheOtherSession sessionOne "Test2.test2 19" "Test2" "\nTest1\nText" // Session 1 can't access values from session 2 + AssertCanWeAccessTheOtherSession sessionTwo "Test1.test1 13" "Test1" "\nTest2\nText" // Session 2 can't access values from session 1 + module ``External FSI tests`` = [] let ``Eval object value``() = diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Calculus.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Calculus.fs deleted file mode 100644 index 0263135fc5..0000000000 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/UnitsOfMeasure/Basic/Calculus.fs +++ /dev/null @@ -1,31 +0,0 @@ -// #Conformance #UnitsOfMeasure -#light - -let diff (h:float<_>) (f :_ -> float<_>) = fun x -> (f (x+h) - f (x-h)) / (2.0*h) - -let integrate (f:float<_> -> float<_>) (a:float<_>) (b:float<_>) n = - let h = (b-a) / (float n) - let rec iter x i = - if i=0 then 0.0<_> - else f x + iter (x+h) (i-1) - h * (f a / 2.0 + iter (a+h) (n-1) + f b / 2.0) - -let rec newton (f:float<_> -> float<_>) f' x xacc = - let dx = f x / f' x - let x' = x - dx - if abs dx / x' < xacc - then x' - else newton f f' x' xacc - -// Non-regular datatype: a list of derivatives of a function -type derivs<[] 'u, [] 'v> = - Nil -| Cons of (float<'u> -> float<'v>) * derivs<'u,'v/'u> - -// Essential use of polymorphic recursion! -// Given a step h, function f, and integer n, compute a list of n derivatives -// [f; f'; f''; ...] -// where f is the function itself, f' is the first derivative, f'' is the second, etc. - -let rec makeDerivs<[] 'u, [] 'v> (h:float<'u>, f:float<'u> -> float<'v>, n:int) : derivs<'u,'v> = - if n=0 then Nil else Cons(f, makeDerivs(h, diff h f, n-1)) diff --git a/tests/FSharp.Compiler.Service.Tests/Common.fs b/tests/FSharp.Compiler.Service.Tests/Common.fs index dad4f48951..8bc685b544 100644 --- a/tests/FSharp.Compiler.Service.Tests/Common.fs +++ b/tests/FSharp.Compiler.Service.Tests/Common.fs @@ -5,9 +5,9 @@ open System open System.Diagnostics open System.IO open System.Collections.Generic -open System.Threading open System.Threading.Tasks open FSharp.Compiler.CodeAnalysis +open FSharp.Compiler.EditorServices open FSharp.Compiler.IO open FSharp.Compiler.Symbols open FSharp.Compiler.Syntax @@ -342,6 +342,24 @@ let rec allSymbolsInEntities compGen (entities: IList) = yield! allSymbolsInEntities compGen entity.NestedEntities ] +let getCursorPosAndPrepareSource (source: string) : string * string * pos = + let lines = source.Split([|"\r\n"; "\n"|], StringSplitOptions.None) + let line = lines |> Seq.findIndex _.Contains("{caret}") + let lineText = lines[line] + let column = lineText.IndexOf("{caret}") + + let source = source.Replace("{caret}", "") + let lineText = lineText.Replace("{caret}", "") + source, lineText, Position.mkPos (line + 1) (column - 1) + +let getPartialIdentifierAndPrepareSource source = + let source, lineText, pos = getCursorPosAndPrepareSource source + let _, column, _ = QuickParse.GetCompleteIdentifierIsland false lineText pos.Column |> Option.get + let pos = Position.mkPos pos.Line column + let plid = QuickParse.GetPartialLongNameEx(lineText, column - 1) + let names = plid.QualifyingIdents @ [plid.PartialIdent] + source, lineText, pos, plid, names + let getParseResults (source: string) = parseSourceCode("Test.fsx", source) diff --git a/tests/FSharp.Compiler.Service.Tests/CompletionTests.fs b/tests/FSharp.Compiler.Service.Tests/CompletionTests.fs index 38c6812728..76106a92b3 100644 --- a/tests/FSharp.Compiler.Service.Tests/CompletionTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/CompletionTests.fs @@ -4,107 +4,233 @@ open FSharp.Compiler.Service.Tests.Common open FSharp.Compiler.EditorServices open Xunit -let getCompletionInfo lineText (line, column) source = +let getCompletionInfo source = + let source, lineText, pos = getCursorPosAndPrepareSource source let parseResults, checkResults = getParseAndCheckResultsPreview source - let plid = QuickParse.GetPartialLongNameEx(lineText, column) - checkResults.GetDeclarationListInfo(Some parseResults, line, lineText, plid) + let plid = QuickParse.GetPartialLongNameEx(lineText, pos.Column) + checkResults.GetDeclarationListInfo(Some parseResults, pos.Line, lineText, plid) let getCompletionItemNames (completionInfo: DeclarationListInfo) = completionInfo.Items |> Array.map (fun item -> item.NameInCode) -let assertHasItemWithNames names (completionInfo: DeclarationListInfo) = +let private assertItemsWithNames contains names (completionInfo: DeclarationListInfo) = let itemNames = getCompletionItemNames completionInfo |> set for name in names do - Assert.True(Set.contains name itemNames, $"{name} not found in {itemNames}") + Assert.True(Set.contains name itemNames = contains) + +let assertHasItemWithNames names (completionInfo: DeclarationListInfo) = + assertItemsWithNames true names completionInfo + +let assertHasNoItemsWithNames names (completionInfo: DeclarationListInfo) = + assertItemsWithNames false names completionInfo [] -let ``Expr - After record decl`` () = - let info = getCompletionInfo "{ Fi }" (4, 0) """ +let ``Expr - After record decl 01`` () = + let info = getCompletionInfo """ type Record = { Field: int } +{ Fi{caret} } +""" + assertHasItemWithNames ["ignore"] info + +[] +let ``Expr - After record decl 02`` () = + let info = getCompletionInfo """ +type Record = { Field: int } +{caret} """ assertHasItemWithNames ["ignore"] info [] let ``Expr - record - field 01 - anon module`` () = - let info = getCompletionInfo "{ Fi }" (4, 3) """ + let info = getCompletionInfo """ type Record = { Field: int } -{ Fi } +{ Fi{caret} } """ assertHasItemWithNames ["Field"] info [] let ``Expr - record - field 02 - anon module`` () = - let info = getCompletionInfo "{ Fi }" (6, 3) """ + let info = getCompletionInfo """ type Record = { Field: int } let record = { Field = 1 } -{ Fi } +{ Fi{caret} } """ assertHasItemWithNames ["Field"] info [] let ``Expr - record - empty 01`` () = - let info = getCompletionInfo "{ }" (4, 2) """ + let info = getCompletionInfo """ type Record = { Field: int } -{ } +{ {caret} } """ assertHasItemWithNames ["Field"] info [] let ``Expr - record - empty 02`` () = - let info = getCompletionInfo "{ }" (6, 2) """ + let info = getCompletionInfo """ type Record = { Field: int } let record = { Field = 1 } -{ } +{ {caret} } """ assertHasItemWithNames ["Field"; "record"] info [] -let ``Underscore dot lambda - completion`` () = - let info = getCompletionInfo " |> _.Len" (4, 11) """ -let myFancyFunc (x:string) = - x - |> _.Len""" +let ``Underscore dot lambda - completion 01`` () = + let info = getCompletionInfo """ +"" |> _.Len{caret}""" + + assertHasItemWithNames ["Length"] info + +[] +let ``Underscore dot lambda - completion 02`` () = + let info = getCompletionInfo """ +System.DateTime.Now |> _.TimeOfDay.Mill{caret}""" + + assertHasItemWithNames ["Milliseconds"] info + +[] +let ``Underscore dot lambda - completion 03`` () = + let info = getCompletionInfo """ +"" |> _.ToString().Len{caret}""" + + assertHasItemWithNames ["Length"] info + +[] +let ``Underscore dot lambda - completion 04`` () = + let info = getCompletionInfo """ +"" |> _.Len{caret}gth.ToString()""" + + assertHasItemWithNames ["Length"] info + +[] +let ``Underscore dot lambda - completion 05`` () = + let info = getCompletionInfo """ +"" |> _.Length.ToString().Chars("".Len{caret})""" + + assertHasItemWithNames ["Length"] info + +[] +let ``Underscore dot lambda - completion 06`` () = + let info = getCompletionInfo """ +"" |> _.Chars(System.DateTime.UtcNow.Tic{caret}).ToString()""" + + assertHasItemWithNames ["Ticks"] info + +[] +let ``Underscore dot lambda - completion 07`` () = + let info = getCompletionInfo """ +"" |> _.Length.ToString().Len{caret}""" + assertHasItemWithNames ["Length"] info [] -let ``Underscore dot lambda - method completion`` () = - let info = getCompletionInfo " |> _.ToL" (4, 11) """ -let myFancyFunc (x:string) = - x - |> _.ToL""" +let ``Underscore dot lambda - completion 08`` () = + let info = getCompletionInfo """ +System.DateTime.Now |> _.TimeOfDay + .Mill{caret}""" + + assertHasItemWithNames ["Milliseconds"] info + +[] +let ``Underscore dot lambda - completion 09`` () = + let info = getCompletionInfo """ +"" |> _.Length.ToSt{caret}.Length""" + + assertHasItemWithNames ["ToString"] info + +[] +let ``Underscore dot lambda - completion 10`` () = + let info = getCompletionInfo """ +"" |> _.Chars(0).ToStr{caret}.Length""" + + assertHasItemWithNames ["ToString"] info + +[] +let ``Underscore dot lambda - completion 11`` () = + let info = getCompletionInfo """ +open System.Linq + +[[""]] |> _.Select(_.Head.ToL{caret})""" + assertHasItemWithNames ["ToLower"] info [] -let ``Underscore dot lambda - No prefix`` () = - let info = getCompletionInfo "[s] |> List.map _. " (3, 18) """ +let ``Underscore dot lambda - completion 12`` () = + let info = getCompletionInfo """ +open System.Linq + +[[[""]]] |> _.Head.Select(_.Head.ToL{caret})""" + + assertHasItemWithNames ["ToLower"] info + +[] +let ``Underscore dot lambda - completion 13`` () = + let info = getCompletionInfo """ +let myFancyFunc (x:string) = + x + |> _.ToL{caret}""" + assertHasItemWithNames ["ToLower"] info + +[] +let ``Underscore dot lambda - completion 14`` () = + let info = getCompletionInfo """ +let myFancyFunc (x:System.DateTime) = + x + |> _.TimeOfDay.Mill{caret} + |> id""" + assertHasItemWithNames ["Milliseconds"] info + +[] +let ``Underscore dot lambda - completion 15`` () = + let info = getCompletionInfo """ +let _a = 5 +"" |> _{caret}.Length.ToString() """ + assertHasItemWithNames ["_a"] info + +[] +let ``Underscore dot lambda - No prefix 01`` () = + let info = getCompletionInfo """ let s = "" -[s] |> List.map _. +[s] |> List.map _.{caret} """ assertHasItemWithNames ["Length"] info +[] +let ``Underscore dot lambda - No prefix 02`` () = + let info = getCompletionInfo """ +System.DateTime.Now |> _.TimeOfDay.{caret}""" + + assertHasItemWithNames ["Milliseconds"] info + +[] +let ``Underscore dot lambda - No prefix 03`` () = + let info = getCompletionInfo """ +"" |> _.Length.ToString().{caret}""" + + assertHasItemWithNames ["Length"] info + [] let ``Type decl - Record - Field type 01`` () = - let info = getCompletionInfo "type Record = { Field: }" (2, 23) """ -type Record = { Field: } + let info = getCompletionInfo """ +type Record = { Field: {caret} } """ assertHasItemWithNames ["string"] info [] let ``Expr - Qualifier 01`` () = - let info = - getCompletionInfo "s.Trim(). " (3, 13) """ + let info = getCompletionInfo """ let f (s: string) = - s.Trim(). + s.Trim().{caret} s.Trim() s.Trim() () @@ -114,10 +240,10 @@ let f (s: string) = [] let ``Expr - Qualifier 02`` () = let info = - getCompletionInfo "s.Trim(). " (4, 13) """ + getCompletionInfo """ let f (s: string) = s.Trim() - s.Trim(). + s.Trim().{caret} s.Trim() () """ @@ -126,11 +252,131 @@ let f (s: string) = [] let ``Expr - Qualifier 03`` () = let info = - getCompletionInfo "s.Trim(). " (5, 13) """ + getCompletionInfo """ let f (s: string) = s.Trim() s.Trim() - s.Trim(). + s.Trim().{caret} () """ assertHasItemWithNames ["Length"] info + +[] +let ``Expr - Qualifier 04`` () = + let info = + getCompletionInfo """ +type T() = + do + System.String.Empty.ToString().L{caret} +""" + assertHasItemWithNames ["Length"] info + +[] +let ``Expr - Qualifier 05`` () = + let info = + getCompletionInfo """ +System.String.Empty.ToString().{caret} +""" + assertHasItemWithNames ["Length"] info + +[] +let ``Expr - Qualifier 06`` () = + let info = + getCompletionInfo """ +System.String.Empty.ToString().L{caret} +""" + assertHasItemWithNames ["Length"] info + +[] +let ``Expr - Qualifier 07`` () = + let info = + getCompletionInfo """ +type T() = + do + System.String.Empty.ToString().L{caret} + () +""" + assertHasItemWithNames ["Length"] info + +[] +let ``Import - Ns 01`` () = + let info = + getCompletionInfo """ +namespace Ns + +type Rec1 = { F: int } + + +namespace Ns + +type Rec2 = { F: int } + +module M = + + type Rec3 = { F: int } + + let _: R{caret} = () +""" + assertHasItemWithNames ["Rec1"; "Rec2"; "Rec3"] info + +[] +let ``Import - Ns 02 - Rec`` () = + let info = + getCompletionInfo """ +namespace Ns + +type Rec1 = { F: int } + + +namespace rec Ns + +type Rec2 = { F: int } + +module M = + + type Rec3 = { F: int } + + let _: R{caret} = () +""" + assertHasItemWithNames ["Rec1"; "Rec2"; "Rec3"] info + +[] +let ``Import - Ns 03 - Rec`` () = + let info = + getCompletionInfo """ +namespace Ns + +type Rec1 = { F: int } + + +namespace rec Ns + +type Rec2 = { F: int } + +module rec M = + + type Rec3 = { F: int } + + let _: R{caret} = () +""" + assertHasItemWithNames ["Rec1"; "Rec2"; "Rec3"] info + +[] +let ``Not in scope 01`` () = + let info = + getCompletionInfo """ +namespace Ns1 + +type E = + | A = 1 + | B = 2 + | C = 3 + +namespace Ns2 + +module Module = + match Ns1.E.A with + | {caret} + +""" + assertHasNoItemsWithNames ["E"] info diff --git a/tests/FSharp.Compiler.Service.Tests/ExprTests.fs b/tests/FSharp.Compiler.Service.Tests/ExprTests.fs index 71de89dfd4..eac5d3f177 100644 --- a/tests/FSharp.Compiler.Service.Tests/ExprTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/ExprTests.fs @@ -3504,51 +3504,3 @@ let ``Test ProjectForWitnesses4 GetWitnessPassingInfo`` () = printfn "actual:\n\n%A" actual actual |> shouldEqual expected - -module internal ProjectForNoWarnHashDirective = - - let fileSource1 = """ -module N.M -#nowarn "40" -let rec f = new System.EventHandler(fun _ _ -> f.Invoke(null,null)) -""" - - let createOptions() = createProjectOptions [fileSource1] [] - -[] -let ``Test NoWarn HashDirective`` () = - let options = ProjectForNoWarnHashDirective.createOptions() - let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) - let wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate - - for e in wholeProjectResults.Diagnostics do - printfn "ProjectForNoWarnHashDirective error: <<<%s>>>" e.Message - - wholeProjectResults.Diagnostics.Length |> shouldEqual 0 - -let private sourceForParseError = """ -module N.M -#nowarn 0xy -() -""" - -[] -let ``RegressionTestForMissingParseError(TransparentCompiler)`` () = - let options = createProjectOptions [sourceForParseError] [] - let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) - let wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate - wholeProjectResults.Diagnostics.Length |> shouldEqual 1 - wholeProjectResults.Diagnostics.[0].ErrorNumber |> shouldEqual 1156 - wholeProjectResults.Diagnostics.[0].Range.StartLine |> shouldEqual 3 - -[] -let ``RegressionTestForDuplicateParseError(BackgroundCompiler)`` () = - let options = createProjectOptions [sourceForParseError] [] - let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) - let sourceName = options.SourceFiles[0] - let _wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate - let _, checkResults = exprChecker.GetBackgroundCheckResultsForFileInProject(sourceName, options) |> Async.RunImmediate - checkResults.Diagnostics.Length |> shouldEqual 1 - checkResults.Diagnostics.[0].ErrorNumber |> shouldEqual 1156 - checkResults.Diagnostics.[0].Range.StartLine |> shouldEqual 3 - diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl old mode 100755 new mode 100644 index 876c50378d..4f1bda7afd --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl @@ -2208,9 +2208,6 @@ FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.CodeAnalysis. FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.CodeAnalysis.FSharpParsingOptions get_Default() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions DiagnosticOptions FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions get_DiagnosticOptions() -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(FSharp.Compiler.CodeAnalysis.FSharpParsingOptions) -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(System.Object) -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(System.Object, System.Collections.IComparer) FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode(System.Collections.IEqualityComparer) FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Collections.FSharpList`1[System.String] ConditionalDefines @@ -2948,9 +2945,6 @@ FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Boolean get_CheckXmlDocs() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Boolean get_GlobalWarnAsError() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions Default FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions get_Default() -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions) -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(System.Object) -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(System.Object, System.Collections.IComparer) FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 GetHashCode() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 GetHashCode(System.Collections.IEqualityComparer) FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 WarnLevel @@ -2963,8 +2957,12 @@ FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collection FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnAsWarn() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnOff() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnOn() +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] WarnScopeData +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] WarnScopeData@ +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] get_WarnScopeData() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: System.String ToString() -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void .ctor(Int32, Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32]) +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void .ctor(Int32, Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Core.FSharpOption`1[System.Object]) +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void set_WarnScopeData(Microsoft.FSharp.Core.FSharpOption`1[System.Object]) FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Error FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Hidden FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Info @@ -6282,25 +6280,21 @@ FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_IsLastCompiland() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_IsScript() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_isScript() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean isScript -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.ParsedImplFileInput NewParsedImplFileInput(System.String, Boolean, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace], System.Tuple`2[System.Boolean,System.Boolean], FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.ParsedImplFileInput NewParsedImplFileInput(System.String, Boolean, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace], System.Tuple`2[System.Boolean,System.Boolean], FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile QualifiedName FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_QualifiedName() FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_qualifiedNameOfFile() FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile qualifiedNameOfFile -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia Trivia -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia get_Trivia() -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia get_trivia() -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia trivia +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia Trivia +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_Trivia() +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_trivia() +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia trivia FSharp.Compiler.Syntax.ParsedImplFileInput: Int32 Tag FSharp.Compiler.Syntax.ParsedImplFileInput: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] HashDirectives FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_HashDirectives() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_hashDirectives() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] hashDirectives -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_scopedPragmas() -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] scopedPragmas FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] Contents FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] contents FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] get_Contents() @@ -6335,8 +6329,6 @@ FSharp.Compiler.Syntax.ParsedInput: FSharp.Compiler.Text.Range Range FSharp.Compiler.Syntax.ParsedInput: FSharp.Compiler.Text.Range get_Range() FSharp.Compiler.Syntax.ParsedInput: Int32 Tag FSharp.Compiler.Syntax.ParsedInput: Int32 get_Tag() -FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpSet`1[System.String] Identifiers FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpSet`1[System.String] get_Identifiers() FSharp.Compiler.Syntax.ParsedInput: System.String FileName @@ -6405,25 +6397,21 @@ FSharp.Compiler.Syntax.ParsedSigFileFragment: FSharp.Compiler.Syntax.ParsedSigFi FSharp.Compiler.Syntax.ParsedSigFileFragment: Int32 Tag FSharp.Compiler.Syntax.ParsedSigFileFragment: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedSigFileFragment: System.String ToString() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.ParsedSigFileInput NewParsedSigFileInput(System.String, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig], FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.ParsedSigFileInput NewParsedSigFileInput(System.String, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig], FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile QualifiedName FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_QualifiedName() FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_qualifiedNameOfFile() FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile qualifiedNameOfFile -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia Trivia -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia get_Trivia() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia get_trivia() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia trivia +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia Trivia +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_Trivia() +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_trivia() +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia trivia FSharp.Compiler.Syntax.ParsedSigFileInput: Int32 Tag FSharp.Compiler.Syntax.ParsedSigFileInput: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] HashDirectives FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_HashDirectives() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_hashDirectives() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] hashDirectives -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_scopedPragmas() -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] scopedPragmas FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] Contents FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] contents FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] get_Contents() @@ -6491,20 +6479,6 @@ FSharp.Compiler.Syntax.QualifiedNameOfFile: Int32 get_Tag() FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String Text FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String ToString() FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String get_Text() -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(FSharp.Compiler.Syntax.ScopedPragma) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(FSharp.Compiler.Syntax.ScopedPragma, System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(System.Object) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(System.Object, System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Syntax.ScopedPragma NewWarningOff(FSharp.Compiler.Text.Range, Int32) -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Text.Range get_range() -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Text.Range range -FSharp.Compiler.Syntax.ScopedPragma: Int32 GetHashCode() -FSharp.Compiler.Syntax.ScopedPragma: Int32 GetHashCode(System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: Int32 Tag -FSharp.Compiler.Syntax.ScopedPragma: Int32 get_Tag() -FSharp.Compiler.Syntax.ScopedPragma: Int32 get_warningNumber() -FSharp.Compiler.Syntax.ScopedPragma: Int32 warningNumber -FSharp.Compiler.Syntax.ScopedPragma: System.String ToString() FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(FSharp.Compiler.Syntax.SeqExprOnly) FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(FSharp.Compiler.Syntax.SeqExprOnly, System.Collections.IEqualityComparer) FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(System.Object) @@ -7922,7 +7896,9 @@ FSharp.Compiler.Syntax.SynExprAndBang: Int32 Tag FSharp.Compiler.Syntax.SynExprAndBang: Int32 get_Tag() FSharp.Compiler.Syntax.SynExprAndBang: System.String ToString() FSharp.Compiler.Syntax.SynExprModule: Boolean shouldBeParenthesizedInContext(Microsoft.FSharp.Core.FSharpFunc`2[System.Int32,System.String], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SyntaxNode], FSharp.Compiler.Syntax.SynExpr) -FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]]) +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], FSharp.Compiler.Text.Range, Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]]) +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range get_range() +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range range FSharp.Compiler.Syntax.SynExprRecordField: Int32 Tag FSharp.Compiler.Syntax.SynExprRecordField: Int32 get_Tag() FSharp.Compiler.Syntax.SynExprRecordField: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr] expr @@ -10289,18 +10265,14 @@ FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: FSharp.Compiler.SyntaxTrivia FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: Int32 Tag FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: Int32 get_Tag() FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia] WarnDirectives +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia] get_WarnDirectives() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: System.String ToString() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: FSharp.Compiler.Text.Range ParenRange FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: FSharp.Compiler.Text.Range get_ParenRange() FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: System.String ToString() @@ -10865,6 +10837,28 @@ FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Microsoft.FSharp.Core.FSharpOption FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_WithKeyword() FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: System.String ToString() FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Void .ctor(FSharp.Compiler.SyntaxTrivia.SynLeadingKeyword, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range]) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: FSharp.Compiler.Text.Range Item2 +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: FSharp.Compiler.Text.Range get_Item2() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_warnNumbers() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] warnNumbers +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags: Int32 Nowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags: Int32 Warnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: FSharp.Compiler.Text.Range Item2 +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: FSharp.Compiler.Text.Range get_Item2() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_warnNumbers() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] warnNumbers +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean IsNowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean IsWarnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean get_IsNowarn() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean get_IsWarnon() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia NewNowarn(Microsoft.FSharp.Collections.FSharpList`1[System.Int32], FSharp.Compiler.Text.Range) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia NewWarnon(Microsoft.FSharp.Collections.FSharpList`1[System.Int32], FSharp.Compiler.Text.Range) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Int32 Tag +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Int32 get_Tag() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: System.String ToString() FSharp.Compiler.Text.ISourceText: Boolean ContentEquals(FSharp.Compiler.Text.ISourceText) FSharp.Compiler.Text.ISourceText: Boolean SubTextEquals(System.String, Int32) FSharp.Compiler.Text.ISourceText: Char Item [Int32] @@ -11304,6 +11298,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Function FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 FunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Global FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Greater +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Hash @@ -11401,6 +11396,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Public FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 QuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 QuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Quote +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 RQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Rec FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Reserved FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 RightArrow @@ -11431,6 +11427,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Underscore FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Upcast FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Val FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Void +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 WarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 When FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 While FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 WhileBang @@ -11499,6 +11496,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsFunction FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsFunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGlobal FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreater +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHash @@ -11596,6 +11594,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsPublic FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuote +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRec FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsReserved FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRightArrow @@ -11626,6 +11625,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsUnderscore FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsUpcast FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsVal FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsVoid +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhen FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhile FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhileBang @@ -11690,6 +11690,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsFunction() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsFunkyOperatorName() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGlobal() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreater() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterBarRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHash() @@ -11787,6 +11788,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsPublic() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuestionMarkQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuote() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRQuoteBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRec() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsReserved() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRightArrow() @@ -11817,6 +11819,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsUnderscore() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsUpcast() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsVal() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsVoid() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWarnDirective() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhen() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhile() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhileBang() @@ -11881,6 +11884,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind FunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Global FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Greater +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Hash @@ -11978,6 +11982,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind QuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind QuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Quote +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind RQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Rec FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Reserved FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind RightArrow @@ -12008,6 +12013,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Upcast FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Val FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Void +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind WarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind When FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind While FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind WhileBang @@ -12072,6 +12078,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_FunkyOperatorName() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Global() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Greater() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterBarRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Hash() @@ -12169,6 +12176,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_QuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_QuestionMarkQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Quote() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_RQuoteBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Rec() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Reserved() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_RightArrow() @@ -12199,6 +12207,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Upcast() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Val() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Void() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_WarnDirective() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_When() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_While() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_WhileBang() diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl old mode 100755 new mode 100644 index 876c50378d..4f1bda7afd --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl @@ -2208,9 +2208,6 @@ FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.CodeAnalysis. FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.CodeAnalysis.FSharpParsingOptions get_Default() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions DiagnosticOptions FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions get_DiagnosticOptions() -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(FSharp.Compiler.CodeAnalysis.FSharpParsingOptions) -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(System.Object) -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 CompareTo(System.Object, System.Collections.IComparer) FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode(System.Collections.IEqualityComparer) FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Collections.FSharpList`1[System.String] ConditionalDefines @@ -2948,9 +2945,6 @@ FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Boolean get_CheckXmlDocs() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Boolean get_GlobalWarnAsError() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions Default FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions get_Default() -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions) -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(System.Object) -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 CompareTo(System.Object, System.Collections.IComparer) FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 GetHashCode() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 GetHashCode(System.Collections.IEqualityComparer) FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Int32 WarnLevel @@ -2963,8 +2957,12 @@ FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collection FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnAsWarn() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnOff() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_WarnOn() +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] WarnScopeData +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] WarnScopeData@ +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Object] get_WarnScopeData() FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: System.String ToString() -FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void .ctor(Int32, Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32]) +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void .ctor(Int32, Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Collections.FSharpList`1[System.Int32], Microsoft.FSharp.Core.FSharpOption`1[System.Object]) +FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions: Void set_WarnScopeData(Microsoft.FSharp.Core.FSharpOption`1[System.Object]) FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Error FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Hidden FSharp.Compiler.Diagnostics.FSharpDiagnosticSeverity+Tags: Int32 Info @@ -6282,25 +6280,21 @@ FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_IsLastCompiland() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_IsScript() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean get_isScript() FSharp.Compiler.Syntax.ParsedImplFileInput: Boolean isScript -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.ParsedImplFileInput NewParsedImplFileInput(System.String, Boolean, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace], System.Tuple`2[System.Boolean,System.Boolean], FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.ParsedImplFileInput NewParsedImplFileInput(System.String, Boolean, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace], System.Tuple`2[System.Boolean,System.Boolean], FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile QualifiedName FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_QualifiedName() FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_qualifiedNameOfFile() FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile qualifiedNameOfFile -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia Trivia -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia get_Trivia() -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia get_trivia() -FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia trivia +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia Trivia +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_Trivia() +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_trivia() +FSharp.Compiler.Syntax.ParsedImplFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia trivia FSharp.Compiler.Syntax.ParsedImplFileInput: Int32 Tag FSharp.Compiler.Syntax.ParsedImplFileInput: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] HashDirectives FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_HashDirectives() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_hashDirectives() FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] hashDirectives -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_scopedPragmas() -FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] scopedPragmas FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] Contents FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] contents FSharp.Compiler.Syntax.ParsedImplFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespace] get_Contents() @@ -6335,8 +6329,6 @@ FSharp.Compiler.Syntax.ParsedInput: FSharp.Compiler.Text.Range Range FSharp.Compiler.Syntax.ParsedInput: FSharp.Compiler.Text.Range get_Range() FSharp.Compiler.Syntax.ParsedInput: Int32 Tag FSharp.Compiler.Syntax.ParsedInput: Int32 get_Tag() -FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpSet`1[System.String] Identifiers FSharp.Compiler.Syntax.ParsedInput: Microsoft.FSharp.Collections.FSharpSet`1[System.String] get_Identifiers() FSharp.Compiler.Syntax.ParsedInput: System.String FileName @@ -6405,25 +6397,21 @@ FSharp.Compiler.Syntax.ParsedSigFileFragment: FSharp.Compiler.Syntax.ParsedSigFi FSharp.Compiler.Syntax.ParsedSigFileFragment: Int32 Tag FSharp.Compiler.Syntax.ParsedSigFileFragment: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedSigFileFragment: System.String ToString() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.ParsedSigFileInput NewParsedSigFileInput(System.String, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig], FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.ParsedSigFileInput NewParsedSigFileInput(System.String, FSharp.Compiler.Syntax.QualifiedNameOfFile, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig], FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia, Microsoft.FSharp.Collections.FSharpSet`1[System.String]) FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile QualifiedName FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_QualifiedName() FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile get_qualifiedNameOfFile() FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.Syntax.QualifiedNameOfFile qualifiedNameOfFile -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia Trivia -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia get_Trivia() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia get_trivia() -FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia trivia +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia Trivia +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_Trivia() +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia get_trivia() +FSharp.Compiler.Syntax.ParsedSigFileInput: FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia trivia FSharp.Compiler.Syntax.ParsedSigFileInput: Int32 Tag FSharp.Compiler.Syntax.ParsedSigFileInput: Int32 get_Tag() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] HashDirectives FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_HashDirectives() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] get_hashDirectives() FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ParsedHashDirective] hashDirectives -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] ScopedPragmas -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_ScopedPragmas() -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] get_scopedPragmas() -FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.ScopedPragma] scopedPragmas FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] Contents FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] contents FSharp.Compiler.Syntax.ParsedSigFileInput: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynModuleOrNamespaceSig] get_Contents() @@ -6491,20 +6479,6 @@ FSharp.Compiler.Syntax.QualifiedNameOfFile: Int32 get_Tag() FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String Text FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String ToString() FSharp.Compiler.Syntax.QualifiedNameOfFile: System.String get_Text() -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(FSharp.Compiler.Syntax.ScopedPragma) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(FSharp.Compiler.Syntax.ScopedPragma, System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(System.Object) -FSharp.Compiler.Syntax.ScopedPragma: Boolean Equals(System.Object, System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Syntax.ScopedPragma NewWarningOff(FSharp.Compiler.Text.Range, Int32) -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Text.Range get_range() -FSharp.Compiler.Syntax.ScopedPragma: FSharp.Compiler.Text.Range range -FSharp.Compiler.Syntax.ScopedPragma: Int32 GetHashCode() -FSharp.Compiler.Syntax.ScopedPragma: Int32 GetHashCode(System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.ScopedPragma: Int32 Tag -FSharp.Compiler.Syntax.ScopedPragma: Int32 get_Tag() -FSharp.Compiler.Syntax.ScopedPragma: Int32 get_warningNumber() -FSharp.Compiler.Syntax.ScopedPragma: Int32 warningNumber -FSharp.Compiler.Syntax.ScopedPragma: System.String ToString() FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(FSharp.Compiler.Syntax.SeqExprOnly) FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(FSharp.Compiler.Syntax.SeqExprOnly, System.Collections.IEqualityComparer) FSharp.Compiler.Syntax.SeqExprOnly: Boolean Equals(System.Object) @@ -7922,7 +7896,9 @@ FSharp.Compiler.Syntax.SynExprAndBang: Int32 Tag FSharp.Compiler.Syntax.SynExprAndBang: Int32 get_Tag() FSharp.Compiler.Syntax.SynExprAndBang: System.String ToString() FSharp.Compiler.Syntax.SynExprModule: Boolean shouldBeParenthesizedInContext(Microsoft.FSharp.Core.FSharpFunc`2[System.Int32,System.String], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SyntaxNode], FSharp.Compiler.Syntax.SynExpr) -FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]]) +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], FSharp.Compiler.Text.Range, Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]]) +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range get_range() +FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range range FSharp.Compiler.Syntax.SynExprRecordField: Int32 Tag FSharp.Compiler.Syntax.SynExprRecordField: Int32 get_Tag() FSharp.Compiler.Syntax.SynExprRecordField: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr] expr @@ -10289,18 +10265,14 @@ FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: FSharp.Compiler.SyntaxTrivia FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: Int32 Tag FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: Int32 get_Tag() FSharp.Compiler.SyntaxTrivia.IfDirectiveExpression: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedImplFileInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: System.String ToString() -FSharp.Compiler.SyntaxTrivia.ParsedSigFileInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] CodeComments +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia] get_CodeComments() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] ConditionalDirectives +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia] get_ConditionalDirectives() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia] WarnDirectives +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia] get_WarnDirectives() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: System.String ToString() +FSharp.Compiler.SyntaxTrivia.ParsedInputTrivia: Void .ctor(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.ConditionalDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.SyntaxTrivia.CommentTrivia]) FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: FSharp.Compiler.Text.Range ParenRange FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: FSharp.Compiler.Text.Range get_ParenRange() FSharp.Compiler.SyntaxTrivia.SynArgPatsNamePatPairsTrivia: System.String ToString() @@ -10865,6 +10837,28 @@ FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Microsoft.FSharp.Core.FSharpOption FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_WithKeyword() FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: System.String ToString() FSharp.Compiler.SyntaxTrivia.SynValSigTrivia: Void .ctor(FSharp.Compiler.SyntaxTrivia.SynLeadingKeyword, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range]) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: FSharp.Compiler.Text.Range Item2 +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: FSharp.Compiler.Text.Range get_Item2() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_warnNumbers() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] warnNumbers +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags: Int32 Nowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags: Int32 Warnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: FSharp.Compiler.Text.Range Item2 +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: FSharp.Compiler.Text.Range get_Item2() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] get_warnNumbers() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon: Microsoft.FSharp.Collections.FSharpList`1[System.Int32] warnNumbers +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean IsNowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean IsWarnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean get_IsNowarn() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Boolean get_IsWarnon() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia NewNowarn(Microsoft.FSharp.Collections.FSharpList`1[System.Int32], FSharp.Compiler.Text.Range) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia NewWarnon(Microsoft.FSharp.Collections.FSharpList`1[System.Int32], FSharp.Compiler.Text.Range) +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Nowarn +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Tags +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia+Warnon +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Int32 Tag +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: Int32 get_Tag() +FSharp.Compiler.SyntaxTrivia.WarnDirectiveTrivia: System.String ToString() FSharp.Compiler.Text.ISourceText: Boolean ContentEquals(FSharp.Compiler.Text.ISourceText) FSharp.Compiler.Text.ISourceText: Boolean SubTextEquals(System.String, Int32) FSharp.Compiler.Text.ISourceText: Char Item [Int32] @@ -11304,6 +11298,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Function FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 FunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Global FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Greater +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 GreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Hash @@ -11401,6 +11396,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Public FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 QuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 QuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Quote +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 RQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Rec FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Reserved FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 RightArrow @@ -11431,6 +11427,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Underscore FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Upcast FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Val FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Void +FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 WarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 When FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 While FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 WhileBang @@ -11499,6 +11496,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsFunction FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsFunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGlobal FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreater +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsGreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHash @@ -11596,6 +11594,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsPublic FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsQuote +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRec FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsReserved FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsRightArrow @@ -11626,6 +11625,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsUnderscore FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsUpcast FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsVal FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsVoid +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhen FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhile FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsWhileBang @@ -11690,6 +11690,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsFunction() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsFunkyOperatorName() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGlobal() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreater() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterBarRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsGreaterRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHash() @@ -11787,6 +11788,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsPublic() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuestionMarkQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsQuote() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRQuoteBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRec() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsReserved() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsRightArrow() @@ -11817,6 +11819,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsUnderscore() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsUpcast() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsVal() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsVoid() +FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWarnDirective() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhen() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhile() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsWhileBang() @@ -11881,6 +11884,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind FunkyOperatorName FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Global FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Greater +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterBarRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind GreaterRightBracket FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Hash @@ -11978,6 +11982,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind QuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind QuestionMarkQuestionMark FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Quote +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind RQuoteBarRightBrace FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Rec FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Reserved FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind RightArrow @@ -12008,6 +12013,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Upcast FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Val FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Void +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind WarnDirective FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind When FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind While FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind WhileBang @@ -12072,6 +12078,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_FunkyOperatorName() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Global() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Greater() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterBarRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_GreaterRightBracket() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Hash() @@ -12169,6 +12176,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_QuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_QuestionMarkQuestionMark() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Quote() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_RQuoteBarRightBrace() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Rec() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Reserved() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_RightArrow() @@ -12199,6 +12207,7 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Upcast() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Val() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Void() +FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_WarnDirective() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_When() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_While() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_WhileBang() diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index 967f5aacfc..fc325ec28a 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -75,6 +75,7 @@ + diff --git a/tests/FSharp.Compiler.Service.Tests/PatternMatchCompilationTests.fs b/tests/FSharp.Compiler.Service.Tests/PatternMatchCompilationTests.fs index 1b6d54d357..cf87069807 100644 --- a/tests/FSharp.Compiler.Service.Tests/PatternMatchCompilationTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/PatternMatchCompilationTests.fs @@ -41,6 +41,7 @@ match () with dumpDiagnostics checkResults |> shouldEqual [ "(3,2--3,25): Attributes are not allowed within patterns" "(3,4--3,23): This attribute is not valid for use on this language element" + "(3,17--3,22): This is not a valid constant expression or custom attribute value" ] diff --git a/tests/FSharp.Compiler.Service.Tests/ProjectAnalysisTests.fs b/tests/FSharp.Compiler.Service.Tests/ProjectAnalysisTests.fs index cef9b119c7..c3bd9ca001 100644 --- a/tests/FSharp.Compiler.Service.Tests/ProjectAnalysisTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/ProjectAnalysisTests.fs @@ -4362,7 +4362,7 @@ let ``Test Project32 should be able to find impl symbols`` () = checker.GetBackgroundCheckResultsForFileInProject(Project32.fileName1, Project32.options) |> Async.RunImmediate - let implSymbolUseOpt = implBackgroundTypedParse1.GetSymbolUseAtLocation(3,5,"",["func"]) + let implSymbolUseOpt = implBackgroundTypedParse1.GetSymbolUseAtLocation(3,5,"let func x = x + 1",["func"]) let implSymbol = implSymbolUseOpt.Value.Symbol let usesOfImplSymbol = diff --git a/tests/FSharp.Compiler.Service.Tests/SyntaxTreeTests.fs b/tests/FSharp.Compiler.Service.Tests/SyntaxTreeTests.fs index 654c01d6cc..42bf0cf0eb 100644 --- a/tests/FSharp.Compiler.Service.Tests/SyntaxTreeTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/SyntaxTreeTests.fs @@ -95,7 +95,6 @@ let private sanitizeAST (sourceDirectoryValue: string) (ast: ParsedInput) : Pars | ParsedInput.ImplFile(ParsedImplFileInput(fileName, isScript, qualifiedNameOfFile, - scopedPragmas, hashDirectives, contents, flags, @@ -105,7 +104,6 @@ let private sanitizeAST (sourceDirectoryValue: string) (ast: ParsedInput) : Pars fileName, isScript, qualifiedNameOfFile, - scopedPragmas, List.map mapParsedHashDirective hashDirectives, List.map mapSynModuleOrNamespace contents, flags, @@ -113,11 +111,10 @@ let private sanitizeAST (sourceDirectoryValue: string) (ast: ParsedInput) : Pars identifiers ) |> ParsedInput.ImplFile - | ParsedInput.SigFile(ParsedSigFileInput(fileName, qualifiedNameOfFile, scopedPragmas, hashDirectives, contents, trivia, identifiers)) -> + | ParsedInput.SigFile(ParsedSigFileInput(fileName, qualifiedNameOfFile, hashDirectives, contents, trivia, identifiers)) -> ParsedSigFileInput( fileName, qualifiedNameOfFile, - scopedPragmas, List.map mapParsedHashDirective hashDirectives, List.map mapSynModuleOrNamespaceSig contents, trivia, diff --git a/tests/FSharp.Compiler.Service.Tests/TooltipTests.fs b/tests/FSharp.Compiler.Service.Tests/TooltipTests.fs index cbc82c6922..90a74ed3e4 100644 --- a/tests/FSharp.Compiler.Service.Tests/TooltipTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/TooltipTests.fs @@ -9,11 +9,12 @@ open FSharp.Compiler.Text open FSharp.Compiler.Tokenization open FSharp.Compiler.EditorServices open FSharp.Compiler.Symbols -open FSharp.Compiler.Xml open FSharp.Test open Xunit -let testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource line colAtEndOfNames lineText names (expectedContent: string) = +let testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource (expectedContent: string) = + let implSource, lineText, pos, plid, names = getPartialIdentifierAndPrepareSource implSource + let files = Map.ofArray [| "A.fsi", @@ -43,7 +44,7 @@ let testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource line colAtEn | _, FSharpCheckFileAnswer.Succeeded(checkResults) -> // Get the tooltip for (line, colAtEndOfNames) in the implementation file let (ToolTipText tooltipElements) = - checkResults.GetToolTip(line, colAtEndOfNames, lineText, names, FSharpTokenTag.Identifier) + checkResults.GetToolTip(pos.Line, pos.Column, lineText, names, FSharpTokenTag.Identifier) match tooltipElements with | ToolTipElement.Group [ element ] :: _ -> @@ -55,14 +56,14 @@ let testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource line colAtEn | elements -> failwith $"Expected at least one tooltip group element, got {elements}" | _ -> failwith "Expected checking to succeed." - + [] let ``Display XML doc of signature file for let if implementation doesn't have one`` () = let sigSource = """ module Foo -/// Great XML doc comment +/// Comment val bar: a: int -> b: int -> int """ @@ -70,11 +71,10 @@ val bar: a: int -> b: int -> int """ module Foo -// No XML doc here because the signature file has one right? -let bar a b = a - b +let bar{caret} a b = a - b """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 4 4 "let bar a b = a - b" [ "bar" ] "Great XML doc comment" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" [] @@ -83,7 +83,7 @@ let ``Display XML doc of signature file for partial AP if implementation doesn't """ module Foo -/// Some Sig Doc on IsThree +/// Comment val (|IsThree|_|): x: int -> int option """ @@ -91,11 +91,10 @@ val (|IsThree|_|): x: int -> int option """ module Foo -// No XML doc here because the signature file has one right? -let (|IsThree|_|) x = if x = 3 then Some x else None +let (|IsThr{caret}ee|_|) x = if x = 3 then Some x else None """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 4 4 "let (|IsThree|_|) x = if x = 3 then Some x else None" [ "IsThree" ] "Some Sig Doc on IsThree" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" [] @@ -104,7 +103,7 @@ let ``Display XML doc of signature file for DU if implementation doesn't have on """ module Foo -/// Some sig comment on the disc union type +/// Comment type Bar = | Case1 of int * string | Case2 of string @@ -114,13 +113,12 @@ type Bar = """ module Foo -// No XML doc here because the signature file has one right? -type Bar = +type Bar{caret} = | Case1 of int * string | Case2 of string """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 4 7 "type Bar =" [ "Bar" ] "Some sig comment on the disc union type" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" [] @@ -131,7 +129,7 @@ module Foo type Bar = | BarCase1 of int * string - /// Some sig comment on the disc union case + /// CommentSig | BarCase2 of string """ @@ -141,11 +139,11 @@ module Foo type Bar = | BarCase1 of int * string - // No XML doc here because the signature file has one right? - | BarCase2 of string + // CommentImpl + | BarCase2{caret} of string """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 7 14 " | BarCase2 of string" [ "BarCase2" ] "Some sig comment on the disc union case" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "CommentSig" [] @@ -154,7 +152,7 @@ let ``Display XML doc of signature file for record type if implementation doesn' """ module Foo -/// Some sig comment on record type +/// Comment type Bar = { SomeField: int } @@ -164,12 +162,12 @@ type Bar = { """ module Foo -type Bar = { +type B{caret}ar = { SomeField: int } """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 3 9 "type Bar = {" [ "Bar" ] "Some sig comment on record type" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" [] @@ -179,7 +177,7 @@ let ``Display XML doc of signature file for record field if implementation doesn module Foo type Bar = { - /// Some sig comment on record field + /// Comment SomeField: int } """ @@ -189,11 +187,11 @@ type Bar = { module Foo type Bar = { - SomeField: int + SomeFiel{caret}d: int } """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 5 13 " SomeField: int" [ "SomeField" ] "Some sig comment on record field" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" [] @@ -212,11 +210,11 @@ type Bar = """ module Foo -type Bar() = +type B{caret}ar() = member val Foo = "bla" with get, set """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 3 9 "type Bar() =" [ "Bar" ] "Some sig comment on class type" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Some sig comment on class type" [] @@ -227,9 +225,9 @@ module Foo type Bar = new: unit -> Bar - /// Some sig comment on auto property + /// Comment1 member Foo: string - /// Some sig comment on class member + /// Comment2 member Func: int -> int -> int """ @@ -239,17 +237,17 @@ module Foo type Bar() = member val Foo = "bla" with get, set - member _.Func x y = x * y + member _.Func{caret} x y = x * y """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 6 30 " member _.Func x y = x * y" [ "_"; "Func" ] "Some sig comment on class member" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment2" [] let ``Display XML doc of signature file for module if implementation doesn't have one`` () = let sigSource = """ -/// Some sig comment on module +/// Comment module Foo val a: int @@ -257,15 +255,16 @@ val a: int let implSource = """ -module Foo +module Fo{caret}o let a = 23 """ - testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource 2 10 "module Foo" [ "Foo" ] "Some sig comment on module" + testXmlDocFallbackToSigFileWhileInImplFile sigSource implSource "Comment" -let testToolTipSquashing source line colAtEndOfNames lineText names tokenTag = +let testToolTipSquashing source = + let source, lineText, pos, plid, names = getPartialIdentifierAndPrepareSource source let files = Map.ofArray [| "A.fs", @@ -292,10 +291,10 @@ let testToolTipSquashing source line colAtEndOfNames lineText names tokenTag = // Get the tooltip for `bar` let (ToolTipText tooltipElements) = - checkResults.GetToolTip(line, colAtEndOfNames, lineText, names, tokenTag) + checkResults.GetToolTip(pos.Line, pos.Column, lineText, names, FSharpTokenTag.Identifier) let (ToolTipText tooltipElementsSquashed) = - checkResults.GetToolTip(line, colAtEndOfNames, lineText, names, tokenTag, 10) + checkResults.GetToolTip(pos.Line, pos.Column, lineText, names, FSharpTokenTag.Identifier, 10) match tooltipElements, tooltipElementsSquashed with | groups, groupsSquashed -> let breaks = @@ -325,71 +324,57 @@ let testToolTipSquashing source line colAtEndOfNames lineText names tokenTag = [] let ``Squashed tooltip of long function signature should have newlines added`` () = - let source = - """ + testToolTipSquashing """ module Foo -let bar (fileName: string) (fileVersion: int) (sourceText: string) (options: int) (userOpName: string) = 0 +let bar{caret} (fileName: string) (fileVersion: int) (sourceText: string) (options: int) (userOpName: string) = 0 """ - testToolTipSquashing source 3 6 "let bar (fileName: string) (fileVersion: int) (sourceText: string) (options: int) (userOpName: string) = 0;" [ "bar" ] FSharpTokenTag.Identifier - [] let ``Squashed tooltip of record with long field signature should have newlines added`` () = - let source = - """ + testToolTipSquashing """ module Foo -type Foo = +type Fo{caret}o = { Field1: string Field2: (string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string) } """ - testToolTipSquashing source 3 7 "type Foo =" [ "Foo" ] FSharpTokenTag.Identifier - [] let ``Squashed tooltip of DU with long case signature should have newlines added`` () = - let source = - """ + testToolTipSquashing """ module Foo -type SomeDiscUnion = +type SomeDis{caret}cUnion = | Case1 of string | Case2 of (string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string * string) """ - testToolTipSquashing source 3 7 "type SomeDiscUnion =" [ "SomeDiscUnion" ] FSharpTokenTag.Identifier - [] let ``Squashed tooltip of constructor with long signature should have newlines added`` () = - let source = - """ + testToolTipSquashing """ module Foo -type SomeClass(a1: int, a2: int, a3: int, a4: int, a5: int, a6: int, a7: int, a8: int, a9: int, a10: int, a11: int, a12: int, a13: int, a14: int, a15: int, a16: int, a17: int, a18: int, a19: int, a20: int) = +type Some{caret}Class(a1: int, a2: int, a3: int, a4: int, a5: int, a6: int, a7: int, a8: int, a9: int, a10: int, a11: int, a12: int, a13: int, a14: int, a15: int, a16: int, a17: int, a18: int, a19: int, a20: int) = member _.A = a1 """ - testToolTipSquashing source 3 7 "type SomeClass(a1: int, a2: int, a3: int, a4: int, a5: int, a6: int, a7: int, a8: int, a9: int, a10: int, a11: int, a12: int, a13: int, a14: int, a15: int, a16: int, a17: int, a18: int, a19: int, a20: int) =" [ "SomeClass" ] FSharpTokenTag.Identifier - [] let ``Squashed tooltip of property with long signature should have newlines added`` () = - let source = - """ + testToolTipSquashing """ module Foo type SomeClass() = member _.Abc: (int * int * int * int * int * int * int * int * int * int * int * int * int * int * int * int * int * int * int * int) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 let c = SomeClass() -c.Abc +c.Ab{caret}c """ - testToolTipSquashing source 7 5 "c.Abc" [ "c"; "Abc" ] FSharpTokenTag.Identifier let getCheckResults source options = let fileName, options = diff --git a/tests/FSharp.Compiler.Service.Tests/WarnScopeTests.fs b/tests/FSharp.Compiler.Service.Tests/WarnScopeTests.fs new file mode 100644 index 0000000000..6348fa560f --- /dev/null +++ b/tests/FSharp.Compiler.Service.Tests/WarnScopeTests.fs @@ -0,0 +1,210 @@ +module FSharp.Compiler.Service.Tests.WarnScopeTests + +open Xunit +open FSharp.Test +open FSharp.Test.Assert +open FSharp.Compiler.CodeAnalysis +open FSharp.Compiler.Diagnostics +open FSharp.Compiler.Service.Tests.Common +open FSharp.Compiler.Text + +module private ProjectForNoWarnHashDirective = + + let fileSource1 = """ +module N.M +#nowarn "40" +let rec f = new System.EventHandler(fun _ _ -> f.Invoke(null,null)) +""" + + let createOptions() = createProjectOptions [fileSource1] [] + +[] +let ``Test NoWarn HashDirective`` () = + let options = ProjectForNoWarnHashDirective.createOptions() + let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) + let wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate + + for e in wholeProjectResults.Diagnostics do + printfn "ProjectForNoWarnHashDirective error: <<<%s>>>" e.Message + + wholeProjectResults.Diagnostics.Length |> shouldEqual 0 + +let private sourceForParseError = """ +module N.M +#nowarn 0xy +() +""" + +[] +let ``RegressionTestForMissingParseError(TransparentCompiler)`` () = + let options = createProjectOptions [sourceForParseError] [] + let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) + let wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate + wholeProjectResults.Diagnostics.Length |> shouldEqual 1 + wholeProjectResults.Diagnostics.[0].ErrorNumber |> shouldEqual 203 + wholeProjectResults.Diagnostics.[0].Range.StartLine |> shouldEqual 3 + +[] +let ``RegressionTestForDuplicateParseError(BackgroundCompiler)`` () = + let options = createProjectOptions [sourceForParseError] [] + let exprChecker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) + let sourceName = options.SourceFiles[0] + let _wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate + let _, checkResults = exprChecker.GetBackgroundCheckResultsForFileInProject(sourceName, options) |> Async.RunImmediate + checkResults.Diagnostics.Length |> shouldEqual 1 + checkResults.Diagnostics.[0].ErrorNumber |> shouldEqual 203 + checkResults.Diagnostics.[0].Range.StartLine |> shouldEqual 3 + +type private Expected = + | Err of errorNumber: int * lineNumber: int + | Warn of errorNumber: int * lineNumber: int +type private TestDef = {source: string; errors: Map} + +let private justNowarnTest = {source = """ +module N.M +"" +#nowarn "20" +"" +"" +"" +() +"""; errors = Map["9.0", [Warn(20, 3)]; "preview", [Warn(20, 3)]]} + +let private noNowarnTest = {source = """ +module N.M +"" +"" +"" +"" +() +"""; errors = Map[ + "9.0", [Warn(20, 3); Warn(20, 4); Warn(20, 5); Warn(20, 6)] + "preview", [Warn(20, 3); Warn(20, 4); Warn(20, 5); Warn(20, 6) + ]]} + +let private onOffTest = {source = """ +module N.M +"" +#nowarn "20" +"" +#warnon "20" +"" +#nowarn "20" +"" +() +"""; errors = Map["9.0", [Err(3350, 6); Warn(20, 3)]; "preview", [Warn(20, 3); Warn(20, 7)]]} + +let mkProjectOptionsAndChecker langVersion = + let options = createProjectOptions [onOffTest.source] [$"--langversion:{langVersion}"] + let checker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) + options, checker + +let private checkDiagnostics (expected: Expected list) (diagnostics: FSharpDiagnostic list) = + let fail() = + printfn $"expected:" + for exp in expected do printfn $"{exp}" + printfn $"actual:" + for diag in diagnostics do printfn $"{diag.Severity} {diag.ErrorNumber} {diag.StartLine}" + Assert.Fail "unexpected diagnostics" + let unexpected(exp, diag: FSharpDiagnostic) = + match exp with + | Err(errno, line) -> + diag.Severity <> FSharpDiagnosticSeverity.Error || errno <> diag.ErrorNumber || line <> diag.StartLine + | Warn(errno, line) -> + diag.Severity <> FSharpDiagnosticSeverity.Warning || errno <> diag.ErrorNumber || line <> diag.StartLine + if diagnostics.Length <> expected.Length then fail() + elif List.exists unexpected (List.zip expected diagnostics) then fail() + +[] +[] +[] +let ParseAndCheckProjectTest langVersion = + let options, checker = mkProjectOptionsAndChecker langVersion + let wholeProjectResults = checker.ParseAndCheckProject(options) |> Async.RunImmediate + checkDiagnostics onOffTest.errors[langVersion] (Array.toList wholeProjectResults.Diagnostics) + +[] +[] +[] +let ParseAndCheckFileInProjectTest langVersion = + let options, checker = mkProjectOptionsAndChecker langVersion + let sourceName = options.SourceFiles[0] + let parseAndCheckFileInProject testDef = + let source = SourceText.ofString testDef.source + let _, checkAnswer = checker.ParseAndCheckFileInProject(sourceName, 0, source, options) |> Async.RunImmediate + match checkAnswer with + | FSharpCheckFileAnswer.Aborted -> Assert.Fail("Expected error, got Aborted") + | FSharpCheckFileAnswer.Succeeded checkResults -> + checkDiagnostics testDef.errors[langVersion] (Array.toList checkResults.Diagnostics) + [justNowarnTest; noNowarnTest; onOffTest] |> List.iter parseAndCheckFileInProject + +[] +[] +[] +let CheckFileInProjectTest langVersion = + let projectOptions, checker = mkProjectOptionsAndChecker langVersion + let sourceName = projectOptions.SourceFiles[0] + let parsingOptions = {FSharpParsingOptions.Default with SourceFiles = [|sourceName|]; LangVersionText = langVersion} + let checkFileInProject testDef = + let source = SourceText.ofString testDef.source + let parseResults = checker.ParseFile(sourceName, source, parsingOptions) |> Async.RunImmediate + let checkAnswer = checker.CheckFileInProject(parseResults, sourceName, 0, source, projectOptions) |> Async.RunImmediate + match checkAnswer with + | FSharpCheckFileAnswer.Aborted -> Assert.Fail("Expected error, got Aborted") + | FSharpCheckFileAnswer.Succeeded checkResults -> + checkDiagnostics testDef.errors[langVersion] (Array.toList checkResults.Diagnostics) + [justNowarnTest; noNowarnTest; onOffTest] |> List.iter checkFileInProject + +[] +[] +[] +let GetBackgroundCheckResultsForFileInProjectTest langVersion = + let options, checker = mkProjectOptionsAndChecker langVersion + let sourceName = options.SourceFiles[0] + let _wholeProjectResults = checker.ParseAndCheckProject(options) |> Async.RunImmediate + let _, checkResults = checker.GetBackgroundCheckResultsForFileInProject(sourceName, options) |> Async.RunImmediate + checkDiagnostics onOffTest.errors[langVersion] (Array.toList checkResults.Diagnostics) + +let private warnEdits = [ + "module X\n#nowarn 20\n0\n#warnon 20\n0", [Warn(20, 5)]; + "module X\n#nowarn 20\n0\n#warnon 21\n0", []; + "module X\n#nowarn 20\n0\n#warnon 20\n0", [Warn(20, 5)]; +] + +let private createProjectOptions() = + let args = mkProjectCommandLineArgs ("warnEdits.dll", []) + checker.GetProjectOptionsFromCommandLineArgs ("warnEdits.fsproj", args) + +#nowarn 57 +[] +let EditUndoCheckTest () = + let sourceName, projName, outputName = "warnEdits.fs", "warnEdits.fsproj", "warnEdits.dll" + let checker = FSharpChecker.Create(keepAssemblyContents=true, useTransparentCompiler=CompilerAssertHelpers.UseTransparentCompiler) + let emptyDocSource = DocumentSource.Custom(fun s -> async {return Some (SourceText.ofString "")}) + let args = mkProjectCommandLineArgs(outputName, []) + let options = {checker.GetProjectOptionsFromCommandLineArgs(projName, args) with SourceFiles = [| sourceName |]} + let snapshot = FSharpProjectSnapshot.FromOptions(options, emptyDocSource) |> Async.RunImmediate + let parseAndCheckFileInProject i (sourceText, errors) = + let getSource() = System.Threading.Tasks.Task.FromResult(SourceTextNew.ofString sourceText) + let fileSnapshot = ProjectSnapshot.FSharpFileSnapshot(sourceName, string i, getSource) + let snapshot = FSharpProjectSnapshot.Create( + snapshot.ProjectFileName, + snapshot.OutputFileName, + snapshot.ProjectId, + [fileSnapshot], + snapshot.ReferencesOnDisk, + snapshot.OtherOptions, + snapshot.ReferencedProjects, + snapshot.IsIncompleteTypeCheckEnvironment, + snapshot.UseScriptResolutionRules, + snapshot.LoadTime, + snapshot.UnresolvedReferences, + snapshot.OriginalLoadReferences, + None + ) + let _, checkAnswer = checker.ParseAndCheckFileInProject(sourceName, snapshot) |> Async.RunImmediate + match checkAnswer with + | FSharpCheckFileAnswer.Aborted -> Assert.Fail("Expected error, got Aborted") + | FSharpCheckFileAnswer.Succeeded checkResults -> + checkDiagnostics errors (Array.toList checkResults.Diagnostics) + warnEdits |> List.iteri parseAndCheckFileInProject diff --git a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ArrayModule.fs b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ArrayModule.fs index 662a729e28..16bc5d4fbd 100644 --- a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ArrayModule.fs +++ b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ArrayModule.fs @@ -2226,6 +2226,14 @@ type ArrayModule() = CheckThrowsArgumentException (fun () -> Array.randomChoices choicesLength emptyArr |> ignore) CheckThrowsArgumentException (fun () -> Array.randomChoices negativeChoicesLength arr |> ignore) + [] + member _.RandomChoicesEmpty() = + let emptyArr = [||] + + let choice = emptyArr |> Array.randomChoices 0 + + Assert.AreEqual([||], choice) + [] member _.RandomChoicesWith() = let arr = [| 1..50 |] @@ -2291,6 +2299,14 @@ type ArrayModule() = CheckThrowsArgumentException (fun () -> Array.randomChoicesBy randomizer choicesLength emptyArr |> ignore) CheckThrowsArgumentException (fun () -> Array.randomChoicesBy randomizer negativeChoicesLength arr |> ignore) + [] + member _.RandomChoicesByEmpty() = + let emptyArr = [||] + + let choice = emptyArr |> Array.randomChoicesBy (fun () -> 1.0) 0 + + Assert.AreEqual([||], choice) + [] member _.RandomSample() = let arr = [| 1..50 |] @@ -2319,6 +2335,14 @@ type ArrayModule() = CheckThrowsArgumentException (fun () -> Array.randomSample negativeSampleLength arr |> ignore) CheckThrowsArgumentException (fun () -> Array.randomSample tooBigSampleLength arr |> ignore) + [] + member _.RandomSampleEmpty() = + let emptyArr = [||] + + let choice = emptyArr |> Array.randomSample 0 + + Assert.AreEqual([||], choice) + [] member _.RandomSampleWith() = let arr = [| 1..50 |] @@ -2394,4 +2418,12 @@ type ArrayModule() = CheckThrowsArgumentOutOfRangeException (fun () -> Array.randomSampleBy wrongRandomizer sampleLength arr |> ignore)) CheckThrowsArgumentException (fun () -> Array.randomSampleBy randomizer sampleLength emptyArr |> ignore) CheckThrowsArgumentException (fun () -> Array.randomSampleBy randomizer negativeSampleLength arr |> ignore) - CheckThrowsArgumentException (fun () -> Array.randomSampleBy randomizer tooBigSampleLength arr |> ignore) \ No newline at end of file + CheckThrowsArgumentException (fun () -> Array.randomSampleBy randomizer tooBigSampleLength arr |> ignore) + + [] + member _.RandomSampleByEmpty() = + let emptyArr = [||] + + let choice = emptyArr |> Array.randomSampleBy (fun () -> 1.0) 0 + + Assert.AreEqual([||], choice) \ No newline at end of file diff --git a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ListModule.fs b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ListModule.fs index 8b0fcf507e..64f58ebea5 100644 --- a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ListModule.fs +++ b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/ListModule.fs @@ -1240,6 +1240,14 @@ type ListModule() = CheckThrowsArgumentException (fun () -> List.randomChoices choicesLength emptyList |> ignore) CheckThrowsArgumentException (fun () -> List.randomChoices negativeChoicesLength list |> ignore) + [] + member _.RandomChoicesEmpty() = + let list = [] + + let choice = list |> List.randomChoices 0 + + Assert.AreEqual([], choice) + [] member _.RandomChoicesWith() = let list = [ 1..50 ] @@ -1296,6 +1304,14 @@ type ListModule() = CheckThrowsArgumentException (fun () -> List.randomChoicesBy randomizer choicesLength emptyList |> ignore) CheckThrowsArgumentException (fun () -> List.randomChoicesBy randomizer negativeChoicesLength list |> ignore) + [] + member _.RandomChoicesByEmpty() = + let list = [] + + let choice = list |> List.randomSampleBy (fun () -> 1.0) 0 + + Assert.AreEqual([], choice) + [] member _.RandomSample() = let arr = [ 1..50 ] @@ -1321,7 +1337,15 @@ type ListModule() = CheckThrowsArgumentException (fun () -> List.randomSample sampleLength emptyList |> ignore) CheckThrowsArgumentException (fun () -> List.randomSample negativeSampleLength list |> ignore) CheckThrowsArgumentException (fun () -> List.randomSample tooBigSampleLength list |> ignore) - + + [] + member _.RandomSampleEmpty() = + let list = [] + + let choice = list |> List.randomSample 0 + + Assert.AreEqual([], choice) + [] member _.RandomSampleWith() = let list = [ 1..50 ] @@ -1388,4 +1412,12 @@ type ListModule() = CheckThrowsArgumentOutOfRangeException (fun () -> List.randomSampleBy wrongRandomizer sampleLength list |> ignore) CheckThrowsArgumentException (fun () -> List.randomSampleBy randomizer sampleLength emptyArr |> ignore) CheckThrowsArgumentException (fun () -> List.randomSampleBy randomizer negativeSampleLength list |> ignore) - CheckThrowsArgumentException (fun () -> List.randomSampleBy randomizer tooBigSampleLength list |> ignore) \ No newline at end of file + CheckThrowsArgumentException (fun () -> List.randomSampleBy randomizer tooBigSampleLength list |> ignore) + + [] + member _.RandomSampleByEmpty() = + let list = [] + + let choice = list |> List.randomSampleBy (fun () -> 1.0) 0 + + Assert.AreEqual([], choice) diff --git a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/SeqModule.fs b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/SeqModule.fs index f2f8893350..5d37b1ecdf 100644 --- a/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/SeqModule.fs +++ b/tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Collections/SeqModule.fs @@ -1332,6 +1332,14 @@ type SeqModule() = CheckThrowsArgumentException (fun () -> Seq.randomChoices choicesLength emptySeq |> ignore) CheckThrowsArgumentException (fun () -> Seq.randomChoices negativeChoicesLength intSeq |> ignore) + [] + member _.RandomChoicesEmpty() = + let seq = Seq.empty + + let choice = seq |> Seq.randomChoices 0 + + Assert.AreEqual(0, choice |> Seq.length) + [] member _.RandomChoicesWith() = let seq = seq { 1..50 } @@ -1392,6 +1400,14 @@ type SeqModule() = CheckThrowsArgumentException (fun () -> Seq.randomChoicesBy randomizer choicesLength emptySeq |> ignore) CheckThrowsArgumentException (fun () -> Seq.randomChoicesBy randomizer negativeChoicesLength intSeq |> ignore) + [] + member _.RandomChoicesByEmpty() = + let seq = Seq.empty + + let choice = seq |> Seq.randomChoicesBy (fun () -> 1.0) 0 + + Assert.AreEqual(0, choice |> Seq.length) + [] member _.RandomSample() = let intSeq = seq { 1..50 } @@ -1421,6 +1437,14 @@ type SeqModule() = CheckThrowsArgumentException (fun () -> Seq.randomSample negativeSampleLength intSeq |> ignore) CheckThrowsArgumentException (fun () -> Seq.randomSample tooBigSampleLength intSeq |> ignore) + [] + member _.RandomSampleEmpty() = + let seq = Seq.empty + + let choice = seq |> Seq.randomSample 0 + + Assert.AreEqual(0, choice |> Seq.length) + [] member _.RandomSampleWith() = let intSeq = seq { 1..50 } @@ -1491,4 +1515,12 @@ type SeqModule() = CheckThrowsArgumentOutOfRangeException (fun () -> Seq.randomSampleBy wrongRandomizer sampleLength intSeq |> Seq.toList |> ignore) CheckThrowsArgumentException (fun () -> Seq.randomSampleBy randomizer sampleLength emptySeq |> ignore) CheckThrowsArgumentException (fun () -> Seq.randomSampleBy randomizer negativeSampleLength intSeq |> ignore) - CheckThrowsArgumentException (fun () -> Seq.randomSampleBy randomizer tooBigSampleLength intSeq |> ignore) \ No newline at end of file + CheckThrowsArgumentException (fun () -> Seq.randomSampleBy randomizer tooBigSampleLength intSeq |> ignore) + + [] + member _.RandomSampleByEmpty() = + let seq = Seq.empty + + let choice = seq |> Seq.randomSampleBy (fun () -> 1.0) 0 + + Assert.AreEqual(0, choice |> Seq.length) \ No newline at end of file diff --git a/tests/FSharp.Core.UnitTests/FSharp.Core/OperatorsModule2.fs b/tests/FSharp.Core.UnitTests/FSharp.Core/OperatorsModule2.fs index 3e0ea65274..358c155a3a 100644 --- a/tests/FSharp.Core.UnitTests/FSharp.Core/OperatorsModule2.fs +++ b/tests/FSharp.Core.UnitTests/FSharp.Core/OperatorsModule2.fs @@ -33,6 +33,11 @@ type TestFs0670Error<'T> = // See: https://github.com/dotnet/fsharp/issues/7958 Operators.string x +type CultureWithDifferentNegativeSign () as this = + inherit CultureInfo "" + do this.NumberFormat.NegativeSign <- "🙃" + override _.DisplayName = nameof CultureWithDifferentNegativeSign + type OperatorsModule2() = [] @@ -833,7 +838,6 @@ type OperatorsModule2() = [] member _.string() = - let result = Operators.string null Assert.AreEqual("", result) @@ -884,32 +888,36 @@ type OperatorsModule2() = Assert.AreEqual("", result) // Following tests ensure that InvariantCulture is used if type implements IFormattable - - // safe current culture, then switch culture - let currentCI = Thread.CurrentThread.CurrentCulture - Thread.CurrentThread.CurrentCulture <- CultureInfo.GetCultureInfo("de-DE") - // make sure the culture switch happened, and verify - let wrongResult = 123.456M.ToString() - Assert.AreEqual("123,456", wrongResult) + let runWithCulture culture f = + let currentCulture = Thread.CurrentThread.CurrentCulture + Thread.CurrentThread.CurrentCulture <- culture + try f () finally Thread.CurrentThread.CurrentCulture <- currentCulture - // test that culture has no influence on decimals with `string` - let correctResult = Operators.string 123.456M - Assert.AreEqual("123.456", correctResult) + let numbersAndDates () = + // make sure the culture switch happened, and verify + let wrongResult = 123.456M.ToString() + Assert.AreEqual("123,456", wrongResult) - // make sure that the German culture is indeed selected for DateTime - let dttm = DateTime(2020, 6, 23) - let wrongResult = dttm.ToString() - Assert.AreEqual("23.06.2020 00:00:00", wrongResult) + // test that culture has no influence on decimals with `string` + let correctResult = Operators.string 123.456M + Assert.AreEqual("123.456", correctResult) - // test that culture has no influence on DateTime types when used with `string` - let correctResult = Operators.string dttm - Assert.AreEqual("06/23/2020 00:00:00", correctResult) + // make sure that the German culture is indeed selected for DateTime + let dttm = DateTime(2020, 6, 23) + let wrongResult = dttm.ToString() + Assert.AreEqual("23.06.2020 00:00:00", wrongResult) - // reset the culture - Thread.CurrentThread.CurrentCulture <- currentCI + // test that culture has no influence on DateTime types when used with `string` + let correctResult = Operators.string dttm + Assert.AreEqual("06/23/2020 00:00:00", correctResult) + let enums () = + Assert.AreEqual("Wednesday", Operators.string DayOfWeek.Wednesday) + Assert.AreEqual($"%s{Thread.CurrentThread.CurrentCulture.NumberFormat.NegativeSign}1", Operators.string (enum -1)) + numbersAndDates |> runWithCulture (CultureInfo.GetCultureInfo "de-DE") + enums |> runWithCulture (CultureWithDifferentNegativeSign ()) [] member _.``string: don't raise FS0670 anymore``() = diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index 2b3ccface3..e3c9269a5b 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -1154,7 +1154,17 @@ module rec Compiler = evalFSharp fs script | _ -> failwith "Script evaluation is only supported for F#." - let getSessionForEval args version = new FSharpScript(additionalArgs=args,quiet=true,langVersion=version) + let internal sessionCache = + Collections.Concurrent.ConcurrentDictionary * LangVersion, FSharpScript>() + + let getSessionForEval args version = + let key = Set args, version + match sessionCache.TryGetValue(key) with + | true, script -> script + | _ -> + let script = new FSharpScript(additionalArgs=args,quiet=true,langVersion=version) + sessionCache.TryAdd(key, script) |> ignore + script let evalInSharedSession (script:FSharpScript) (cUnit: CompilationUnit) : CompilationResult = match cUnit with @@ -1619,7 +1629,8 @@ Actual: (sourceErrors, expectedErrors) ||> List.iter2 (fun actual expected -> - Assert.Equal(expected, actual)) + try Assert.Equal(expected, actual) + with | _ -> failwith $"%s{what}:\nactual:\n %s{actual}\nexpected:\n %s{expected}") let adjust (adjust: int) (result: CompilationResult) : CompilationResult = match result with @@ -1661,20 +1672,47 @@ Actual: let private withResultIgnoreNativeRange (expectedResult: ErrorInfo ) (result: CompilationResult) : CompilationResult = withResultsIgnoreNativeRange [expectedResult] result - let withDiagnostics (expected: (ErrorType * Line * Col * Line * Col * string) list) (result: CompilationResult) : CompilationResult = - let expectedResults: ErrorInfo list = - [ for e in expected do - let (error, Line startLine, Col startCol, Line endLine, Col endCol, message) = e - { Error = error - Range = - { StartLine = startLine - StartColumn = startCol - EndLine = endLine - EndColumn = endCol } - NativeRange = Unchecked.defaultof<_> - SubCategory = "" - Message = message } ] - withResultsIgnoreNativeRange expectedResults result + let private convertExpectedsToErrorInfos(expected: (ErrorType * Line * Col * Line * Col * string) list): ErrorInfo list = [ + for e in expected do + let (error, Line startLine, Col startCol, Line endLine, Col endCol, message) = e + { + Error = error + Range = { + StartLine = startLine + StartColumn = startCol + EndLine = endLine + EndColumn = endCol + } + NativeRange = Unchecked.defaultof<_> + SubCategory = "" + Message = message + } + ] + + let private convertDiagnosticsToErrorInfos (diagnostics: FSharpDiagnostic[]) : ErrorInfo list = + diagnostics + |> Array.map (fun diagnostic -> + let errorType = + match diagnostic.Severity with + | FSharpDiagnosticSeverity.Error -> Error diagnostic.ErrorNumber + | FSharpDiagnosticSeverity.Warning -> Warning diagnostic.ErrorNumber + | FSharpDiagnosticSeverity.Info -> Information diagnostic.ErrorNumber + | FSharpDiagnosticSeverity.Hidden -> Hidden diagnostic.ErrorNumber + { + Error = errorType + Range = { + StartLine = diagnostic.StartLine + StartColumn = diagnostic.StartColumn + EndLine = diagnostic.EndLine + EndColumn = diagnostic.EndColumn + } + NativeRange = diagnostic.Range + Message = diagnostic.Message + SubCategory = diagnostic.Subcategory + }) |> Array.toList + + let withDiagnostics expected (result: CompilationResult) : CompilationResult = + withResultsIgnoreNativeRange (convertExpectedsToErrorInfos expected) result let withSingleDiagnostic (expected: (ErrorType * Line * Col * Line * Col * string)) (result: CompilationResult) : CompilationResult = withDiagnostics [expected] result @@ -1685,6 +1723,10 @@ Actual: let withError (expectedError: ErrorInfo) (result: CompilationResult) : CompilationResult = withErrors [expectedError] result + type Assert = + static member WithDiagnostics(libAdjust, result, expected) = + assertErrors "Results" libAdjust (convertDiagnosticsToErrorInfos result) (convertExpectedsToErrorInfos expected) + module StructuredResultsAsserts = type SimpleErrorInfo = { Error: ErrorType diff --git a/tests/FSharp.Test.Utilities/CompilerAssert.fs b/tests/FSharp.Test.Utilities/CompilerAssert.fs index 0f7baf597f..f52a66e92b 100644 --- a/tests/FSharp.Test.Utilities/CompilerAssert.fs +++ b/tests/FSharp.Test.Utilities/CompilerAssert.fs @@ -309,6 +309,10 @@ and Compilation = module CompilerAssertHelpers = + let uniqueName = + let mutable counter = 0 + fun (ext: string) -> $"test%x{Interlocked.Increment &counter}{ext}" + let UseTransparentCompiler = FSharp.Compiler.CompilerConfig.FSharpExperimentalFeaturesEnabledAutomatically || not (String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("TEST_TRANSPARENT_COMPILER"))) @@ -407,7 +411,7 @@ module CompilerAssertHelpers = #endif |] { - ProjectFileName = "Z:\\test.fsproj" + ProjectFileName = "Z:\\" ++ uniqueName ".fsproj" ProjectId = None SourceFiles = [|"test.fs"|] OtherOptions = Array.append testDefaults assemblies @@ -466,7 +470,7 @@ module CompilerAssertHelpers = yield source.WithFileName(destFileName) ] rawCompile outputFilePath isExe options targetFramework sources - + let assertErrors libAdjust ignoreWarnings (errors: FSharpDiagnostic []) expectedErrors = let errorMessage (error: FSharpDiagnostic) = let errN, range, message = error.ErrorNumber, error.Range, error.Message @@ -694,6 +698,9 @@ Updated automatically, please check diffs in your pull request, changes must be compileCompilation ignoreWarnings cmpl (fun ((errors, _, _), _) -> assertErrors 0 ignoreWarnings errors expectedErrors) + static member assertWithErrors(libAdjust, ignoreWarnings, errors, expectedErrors) = + assertErrors libAdjust, ignoreWarnings, errors, expectedErrors + static member Compile(cmpl: Compilation, ?ignoreWarnings) = CompilerAssert.CompileWithErrors(cmpl, [||], defaultArg ignoreWarnings false) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index 7788cbe652..f651a5dc65 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -8,8 +8,6 @@ true Library true - false - false xunit true $(OtherFlags) --realsig- @@ -75,26 +73,32 @@ - - - - - - - - - - - + + + + + + + + + + + + + $(NoWarn);NU1510 + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - diff --git a/tests/FSharp.Test.Utilities/ScriptHelpers.fs b/tests/FSharp.Test.Utilities/ScriptHelpers.fs index aa0593fa09..f7b68ac812 100644 --- a/tests/FSharp.Test.Utilities/ScriptHelpers.fs +++ b/tests/FSharp.Test.Utilities/ScriptHelpers.fs @@ -64,7 +64,10 @@ type FSharpScript(?additionalArgs: string[], ?quiet: bool, ?langVersion: LangVer Thread.CurrentThread.CurrentCulture <- Option.defaultValue Globalization.CultureInfo.InvariantCulture desiredCulture let cancellationToken = defaultArg cancellationToken CancellationToken.None - let ch, errors = fsi.EvalInteractionNonThrowing(code, cancellationToken) + let ch, errors = + // lock, because For memory conservation in CI FSharpScripts may be reused between tests + lock fsi <| fun () -> + fsi.EvalInteractionNonThrowing(code, cancellationToken) Thread.CurrentThread.CurrentCulture <- originalCulture diff --git a/tests/FSharp.Test.Utilities/XunitHelpers.fs b/tests/FSharp.Test.Utilities/XunitHelpers.fs index 34a44df17e..6f57efef4a 100644 --- a/tests/FSharp.Test.Utilities/XunitHelpers.fs +++ b/tests/FSharp.Test.Utilities/XunitHelpers.fs @@ -10,11 +10,12 @@ open Xunit.Abstractions open TestFramework +open FSharp.Compiler.Caches open FSharp.Compiler.Diagnostics -open OpenTelemetry open OpenTelemetry.Resources open OpenTelemetry.Trace +open OpenTelemetry.Metrics /// Disables custom internal parallelization added with XUNIT_EXTRAS. /// Execute test cases in a class or a module one by one instead of all at once. Allow other collections to run simultaneously. @@ -90,6 +91,23 @@ module TestCaseCustomizations = else testCase.TestMethod + let sha = Security.Cryptography.SHA256.Create() + + // We add extra trait to each test, of the form "batch=n" where n is between 1 and 4. + // It can be used to filter on in multi-agent testing in CI + // with dotnet test filter switch, for example "--filter batch=1" + // That way each agent can run test for a batch of tests. + let NumberOfBatchesInMultiAgentTesting = 4u + + let addBatchTrait (testCase: ITestCase) = + // Get a batch number stable between multiple test runs. + // UniqueID is ideal here, it does not change across many compilations of the same code + // and it will split theories with member data into many batches. + let data = Text.Encoding.UTF8.GetBytes testCase.UniqueID + let hashCode = BitConverter.ToUInt32(sha.ComputeHash(data), 0) + let batch = hashCode % NumberOfBatchesInMultiAgentTesting + 1u + testCase.Traits.Add("batch", ResizeArray [ string batch ]) + type CustomTestCase = inherit XunitTestCase // xUinit demands this constructor for deserialization. @@ -109,6 +127,7 @@ type CustomTestCase = override testCase.Initialize () = base.Initialize() testCase.TestMethod <- TestCaseCustomizations.rewriteTestMethod testCase + TestCaseCustomizations.addBatchTrait testCase type CustomTheoryTestCase = inherit XunitTheoryTestCase @@ -127,9 +146,50 @@ type CustomTheoryTestCase = override testCase.Initialize () = base.Initialize() testCase.TestMethod <- TestCaseCustomizations.rewriteTestMethod testCase + TestCaseCustomizations.addBatchTrait testCase #endif + +type OpenTelemetryExport(testRunName, enable) = + // On Windows forwarding localhost to wsl2 docker container sometimes does not work. Use IP address instead. + let otlpEndpoint = Uri("http://127.0.0.1:4317") + + // Configure OpenTelemetry export. + let providers : IDisposable list = + if not enable then [] else + [ + // Configure OpenTelemetry tracing export. Traces can be viewed in Jaeger or other compatible tools. + OpenTelemetry.Sdk.CreateTracerProviderBuilder() + .AddSource(ActivityNames.FscSourceName) + .ConfigureResource(fun r -> r.AddService("F#") |> ignore) + .AddOtlpExporter(fun o -> + o.Endpoint <- otlpEndpoint + o.Protocol <- OpenTelemetry.Exporter.OtlpExportProtocol.Grpc + // Empirical values to ensure no traces are lost and no significant delay at the end of test run. + o.TimeoutMilliseconds <- 200 + o.BatchExportProcessorOptions.MaxQueueSize <- 16384 + o.BatchExportProcessorOptions.ScheduledDelayMilliseconds <- 100 + ) + .Build() + + // Configure OpenTelemetry metrics export. Metrics can be viewed in Prometheus or other compatible tools. + OpenTelemetry.Sdk.CreateMeterProviderBuilder() + .AddMeter(CacheMetrics.Meter.Name) + .AddMeter("System.Runtime") + .ConfigureResource(fun r -> r.AddService(testRunName) |> ignore) + .AddOtlpExporter(fun e m -> + e.Endpoint <- otlpEndpoint + e.Protocol <- OpenTelemetry.Exporter.OtlpExportProtocol.Grpc + m.PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds <- 1000 + ) + .Build() + ] + + interface IDisposable with + member this.Dispose() = + for p in providers do p.Dispose() + /// `XunitTestFramework` providing parallel console support and conditionally enabling optional xUnit customizations. type FSharpXunitFramework(sink: IMessageSink) = inherit XunitTestFramework(sink) @@ -145,33 +205,25 @@ type FSharpXunitFramework(sink: IMessageSink) = // We need AssemblyResolver already here, because OpenTelemetry loads some assemblies dynamically. AssemblyResolver.addResolver () #endif - - // Configure OpenTelemetry export. Traces can be viewed in Jaeger or other compatible tools. - use tracerProvider = - OpenTelemetry.Sdk.CreateTracerProviderBuilder() - .AddSource(ActivityNames.FscSourceName) - .ConfigureResource(fun r -> r.AddService("F#") |> ignore) - .AddOtlpExporter(fun o -> - // Empirical values to ensure no traces are lost and no significant delay at the end of test run. - o.TimeoutMilliseconds <- 200 - o.BatchExportProcessorOptions.MaxQueueSize <- 16384 - o.BatchExportProcessorOptions.ScheduledDelayMilliseconds <- 100 - ) - .Build() + // Override cache capacity to reduce memory usage in CI. + Cache.OverrideCapacityForTesting() + + let testRunName = $"RunTests_{assemblyName.Name} {Runtime.InteropServices.RuntimeInformation.FrameworkDescription}" + + use _ = new OpenTelemetryExport(testRunName, Environment.GetEnvironmentVariable("FSHARP_OTEL_EXPORT") <> null) + logConfig initialConfig log "Installing TestConsole redirection" TestConsole.install() begin - use _ = Activity.startNoTags $"RunTests_{assemblyName.Name} {Runtime.InteropServices.RuntimeInformation.FrameworkDescription}" + use _ = Activity.startNoTags testRunName // We can't just call base.RunTestCases here, because it's implementation is async void. use runner = new XunitTestAssemblyRunner (x.TestAssembly, testCases, x.DiagnosticMessageSink, executionMessageSink, executionOptions) runner.RunAsync().Wait() end - tracerProvider.ForceFlush() |> ignore - cleanUpTemporaryDirectoryOfThisTestRun () } diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl index 6cc1807cbf..7b028fc821 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl @@ -21,14 +21,14 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3502-807::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt@110::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3494-807::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt@106::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. [IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+dataTipOfReferences@2225::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000084][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000094][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000082][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000008B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000094][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000E6][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. @@ -37,8 +37,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getOptionArgList@307::Invoke([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x0000003E][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getSwitch@325::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+attempt@373::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000E9F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1845@1845::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1845@1845::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1781@1781::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1781@1781::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000634][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000065][found Byte] Unexpected type on the stack. @@ -54,7 +54,7 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000090][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals@959::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000232][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadUntaggedIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.BinaryConstants+TableName, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32&)][offset 0x0000000D][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x00000799][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000007A1][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+rowKindSize@4445::Invoke([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+RowKind)][offset 0x00000128][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl index a2e883eaf2..2338b087b2 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl @@ -28,19 +28,19 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiStdinSyphon::GetLine(string, int32)][offset 0x00000039][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3502-807::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3494-807::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiInteractionProcessor::CompletionsForPartialLID([FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompilerState, string)][offset 0x0000001B][found Char] Unexpected type on the stack. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt@110::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt@106::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. [IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+dataTipOfReferences@2225::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000084][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseMemberFunctionAndValues@176::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue)][offset 0x00000059][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseEntity@218::GenerateNext([S.P.CoreLib]System.Collections.Generic.IEnumerable`1&)][offset 0x000000DA][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor@1424-6::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x00000605][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000094][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Symbols+fullName@2495-1::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000015][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor@1431-6::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x00000605][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000082][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000008B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-509::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000094][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$Symbols+fullName@2496-1::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000015][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CreateILModule+MainModuleBuilder::ConvertProductVersionToILVersionInfo(string)][offset 0x00000011][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000E6][found Char] Unexpected type on the stack. @@ -53,8 +53,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+attempt@373::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000E9F][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+processArg@333::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x0000004D][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+ResponseFile+parseLine@239::Invoke(string)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1845@1845::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1845@1845::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1781@1781::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+Pipe #1 stage #1 at line 1781@1781::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+line@570-1::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000634][found Char] Unexpected type on the stack. @@ -74,14 +74,14 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000090][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals@959::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000232][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadUntaggedIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.BinaryConstants+TableName, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32&)][offset 0x0000000D][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x00000799][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000007A1][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+rowKindSize@4445::Invoke([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+RowKind)][offset 0x00000128][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.NativeRes+VersionHelper::TryParse(string, bool, uint16, bool, [S.P.CoreLib]System.Version&)][offset 0x0000003D][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL+parseNamed@5311::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>, int32, int32)][offset 0x00000087][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.Utils::shortPath(string)][offset 0x00000048][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment+probePathForDotnetHost@316::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000028][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment+probePathForDotnetHost@317::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000028][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.SimulatedMSBuildReferenceResolver+Pipe #6 input at line 68@68::FSharp.Compiler.CodeAnalysis.ILegacyReferenceResolver.Resolve([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyResolutionEnvironment, [S.P.CoreLib]System.Tuple`2[], string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>)][offset 0x0000034D][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000CD][found Char] Unexpected type on the stack. [IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer@558::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net9.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net9.0.bsl index 3e1b7fcf1c..85719ed70c 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net9.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net9.0.bsl @@ -21,15 +21,15 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3502-850::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3494-850::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+GetReferenceResolutionStructuredToolTipText@2225::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000076][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000064][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000006D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000076][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@291-1::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@291-1::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000064][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000006D][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000076][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@286-1::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@286-1::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A7][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::parseOption@266(string)][offset 0x0000000B][found Char] Unexpected type on the stack. @@ -39,8 +39,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::attempt@372([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000A99][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnderflow]: : FSharp.Compiler.CompilerOptions::DoWithColor([System.Console]System.ConsoleColor, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000005E] Stack underflow. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1845::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1845::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1781::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1781::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059C][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x000005A5][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000011][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted@1873-1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>'] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl index 57710d181f..8468fc0e10 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl @@ -28,20 +28,20 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiStdinSyphon::GetLine(string, int32)][offset 0x00000032][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3502-850::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo@3494-850::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiInteractionProcessor::CompletionsForPartialLID([FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompilerState, string)][offset 0x00000024][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+GetReferenceResolutionStructuredToolTipText@2225::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000076][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseMemberFunctionAndValues@176::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue)][offset 0x0000002B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseEntity@218::GenerateNext([S.P.CoreLib]System.Collections.Generic.IEnumerable`1&)][offset 0x000000BB][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor@1424-11::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x00000620][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000064][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000006D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@921-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000076][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Symbols+fullName@2495-3::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@291-1::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@291-1::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor@1431-11::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x00000620][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000032][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000003B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000064][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000006D][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo@924-530::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000076][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : .$Symbols+fullName@2496-3::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000030][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@286-1::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags@286-1::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CreateILModule+MainModuleBuilder::ConvertProductVersionToILVersionInfo(string)][offset 0x00000010][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A7][found Char] Unexpected type on the stack. @@ -55,8 +55,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::subSystemVersionSwitch$cont@656([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string, [FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000000B][found Char] Unexpected type on the stack. [IL]: Error [StackUnderflow]: : FSharp.Compiler.CompilerOptions::DoWithColor([System.Console]System.ConsoleColor, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000005E] Stack underflow. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+ResponseFile+parseLine@239::Invoke(string)][offset 0x00000026][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1845::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1845::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1781::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode@1781::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories@568-1::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000021][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories@568-1::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000003B][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059C][found Char] Unexpected type on the stack. @@ -108,7 +108,7 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseNamed@5310(uint8[], [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>, int32, int32)][offset 0x0000007E][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.Utils::shortPath(string)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment::probePathForDotnetHost@315([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000002A][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment::probePathForDotnetHost@316([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000002A][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.SimulatedMSBuildReferenceResolver+SimulatedMSBuildResolver@68::FSharp.Compiler.CodeAnalysis.ILegacyReferenceResolver.Resolve([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyResolutionEnvironment, [S.P.CoreLib]System.Tuple`2[], string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>)][offset 0x000002F5][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000B6][found Char] Unexpected type on the stack. [IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer@558::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl index 7f00cdfe04..689981e77f 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl @@ -21,8 +21,8 @@ [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000A0][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2238@2242-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2568@2572-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2250@2254-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2580@2584-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000020][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000031][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl index 7f00cdfe04..689981e77f 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl @@ -21,8 +21,8 @@ [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000A0][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2238@2242-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2568@2572-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2250@2254-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input at line 2580@2584-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000020][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000031][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl index 05a10ae779..afd4bad98c 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl @@ -21,8 +21,8 @@ [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000081][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose@2242-2::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems@2572-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose@2254-2::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems@2584-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000001E][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000002D][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl index 05a10ae779..afd4bad98c 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl @@ -21,8 +21,8 @@ [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000081][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose@2242-2::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems@2572-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose@2254-2::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems@2584-1::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000001E][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000002D][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. diff --git a/tests/fsharp/Compiler/Language/StructActivePatternTests.fs b/tests/fsharp/Compiler/Language/StructActivePatternTests.fs index aac654f549..4c2451142f 100644 --- a/tests/fsharp/Compiler/Language/StructActivePatternTests.fs +++ b/tests/fsharp/Compiler/Language/StructActivePatternTests.fs @@ -176,7 +176,7 @@ let (|Foo|_|) x = ValueNone [] let (|Foo|_|) x = ValueNone """ - [|(FSharpDiagnosticSeverity.Error, 842, (2, 3, 2, 9), + [|(FSharpDiagnosticSeverity.Warning, 842, (2, 3, 2, 9), "This attribute is not valid for use on this language element"); (FSharpDiagnosticSeverity.Error, 3350, (3, 6, 3, 13), "Feature 'Boolean-returning and return-type-directed partial active patterns' is not available in F# 8.0. Please use language version 9.0 or greater.")|] diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index dfc4840d0c..b4540de0b3 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -123,10 +123,13 @@ - - + + + + + diff --git a/tests/fsharp/core/load-script/ProjectDriver.fsx b/tests/fsharp/core/load-script/ProjectDriver.fsx index e614c5a3f7..e394078cc2 100644 --- a/tests/fsharp/core/load-script/ProjectDriver.fsx +++ b/tests/fsharp/core/load-script/ProjectDriver.fsx @@ -1,9 +1,10 @@ // #Conformance #FSI #load "ThisProject.fsx" +#nowarn "44" [] let fn x = 0 -let y = fn 1 // This would be an 'obsolete' warning but ThisProject.fsx nowarns it +let y = fn 1 // This would be an 'obsolete' warning but for the #nowarn above printfn "Result = %d" (Namespace.Type.Method()) diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc01.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc01.fs deleted file mode 100644 index a48edb12d9..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc01.fs +++ /dev/null @@ -1,9 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:2869 -#light - -// Polymorphic recursion -let rec prodlists<[] 'u,[] 'v>(xs:float<'u> list,ys:float<'v> list) : float<'u 'v> list = - match xs,ys with - | x::xs,y::ys -> x*y :: prodlists<'v,'u>(ys,xs) - | _ -> [] diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc03.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc03.fs deleted file mode 100644 index 4f6b5a4429..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Misc03.fs +++ /dev/null @@ -1,25 +0,0 @@ -// #Conformance #UnitsOfMeasure -let recip1 x = 1.0/x -let recip2 (x:float<_>) = 1.0/x - -let zero1 = 0.0 -let zero2 = 0.0<_> - -let halvelist0 xs = List.map ( (/) 2.0 : float -> float ) xs -let halvelist1 xs = List.map ( (/) 2.0 : float<_> -> float<_> ) xs -let halvelist2 (xs:float<_> list) = List.map ( (/) 2.0) xs -let halvelist3 xs = List.map ( (/) 2.0) xs - -let pr x y = printf "%f %s" x y -let pr2 (x:float<_>) = printf "%f" x - -// From thesis -let abs x = if x < 0.0<_> then 0.0<_> - x else x -let sqr (x:float<_>) = x*x -let cube x = x*sqr x -let powers x y z = sqr x + cube y + sqr z * cube z - -// Now let's test some explicit types -let sqr2< [] 'u>(x:float<'u>) = x*x -let cube2<[] 'v>(x) = sqr2<'v> x * x -let rec reccube1(x) = if x < 0.0<_> then x else - reccube1(x) diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fs deleted file mode 100644 index 79c649e564..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/RationalExponents01.fs +++ /dev/null @@ -1,35 +0,0 @@ -// #Conformance #UnitsOfMeasure -// Rational exponents feature - -[] -type kg - -[] -type s - -[] -type m - -// Simple fractions -let test01() = 1.0 -let test02() = 2.0 -let test03() = sqrt (test01()) + test02() - -// Negative fractions -let test04() = 4.0 -let test05() = 5.0 -let test06() = 1.0 / (test04() * test05()) + 3.0 - -// More complex expressions -let test07() = 2.0 -let test08() = 4.0<(s^6 kg^3)^(1/4)> -let test09() = test07() * test08() + 3.0 - -// Generics -let test10(x:float<'u>) (y:float<'u^(1/2)>) = sqrt x + y -let test11(x:float<'u^-(1/4)>) (y:float<'u^(3/4)>) : float = (x*x*x + 1.0/y) * x -let test12(x:float<'u^(1/2)>) (y:float<'v^2>) :float<'u 'v> = x*x*sqrt y -let test13() = test12 4.0 2.0 + 3.0<(kg s)^(1/2)> - -exit 0 - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/SI.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/SI.fs deleted file mode 100644 index 582f849d97..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/SI.fs +++ /dev/null @@ -1,32 +0,0 @@ -// #Conformance #UnitsOfMeasure -#light - -[] type kg // kilogram -[] type m // metre -[] type s // second -[] type A // ampere -[] type mol // mole -[] type K // kelvin -[] type cd // candela - -[] type rad = m/m // radian -[] type sr = m^2/m^2 // steradian -[] type Hz = s^-1 // hertz -[] type N = kg m / s^2 // newton -[] type Pa = N / m^2 // pascal -[] type J = N m // joule -[] type W = J / s // watt -[] type C = s A // coulomb -[] type V = W/A // watt -[] type F = C/V // farad -[] type ohm = V/A // ohm -[] type S = A/V // siemens -[] type Wb = V s // weber -[] type T = Wb/m^2 // tesla -[] type H = Wb/A // henry -[] type lm = cd sr // lumen -[] type lx = lm/m^2 // lux -[] type Bq = s^-1 // becquerel -[] type Gy = J/kg // gray -[] type Sv = J/kg // sievert -[] type kat = mol/s // katal diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Stats.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Stats.fs deleted file mode 100644 index 8bdb04c9dc..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/Stats.fs +++ /dev/null @@ -1,32 +0,0 @@ -// #Conformance #UnitsOfMeasure -#light - -let rec sum xs = match xs with [] -> 0.0<_> | (x::xs) -> x + sum xs - -let rec sumMap f xs = match xs with [] -> 0.0<_> | (x::xs) -> f x + sumMap f xs -let rec sumMap2 f xs ys = match xs,ys with (x::xs,y::ys) -> f x y + sumMap2 f xs ys | _ -> 0.0<_> - -let mean xs = sum xs / float (List.length xs) - -let meanMap f xs = sumMap f xs / float (List.length xs) - -let sqr (x:float<_>) = x*x - -let cube x = x*sqr x - -let variance xs = let m = mean xs in meanMap (fun x -> sqr (x-m)) xs -let sdeviation xs = sqrt (variance xs) - -let skewness xs = - let n = float (List.length xs) - let m = mean xs - let s = sdeviation xs - meanMap (fun x -> cube(x-m)) xs / (cube s) - -let covariance xs ys = - let m = mean xs - let n = mean ys - sumMap2 (fun x y -> (x-m)*(y-n)) xs ys / (float n) - -let correlation xs ys = - covariance xs ys / (mean xs * mean ys) diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/env.lst deleted file mode 100644 index 378c1aa224..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Basic/env.lst +++ /dev/null @@ -1,18 +0,0 @@ - SOURCE=Calculus.fs COMPILE_ONLY=1 # Calculus.fs - - SOURCE=Mars.fs # Mars.fs - - SOURCE=MassForce.fs # MassForce.fs - SOURCE=E_MassForce.fs SCFLAGS="--test:ErrorRanges" # E_MassForce.fs - - SOURCE=Ints01.fs # Ints01.fs - - SOURCE=Misc02.fs # Misc02.fs - SOURCE=Misc04.fs # Misc04.fs - - - - - SOURCE=DynamicTypeTest.fs # DynamicTypeTest.fs - SOURCE=OnDecimals01.fs # OnDecimals01.fs - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/env.lst deleted file mode 100644 index ea51d725c9..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Bounds/env.lst +++ /dev/null @@ -1,2 +0,0 @@ - SOURCE=infinity_01.fs SCFLAGS="--test:ErrorRanges" # infinity_01.fs - SOURCE=nan_01.fs SCFLAGS="--test:ErrorRanges" # nan_01.fs diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/env.lst deleted file mode 100644 index 10221fc025..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Constants/env.lst +++ /dev/null @@ -1,8 +0,0 @@ - SOURCE=decimal.fs SCFLAGS=-a # decimal.fs - SOURCE=E_UnsupportedTypes01.fs SCFLAGS=-a # E_UnsupportedTypes01.fs - SOURCE=ieee32.fs SCFLAGS=-a # ieee32.fs - SOURCE=ieee64.fs SCFLAGS=-a # ieee64.fs - SOURCE=SpecialSyntax_.fs SCFLAGS=-a # SpecialSyntax_.fs - - - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/env.lst deleted file mode 100644 index 8b92be2e70..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Diagnostics/env.lst +++ /dev/null @@ -1,29 +0,0 @@ - SOURCE=E_RangeExpression01.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_RangeExpression01.fs - - SOURCE=W_NonGenVarInValueRestrictionWarning.fs SCFLAGS="--test:ErrorRanges --flaterrors" # W_NonGenVarInValueRestrictionWarning.fs - SOURCE=E_CantBeUsedAsPrefixArgToAType01.fsx SCFLAGS="--test:ErrorRanges" # E_CantBeUsedAsPrefixArgToAType01.fsx - SOURCE=E_CantBeUsedAsPrefixArgToAType02.fsx SCFLAGS="--test:ErrorRanges" # E_CantBeUsedAsPrefixArgToAType02.fsx - SOURCE=E_CantBeUsedAsPrefixArgToAType03.fsx SCFLAGS="--test:ErrorRanges" # E_CantBeUsedAsPrefixArgToAType03.fsx - SOURCE=E_CantBeUsedAsPrefixArgToAType04.fsx SCFLAGS="--test:ErrorRanges" # E_CantBeUsedAsPrefixArgToAType04.fsx - SOURCE=E_CantBeUsedAsPrefixArgToAType05.fsx SCFLAGS="--test:ErrorRanges" # E_CantBeUsedAsPrefixArgToAType05.fsx - - SOURCE=E_UnexpectedTypeParameter01.fs SCFLAGS="--test:ErrorRanges" # E_UnexpectedTypeParameter01.fs - SOURCE=E_ZeroDenominator.fs SCFLAGS="--test:ErrorRanges" # E_ZeroDenominator.fs - SOURCE=E_ParsingRationalExponents.fs SCFLAGS="--test:ErrorRanges" # E_ParsingRationalExponents.fs - - SOURCE=W_UnitOfMeasureCodeLessGeneric01.fs SCFLAGS="--test:ErrorRanges -a" # W_UnitOfMeasureCodeLessGeneric01.fs - - SOURCE=E_ExplicitUnitOfMeasureParameters01.fs SCFLAGS="--test:ErrorRanges" # E_ExplicitUnitOfMeasureParameters01.fs - SOURCE=E_ExplicitUnitOfMeasureParameters02.fs SCFLAGS="--test:ErrorRanges" # E_ExplicitUnitOfMeasureParameters02.fs - SOURCE=E_ExplicitUnitOfMeasureParameters03.fs SCFLAGS="--test:ErrorRanges" # E_ExplicitUnitOfMeasureParameters03.fs - SOURCE=E_ExplicitUnitOfMeasureParameters04.fs SCFLAGS="--test:ErrorRanges" # E_ExplicitUnitOfMeasureParameters04.fs - - SOURCE=E_RangeOfDimensioned03.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_RangeOfDimensioned03.fs - SOURCE=RangeOfDimensioned01.fs SCFLAGS="--test:ErrorRanges" # RangeOfDimensioned01.fs - SOURCE=RangeOfDimensioned02.fs SCFLAGS="--test:ErrorRanges" # RangeOfDimensioned02.fs - - SOURCE=E_ExpectedTypeNotUnitOfMeasure01.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_ExpectedTypeNotUnitOfMeasure01.fs - SOURCE=E_UnsupportedType01.fs SCFLAGS="--test:ErrorRanges" # E_UnsupportedType01.fs - SOURCE=E_RangeOfDecimals01.fs SCFLAGS="--test:ErrorRanges" # E_RangeOfDecimals01.fs - - SOURCE=IntTypes01.fs SCFLAGS="--test:ErrorRanges -a" # IntTypes01.fs diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/env.lst deleted file mode 100644 index 30b2960759..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Operators/env.lst +++ /dev/null @@ -1,7 +0,0 @@ - SOURCE=Operators_decimal_01.fs SCFLAGS=-a # Operators_decimal_01.fs - SOURCE=Operators_float32_01.fs SCFLAGS=-a # Operators_float32_01.fs - SOURCE=Operators_float_01.fs SCFLAGS=-a # Operators_float_01.fs - - - - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/env.lst deleted file mode 100644 index 07058de7ec..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parenthesis/env.lst +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE=Positive01.fs SCFLAGS="--test:ErrorRanges -a" # Positive01.fs - -SOURCE=W_ImplicitProduct01.fs SCFLAGS="--test:ErrorRanges" # W_ImplicitProduct01.fs - -SOURCE=E_Error02.fs SCFLAGS="--test:ErrorRanges" # E_Error02.fs -SOURCE=E_Error03.fs SCFLAGS="--test:ErrorRanges" # E_Error03.fs -SOURCE=E_Error04.fs SCFLAGS="--test:ErrorRanges" # E_Error04.fs -SOURCE=E_Error05.fs SCFLAGS="--test:ErrorRanges" # E_Error05.fs -SOURCE=E_Error06.fs SCFLAGS="--test:ErrorRanges" # E_Error06.fs - -SOURCE=E_IncompleteParens01.fs SCFLAGS="--test:ErrorRanges" # E_IncompleteParens01.fs -SOURCE=E_IncompleteParens02.fs SCFLAGS="--test:ErrorRanges" # E_IncompleteParens02.fs - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fs deleted file mode 100644 index dced37284c..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fs +++ /dev/null @@ -1,18 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:2791 -// Make sure we can parse arrays of dimensioned numbers without needing a space between > and |] -// -#light - -[] -type m - -let l1 = [|10.0|] // ok -let l2 = [|10.0 |] // ok - -// This was not really specific to Units of Measure, we while we are here -// we check that care too. -let p1 = [|Array.empty|] // ok -let p2 = [|Array.empty |] // ok - -exit 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/KnownTypeAsUnit01.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/KnownTypeAsUnit01.fs deleted file mode 100644 index 57dee6b46b..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/KnownTypeAsUnit01.fs +++ /dev/null @@ -1,25 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:2708 -// ICE when using a known type (int, decimal, etc...) as a unit of measure -//Expected unit-of-measure, not type -//Expected unit-of-measure, not type -//Expected unit-of-measure, not type -//Expected unit-of-measure, not type -//Expected unit-of-measure, not type -[] type Kg - -module M1 = - 1.0 // error - -module M2 = - let x = 1.0 // error - -module M3 = - let f2 ( x : float) = x // error - -module M4 = - let f4 (x : 'a when 'a :> float) = x // error - -module M5 = - type T<[] 'a>(x : float, y : float<_>) = class end // error - diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Quotient.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Quotient.fs deleted file mode 100644 index 4c8458ed93..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Quotient.fs +++ /dev/null @@ -1,19 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:6157 - Units of measure containing "/" get rejected in arguments to method invocation - -[] type m -[] type s - -let sqr<[] 'u>(x:float<'u>) = x*x - -type T() = - member this.sqr<[] 'u>(x:float<'u>) = x*x - - -let t = new T() -let a = sqr(5.0) -let b = sqr(2.0) -let c = sqr(3.0) -let d = t.sqr(5.0) -let e = t.sqr(2.0) -let f = t.sqr(3.0) diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fs deleted file mode 100644 index fe3aecf7e9..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fs +++ /dev/null @@ -1,24 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:4124 - Units of measure: division should be left-associative in both types and constants -// Regression test for FSHARP1.0:4188 - Type parameters for units of measure parsed inconsistently. - -#light - -[] type s -[] type m -[] type A = m / s / s -[] type AA = m / s^2 -[] type B = m^2 / m s / s^2 / s^-1 -[] type B' = m / s / s / s / s / s / s / s / s^-5 -[] type C = m / s * s / s * s / s / s - -let (x : float) = 1.0 -let y = 2.0 -let z = x+y -let a = 1.0 -let aa = 2.0 -let (b : float) = 3.0 -let b' = 4.0 -let (c : float) = 5.0 - -let res = a + aa + b + b' + c diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fs b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fs deleted file mode 100644 index dcac1cb1c5..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fs +++ /dev/null @@ -1,17 +0,0 @@ -// #Regression #Conformance #UnitsOfMeasure -// Regression test for FSHARP1.0:2748 -// Units or measures: we should not require a space between < and \ when using a reciprocal of a unit - -// Regression test for FSHARP1.0:4195 -// Reciprocals parsed incorrectly for Measure definitions. - -#light - -[] type s // [] type s -[] type s' = / s / s // [] type s' = /s ^ 2 -let oneHertz = 1.0 // OK -let twoHertz = 2.0f< /s> // OK - -if (1.0 + 2.0 <> 3.0) then exit 1 - -exit 0 diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/env.lst deleted file mode 100644 index fcc63fee94..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/Parsing/env.lst +++ /dev/null @@ -1,4 +0,0 @@ - SOURCE=KnownTypeAsUnit01.fs SCFLAGS="--test:ErrorRanges" # KnownTypeAsUnit01.fs - SOURCE=KnownTypeAsUnit01b.fs SCFLAGS="--test:ErrorRanges" # KnownTypeAsUnit01b.fs - SOURCE=E_Nesting01.fs SCFLAGS="--test:ErrorRanges" # E_Nesting01.fs.fs -NoMT SOURCE=find_gtdef.fsx FSIMODE=EXEC COMPILE_ONLY=1 # find_gtdef.fsx diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst deleted file mode 100644 index caf239bf3f..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst +++ /dev/null @@ -1,19 +0,0 @@ - - SOURCE=Slash_InFunction01.fs SCFLAGS=--warnaserror+ # Slash_InFunction01.fs - SOURCE=Slash_InMethod01.fs SCFLAGS=--warnaserror+ # Slash_InMethod01.fs - - SOURCE=Generalization01.fs SCFLAGS=--warnaserror # Generalization01.fs - - SOURCE=E_GenInterfaceWithDifferentGenInstantiations.fs SCFLAGS="--test:ErrorRanges --langversion:5.0" # E_GenInterfaceWithDifferentGenInstantiations.fs - - SOURCE=TypeAbbreviation_decimal_01.fs # TypeAbbreviation_decimal_01.fs - SOURCE=TypeAbbreviation_float32_01.fs # TypeAbbreviation_float32_01.fs - SOURCE=TypeAbbreviation_float_01.fs # TypeAbbreviation_float_01.fs - - SOURCE=typechecker01.fs SCFLAGS="--test:ErrorRanges" # typechecker01.fs - SOURCE=W_TypeConstraint01.fs SCFLAGS="--test:ErrorRanges" # W_TypeConstraint01.fs - SOURCE=TypeConstraint02.fs # TypeConstraint02.fs - SOURCE=TypeConstraint03.fs # TypeConstraint03.fs -NoMT SOURCE=W_LessGeneric01.fsx COMPILE_ONLY=1 SCFLAGS="--nologo" FSIMODE=PIPE # W_LessGeneric01.fsx - SOURCE=LessGeneric02.fs # LessGeneric02.fs - SOURCE=ValueRestriction01.fs # ValueRestriction01.fs diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/env.lst deleted file mode 100644 index d30059c87f..0000000000 --- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/WithOOP/env.lst +++ /dev/null @@ -1,10 +0,0 @@ - SOURCE=InInterface01.fs # InInterface01.fs - SOURCE=E_NoInstanceOnMeasure01.fs SCFFLAGS="--test:ErrorRanges" # E_NoInstanceOnMeasure01.fs - SOURCE=StaticsOnMeasure01.fs # StaticsOnMeasure01.fs - SOURCE=E_OverloadsDifferByUOMAttr.fs SCFFLAGS="--test:ErrorRanges" # E_OverloadsDifferByUOMAttr.fs - SOURCE=GenericUOM01.fs # GenericUOM01.fs -NoMT SOURCE=E_Polymorphism01.fsx FSIMODE=PIPE SCFLAGS="--test:ErrorRanges" COMPILE_ONLY=1 # E_Polymorphism01.fsx - SOURCE=Polymorphism02.fs # Polymorphism02.fs - SOURCE=E_NoConstructorOnMeasure01.fs SCFLAGS="--test:ErrorRanges" # E_NoConstructorOnMeasure01.fs - SOURCE=E_GenericUOM01.fs # E_GenericUOM01.fs - diff --git a/tests/fsharpqa/Source/test.lst b/tests/fsharpqa/Source/test.lst index 31b787ef41..f0ae0203c8 100644 --- a/tests/fsharpqa/Source/test.lst +++ b/tests/fsharpqa/Source/test.lst @@ -140,16 +140,6 @@ Conformance08 Conformance\TypesAndTypeConstraints\LogicalPropertiesOfTypes Conformance08 Conformance\TypesAndTypeConstraints\TypeConstraints Conformance08 Conformance\TypesAndTypeConstraints\TypeParameterDefinitions -Conformance08 Conformance\UnitsOfMeasure\Basic -Conformance08 Conformance\UnitsOfMeasure\Bounds -Conformance08 Conformance\UnitsOfMeasure\Constants -Conformance08 Conformance\UnitsOfMeasure\Diagnostics -Conformance08 Conformance\UnitsOfMeasure\Operators -Conformance08 Conformance\UnitsOfMeasure\Parenthesis -Conformance08 Conformance\UnitsOfMeasure\Parsing -Conformance08 Conformance\UnitsOfMeasure\TypeChecker -Conformance08 Conformance\UnitsOfMeasure\WithOOP - Misc01 Diagnostics\async Misc01,Diagnostics Diagnostics\General Misc01 Diagnostics\NONTERM diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl index bde23ff169..8e83e55acf 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Attribute/RangeOfAttribute.fs", false, - QualifiedNameOfFile RangeOfAttribute, [], [], + QualifiedNameOfFile RangeOfAttribute, [], [SynModuleOrNamespace ([RangeOfAttribute], false, AnonModule, [Attributes @@ -30,4 +30,5 @@ ImplFile Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl index b8c9c03183..4db0f06918 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Attribute/RangeOfAttributeWithPath.fs", false, - QualifiedNameOfFile RangeOfAttributeWithPath, [], [], + QualifiedNameOfFile RangeOfAttributeWithPath, [], [SynModuleOrNamespace ([RangeOfAttributeWithPath], false, AnonModule, [Attributes @@ -32,4 +32,5 @@ ImplFile Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl index cdb1fdd30f..38b51a3bff 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Attribute/RangeOfAttributeWithTarget.fs", false, - QualifiedNameOfFile RangeOfAttributeWithTarget, [], [], + QualifiedNameOfFile RangeOfAttributeWithTarget, [], [SynModuleOrNamespace ([RangeOfAttributeWithTarget], false, AnonModule, [Attributes @@ -30,4 +30,5 @@ ImplFile Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl index 17fea8f0a3..654c3bed59 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs", false, - QualifiedNameOfFile ColonBeforeReturnTypeIsPartOfTrivia, [], [], + QualifiedNameOfFile ColonBeforeReturnTypeIsPartOfTrivia, [], [SynModuleOrNamespace ([ColonBeforeReturnTypeIsPartOfTrivia], false, AnonModule, [Let @@ -35,4 +35,5 @@ ImplFile (2,0--2,31))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl index dd5022f2bc..92d2ae4ebf 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs", false, QualifiedNameOfFile ColonBeforeReturnTypeIsPartOfTriviaInProperties, [], - [], [SynModuleOrNamespace ([ColonBeforeReturnTypeIsPartOfTriviaInProperties], false, AnonModule, [Types @@ -104,4 +103,5 @@ ImplFile WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl index 115b95c51e..495a509c7c 100644 --- a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/ConditionalDirectiveAroundInlineKeyword.fs", false, - QualifiedNameOfFile ConditionalDirectiveAroundInlineKeyword, [], [], + QualifiedNameOfFile ConditionalDirectiveAroundInlineKeyword, [], [SynModuleOrNamespace ([ConditionalDirectiveAroundInlineKeyword], false, AnonModule, [Let @@ -47,4 +47,5 @@ ImplFile (true, true), { ConditionalDirectives = [If (Not (Ident "FOO"), (3,0--3,8)); EndIf (5,0--5,6)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl index 596eb10081..3213618de1 100644 --- a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/InlineKeywordInBinding.fs", false, - QualifiedNameOfFile InlineKeywordInBinding, [], [], + QualifiedNameOfFile InlineKeywordInBinding, [], [SynModuleOrNamespace ([InlineKeywordInBinding], false, AnonModule, [Let @@ -52,4 +52,5 @@ ImplFile EqualsRange = Some (2,17--2,18) })], (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl index 63b8a81ea5..90cbfb00a2 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet, - [], [], + [], [SynModuleOrNamespace ([RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet], false, AnonModule, @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (2,22--2,23) })], (2,0--2,25))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr.fs.bsl index db5fe5051f..8dbf89faea 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr.fs", false, QualifiedNameOfFile - RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr, [], [], + RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr, [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInBindingOfSynExprObjExpr], false, AnonModule, @@ -50,4 +50,5 @@ ImplFile (2,2--2,21), (2,0--4,32)), (2,0--4,32))], PreXmlDocEmpty, [], None, (2,0--4,32), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl index d52e2f085b..f53b47a4ea 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs", false, QualifiedNameOfFile - RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember, [], [], + RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember, [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember], false, AnonModule, @@ -51,4 +51,5 @@ ImplFile WithKeyword = None })], (2,0--4,15))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl index 4717531eb3..dde24f9afc 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec, - [], [], + [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec], false, AnonModule, @@ -52,4 +52,5 @@ ImplFile WithKeyword = None })], (2,0--4,23))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl index fe111972f9..3a657b48cb 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl @@ -4,7 +4,6 @@ ImplFile false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty, [], - [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty], false, AnonModule, @@ -107,4 +106,5 @@ ImplFile WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl index ceff4f8e24..566cba41a6 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs", false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSecondaryConstructor, - [], [], + [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInSecondaryConstructor], false, AnonModule, @@ -117,4 +117,5 @@ ImplFile WithKeyword = None })], (2,0--11,12))], PreXmlDocEmpty, [], None, (2,0--12,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl index a8e5110eeb..791854800d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs", false, QualifiedNameOfFile - RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings, [], [], + RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings, [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings], false, AnonModule, @@ -42,4 +42,5 @@ ImplFile WithKeyword = None })], (2,0--4,13))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl index 83139fe83e..ff220a2a03 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs", false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynMemberDefnMember, - [], [], + [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInSynMemberDefnMember], false, AnonModule, @@ -55,4 +55,5 @@ ImplFile WithKeyword = None })], (2,0--4,33))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl index 08edc3d263..b15cdc324a 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs", false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynModuleDeclLet, [], - [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInSynModuleDeclLet], false, AnonModule, @@ -27,4 +26,5 @@ ImplFile EqualsRange = Some (3,6--3,7) })], (2,0--3,9))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl index bf0e8802e3..8698f8ddc7 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty, - [], [], + [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty], false, AnonModule, @@ -71,4 +71,5 @@ ImplFile WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl index e3156b5c3b..9921095320 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs", false, QualifiedNameOfFile RangeOfEqualSignShouldBePresentInLocalLetBinding, [], - [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInLocalLetBinding], false, AnonModule, [Expr @@ -25,4 +24,5 @@ ImplFile InKeyword = None }), (2,0--4,6)), (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl index 93dabea4c8..770bfd5f4d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs", false, QualifiedNameOfFile RangeOfEqualSignShouldBePresentInLocalLetBindingTyped, - [], [], + [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInLocalLetBindingTyped], false, AnonModule, @@ -35,4 +35,5 @@ ImplFile InKeyword = None }), (2,0--4,6)), (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl index 9e0bd27f35..0a48a4272f 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs", false, - QualifiedNameOfFile RangeOfEqualSignShouldBePresentInMemberBinding, [], [], + QualifiedNameOfFile RangeOfEqualSignShouldBePresentInMemberBinding, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInMemberBinding], false, AnonModule, [Types @@ -49,4 +49,5 @@ ImplFile WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl index 463fcef24b..c8eb3a32a5 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs", false, QualifiedNameOfFile - RangeOfEqualSignShouldBePresentInMemberBindingWithParameters, [], [], + RangeOfEqualSignShouldBePresentInMemberBindingWithParameters, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInMemberBindingWithParameters], false, AnonModule, @@ -56,4 +56,5 @@ ImplFile WithKeyword = None })], (2,0--3,24))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl index 49eeec4d34..431946b6f9 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs", false, QualifiedNameOfFile - RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType, [], [], + RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType], false, AnonModule, @@ -65,4 +65,5 @@ ImplFile WithKeyword = None })], (2,0--3,33))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl index 32f9f50c83..72ee28c403 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/RangeOfEqualSignShouldBePresentInProperty.fs", false, - QualifiedNameOfFile RangeOfEqualSignShouldBePresentInProperty, [], [], + QualifiedNameOfFile RangeOfEqualSignShouldBePresentInProperty, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInProperty], false, AnonModule, [Types @@ -96,4 +96,5 @@ ImplFile WithKeyword = None })], (2,0--5,50))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl index eca7f36b6d..8453e7e60c 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs", false, QualifiedNameOfFile - RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding, [], [], + RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding], false, AnonModule, @@ -21,4 +21,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl index 651cdb4f8c..77819f9484 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs", false, QualifiedNameOfFile - RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped, [], [], + RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped], false, AnonModule, @@ -28,4 +28,5 @@ ImplFile EqualsRange = Some (2,12--2,13) })], (2,0--2,16))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl index 86775dec80..747fdcbc1e 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs", false, QualifiedNameOfFile - RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding, [], [], + RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding, [], [SynModuleOrNamespace ([RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding], false, AnonModule, @@ -42,4 +42,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl index 0a175553ca..c2d3ab9e52 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs", false, QualifiedNameOfFile - RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding, [], [], + RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding, [], [SynModuleOrNamespace ([RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding], false, AnonModule, @@ -21,4 +21,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl index 613931862d..af82b819e9 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes, - [], [], + [], [SynModuleOrNamespace ([RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes], false, AnonModule, @@ -29,4 +29,5 @@ ImplFile EqualsRange = Some (5,6--5,7) })], (2,0--5,10))], PreXmlDocEmpty, [], None, (3,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,0--4,15)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl index a8dae863d6..0ac9a8d3c9 100644 --- a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Binding/TupleReturnTypeOfBindingShouldContainStars.fs", false, - QualifiedNameOfFile TupleReturnTypeOfBindingShouldContainStars, [], [], + QualifiedNameOfFile TupleReturnTypeOfBindingShouldContainStars, [], [SynModuleOrNamespace ([TupleReturnTypeOfBindingShouldContainStars], false, AnonModule, [Let @@ -78,4 +78,5 @@ ImplFile EqualsRange = Some (3,28--3,29) })], (3,0--3,42))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl index 91dffc0ee6..9dcd99749c 100644 --- a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/CodeComment/BlockCommentInSourceCode.fs", false, - QualifiedNameOfFile BlockCommentInSourceCode, [], [], + QualifiedNameOfFile BlockCommentInSourceCode, [], [SynModuleOrNamespace ([BlockCommentInSourceCode], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (2,17--2,18) })], (2,0--2,25))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (2,6--2,13)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCodeSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCodeSignatureFile.fsi.bsl index 977d7b388d..e5fefe917a 100644 --- a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCodeSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCodeSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/CodeComment/BlockCommentInSourceCodeSignatureFile.fsi", - QualifiedNameOfFile BlockCommentInSourceCodeSignatureFile, [], [], + QualifiedNameOfFile BlockCommentInSourceCodeSignatureFile, [], [SynModuleOrNamespaceSig ([Meh], false, DeclaredNamespace, [Val @@ -17,4 +17,5 @@ SigFile EqualsRange = None }), (4,0--4,19))], PreXmlDocEmpty, [], None, (2,0--4,19), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (4,6--4,13)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCode.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCode.fs.bsl index a3bb247084..07bd380cf4 100644 --- a/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCode.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCode.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/CodeComment/CommentAfterSourceCode.fs", false, - QualifiedNameOfFile CommentAfterSourceCode, [], [], + QualifiedNameOfFile CommentAfterSourceCode, [], [SynModuleOrNamespace ([CommentAfterSourceCode], false, AnonModule, [Expr @@ -10,4 +10,5 @@ ImplFile (2,0--2,5))], PreXmlDocEmpty, [], None, (2,0--2,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,6--2,17)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCodeSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCodeSignatureFile.fsi.bsl index 7b8fc685e0..df379c0f42 100644 --- a/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCodeSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/CommentAfterSourceCodeSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/CodeComment/CommentAfterSourceCodeSignatureFile.fsi", - QualifiedNameOfFile CommentAfterSourceCodeSignatureFile, [], [], + QualifiedNameOfFile CommentAfterSourceCodeSignatureFile, [], [SynModuleOrNamespaceSig ([Meh], false, DeclaredNamespace, [Val @@ -17,4 +17,5 @@ SigFile EqualsRange = None }), (4,0--4,13))], PreXmlDocEmpty, [], None, (2,0--4,13), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,14--4,25)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/CommentAtEndOfFile.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/CommentAtEndOfFile.fs.bsl index 4c1f24b138..eb0ecc84f0 100644 --- a/tests/service/data/SyntaxTree/CodeComment/CommentAtEndOfFile.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/CommentAtEndOfFile.fs.bsl @@ -1,9 +1,10 @@ ImplFile (ParsedImplFileInput ("/root/CodeComment/CommentAtEndOfFile.fs", false, - QualifiedNameOfFile CommentAtEndOfFile, [], [], + QualifiedNameOfFile CommentAtEndOfFile, [], [SynModuleOrNamespace ([CommentAtEndOfFile], false, AnonModule, [Expr (Ident x, (2,0--2,1))], PreXmlDocEmpty, [], None, (2,0--2,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,2--2,6)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLine.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLine.fs.bsl index ad5aa017ea..d4dcf1896d 100644 --- a/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLine.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLine.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/CodeComment/CommentOnSingleLine.fs", false, - QualifiedNameOfFile CommentOnSingleLine, [], [], + QualifiedNameOfFile CommentOnSingleLine, [], [SynModuleOrNamespace ([CommentOnSingleLine], false, AnonModule, [Expr @@ -10,4 +10,5 @@ ImplFile (3,0--3,5))], PreXmlDocEmpty, [], None, (3,0--3,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,0--2,11)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLineSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLineSignatureFile.fsi.bsl index 5dd445b4d0..899d4dacd2 100644 --- a/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLineSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/CommentOnSingleLineSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/CodeComment/CommentOnSingleLineSignatureFile.fsi", - QualifiedNameOfFile CommentOnSingleLineSignatureFile, [], [], + QualifiedNameOfFile CommentOnSingleLineSignatureFile, [], [SynModuleOrNamespaceSig ([Meh], false, DeclaredNamespace, [Val @@ -17,4 +17,5 @@ SigFile EqualsRange = None }), (4,0--4,10))], PreXmlDocEmpty, [], None, (2,0--4,10), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,0--3,11)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl index b57381ca8e..86c4c524b6 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs", false, QualifiedNameOfFile - TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation, [], [], + TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation, [], [SynModuleOrNamespace ([TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation], false, AnonModule, @@ -38,6 +38,7 @@ ImplFile PreXmlDocEmpty, [], None, (3,0--10,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,4--4,40); LineComment (6,4--6,36); LineComment (7,4--7,27)] }, set [])) diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl index fafd932e04..e5f11934a8 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs", false, - QualifiedNameOfFile TripleSlashCommentShouldNotBeCaptured, [], [], + QualifiedNameOfFile TripleSlashCommentShouldNotBeCaptured, [], [SynModuleOrNamespace ([TripleSlashCommentShouldNotBeCaptured], false, AnonModule, [Let @@ -18,4 +18,5 @@ ImplFile EqualsRange = Some (3,6--3,7) })], (2,0--3,9))], PreXmlDocEmpty, [], None, (3,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ComputationExpression/MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression.fs.bsl b/tests/service/data/SyntaxTree/ComputationExpression/MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression.fs.bsl index 16e62c6c1a..77bbe3164c 100644 --- a/tests/service/data/SyntaxTree/ComputationExpression/MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/ComputationExpression/MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression.fs.bsl @@ -4,7 +4,6 @@ ImplFile false, QualifiedNameOfFile MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression, [], - [], [SynModuleOrNamespace ([MultipleSynExprAndBangHaveRangeThatStartsAtAndAndEndsAfterExpression], false, AnonModule, @@ -47,4 +46,5 @@ ImplFile (2,0--7,1)), (2,0--7,1))], PreXmlDocEmpty, [], None, (2,0--7,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ComputationExpression/SynExprAndBangRangeStartsAtAndAndEndsAfterExpression.fs.bsl b/tests/service/data/SyntaxTree/ComputationExpression/SynExprAndBangRangeStartsAtAndAndEndsAfterExpression.fs.bsl index 9ee7e15f53..610ab87132 100644 --- a/tests/service/data/SyntaxTree/ComputationExpression/SynExprAndBangRangeStartsAtAndAndEndsAfterExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/ComputationExpression/SynExprAndBangRangeStartsAtAndAndEndsAfterExpression.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/ComputationExpression/SynExprAndBangRangeStartsAtAndAndEndsAfterExpression.fs", false, QualifiedNameOfFile SynExprAndBangRangeStartsAtAndAndEndsAfterExpression, - [], [], + [], [SynModuleOrNamespace ([SynExprAndBangRangeStartsAtAndAndEndsAfterExpression], false, AnonModule, @@ -36,4 +36,5 @@ ImplFile (2,0--8,1)), (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--8,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl index 8a7a55c28a..8ed093aa43 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs", false, QualifiedNameOfFile DirectivesInMultilineCommentAreNotReportedAsTrivia, [], - [], [SynModuleOrNamespace ([DirectivesInMultilineCommentAreNotReportedAsTrivia], false, AnonModule, @@ -21,4 +20,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--8,6))], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (3,0--7,2)] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile.fsi.bsl index bb8a2a87d7..cd8a4e3f8f 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile.fsi", QualifiedNameOfFile - DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile, [], [], + DirectivesInMultilineCommentAreNotReportedAsTriviaSignatureFile, [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -19,4 +19,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--10,6), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (5,0--9,2)] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl index 231cfd08d6..2c1508983b 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs", false, QualifiedNameOfFile DirectivesInMultilineStringAreNotReportedAsTrivia, [], - [], [SynModuleOrNamespace ([DirectivesInMultilineStringAreNotReportedAsTrivia], false, AnonModule, [Let @@ -28,4 +27,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--7,3))], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile.fsi.bsl index 3a15192825..ad832870af 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile.fsi", QualifiedNameOfFile - DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile, [], [], + DirectivesInMultilineStringAreNotReportedAsTriviaSignatureFile, [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -29,4 +29,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--9,19), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl index 9f409f4580..3a6cd1220f 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ConditionalDirective/NestedIfElseEndif.fs", false, - QualifiedNameOfFile NestedIfElseEndif, [], [], + QualifiedNameOfFile NestedIfElseEndif, [], [SynModuleOrNamespace ([NestedIfElseEndif], false, AnonModule, [Let @@ -22,4 +22,5 @@ ImplFile [If (Ident "FOO", (3,4--3,11)); If (Ident "MEH", (4,8--4,15)); Else (6,8--6,13); EndIf (8,8--8,14); Else (9,4--9,9); EndIf (11,4--11,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndifSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndifSignatureFile.fsi.bsl index c1293f6c9c..26f0f17c77 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndifSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndifSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/NestedIfElseEndifSignatureFile.fsi", - QualifiedNameOfFile NestedIfElseEndifSignatureFile, [], [], + QualifiedNameOfFile NestedIfElseEndifSignatureFile, [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -21,4 +21,5 @@ SigFile [If (Ident "FOO", (5,4--5,11)); If (Ident "MEH", (6,8--6,15)); Else (8,8--8,13); EndIf (10,8--10,14); Else (11,4--11,9); EndIf (13,4--13,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl index 25821646aa..2a2ab666df 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs", false, - QualifiedNameOfFile NestedIfEndifWithComplexExpressions, [], [], + QualifiedNameOfFile NestedIfEndifWithComplexExpressions, [], [SynModuleOrNamespace ([NestedIfEndifWithComplexExpressions], false, AnonModule, [Let @@ -23,4 +23,5 @@ ImplFile If (And (Ident "FOO", Ident "BAR"), (4,8--4,22)); If (Or (Ident "MEH", Ident "HMM"), (5,12--5,26)); EndIf (7,12--7,18); EndIf (8,8--8,14); EndIf (9,4--9,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressionsSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressionsSignatureFile.fsi.bsl index 9f0375afad..416dec6125 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressionsSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressionsSignatureFile.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/NestedIfEndifWithComplexExpressionsSignatureFile.fsi", QualifiedNameOfFile NestedIfEndifWithComplexExpressionsSignatureFile, [], - [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -23,4 +22,5 @@ SigFile If (And (Ident "FOO", Ident "BAR"), (6,8--6,22)); If (Or (Ident "MEH", Ident "HMM"), (7,12--7,26)); EndIf (9,12--9,18); EndIf (10,8--10,14); EndIf (11,4--11,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl index 72ac590cc9..6a070b4b63 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ConditionalDirective/SingleIfElseEndif.fs", false, - QualifiedNameOfFile SingleIfElseEndif, [], [], + QualifiedNameOfFile SingleIfElseEndif, [], [SynModuleOrNamespace ([SingleIfElseEndif], false, AnonModule, [Let @@ -20,4 +20,5 @@ ImplFile (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); Else (5,4--5,9); EndIf (7,4--7,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndifSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndifSignatureFile.fsi.bsl index 4164c59cd0..393ca5b729 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndifSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndifSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/SingleIfElseEndifSignatureFile.fsi", - QualifiedNameOfFile SingleIfElseEndifSignatureFile, [], [], + QualifiedNameOfFile SingleIfElseEndifSignatureFile, [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -19,4 +19,5 @@ SigFile { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [If (Ident "DEBUG", (5,4--5,13)); Else (7,4--7,9); EndIf (9,4--9,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl index cd4a4243c4..45ef82ca4c 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ConditionalDirective/SingleIfEndif.fs", false, - QualifiedNameOfFile SingleIfEndif, [], [], + QualifiedNameOfFile SingleIfEndif, [], [SynModuleOrNamespace ([SingleIfEndif], false, AnonModule, [Let @@ -20,4 +20,5 @@ ImplFile (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); EndIf (5,4--5,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndifSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndifSignatureFile.fsi.bsl index ea0a630876..bec565d234 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndifSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndifSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ConditionalDirective/SingleIfEndifSignatureFile.fsi", - QualifiedNameOfFile SingleIfEndifSignatureFile, [], [], + QualifiedNameOfFile SingleIfEndifSignatureFile, [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Val @@ -19,4 +19,5 @@ SigFile { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [If (Ident "DEBUG", (5,4--5,13)); EndIf (7,4--7,10)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl index 121139817f..65b7c6c556 100644 --- a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/EnumCase/MultipleSynEnumCasesHaveBarRange.fs", false, - QualifiedNameOfFile MultipleSynEnumCasesHaveBarRange, [], [], + QualifiedNameOfFile MultipleSynEnumCasesHaveBarRange, [], [SynModuleOrNamespace ([MultipleSynEnumCasesHaveBarRange], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--4,14))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl index 7f1b4d8452..ca80ebf45a 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/EnumCase/SingleSynEnumCaseHasBarRange.fs", false, - QualifiedNameOfFile SingleSynEnumCaseHasBarRange, [], [], + QualifiedNameOfFile SingleSynEnumCaseHasBarRange, [], [SynModuleOrNamespace ([SingleSynEnumCaseHasBarRange], false, AnonModule, [Types @@ -24,4 +24,5 @@ ImplFile WithKeyword = None })], (2,0--2,20))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl index 2b2f3d90da..4ac684664e 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/EnumCase/SingleSynEnumCaseWithoutBar.fs", false, - QualifiedNameOfFile SingleSynEnumCaseWithoutBar, [], [], + QualifiedNameOfFile SingleSynEnumCaseWithoutBar, [], [SynModuleOrNamespace ([SingleSynEnumCaseWithoutBar], false, AnonModule, [Types @@ -24,4 +24,5 @@ ImplFile WithKeyword = None })], (2,0--2,18))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Exception/Missing name 01.fs.bsl b/tests/service/data/SyntaxTree/Exception/Missing name 01.fs.bsl index 3bf7aea22b..94c5dedbc2 100644 --- a/tests/service/data/SyntaxTree/Exception/Missing name 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Exception/Missing name 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Exception/Missing name 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Exception @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(5,0) parse error Incomplete structured construct at or before this point in exception definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Exception/Missing name 02.fs.bsl b/tests/service/data/SyntaxTree/Exception/Missing name 02.fs.bsl index d71336169b..4381c755f2 100644 --- a/tests/service/data/SyntaxTree/Exception/Missing name 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Exception/Missing name 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Exception/Missing name 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Exception @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,9) parse error Unexpected keyword 'exception' in exception definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Exception/Missing name 03.fs.bsl b/tests/service/data/SyntaxTree/Exception/Missing name 03.fs.bsl index 2cb9b84bc5..2b032173b1 100644 --- a/tests/service/data/SyntaxTree/Exception/Missing name 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Exception/Missing name 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Exception/Missing name 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Exception @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,19)-(5,0) parse error Incomplete structured construct at or before this point in exception definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Exception/Recover Function Type 01.fs.bsl b/tests/service/data/SyntaxTree/Exception/Recover Function Type 01.fs.bsl index 690183a18b..a1d17ea6c1 100644 --- a/tests/service/data/SyntaxTree/Exception/Recover Function Type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Exception/Recover Function Type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Exception/Recover Function Type 01.fs", false, - QualifiedNameOfFile Recover Function Type 01, [], [], + QualifiedNameOfFile Recover Function Type 01, [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Exception @@ -43,6 +43,7 @@ ImplFile PreXmlDocEmpty, [], None, (1,0--4,22), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(3,27) parse error Unexpected function type in union case field definition. If you intend the field to be a function, consider wrapping the function signature with parens, e.g. | Case of a -> b into | Case of (a -> b). diff --git a/tests/service/data/SyntaxTree/Exception/SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Exception/SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword.fs.bsl index 8326a32016..83c72a5523 100644 --- a/tests/service/data/SyntaxTree/Exception/SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Exception/SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Exception/SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile SynExceptionDefnShouldContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([X], false, DeclaredNamespace, [Exception @@ -41,4 +41,5 @@ ImplFile (4,0--5,22)), (4,0--5,22))], PreXmlDocEmpty, [], None, (2,0--5,22), { LeadingKeyword = Namespace (2,0--2,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs new file mode 100644 index 0000000000..317d2257fb --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs @@ -0,0 +1,8 @@ +module Module + +{| A = <@ 1 + 1 @>|} + +{|A = <@ 1 + 1 @> |} + +{| A = <@ 1 + 1 @> |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs.bsl new file mode 100644 index 0000000000..7f3dd8badf --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 01.fs.bsl @@ -0,0 +1,68 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonRecd - Quotation 01.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (3,5--3,6), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (3,12--3,13)), Const (Int32 1, (3,10--3,11)), + (3,10--3,13)), Const (Int32 1, (3,14--3,15)), + (3,10--3,15)), false, (3,7--3,18)))], (3,0--3,20), + { OpeningBraceRange = (3,0--3,2) }), (3,0--3,20)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (5,4--5,5), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (5,11--5,12)), Const (Int32 1, (5,9--5,10)), + (5,9--5,12)), Const (Int32 1, (5,13--5,14)), + (5,9--5,14)), false, (5,6--5,17)))], (5,0--5,20), + { OpeningBraceRange = (5,0--5,2) }), (5,0--5,20)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (7,5--7,6), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (7,12--7,13)), Const (Int32 1, (7,10--7,11)), + (7,10--7,13)), Const (Int32 1, (7,14--7,15)), + (7,10--7,15)), false, (7,7--7,18)))], (7,0--7,21), + { OpeningBraceRange = (7,0--7,2) }), (7,0--7,21))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs new file mode 100644 index 0000000000..995c19c6de --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs @@ -0,0 +1,7 @@ +module Module + +{| A = <@@ 1 + 1 @@>|} + +{|A = <@@ 1 + 1 @@> |} + +{| A = <@@ 1 + 1 @@> |} diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs.bsl new file mode 100644 index 0000000000..a17975ba1d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 02.fs.bsl @@ -0,0 +1,68 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonRecd - Quotation 02.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (3,5--3,6), + Quote + (Ident op_QuotationUntyped, true, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (3,13--3,14)), Const (Int32 1, (3,11--3,12)), + (3,11--3,14)), Const (Int32 1, (3,15--3,16)), + (3,11--3,16)), false, (3,7--3,20)))], (3,0--3,22), + { OpeningBraceRange = (3,0--3,2) }), (3,0--3,22)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (5,4--5,5), + Quote + (Ident op_QuotationUntyped, true, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (5,12--5,13)), Const (Int32 1, (5,10--5,11)), + (5,10--5,13)), Const (Int32 1, (5,14--5,15)), + (5,10--5,15)), false, (5,6--5,19)))], (5,0--5,22), + { OpeningBraceRange = (5,0--5,2) }), (5,0--5,22)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (7,5--7,6), + Quote + (Ident op_QuotationUntyped, true, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (7,13--7,14)), Const (Int32 1, (7,11--7,12)), + (7,11--7,14)), Const (Int32 1, (7,15--7,16)), + (7,11--7,16)), false, (7,7--7,20)))], (7,0--7,23), + { OpeningBraceRange = (7,0--7,2) }), (7,0--7,23))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs new file mode 100644 index 0000000000..cb13fdbeb4 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs @@ -0,0 +1,7 @@ +module Module + +{| A = <@ 1 + 1 @>; B = <@@ "test" @@>|} + +{|A = <@ 1 + 1 @>; B = <@@ "test" @@> |} + +{| A = <@ 1 + 1 @>; B = <@@ "test" @@> |} diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs.bsl new file mode 100644 index 0000000000..91f4963b53 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 03.fs.bsl @@ -0,0 +1,86 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonRecd - Quotation 03.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (3,5--3,6), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (3,12--3,13)), Const (Int32 1, (3,10--3,11)), + (3,10--3,13)), Const (Int32 1, (3,14--3,15)), + (3,10--3,15)), false, (3,7--3,18))); + (SynLongIdent ([B], [], [None]), Some (3,22--3,23), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (3,28--3,34)), (3,28--3,34)), + false, (3,24--3,38)))], (3,0--3,40), + { OpeningBraceRange = (3,0--3,2) }), (3,0--3,40)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (5,4--5,5), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (5,11--5,12)), Const (Int32 1, (5,9--5,10)), + (5,9--5,12)), Const (Int32 1, (5,13--5,14)), + (5,9--5,14)), false, (5,6--5,17))); + (SynLongIdent ([B], [], [None]), Some (5,21--5,22), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (5,27--5,33)), (5,27--5,33)), + false, (5,23--5,37)))], (5,0--5,40), + { OpeningBraceRange = (5,0--5,2) }), (5,0--5,40)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([A], [], [None]), Some (7,5--7,6), + Quote + (Ident op_Quotation, false, + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (7,12--7,13)), Const (Int32 1, (7,10--7,11)), + (7,10--7,13)), Const (Int32 1, (7,14--7,15)), + (7,10--7,15)), false, (7,7--7,18))); + (SynLongIdent ([B], [], [None]), Some (7,22--7,23), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (7,28--7,34)), (7,28--7,34)), + false, (7,24--7,38)))], (7,0--7,41), + { OpeningBraceRange = (7,0--7,2) }), (7,0--7,41))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,41), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs new file mode 100644 index 0000000000..5972922e4c --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs @@ -0,0 +1,7 @@ +module Module + +{| Outer = {| Inner = <@ 1 @>|}; Other = <@@ "test" @@>|} + +{|Outer = {| Inner = <@ 1 @>|}; Other = <@@ "test" @@> |} + +{| Outer = {| Inner = <@ 1 @>|}; Other = <@@ "test" @@> |} diff --git a/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs.bsl new file mode 100644 index 0000000000..5577001a81 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonRecd - Quotation 04.fs.bsl @@ -0,0 +1,65 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonRecd - Quotation 04.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([Outer], [], [None]), Some (3,9--3,10), + AnonRecd + (false, None, + [(SynLongIdent ([Inner], [], [None]), Some (3,20--3,21), + Quote + (Ident op_Quotation, false, + Const (Int32 1, (3,25--3,26)), false, (3,22--3,29)))], + (3,11--3,31), { OpeningBraceRange = (3,11--3,13) })); + (SynLongIdent ([Other], [], [None]), Some (3,39--3,40), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (3,45--3,51)), (3,45--3,51)), + false, (3,41--3,55)))], (3,0--3,57), + { OpeningBraceRange = (3,0--3,2) }), (3,0--3,57)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([Outer], [], [None]), Some (5,8--5,9), + AnonRecd + (false, None, + [(SynLongIdent ([Inner], [], [None]), Some (5,19--5,20), + Quote + (Ident op_Quotation, false, + Const (Int32 1, (5,24--5,25)), false, (5,21--5,28)))], + (5,10--5,30), { OpeningBraceRange = (5,10--5,12) })); + (SynLongIdent ([Other], [], [None]), Some (5,38--5,39), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (5,44--5,50)), (5,44--5,50)), + false, (5,40--5,54)))], (5,0--5,57), + { OpeningBraceRange = (5,0--5,2) }), (5,0--5,57)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([Outer], [], [None]), Some (7,9--7,10), + AnonRecd + (false, None, + [(SynLongIdent ([Inner], [], [None]), Some (7,20--7,21), + Quote + (Ident op_Quotation, false, + Const (Int32 1, (7,25--7,26)), false, (7,22--7,29)))], + (7,11--7,31), { OpeningBraceRange = (7,11--7,13) })); + (SynLongIdent ([Other], [], [None]), Some (7,39--7,40), + Quote + (Ident op_QuotationUntyped, true, + Const + (String ("test", Regular, (7,45--7,51)), (7,45--7,51)), + false, (7,41--7,55)))], (7,0--7,58), + { OpeningBraceRange = (7,0--7,2) }), (7,0--7,58))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,58), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-01.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-01.fs.bsl index f931eda428..7dbc5c7695 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-01.fs", false, - QualifiedNameOfFile AnonymousRecords-01, [], [], + QualifiedNameOfFile AnonymousRecords-01, [], [SynModuleOrNamespace ([AnonymousRecords-01], false, AnonModule, [Expr @@ -34,6 +34,7 @@ ImplFile (6,0--6,17), { OpeningBraceRange = (6,7--6,9) }), (6,0--6,17))], PreXmlDocEmpty, [], None, (1,0--6,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,3)-(5,7) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-02.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-02.fs.bsl index 4701bc305a..fc0a410b79 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-02.fs", false, - QualifiedNameOfFile AnonymousRecords-02, [], [], + QualifiedNameOfFile AnonymousRecords-02, [], [SynModuleOrNamespace ([AnonymousRecords-02], false, AnonModule, [Expr @@ -12,6 +12,7 @@ ImplFile { OpeningBraceRange = (1,0--1,2) }), (1,0--2,0))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse error Unmatched '{|' diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-03.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-03.fs.bsl index 074b9f0b60..4582e5eca5 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-03.fs", false, - QualifiedNameOfFile AnonymousRecords-03, [], [], + QualifiedNameOfFile AnonymousRecords-03, [], [SynModuleOrNamespace ([AnonymousRecords-03], false, AnonModule, [Expr @@ -12,6 +12,7 @@ ImplFile { OpeningBraceRange = (1,7--1,9) }), (1,0--2,0))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,7)-(1,9) parse error Unmatched '{|' diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl index 3314197171..64a376f178 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-04.fs", false, - QualifiedNameOfFile AnonymousRecords-04, [], [], + QualifiedNameOfFile AnonymousRecords-04, [], [SynModuleOrNamespace ([AnonymousRecords-04], false, AnonModule, [Expr @@ -10,6 +10,7 @@ ImplFile (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse error Unmatched '{|' diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl index fde8214fb9..38eb618a0e 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-05.fs", false, - QualifiedNameOfFile AnonymousRecords-05, [], [], + QualifiedNameOfFile AnonymousRecords-05, [], [SynModuleOrNamespace ([AnonymousRecords-05], false, AnonModule, [Expr @@ -10,6 +10,7 @@ ImplFile (1,0--1,9))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,7)-(1,9) parse error Unmatched '{|' diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl index 90e976cc84..9994586b62 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/AnonymousRecords-06.fs", false, - QualifiedNameOfFile AnonymousRecords-06, [], [], + QualifiedNameOfFile AnonymousRecords-06, [], [SynModuleOrNamespace ([AnonymousRecords-06], false, AnonModule, [Let @@ -31,6 +31,7 @@ ImplFile EqualsRange = Some (1,8--1,9) })], (1,0--1,39))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-06' based on the file name 'AnonymousRecords-06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs new file mode 100644 index 0000000000..69965ae8be --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs @@ -0,0 +1,10 @@ +module Module + +{|a=1 |} + +{|a=1|} + +{| a=1|} + +{| a=1 |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs.bsl new file mode 100644 index 0000000000..a8ff99d1b8 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-07.fs.bsl @@ -0,0 +1,55 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-07.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,3--3,4), + Const + (Measure + (Int32 1, (3,4--3,5), + Seq ([Named ([m], (3,6--3,7))], (3,6--3,7)), + { LessRange = (3,5--3,6) + GreaterRange = (3,7--3,8) }), (3,4--3,8)))], + (3,0--3,11), { OpeningBraceRange = (3,0--3,2) }), (3,0--3,11)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,3--5,4), + Const + (Measure + (Int32 1, (5,4--5,5), + Seq ([Named ([m], (5,6--5,7))], (5,6--5,7)), + { LessRange = (5,5--5,6) + GreaterRange = (5,7--5,8) }), (5,4--5,8)))], + (5,0--5,10), { OpeningBraceRange = (5,0--5,2) }), (5,0--5,10)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,4--7,5), + Const + (Measure + (Int32 1, (7,5--7,6), + Seq ([Named ([m], (7,7--7,8))], (7,7--7,8)), + { LessRange = (7,6--7,7) + GreaterRange = (7,8--7,9) }), (7,5--7,9)))], + (7,0--7,11), { OpeningBraceRange = (7,0--7,2) }), (7,0--7,11)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,4--9,5), + Const + (Measure + (Int32 1, (9,5--9,6), + Seq ([Named ([m], (9,7--9,8))], (9,7--9,8)), + { LessRange = (9,6--9,7) + GreaterRange = (9,8--9,9) }), (9,5--9,9)))], + (9,0--9,12), { OpeningBraceRange = (9,0--9,2) }), (9,0--9,12))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs new file mode 100644 index 0000000000..10830a528a --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs @@ -0,0 +1,9 @@ +module Module + +{|a=1; b=2 |} + +{|a=1; b=2|} + +{| a=1; b=2|} + +{| a=1; b=2 |} diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs.bsl new file mode 100644 index 0000000000..ed640191c5 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-08.fs.bsl @@ -0,0 +1,83 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-08.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,3--3,4), + Const + (Measure + (Int32 1, (3,4--3,5), + Seq ([Named ([m], (3,6--3,7))], (3,6--3,7)), + { LessRange = (3,5--3,6) + GreaterRange = (3,7--3,8) }), (3,4--3,8))); + (SynLongIdent ([b], [], [None]), Some (3,11--3,12), + Const + (Measure + (Int32 2, (3,12--3,13), + Seq ([Named ([m], (3,14--3,15))], (3,14--3,15)), + { LessRange = (3,13--3,14) + GreaterRange = (3,15--3,16) }), (3,12--3,16)))], + (3,0--3,19), { OpeningBraceRange = (3,0--3,2) }), (3,0--3,19)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,3--5,4), + Const + (Measure + (Int32 1, (5,4--5,5), + Seq ([Named ([m], (5,6--5,7))], (5,6--5,7)), + { LessRange = (5,5--5,6) + GreaterRange = (5,7--5,8) }), (5,4--5,8))); + (SynLongIdent ([b], [], [None]), Some (5,11--5,12), + Const + (Measure + (Int32 2, (5,12--5,13), + Seq ([Named ([m], (5,14--5,15))], (5,14--5,15)), + { LessRange = (5,13--5,14) + GreaterRange = (5,15--5,16) }), (5,12--5,16)))], + (5,0--5,18), { OpeningBraceRange = (5,0--5,2) }), (5,0--5,18)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,4--7,5), + Const + (Measure + (Int32 1, (7,5--7,6), + Seq ([Named ([m], (7,7--7,8))], (7,7--7,8)), + { LessRange = (7,6--7,7) + GreaterRange = (7,8--7,9) }), (7,5--7,9))); + (SynLongIdent ([b], [], [None]), Some (7,12--7,13), + Const + (Measure + (Int32 2, (7,13--7,14), + Seq ([Named ([m], (7,15--7,16))], (7,15--7,16)), + { LessRange = (7,14--7,15) + GreaterRange = (7,16--7,17) }), (7,13--7,17)))], + (7,0--7,19), { OpeningBraceRange = (7,0--7,2) }), (7,0--7,19)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,4--9,5), + Const + (Measure + (Int32 1, (9,5--9,6), + Seq ([Named ([m], (9,7--9,8))], (9,7--9,8)), + { LessRange = (9,6--9,7) + GreaterRange = (9,8--9,9) }), (9,5--9,9))); + (SynLongIdent ([b], [], [None]), Some (9,12--9,13), + Const + (Measure + (Int32 2, (9,13--9,14), + Seq ([Named ([m], (9,15--9,16))], (9,15--9,16)), + { LessRange = (9,14--9,15) + GreaterRange = (9,16--9,17) }), (9,13--9,17)))], + (9,0--9,20), { OpeningBraceRange = (9,0--9,2) }), (9,0--9,20))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs new file mode 100644 index 0000000000..00d316e9d4 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs @@ -0,0 +1,10 @@ +module Module + +{|a=typeof|} + +{|a=typeof |} + +{| a=typeof|} + +{| a=typeof |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs.bsl new file mode 100644 index 0000000000..ec7c2e4e31 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-09.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-09.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,3--3,4), + TypeApp + (Ident typeof, (3,10--3,11), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (3,14--3,15), (3,10--3,15), (3,4--3,15)))], + (3,0--3,17), { OpeningBraceRange = (3,0--3,2) }), (3,0--3,17)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,3--5,4), + TypeApp + (Ident typeof, (5,10--5,11), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (5,14--5,15), (5,10--5,15), (5,4--5,15)))], + (5,0--5,18), { OpeningBraceRange = (5,0--5,2) }), (5,0--5,18)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,4--7,5), + TypeApp + (Ident typeof, (7,11--7,12), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (7,15--7,16), (7,11--7,16), (7,5--7,16)))], + (7,0--7,18), { OpeningBraceRange = (7,0--7,2) }), (7,0--7,18)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,4--9,5), + TypeApp + (Ident typeof, (9,11--9,12), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (9,15--9,16), (9,11--9,16), (9,5--9,16)))], + (9,0--9,19), { OpeningBraceRange = (9,0--9,2) }), (9,0--9,19))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs new file mode 100644 index 0000000000..f4054ccd7f --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs @@ -0,0 +1,10 @@ +module Module + +{|a=typedefof<_ option>|} + +{|a=typedefof<_ option> |} + +{| a=typedefof<_ option>|} + +{| a=typedefof<_ option> |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs.bsl new file mode 100644 index 0000000000..a30127b522 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-10.fs.bsl @@ -0,0 +1,55 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-10.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,3--3,4), + TypeApp + (Ident typedefof, (3,13--3,14), + [App + (LongIdent (SynLongIdent ([option], [], [None])), None, + [Anon (3,14--3,15)], [], None, true, (3,14--3,22))], + [], Some (3,22--3,23), (3,13--3,23), (3,4--3,23)))], + (3,0--3,25), { OpeningBraceRange = (3,0--3,2) }), (3,0--3,25)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,3--5,4), + TypeApp + (Ident typedefof, (5,13--5,14), + [App + (LongIdent (SynLongIdent ([option], [], [None])), None, + [Anon (5,14--5,15)], [], None, true, (5,14--5,22))], + [], Some (5,22--5,23), (5,13--5,23), (5,4--5,23)))], + (5,0--5,26), { OpeningBraceRange = (5,0--5,2) }), (5,0--5,26)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,4--7,5), + TypeApp + (Ident typedefof, (7,14--7,15), + [App + (LongIdent (SynLongIdent ([option], [], [None])), None, + [Anon (7,15--7,16)], [], None, true, (7,15--7,23))], + [], Some (7,23--7,24), (7,14--7,24), (7,5--7,24)))], + (7,0--7,26), { OpeningBraceRange = (7,0--7,2) }), (7,0--7,26)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,4--9,5), + TypeApp + (Ident typedefof, (9,14--9,15), + [App + (LongIdent (SynLongIdent ([option], [], [None])), None, + [Anon (9,15--9,16)], [], None, true, (9,15--9,23))], + [], Some (9,23--9,24), (9,14--9,24), (9,5--9,24)))], + (9,0--9,27), { OpeningBraceRange = (9,0--9,2) }), (9,0--9,27))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,27), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs new file mode 100644 index 0000000000..f7f786136b --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs @@ -0,0 +1,10 @@ +module Module + +let f<'T> = {|a=nameof<'T>|} + +let f<'T> = {|a=nameof<'T> |} + +let f<'T> = {| a=nameof<'T>|} + +let f<'T> = {| a=nameof<'T> |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs.bsl new file mode 100644 index 0000000000..180ed425c9 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-11.fs.bsl @@ -0,0 +1,127 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-11.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + LongIdent + (SynLongIdent ([f], [], [None]), None, + Some + (SynValTyparDecls + (Some + (PostfixList + ([SynTyparDecl + ([], SynTypar (T, None, false), [], + { AmpersandRanges = [] })], [], (3,5--3,9))), + false)), Pats [], None, (3,4--3,9)), None, + AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,15--3,16), + TypeApp + (Ident nameof, (3,22--3,23), + [Var (SynTypar (T, None, false), (3,23--3,25))], [], + Some (3,25--3,26), (3,22--3,26), (3,16--3,26)))], + (3,12--3,28), { OpeningBraceRange = (3,12--3,14) }), + (3,4--3,9), NoneAtLet, { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,10--3,11) })], + (3,0--3,28)); + Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((5,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + LongIdent + (SynLongIdent ([f], [], [None]), None, + Some + (SynValTyparDecls + (Some + (PostfixList + ([SynTyparDecl + ([], SynTypar (T, None, false), [], + { AmpersandRanges = [] })], [], (5,5--5,9))), + false)), Pats [], None, (5,4--5,9)), None, + AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,15--5,16), + TypeApp + (Ident nameof, (5,22--5,23), + [Var (SynTypar (T, None, false), (5,23--5,25))], [], + Some (5,25--5,26), (5,22--5,26), (5,16--5,26)))], + (5,12--5,29), { OpeningBraceRange = (5,12--5,14) }), + (5,4--5,9), NoneAtLet, { LeadingKeyword = Let (5,0--5,3) + InlineKeyword = None + EqualsRange = Some (5,10--5,11) })], + (5,0--5,29)); + Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((7,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + LongIdent + (SynLongIdent ([f], [], [None]), None, + Some + (SynValTyparDecls + (Some + (PostfixList + ([SynTyparDecl + ([], SynTypar (T, None, false), [], + { AmpersandRanges = [] })], [], (7,5--7,9))), + false)), Pats [], None, (7,4--7,9)), None, + AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,16--7,17), + TypeApp + (Ident nameof, (7,23--7,24), + [Var (SynTypar (T, None, false), (7,24--7,26))], [], + Some (7,26--7,27), (7,23--7,27), (7,17--7,27)))], + (7,12--7,29), { OpeningBraceRange = (7,12--7,14) }), + (7,4--7,9), NoneAtLet, { LeadingKeyword = Let (7,0--7,3) + InlineKeyword = None + EqualsRange = Some (7,10--7,11) })], + (7,0--7,29)); + Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((9,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + LongIdent + (SynLongIdent ([f], [], [None]), None, + Some + (SynValTyparDecls + (Some + (PostfixList + ([SynTyparDecl + ([], SynTypar (T, None, false), [], + { AmpersandRanges = [] })], [], (9,5--9,9))), + false)), Pats [], None, (9,4--9,9)), None, + AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,16--9,17), + TypeApp + (Ident nameof, (9,23--9,24), + [Var (SynTypar (T, None, false), (9,24--9,26))], [], + Some (9,26--9,27), (9,23--9,27), (9,17--9,27)))], + (9,12--9,30), { OpeningBraceRange = (9,12--9,14) }), + (9,4--9,9), NoneAtLet, { LeadingKeyword = Let (9,0--9,3) + InlineKeyword = None + EqualsRange = Some (9,10--9,11) })], + (9,0--9,30))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,30), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs new file mode 100644 index 0000000000..4ef04e9a31 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs @@ -0,0 +1,10 @@ +module Module + +{|a=id|} + +{|a=id |} + +{| a=id|} + +{| a=id |} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs.bsl new file mode 100644 index 0000000000..1de6c8767d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-12.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-12.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,3--3,4), + TypeApp + (Ident id, (3,6--3,7), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (3,10--3,11), (3,6--3,11), (3,4--3,11)))], + (3,0--3,13), { OpeningBraceRange = (3,0--3,2) }), (3,0--3,13)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,3--5,4), + TypeApp + (Ident id, (5,6--5,7), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (5,10--5,11), (5,6--5,11), (5,4--5,11)))], + (5,0--5,14), { OpeningBraceRange = (5,0--5,2) }), (5,0--5,14)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (7,4--7,5), + TypeApp + (Ident id, (7,7--7,8), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (7,11--7,12), (7,7--7,12), (7,5--7,12)))], + (7,0--7,14), { OpeningBraceRange = (7,0--7,2) }), (7,0--7,14)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (9,4--9,5), + TypeApp + (Ident id, (9,7--9,8), + [LongIdent (SynLongIdent ([int], [], [None]))], [], + Some (9,11--9,12), (9,7--9,12), (9,5--9,12)))], + (9,0--9,15), { OpeningBraceRange = (9,0--9,2) }), (9,0--9,15))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--9,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs new file mode 100644 index 0000000000..18ef9d998a --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs @@ -0,0 +1,6 @@ +module Module + +{|a = <@ 3 @> |} + +{|a = <@ 3 @>|} + diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs.bsl new file mode 100644 index 0000000000..ede1aa9a36 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-13.fs.bsl @@ -0,0 +1,27 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/AnonymousRecords-13.fs", false, + QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (3,4--3,5), + Quote + (Ident op_Quotation, false, Const (Int32 3, (3,9--3,10)), + false, (3,6--3,13)))], (3,0--3,16), + { OpeningBraceRange = (3,0--3,2) }), (3,0--3,16)); + Expr + (AnonRecd + (false, None, + [(SynLongIdent ([a], [], [None]), Some (5,4--5,5), + Quote + (Ident op_Quotation, false, Const (Int32 3, (5,9--5,10)), + false, (5,6--5,13)))], (5,0--5,15), + { OpeningBraceRange = (5,0--5,2) }), (5,0--5,15))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 01.fs.bsl index 4c3ccc484a..39cbf2026e 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 02.fs.bsl index e6453f7d36..fe9b811b7f 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,4 +22,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 03.fs.bsl index 5e7b2edfe2..5bfca010bf 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,5) parse error Unexpected token '=' or incomplete expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 04.fs.bsl index 9fabf903f5..5939066e98 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -38,6 +38,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,11)-(3,12) parse error Unexpected token '=' or incomplete expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 05.fs.bsl index 252070781e..43fc5bc815 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -38,6 +38,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,6) parse error Unexpected symbol ',' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 06.fs.bsl index f0fd4f42ab..930c655f57 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 06.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -49,6 +49,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(3,13) parse error Unexpected symbol ',' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Eq 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Eq 07.fs.bsl index 09316e6513..c78056c263 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Eq 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Eq 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Eq 07.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -38,6 +38,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Plus 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Plus 01.fs.bsl index 748e99e38b..36821c3096 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Plus 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Plus 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Plus 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Plus 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Plus 02.fs.bsl index 8233f7b872..145364c43c 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Plus 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Plus 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Plus 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,3), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Plus 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Plus 03.fs.bsl index 95babc117f..3088cf8197 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Plus 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Plus 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Plus 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,5) parse error Unexpected token '+' or incomplete expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Plus 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Plus 04.fs.bsl index 8f5d5280bb..6ed4a9524f 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Plus 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Plus 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Plus 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,2) parse error Unexpected infix operator in expression diff --git a/tests/service/data/SyntaxTree/Expression/Binary - Plus 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary - Plus 05.fs.bsl index 6717b3e353..39964c93e4 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary - Plus 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary - Plus 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Binary - Plus 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Binary 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary 01.fs.bsl index d0679ba06d..6c8f50ea30 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Binary 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Binary 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Binary 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Binary 02.fs.bsl index 0b5419a863..6dbcde51d9 100644 --- a/tests/service/data/SyntaxTree/Expression/Binary 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Binary 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Binary 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Binary 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -28,4 +28,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl b/tests/service/data/SyntaxTree/Expression/CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl index fde625dfdb..975d9cc4d2 100644 --- a/tests/service/data/SyntaxTree/Expression/CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl @@ -4,7 +4,6 @@ ImplFile false, QualifiedNameOfFile CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField, [], - [], [SynModuleOrNamespace ([CopySynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField], false, AnonModule, @@ -13,8 +12,9 @@ ImplFile (None, Some (Ident foo, ((2,6--2,10), None)), [SynExprRecordField ((SynLongIdent ([X], [], [None]), true), Some (4,12--4,13), - Some (Const (Int32 12, (5,16--5,18))), None)], (2,0--5,20)), - (2,0--5,20))], PreXmlDocEmpty, [], None, (2,0--5,20), - { LeadingKeyword = None })], (true, true), + Some (Const (Int32 12, (5,16--5,18))), (3,8--5,18), None)], + (2,0--5,20)), (2,0--5,20))], PreXmlDocEmpty, [], None, + (2,0--5,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Do 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Do 01.fs.bsl index bbac8331c5..a5e8992fe5 100644 --- a/tests/service/data/SyntaxTree/Expression/Do 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Do 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Do 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Do 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Do (Const (Int32 1, (4,4--4,5)), (3,0--4,5)), (3,0--4,5)); @@ -8,4 +8,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Do 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Do 02.fs.bsl index b3cfba1618..bff410302b 100644 --- a/tests/service/data/SyntaxTree/Expression/Do 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Do 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Do 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Do 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Do (Const (Int32 1, (4,4--4,5)), (3,0--4,5)), (3,0--4,5)); @@ -8,4 +8,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Do 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Do 03.fs.bsl index 2bf1e3df8c..846451482b 100644 --- a/tests/service/data/SyntaxTree/Expression/Do 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Do 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Do 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Do 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Do 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Do 04.fs.bsl index 7edad61927..8e8a69fb49 100644 --- a/tests/service/data/SyntaxTree/Expression/Do 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Do 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Do 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Do 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Do 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Do 05.fs.bsl index 8707692afc..7fa6c873dd 100644 --- a/tests/service/data/SyntaxTree/Expression/Do 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Do 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Do 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Do 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl index e0923b6782..40768a3059 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda - _ Recovery - Casts.fsx", true, - QualifiedNameOfFile DotLambda - _ Recovery - Casts$fsx, [], [], + QualifiedNameOfFile DotLambda - _ Recovery - Casts$fsx, [], [SynModuleOrNamespace ([DotLambda - _ Recovery - Casts], false, AnonModule, [Let @@ -60,6 +60,7 @@ ImplFile EqualsRange = Some (3,6--3,7) })], (3,0--3,19))], PreXmlDocEmpty, [], None, (1,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,19)-(1,20) parse error Unexpected symbol ')' in expression. Expected '.' or other token. diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Eof.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Eof.fsx.bsl index f481a08bdd..f337a4c392 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Eof.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Eof.fsx.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda - _ Recovery - Eof.fsx", true, - QualifiedNameOfFile DotLambda - _ Recovery - Eof$fsx, [], [], + QualifiedNameOfFile DotLambda - _ Recovery - Eof$fsx, [], [SynModuleOrNamespace ([DotLambda - _ Recovery - Eof], false, AnonModule, [Expr @@ -18,6 +18,7 @@ ImplFile (1,0--1,6)), (1,0--1,6))], PreXmlDocEmpty, [], None, (1,0--1,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,5)-(1,6) parse error Unexpected end of input in expression diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery.fsx.bsl index 1dfda19d13..02ac877b29 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery.fsx.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda - _ Recovery.fsx", true, - QualifiedNameOfFile DotLambda - _ Recovery$fsx, [], [], + QualifiedNameOfFile DotLambda - _ Recovery$fsx, [], [SynModuleOrNamespace ([DotLambda - _ Recovery], false, AnonModule, [Expr @@ -10,6 +10,7 @@ ImplFile Some (1,2--1,3), (1,0--1,3)), (1,0--1,3))], PreXmlDocEmpty, [], None, (1,0--1,3), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,2)-(1,3) parse error Unexpected symbol ')' in expression. Expected '.' or other token. diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery - Eof.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery - Eof.fsx.bsl index 878b39bfb7..3336a9e941 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery - Eof.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery - Eof.fsx.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda - _. Recovery - Eof.fsx", true, - QualifiedNameOfFile DotLambda - _. Recovery - Eof$fsx, [], [], + QualifiedNameOfFile DotLambda - _. Recovery - Eof$fsx, [], [SynModuleOrNamespace ([DotLambda - _; Recovery - Eof], false, AnonModule, [Expr @@ -21,6 +21,7 @@ ImplFile DotRange = (1,6--1,7) }), (1,0--1,7)), (1,0--1,7))], PreXmlDocEmpty, [], None, (1,0--1,7), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,6)-(1,7) parse error Unexpected end of input in expression diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery.fsx.bsl index 0bc367b4df..3f0ab6de4e 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _. Recovery.fsx.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda - _. Recovery.fsx", true, - QualifiedNameOfFile DotLambda - _. Recovery$fsx, [], [], + QualifiedNameOfFile DotLambda - _. Recovery$fsx, [], [SynModuleOrNamespace ([DotLambda - _; Recovery], false, AnonModule, [Expr @@ -13,6 +13,7 @@ ImplFile (1,0--1,4)), (1,0--1,4))], PreXmlDocEmpty, [], None, (1,0--1,4), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,3)-(1,4) parse error Unexpected symbol ')' in expression diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_ArgumentExpressionInInnerAppExpression.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_ArgumentExpressionInInnerAppExpression.fs.bsl index cba7a3d17c..ea4488dc2e 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_ArgumentExpressionInInnerAppExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_ArgumentExpressionInInnerAppExpression.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/Expression/DotLambda_ArgumentExpressionInInnerAppExpression.fs", false, QualifiedNameOfFile DotLambda_ArgumentExpressionInInnerAppExpression, [], - [], [SynModuleOrNamespace ([DotLambda_ArgumentExpressionInInnerAppExpression], false, AnonModule, [Let @@ -29,4 +28,5 @@ ImplFile (1,0--1,17))], PreXmlDocEmpty, [], None, (1,0--1,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_FunctionWithUnderscoreDotLambda.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_FunctionWithUnderscoreDotLambda.fs.bsl index 378bed8cdf..38bb6337e0 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_FunctionWithUnderscoreDotLambda.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_FunctionWithUnderscoreDotLambda.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_FunctionWithUnderscoreDotLambda.fs", false, - QualifiedNameOfFile DotLambda_FunctionWithUnderscoreDotLambda, [], [], + QualifiedNameOfFile DotLambda_FunctionWithUnderscoreDotLambda, [], [SynModuleOrNamespace ([DotLambda_FunctionWithUnderscoreDotLambda], false, AnonModule, [Let @@ -22,4 +22,5 @@ ImplFile EqualsRange = Some (1,11--1,12) })], (1,0--1,25))], PreXmlDocEmpty, [], None, (1,0--1,25), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_NestedPropertiesAfterUnderscore.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_NestedPropertiesAfterUnderscore.fs.bsl index ad08dcfcd1..2211e80a15 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_NestedPropertiesAfterUnderscore.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_NestedPropertiesAfterUnderscore.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_NestedPropertiesAfterUnderscore.fs", false, - QualifiedNameOfFile DotLambda_NestedPropertiesAfterUnderscore, [], [], + QualifiedNameOfFile DotLambda_NestedPropertiesAfterUnderscore, [], [SynModuleOrNamespace ([DotLambda_NestedPropertiesAfterUnderscore], false, AnonModule, [Let @@ -26,4 +26,5 @@ ImplFile EqualsRange = Some (1,11--1,12) })], (1,0--1,41))], PreXmlDocEmpty, [], None, (1,0--1,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_NotAllowedFunctionExpressionWithArg.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_NotAllowedFunctionExpressionWithArg.fs.bsl index 561a8c4d1e..a8b3627712 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_NotAllowedFunctionExpressionWithArg.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_NotAllowedFunctionExpressionWithArg.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_NotAllowedFunctionExpressionWithArg.fs", false, - QualifiedNameOfFile DotLambda_NotAllowedFunctionExpressionWithArg, [], [], + QualifiedNameOfFile DotLambda_NotAllowedFunctionExpressionWithArg, [], [SynModuleOrNamespace ([DotLambda_NotAllowedFunctionExpressionWithArg], false, AnonModule, [Let @@ -24,4 +24,5 @@ ImplFile (1,0--1,15))], PreXmlDocEmpty, [], None, (1,0--1,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelLet.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelLet.fs.bsl index 7b8f9aa8c6..981cafe11c 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelLet.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_TopLevelLet.fs", false, - QualifiedNameOfFile DotLambda_TopLevelLet, [], [], + QualifiedNameOfFile DotLambda_TopLevelLet, [], [SynModuleOrNamespace ([DotLambda_TopLevelLet], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile (1,0--1,25))], PreXmlDocEmpty, [], None, (1,0--1,25), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelStandaloneDotLambda.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelStandaloneDotLambda.fs.bsl index 2c57852951..dfc66d9269 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelStandaloneDotLambda.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_TopLevelStandaloneDotLambda.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_TopLevelStandaloneDotLambda.fs", false, - QualifiedNameOfFile DotLambda_TopLevelStandaloneDotLambda, [], [], + QualifiedNameOfFile DotLambda_TopLevelStandaloneDotLambda, [], [SynModuleOrNamespace ([DotLambda_TopLevelStandaloneDotLambda], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile (1,0--1,17)), (1,0--1,17))], PreXmlDocEmpty, [], None, (1,0--1,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication.fs.bsl index 5d634a011a..f469e8302b 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication.fs", false, QualifiedNameOfFile - DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication, [], [], + DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication, [], [SynModuleOrNamespace ([DotLambda_UnderscoreToFunctionCallWithSpaceAndUnitApplication], false, AnonModule, @@ -28,4 +28,5 @@ ImplFile EqualsRange = Some (1,11--1,12) })], (1,0--1,30))], PreXmlDocEmpty, [], None, (1,0--1,30), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToString.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToString.fs.bsl index 177818e273..8fe0a2efe7 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToString.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_UnderscoreToString.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_UnderscoreToString.fs", false, - QualifiedNameOfFile DotLambda_UnderscoreToString, [], [], + QualifiedNameOfFile DotLambda_UnderscoreToString, [], [SynModuleOrNamespace ([DotLambda_UnderscoreToString], false, AnonModule, [Expr @@ -13,4 +13,5 @@ ImplFile (1,0--1,12))], PreXmlDocEmpty, [], None, (1,0--1,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_WithNonTupledFunctionCall.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_WithNonTupledFunctionCall.fs.bsl index 2aaeb2c9bf..7786431ba6 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_WithNonTupledFunctionCall.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_WithNonTupledFunctionCall.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_WithNonTupledFunctionCall.fs", false, - QualifiedNameOfFile DotLambda_WithNonTupledFunctionCall, [], [], + QualifiedNameOfFile DotLambda_WithNonTupledFunctionCall, [], [SynModuleOrNamespace ([DotLambda_WithNonTupledFunctionCall], false, AnonModule, [Let @@ -30,4 +30,5 @@ ImplFile EqualsRange = Some (1,11--1,12) })], (1,0--1,37))], PreXmlDocEmpty, [], None, (1,0--1,37), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutDot.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutDot.fs.bsl index c9e140cb3a..99bf567532 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutDot.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutDot.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_WithoutDot.fs", false, - QualifiedNameOfFile DotLambda_WithoutDot, [], [], + QualifiedNameOfFile DotLambda_WithoutDot, [], [SynModuleOrNamespace ([DotLambda_WithoutDot], false, AnonModule, [Expr @@ -10,4 +10,5 @@ ImplFile (1,0--1,11)), (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--1,11), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutUnderscore.fs.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutUnderscore.fs.bsl index 624a15c29e..4600f7b41e 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutUnderscore.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda_WithoutUnderscore.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/Expression/DotLambda_WithoutUnderscore.fs", false, - QualifiedNameOfFile DotLambda_WithoutUnderscore, [], [], + QualifiedNameOfFile DotLambda_WithoutUnderscore, [], [SynModuleOrNamespace ([DotLambda_WithoutUnderscore], false, AnonModule, [], PreXmlDocEmpty, [], None, (1,0--1,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,1) parse error Unexpected symbol '.' in implementation file diff --git a/tests/service/data/SyntaxTree/Expression/Downcast 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Downcast 01.fs.bsl index 8fde0743e4..e090f188cc 100644 --- a/tests/service/data/SyntaxTree/Expression/Downcast 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Downcast 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Downcast 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Downcast 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Downcast 02.fs.bsl index d9a03af749..18d0a648f3 100644 --- a/tests/service/data/SyntaxTree/Expression/Downcast 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Downcast 02.fs.bsl @@ -1,13 +1,13 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Downcast 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Downcast (Ident i, Anon (4,0--4,2), (3,0--4,2)), (3,0--4,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,1)-(4,2) parse error Unexpected symbol ')' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Downcast 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Downcast 03.fs.bsl index fab179734b..dae3208716 100644 --- a/tests/service/data/SyntaxTree/Expression/Downcast 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Downcast 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Downcast 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,4 +10,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/For 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/For 01.fs.bsl index 97d7c7cb03..ff36ce94f1 100644 --- a/tests/service/data/SyntaxTree/Expression/For 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/For 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/For 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/For 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,4 +12,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/For 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/For 02.fs.bsl index aad044dcf3..06684182ce 100644 --- a/tests/service/data/SyntaxTree/Expression/For 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/For 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/For 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/For 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,4 +12,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/For 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/For 03.fs.bsl index 023ec9d79e..f0fcaf35d0 100644 --- a/tests/service/data/SyntaxTree/Expression/For 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/For 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/For 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/For 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/For 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/For 04.fs.bsl index 41ed392a75..2f2bdc1381 100644 --- a/tests/service/data/SyntaxTree/Expression/For 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/For 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/For 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/For 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -22,4 +22,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/For 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/For 05.fs.bsl index 9a71d8f9e4..034c9fb57d 100644 --- a/tests/service/data/SyntaxTree/Expression/For 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/For 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/For 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/For 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -22,4 +22,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/GlobalKeywordAsSynExpr.fs.bsl b/tests/service/data/SyntaxTree/Expression/GlobalKeywordAsSynExpr.fs.bsl index d76e9fe48b..cf9e8ee0a9 100644 --- a/tests/service/data/SyntaxTree/Expression/GlobalKeywordAsSynExpr.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/GlobalKeywordAsSynExpr.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/GlobalKeywordAsSynExpr.fs", false, - QualifiedNameOfFile GlobalKeywordAsSynExpr, [], [], + QualifiedNameOfFile GlobalKeywordAsSynExpr, [], [SynModuleOrNamespace ([GlobalKeywordAsSynExpr], false, AnonModule, [Expr @@ -12,4 +12,5 @@ ImplFile (2,0--2,6)), (2,0--2,6))], PreXmlDocEmpty, [], None, (2,0--2,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Id 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 01.fs.bsl index e24dcc6b23..6d2f542b4d 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 01.fs.bsl @@ -1,9 +1,10 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Id 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Ident a, (3,0--3,1))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Id 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 02.fs.bsl index d46a4254b2..108d2f3c42 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 02.fs.bsl @@ -1,12 +1,13 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Id 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Ident a, (3,0--3,3)); Expr (Ident b, (4,0--4,1))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,3) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Id 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 03.fs.bsl index 26ef9dd71d..bb388104ac 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Id 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (FromParseError (Ident , (3,0--3,2)), (3,0--3,2)); @@ -8,6 +8,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,2) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Id 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 04.fs.bsl index c76189328b..55cfbf59da 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Id 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (FromParseError (Ident , (3,0--3,1)), (3,0--3,1)); @@ -8,6 +8,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Id 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 05.fs.bsl index 2e3f9d5568..9d258b6db1 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Id 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Id 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 06.fs.bsl index bade7e896e..e175c01518 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 06.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 06.fs", false, QualifiedNameOfFile Id 06, [], [], + ("/root/Expression/Id 06.fs", false, QualifiedNameOfFile Id 06, [], [SynModuleOrNamespace ([Id 06], false, AnonModule, [Expr (FromParseError (Ident , (1,0--1,2)), (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--1,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Id 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Id 07.fs.bsl index 60d8974e78..aee51fa86a 100644 --- a/tests/service/data/SyntaxTree/Expression/Id 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Id 07.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Id 07.fs", false, QualifiedNameOfFile Id 07, [], [], + ("/root/Expression/Id 07.fs", false, QualifiedNameOfFile Id 07, [], [SynModuleOrNamespace ([Id 07], false, AnonModule, [Expr (FromParseError (Ident , (1,0--1,1)), (1,0--1,1))], PreXmlDocEmpty, [], None, (1,0--1,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,1) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/If 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 01.fs.bsl index 775d6d7764..f39f9211e2 100644 --- a/tests/service/data/SyntaxTree/Expression/If 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,4 +15,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/If 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 02.fs.bsl index 8f026aa409..8a3b70d786 100644 --- a/tests/service/data/SyntaxTree/Expression/If 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,4 +15,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/If 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 03.fs.bsl index c68682f6f5..ae9e6a4ec2 100644 --- a/tests/service/data/SyntaxTree/Expression/If 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(5,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/If 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 04.fs.bsl index 99ffbe73e7..f2495d6425 100644 --- a/tests/service/data/SyntaxTree/Expression/If 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(5,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/If 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 05.fs.bsl index 0197cbcd0d..b890559871 100644 --- a/tests/service/data/SyntaxTree/Expression/If 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/If 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 06.fs.bsl index 2c0215d0a8..e1d1405077 100644 --- a/tests/service/data/SyntaxTree/Expression/If 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,4) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/If 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 07.fs.bsl index d4d53023ff..781ea3d377 100644 --- a/tests/service/data/SyntaxTree/Expression/If 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/If 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 08.fs.bsl index 016bc4dbfe..9f0b60b310 100644 --- a/tests/service/data/SyntaxTree/Expression/If 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/If 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 09.fs.bsl index 6541b409bd..8756a96f13 100644 --- a/tests/service/data/SyntaxTree/Expression/If 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/If 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/If 10.fs.bsl index ef03391599..096cafbaaf 100644 --- a/tests/service/data/SyntaxTree/Expression/If 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/If 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/If 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/If 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs new file mode 100644 index 0000000000..4530232acf --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs @@ -0,0 +1,10 @@ +module Foo + +{ inherit Exception( + "This is a " + + "multiline " + + "message" + ) + X = 42 + Y = "test" +} diff --git a/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs.bsl b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs.bsl new file mode 100644 index 0000000000..7c41f9d1d9 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 1.fs.bsl @@ -0,0 +1,58 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/InheritRecord - Field 1.fs", false, + QualifiedNameOfFile Foo, [], + [SynModuleOrNamespace + ([Foo], false, NamedModule, + [Expr + (Record + (Some + (LongIdent (SynLongIdent ([Exception], [], [None])), + Paren + (App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (5,17--5,18)), + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (4,17--4,18)), + Const + (String + ("This is a ", Regular, (4,4--4,16)), + (4,4--4,16)), (4,4--4,18)), + Const + (String ("multiline ", Regular, (5,4--5,16)), + (5,4--5,16)), (4,4--5,16)), (4,4--5,18)), + Const + (String ("message", Regular, (6,4--6,13)), + (6,4--6,13)), (4,4--6,13)), (3,19--3,20), + Some (7,2--7,3), (3,19--7,3)), (3,10--7,3), + Some ((7,4--8,2), None), (3,2--3,9)), None, + [SynExprRecordField + ((SynLongIdent ([X], [], [None]), true), Some (8,4--8,5), + Some (Const (Int32 42, (8,6--8,8))), (8,2--8,8), + Some ((8,9--9,2), None)); + SynExprRecordField + ((SynLongIdent ([Y], [], [None]), true), Some (9,4--9,5), + Some + (Const + (String ("test", Regular, (9,6--9,12)), (9,6--9,12))), + (9,2--9,12), None)], (3,0--10,1)), (3,0--10,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--10,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs new file mode 100644 index 0000000000..40e0d20d55 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs @@ -0,0 +1,8 @@ +module Foo + +{ + inherit Exception("test") + Field1 = 1 + Field2 = "two" + Field3 = 3.0 +} diff --git a/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs.bsl b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs.bsl new file mode 100644 index 0000000000..0c8fe61edb --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/InheritRecord - Field 2.fs.bsl @@ -0,0 +1,35 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/InheritRecord - Field 2.fs", false, + QualifiedNameOfFile Foo, [], + [SynModuleOrNamespace + ([Foo], false, NamedModule, + [Expr + (Record + (Some + (LongIdent (SynLongIdent ([Exception], [], [None])), + Paren + (Const + (String ("test", Regular, (4,22--4,28)), (4,22--4,28)), + (4,21--4,22), Some (4,28--4,29), (4,21--4,29)), + (4,12--4,29), Some ((4,30--5,4), None), (4,4--4,11)), None, + [SynExprRecordField + ((SynLongIdent ([Field1], [], [None]), true), + Some (5,11--5,12), Some (Const (Int32 1, (5,13--5,14))), + (5,4--5,14), Some ((5,15--6,4), None)); + SynExprRecordField + ((SynLongIdent ([Field2], [], [None]), true), + Some (6,11--6,12), + Some + (Const + (String ("two", Regular, (6,13--6,18)), (6,13--6,18))), + (6,4--6,18), Some ((6,19--7,4), None)); + SynExprRecordField + ((SynLongIdent ([Field3], [], [None]), true), + Some (7,11--7,12), Some (Const (Double 3.0, (7,13--7,16))), + (7,4--7,16), None)], (3,0--8,1)), (3,0--8,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl b/tests/service/data/SyntaxTree/Expression/InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl index 8c19bf183e..7ad5d76dc2 100644 --- a/tests/service/data/SyntaxTree/Expression/InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField, - [], [], + [], [SynModuleOrNamespace ([InheritSynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField], false, AnonModule, @@ -18,9 +18,10 @@ ImplFile None, [SynExprRecordField ((SynLongIdent ([X], [], [None]), true), Some (2,28--2,29), - Some (Const (Int32 1, (2,30--2,31))), + Some (Const (Int32 1, (2,30--2,31))), (2,26--2,31), Some ((2,31--2,32), Some (2,32)))], (2,0--2,34)), (2,0--2,34))], PreXmlDocEmpty, [], None, (2,0--2,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 01.fs.bsl index f67f65c968..da7586f679 100644 --- a/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Lambda - Missing expr 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,1)-(3,9) parse error Missing function body diff --git a/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 02.fs.bsl index 42bbbc5853..db52b133a5 100644 --- a/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lambda - Missing expr 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Lambda - Missing expr 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (1:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Lambda 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lambda 01.fs.bsl index 095a5f6834..710431524d 100644 --- a/tests/service/data/SyntaxTree/Expression/Lambda 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lambda 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Lambda 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Lambda 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,4 +16,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Lambda 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lambda 02.fs.bsl index 82cf6a37d3..e95c7440fd 100644 --- a/tests/service/data/SyntaxTree/Expression/Lambda 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lambda 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Lambda 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Lambda 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,4 +14,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Lazy 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lazy 01.fs.bsl index 9af75da75f..38abbd179a 100644 --- a/tests/service/data/SyntaxTree/Expression/Lazy 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lazy 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Lazy 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Lazy 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Lazy 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lazy 02.fs.bsl index 32e1522a9e..c1441f5807 100644 --- a/tests/service/data/SyntaxTree/Expression/Lazy 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lazy 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Lazy 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Lazy 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Lazy 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Lazy 03.fs.bsl index 17a4c9785f..6b04c031cd 100644 --- a/tests/service/data/SyntaxTree/Expression/Lazy 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Lazy 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Lazy 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Lazy 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Let 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Let 01.fs.bsl index 8eaabfb3d6..634f5cbd32 100644 --- a/tests/service/data/SyntaxTree/Expression/Let 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Let 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Let 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Let 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Let 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Let 02.fs.bsl index bf9b340b53..e033e0ed9f 100644 --- a/tests/service/data/SyntaxTree/Expression/Let 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Let 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Let 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Let 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/List - Comprehension 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/List - Comprehension 01.fs.bsl index 517c835a63..a80d19b37b 100644 --- a/tests/service/data/SyntaxTree/Expression/List - Comprehension 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/List - Comprehension 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/List - Comprehension 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/List - Comprehension 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/List - Comprehension 02.fs.bsl index 9897592fb0..84d19bf27f 100644 --- a/tests/service/data/SyntaxTree/Expression/List - Comprehension 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/List - Comprehension 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/List - Comprehension 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(3,18) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 791f6099b9..51a31c623d 100644 --- a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs", false, QualifiedNameOfFile NestedSynExprLetOrUseContainsTheRangeOfInKeyword, [], - [], [SynModuleOrNamespace ([NestedSynExprLetOrUseContainsTheRangeOfInKeyword], false, AnonModule, [Let @@ -64,4 +63,5 @@ ImplFile EqualsRange = Some (2,9--2,10) })], (2,0--5,9))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,17--3,55)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 01.fs.bsl index cf71694448..01cc65b67e 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -33,4 +33,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 02.fs.bsl index 9a06f01ae6..d09eb05ae2 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -60,4 +60,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 03.fs.bsl index 9240191906..14eb81a993 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -88,4 +88,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--10,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 04.fs.bsl index 5b7efb7cdf..b5f3b9cfb9 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -13,6 +13,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,15)-(3,16) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 05.fs.bsl index d4dbc824d6..ec7aab469c 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -13,6 +13,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,5)-(4,6) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 06.fs.bsl index 1880c3c044..37a61aeba7 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 06.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -34,6 +34,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(4,13) parse error Incomplete structured construct at or before this point in object expression diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 07.fs.bsl index eeaef3fd16..bf1c735224 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 07.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -33,6 +33,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,17)-(4,18) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 08.fs.bsl index f7c76b0b8f..33c5ba7f04 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 08.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -33,6 +33,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,18)-(4,19) parse error Identifier expected diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 09.fs.bsl index 831deffbea..8f5d7ae077 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 09.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -36,6 +36,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,19)-(4,20) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 10.fs.bsl index d7670c7415..dd507d0fa2 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 10.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -37,6 +37,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,21)-(4,22) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 11.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 11.fs.bsl index ff41ad2a5d..eeb2063d6a 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 11.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -59,6 +59,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,5)-(5,11) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:6). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 12.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 12.fs.bsl index 53d26ec6e9..28a4afa9b0 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 12.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 12.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -58,6 +58,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,20)-(5,5) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 13.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 13.fs.bsl index 6567abe2e7..8127a275f3 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 13.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 13.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -55,6 +55,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,18)-(5,5) parse error Incomplete structured construct at or before this point in object expression diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 14.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 14.fs.bsl index 64530949bb..fbebde8b07 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 14.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 14.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 14.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -55,6 +55,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,17)-(5,5) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Expression/Object - Class 15.fs.bsl b/tests/service/data/SyntaxTree/Expression/Object - Class 15.fs.bsl index ec08bebfe9..ed81dff821 100644 --- a/tests/service/data/SyntaxTree/Expression/Object - Class 15.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Object - Class 15.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Object - Class 15.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -56,6 +56,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(5,5) parse error Incomplete structured construct at or before this point in object expression diff --git a/tests/service/data/SyntaxTree/Expression/Rarrow 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Rarrow 01.fs.bsl index c3c454436c..770fbc8ed9 100644 --- a/tests/service/data/SyntaxTree/Expression/Rarrow 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Rarrow 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Rarrow 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Rarrow 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,4) parse error The use of '->' in sequence and computation expressions is limited to the form 'for pat in expr -> expr'. Use the syntax 'for ... in ... do ... yield...' to generate elements in more complex sequence expressions. diff --git a/tests/service/data/SyntaxTree/Expression/Rarrow 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Rarrow 02.fs.bsl index 3a0af63286..59d36bd598 100644 --- a/tests/service/data/SyntaxTree/Expression/Rarrow 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Rarrow 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Rarrow 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Rarrow 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,6 +11,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Rarrow 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Rarrow 03.fs.bsl index ceae74bf09..e62be3cb75 100644 --- a/tests/service/data/SyntaxTree/Expression/Rarrow 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Rarrow 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Rarrow 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Rarrow 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 01.fs.bsl index 0e74d6eb48..409a634966 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -13,4 +13,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 02.fs.bsl index 52748529a1..abb4f9c61a 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -13,6 +13,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(3,9) parse error Unexpected symbol '|}' in definition diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 03.fs.bsl index dbb9b6e063..24b70e7a5c 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,6 +11,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 04.fs.bsl index 07303e1a14..d20ecba85e 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,6) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 05.fs.bsl index 6c2cefee45..c80a4ecab5 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,7) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 06.fs.bsl index edbeaa194e..093f445494 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 06.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,8) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 07.fs.bsl index 1bc1a409d9..0a2441bca9 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 07.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,3)-(4,5) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 08.fs.bsl index 0cd4a99718..70fdc8e6a0 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 08.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,3)-(4,5) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 09.fs.bsl index e851232c52..c40cd96963 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 09.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 10.fs.bsl index 2e01c7ef8c..cc908ff285 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 10.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,3)-(4,5) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 11.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 11.fs.bsl index 97ffe8e441..4fe46cfb3d 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 11.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,4 +22,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Anon 12.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Anon 12.fs.bsl index 3371e7a75e..0fcf36be84 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Anon 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Anon 12.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Anon 12.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,5) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 01.fs.bsl index be62dae586..7c25259a52 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 01.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 02.fs.bsl index 41d98a6117..7000a0b190 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 02.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,6) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 03.fs.bsl index 7ca89a4c8e..253ba19cef 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 03.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,11 +9,12 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A], [(3,3--3,4)], [None]), true), - Some (3,5--3,6), Some (Const (Int32 1, (3,7--3,8))), None)], - (3,0--3,10)), (3,0--3,10))], + Some (3,5--3,6), Some (Const (Int32 1, (3,7--3,8))), + (3,2--3,8), None)], (3,0--3,10)), (3,0--3,10))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 04.fs.bsl index d37f41ae72..14d2e09eaf 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 04.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -10,11 +10,12 @@ ImplFile [SynExprRecordField ((SynLongIdent ([A; B], [(3,3--3,4); (3,5--3,6)], [None; None]), true), - Some (3,7--3,8), Some (Const (Int32 1, (3,9--3,10))), None)], - (3,0--3,12)), (3,0--3,12))], + Some (3,7--3,8), Some (Const (Int32 1, (3,9--3,10))), + (3,2--3,10), None)], (3,0--3,12)), (3,0--3,12))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,6) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 05.fs.bsl index f0baef9a8f..f1020c78c2 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 05.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,9 +9,10 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5), - Some (Const (Int32 1, (3,6--3,7))), None)], (3,0--3,9)), - (3,0--3,9))], + Some (Const (Int32 1, (3,6--3,7))), (3,2--3,7), None)], + (3,0--3,9)), (3,0--3,9))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 06.fs.bsl index a280f304f7..112d7a2332 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 06.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,9 +9,10 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A; B], [(3,3--3,4)], [None; None]), true), - Some (3,6--3,7), Some (Const (Int32 1, (3,8--3,9))), None)], - (3,0--3,11)), (3,0--3,11))], + Some (3,6--3,7), Some (Const (Int32 1, (3,8--3,9))), + (3,2--3,9), None)], (3,0--3,11)), (3,0--3,11))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 07.fs.bsl index 58a717c012..6bc57ed48c 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 07.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 08.fs.bsl index a9a2cbc804..27b99f20b9 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 08.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,13 +9,15 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5), - Some (Const (Int32 1, (3,6--3,7))), Some ((3,8--4,2), None)); + Some (Const (Int32 1, (3,6--3,7))), (3,2--3,7), + Some ((3,8--4,2), None)); SynExprRecordField ((SynLongIdent ([B], [(4,3--4,4)], [None]), true), None, - None, None)], (3,0--4,6)), (3,0--4,6))], + None, (4,2--4,4), None)], (3,0--4,6)), (3,0--4,6))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,3)-(4,4) parse error Unexpected end of type. Expected a name after this point. diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 09.fs.bsl index 6132a89bd6..8da1bc6096 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 09.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,13 +9,15 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5), - Some (Const (Int32 1, (3,6--3,7))), Some ((3,8--4,2), None)); + Some (Const (Int32 1, (3,6--3,7))), (3,2--3,7), + Some ((3,8--4,2), None)); SynExprRecordField - ((SynLongIdent ([B], [], [None]), true), None, None, None)], - (3,0--4,5)), (3,0--4,5))], + ((SynLongIdent ([B], [], [None]), true), None, None, + (4,2--4,3), None)], (3,0--4,5)), (3,0--4,5))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,3) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 10.fs.bsl index 0b0379f5db..02cb421c64 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 10.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -23,4 +23,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 11.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 11.fs.bsl index 6b20cddae1..efa568036d 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 11.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,10 +9,11 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5), - None, None)], (3,0--3,7)), (3,0--3,7))], + None, (3,2--3,5), None)], (3,0--3,7)), (3,0--3,7))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,7) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 12.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 12.fs.bsl index f1c61f4501..a2360bb38b 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 12.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 12.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -20,9 +20,10 @@ ImplFile ([op_Equality], [], [Some (OriginalNotation "=")]), None, (4,5--4,6)), Ident F2, (4,2--4,6)), - Const (Int32 2, (4,7--4,8)), (4,2--4,8))), None)], - (3,0--4,10)), (3,0--4,10))], + Const (Int32 2, (4,7--4,8)), (4,2--4,8))), (3,2--4,8), + None)], (3,0--4,10)), (3,0--4,10))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 13.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 13.fs.bsl index 0012edc263..8ce8d350e9 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 13.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 13.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,13 +9,15 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([F1], [], [None]), true), Some (3,5--3,6), - Some (Const (Int32 1, (3,7--3,8))), Some ((3,9--4,2), None)); + Some (Const (Int32 1, (3,7--3,8))), (3,2--3,8), + Some ((3,9--4,2), None)); SynExprRecordField ((SynLongIdent ([F2], [], [None]), true), Some (4,5--4,6), - None, None)], (3,0--4,8)), (3,0--4,8))], + None, (4,2--4,6), None)], (3,0--4,8)), (3,0--4,8))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,4) parse error Field bindings must have the form 'id = expr;' diff --git a/tests/service/data/SyntaxTree/Expression/Record - Field 14.fs.bsl b/tests/service/data/SyntaxTree/Expression/Record - Field 14.fs.bsl index 1afdd819fb..3de711bfba 100644 --- a/tests/service/data/SyntaxTree/Expression/Record - Field 14.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Record - Field 14.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Record - Field 14.fs", false, QualifiedNameOfFile Foo, - [], [], + [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Expr @@ -9,7 +9,8 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([F1], [], [None]), true), Some (3,5--3,6), - Some (Const (Int32 1, (3,7--3,8))), Some ((3,9--4,2), None)); + Some (Const (Int32 1, (3,7--3,8))), (3,2--3,8), + Some ((3,9--4,2), None)); SynExprRecordField ((SynLongIdent ([F2], [], [None]), true), Some (4,5--4,6), Some @@ -23,9 +24,10 @@ ImplFile ([op_Equality], [], [Some (OriginalNotation "=")]), None, (5,5--5,6)), Ident F3, (5,2--5,6)), - Const (Int32 3, (5,7--5,8)), (5,2--5,8))), None)], - (3,0--5,10)), (3,0--5,10))], + Const (Int32 3, (5,7--5,8)), (5,2--5,8))), (4,2--5,8), + None)], (3,0--5,10)), (3,0--5,10))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 01.fs b/tests/service/data/SyntaxTree/Expression/Return 01.fs new file mode 100644 index 0000000000..51695776a5 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 01.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return new MyType() : IDisposable + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 01.fs.bsl new file mode 100644 index 0000000000..86c81fa6d8 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 01.fs.bsl @@ -0,0 +1,37 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Typed + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,25--5,27)), (5,15--5,27)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,15--5,41)), (5,8--5,41), + { YieldOrReturnKeyword = (5,8--5,14) }), (4,10--6,5)), + (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 02.fs b/tests/service/data/SyntaxTree/Expression/Return 02.fs new file mode 100644 index 0000000000..2bfa5ecf13 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 02.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return (new MyType() : IDisposable) + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 02.fs.bsl new file mode 100644 index 0000000000..678e228062 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 02.fs.bsl @@ -0,0 +1,40 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Paren + (Typed + (New + (false, + LongIdent + (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,26--5,28)), (5,16--5,28)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,16--5,42)), (5,15--5,16), Some (5,42--5,43), + (5,15--5,43)), (5,8--5,43), + { YieldOrReturnKeyword = (5,8--5,14) }), (4,10--6,5)), + (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 03.fs b/tests/service/data/SyntaxTree/Expression/Return 03.fs new file mode 100644 index 0000000000..ddf6e53146 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 03.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return new MyType() :> IDisposable + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 03.fs.bsl new file mode 100644 index 0000000000..467a5f8614 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 03.fs.bsl @@ -0,0 +1,37 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Upcast + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,25--5,27)), (5,15--5,27)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,15--5,42)), (5,8--5,42), + { YieldOrReturnKeyword = (5,8--5,14) }), (4,10--6,5)), + (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 04.fs b/tests/service/data/SyntaxTree/Expression/Return 04.fs new file mode 100644 index 0000000000..933a72820c --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 04.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return (new MyType() :> IDisposable) + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 04.fs.bsl new file mode 100644 index 0000000000..bc6451d72a --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 04.fs.bsl @@ -0,0 +1,40 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Paren + (Upcast + (New + (false, + LongIdent + (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,26--5,28)), (5,16--5,28)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,16--5,43)), (5,15--5,16), Some (5,43--5,44), + (5,15--5,44)), (5,8--5,44), + { YieldOrReturnKeyword = (5,8--5,14) }), (4,10--6,5)), + (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 05.fs b/tests/service/data/SyntaxTree/Expression/Return 05.fs new file mode 100644 index 0000000000..bd1ef86581 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 05.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return new MyType() + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 05.fs.bsl new file mode 100644 index 0000000000..beaaf365ec --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 05.fs.bsl @@ -0,0 +1,33 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,25--5,27)), (5,15--5,27)), + (5,8--5,27), { YieldOrReturnKeyword = (5,8--5,14) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 06.fs b/tests/service/data/SyntaxTree/Expression/Return 06.fs new file mode 100644 index 0000000000..95941f0964 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 06.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return (new MyType()) + } + diff --git a/tests/service/data/SyntaxTree/Expression/Return 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 06.fs.bsl new file mode 100644 index 0000000000..04d0ad024e --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 06.fs.bsl @@ -0,0 +1,35 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Paren + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,26--5,28)), (5,16--5,28)), + (5,15--5,16), Some (5,28--5,29), (5,15--5,29)), + (5,8--5,29), { YieldOrReturnKeyword = (5,8--5,14) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Return 07.fs b/tests/service/data/SyntaxTree/Expression/Return 07.fs new file mode 100644 index 0000000000..19e68b27e5 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 07.fs @@ -0,0 +1,6 @@ +module Module + +let _ = + async { + return new MyType() : + } diff --git a/tests/service/data/SyntaxTree/Expression/Return 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Return 07.fs.bsl new file mode 100644 index 0000000000..0bf151be5b --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Return 07.fs.bsl @@ -0,0 +1,37 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Return 07.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Typed + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,25--5,27)), (5,15--5,27)), + FromParseError (5,29--5,29), (5,15--5,29)), + (5,8--5,29), { YieldOrReturnKeyword = (5,8--5,14) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(6,4)-(6,5) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs b/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs new file mode 100644 index 0000000000..009a45b4c0 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return! new MyType() : IDisposable + } + diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs.bsl new file mode 100644 index 0000000000..4890e673c4 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 01.fs.bsl @@ -0,0 +1,37 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/ReturnBang 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturnFrom + ((false, true), + Typed + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,26--5,28)), (5,16--5,28)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,16--5,42)), (5,8--5,28), + { YieldOrReturnFromKeyword = (5,8--5,15) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs b/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs new file mode 100644 index 0000000000..91fd750a01 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return! (new MyType() : IDisposable) + } + diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs.bsl new file mode 100644 index 0000000000..4ff6f08be1 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 02.fs.bsl @@ -0,0 +1,40 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/ReturnBang 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturnFrom + ((false, true), + Paren + (Typed + (New + (false, + LongIdent + (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,27--5,29)), (5,17--5,29)), + LongIdent + (SynLongIdent ([IDisposable], [], [None])), + (5,17--5,43)), (5,16--5,17), Some (5,43--5,44), + (5,16--5,44)), (5,8--5,44), + { YieldOrReturnFromKeyword = (5,8--5,15) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs b/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs new file mode 100644 index 0000000000..dcb7b9c149 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs @@ -0,0 +1,7 @@ +module Module + +let _ = + async { + return! new MyType() : + } + diff --git a/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs.bsl new file mode 100644 index 0000000000..e23e8ccde3 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/ReturnBang 03.fs.bsl @@ -0,0 +1,38 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/ReturnBang 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Wild (3,4--3,5), None, + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturnFrom + ((false, true), + Typed + (New + (false, + LongIdent (SynLongIdent ([MyType], [], [None])), + Const (Unit, (5,26--5,28)), (5,16--5,28)), + FromParseError (5,30--5,30), (5,16--5,30)), + (5,8--5,28), + { YieldOrReturnFromKeyword = (5,8--5,15) }), + (4,10--6,5)), (4,4--6,5)), (3,4--3,5), NoneAtLet, + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(6,4)-(6,5) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl index c42ed608ed..763ab6d97b 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Sequential 01.fs", false, - QualifiedNameOfFile Sequential 01, [], [], + QualifiedNameOfFile Sequential 01, [], [SynModuleOrNamespace ([Sequential 01], false, AnonModule, [Expr @@ -12,6 +12,7 @@ ImplFile (1,0--1,8))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 01' based on the file name 'Sequential 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl index 7d58b85ed2..724388842b 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Sequential 02.fs", false, - QualifiedNameOfFile Sequential 02, [], [], + QualifiedNameOfFile Sequential 02, [], [SynModuleOrNamespace ([Sequential 02], false, AnonModule, [Expr @@ -12,6 +12,7 @@ ImplFile (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 02' based on the file name 'Sequential 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl index b04598b79f..064662b49c 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Sequential 03.fs", false, - QualifiedNameOfFile Sequential 03, [], [], + QualifiedNameOfFile Sequential 03, [], [SynModuleOrNamespace ([Sequential 03], false, AnonModule, [Expr @@ -14,6 +14,7 @@ ImplFile (1,0--1,21)), (1,0--1,21))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 03' based on the file name 'Sequential 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Set 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Set 01.fs.bsl index 68e1f2c85c..6fa9096392 100644 --- a/tests/service/data/SyntaxTree/Expression/Set 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Set 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Set 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Set 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,4 +11,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Set 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Set 02.fs.bsl index da5e8af6a6..f7e69c6dde 100644 --- a/tests/service/data/SyntaxTree/Expression/Set 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Set 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Set 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Set 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,4 +11,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Set 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Set 03.fs.bsl index fc450c30c9..e2eb444e31 100644 --- a/tests/service/data/SyntaxTree/Expression/Set 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Set 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Set 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Set 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,4 +10,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Set 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Set 04.fs.bsl index ee79838157..297ef11ba0 100644 --- a/tests/service/data/SyntaxTree/Expression/Set 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Set 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Set 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Set 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/SynExprAnonRecdWithStructKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprAnonRecdWithStructKeyword.fs.bsl index 4e6e88c423..abb76d98ae 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprAnonRecdWithStructKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprAnonRecdWithStructKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprAnonRecdWithStructKeyword.fs", false, - QualifiedNameOfFile SynExprAnonRecdWithStructKeyword, [], [], + QualifiedNameOfFile SynExprAnonRecdWithStructKeyword, [], [SynModuleOrNamespace ([SynExprAnonRecdWithStructKeyword], false, AnonModule, [Expr @@ -16,4 +16,5 @@ ImplFile (7,0--7,12))], PreXmlDocEmpty, [], None, (2,0--7,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,4--4,11)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields.fs.bsl index 534c40ade0..e7e6666975 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields.fs", false, QualifiedNameOfFile - SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields, [], [], + SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields, [], [SynModuleOrNamespace ([SynExprAnonRecordContainsTheRangeOfTheEqualsSignInTheFields], false, AnonModule, @@ -19,4 +19,5 @@ ImplFile { OpeningBraceRange = (2,0--2,2) }), (2,0--4,18))], PreXmlDocEmpty, [], None, (2,0--4,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl index 4b3437c248..651879d2cb 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs", false, - QualifiedNameOfFile SynExprDoContainsTheRangeOfTheDoKeyword, [], [], + QualifiedNameOfFile SynExprDoContainsTheRangeOfTheDoKeyword, [], [SynModuleOrNamespace ([SynExprDoContainsTheRangeOfTheDoKeyword], false, AnonModule, [Let @@ -23,4 +23,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--6,18))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainIdent.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainIdent.fs.bsl index fe39cf8a62..872dba8d06 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainIdent.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainIdent.fs.bsl @@ -1,10 +1,11 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprDynamicDoesContainIdent.fs", false, - QualifiedNameOfFile SynExprDynamicDoesContainIdent, [], [], + QualifiedNameOfFile SynExprDynamicDoesContainIdent, [], [SynModuleOrNamespace ([SynExprDynamicDoesContainIdent], false, AnonModule, [Expr (Dynamic (Ident x, (2,1--2,2), Ident k, (2,0--2,3)), (2,0--2,3))], PreXmlDocEmpty, [], None, (2,0--2,3), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainParentheses.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainParentheses.fs.bsl index 46eee1bf1b..c22b13523e 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainParentheses.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprDynamicDoesContainParentheses.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprDynamicDoesContainParentheses.fs", false, - QualifiedNameOfFile SynExprDynamicDoesContainParentheses, [], [], + QualifiedNameOfFile SynExprDynamicDoesContainParentheses, [], [SynModuleOrNamespace ([SynExprDynamicDoesContainParentheses], false, AnonModule, [Expr @@ -11,4 +11,5 @@ ImplFile (2,0--2,5)), (2,0--2,5))], PreXmlDocEmpty, [], None, (2,0--2,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl index e62b4dc35d..d2c4077e59 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs", false, - QualifiedNameOfFile SynExprForContainsTheRangeOfTheEqualsSign, [], [], + QualifiedNameOfFile SynExprForContainsTheRangeOfTheEqualsSign, [], [SynModuleOrNamespace ([SynExprForContainsTheRangeOfTheEqualsSign], false, AnonModule, [Expr @@ -18,4 +18,5 @@ ImplFile (2,0--3,14))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign.fs.bsl index 0264686482..c5a6b577bc 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/Expression/SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign.fs", false, QualifiedNameOfFile SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign, [], - [], [SynModuleOrNamespace ([SynExprLetOrUseBangContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -33,4 +32,5 @@ ImplFile (2,0--6,1)), (2,0--6,1))], PreXmlDocEmpty, [], None, (2,0--6,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 5408f5d71d..47612e2ac1 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs", false, - QualifiedNameOfFile SynExprLetOrUseContainsTheRangeOfInKeyword, [], [], + QualifiedNameOfFile SynExprLetOrUseContainsTheRangeOfInKeyword, [], [SynModuleOrNamespace ([SynExprLetOrUseContainsTheRangeOfInKeyword], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile InKeyword = Some (2,10--2,12) }), (2,0--2,15))], PreXmlDocEmpty, [], None, (2,0--2,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl index bb9dcafe15..a7ba9540a4 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs", false, QualifiedNameOfFile SynExprLetOrUseDoesNotContainTheRangeOfInKeyword, [], - [], [SynModuleOrNamespace ([SynExprLetOrUseDoesNotContainTheRangeOfInKeyword], false, AnonModule, [Expr @@ -26,4 +25,5 @@ ImplFile InKeyword = None }), (2,0--4,2)), (2,0--4,2))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl index 554f4eb21e..691c7762f3 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword, - [], [], + [], [SynModuleOrNamespace ([SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword], false, AnonModule, @@ -45,4 +45,5 @@ ImplFile (2,0--4,16))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl index 8b57f33b95..b2ac0ca44e 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs", false, QualifiedNameOfFile - SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword, [], [], + SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword, [], [SynModuleOrNamespace ([SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword], false, AnonModule, @@ -39,4 +39,5 @@ ImplFile InKeyword = Some (4,15--4,17) }), (2,0--5,6)), (2,0--5,6))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index e70d8c752e..871e70098d 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs", false, QualifiedNameOfFile - SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword, [], [], + SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword, [], [SynModuleOrNamespace ([SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword], false, AnonModule, @@ -18,4 +18,5 @@ ImplFile WithKeyword = (2,9--2,13) }), (2,0--3,8))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index acbf05115a..f1e4b95012 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs", false, QualifiedNameOfFile SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword, - [], [], + [], [SynModuleOrNamespace ([SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword], false, AnonModule, @@ -18,4 +18,5 @@ ImplFile WithKeyword = (2,8--2,12) }), (2,0--3,8))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprObjExprContainsTheRangeOfWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprObjExprContainsTheRangeOfWithKeyword.fs.bsl index c84d9fb3d2..8ee3426fb4 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprObjExprContainsTheRangeOfWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprObjExprContainsTheRangeOfWithKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprObjExprContainsTheRangeOfWithKeyword.fs", false, - QualifiedNameOfFile SynExprObjExprContainsTheRangeOfWithKeyword, [], [], + QualifiedNameOfFile SynExprObjExprContainsTheRangeOfWithKeyword, [], [SynModuleOrNamespace ([SynExprObjExprContainsTheRangeOfWithKeyword], false, AnonModule, [Expr @@ -80,4 +80,5 @@ ImplFile (5,2--6,35))], (2,2--2,11), (2,0--6,37)), (2,0--6,37))], PreXmlDocEmpty, [], None, (2,0--6,37), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprObjWithSetter.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprObjWithSetter.fs.bsl index 405f967b35..ce9e69a010 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprObjWithSetter.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprObjWithSetter.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprObjWithSetter.fs", false, - QualifiedNameOfFile SynExprObjWithSetter, [], [], + QualifiedNameOfFile SynExprObjWithSetter, [], [SynModuleOrNamespace ([SynExprObjWithSetter], false, AnonModule, [Types @@ -100,4 +100,5 @@ ImplFile (6,0--7,69)), (6,0--7,69))], PreXmlDocEmpty, [], None, (2,0--7,69), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl index bbd8533630..f403c248e5 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField.fs", false, QualifiedNameOfFile - SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField, [], [], + SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField, [], [SynModuleOrNamespace ([SynExprRecordContainsTheRangeOfTheEqualsSignInSynExprRecordField], false, AnonModule, @@ -12,7 +12,7 @@ ImplFile (None, None, [SynExprRecordField ((SynLongIdent ([V], [], [None]), true), Some (2,4--2,5), - Some (Ident v), Some ((2,8--3,2), None)); + Some (Ident v), (2,2--2,7), Some ((2,8--3,2), None)); SynExprRecordField ((SynLongIdent ([X], [], [None]), true), Some (3,9--3,10), Some @@ -23,8 +23,9 @@ ImplFile App (NonAtomic, false, Ident someLongFunctionCall, Ident a, (4,16--5,21)), Ident b, (4,16--6,21)), - Ident c, (4,16--7,21))), None)], (2,0--7,23)), - (2,0--7,23))], PreXmlDocEmpty, [], None, (2,0--7,23), - { LeadingKeyword = None })], (true, true), + Ident c, (4,16--7,21))), (3,2--7,21), None)], + (2,0--7,23)), (2,0--7,23))], PreXmlDocEmpty, [], None, + (2,0--7,23), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,13--3,28)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprRecordFieldsContainCorrectAmountOfTrivia.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprRecordFieldsContainCorrectAmountOfTrivia.fs.bsl index 109d053a41..03e2eefdfd 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprRecordFieldsContainCorrectAmountOfTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprRecordFieldsContainCorrectAmountOfTrivia.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprRecordFieldsContainCorrectAmountOfTrivia.fs", false, QualifiedNameOfFile SynExprRecordFieldsContainCorrectAmountOfTrivia, - [], [], + [], [SynModuleOrNamespace ([SynExprRecordFieldsContainCorrectAmountOfTrivia], false, AnonModule, [Expr @@ -58,8 +58,9 @@ ImplFile (false, SynLongIdent ([args; DryRun], [(5,19--5,20)], [None; None]), - None, (5,15--5,26)), (2,12--5,26))), None)], - (2,0--5,28)), (2,0--5,28))], PreXmlDocEmpty, [], None, - (2,0--5,28), { LeadingKeyword = None })], (true, true), + None, (5,15--5,26)), (2,12--5,26))), (2,2--5,26), + None)], (2,0--5,28)), (2,0--5,28))], PreXmlDocEmpty, [], + None, (2,0--5,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprSetWithSynExprDynamic.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprSetWithSynExprDynamic.fs.bsl index 4cd0b5776e..f919b4c95c 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprSetWithSynExprDynamic.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprSetWithSynExprDynamic.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/SynExprSetWithSynExprDynamic.fs", false, - QualifiedNameOfFile SynExprSetWithSynExprDynamic, [], [], + QualifiedNameOfFile SynExprSetWithSynExprDynamic, [], [SynModuleOrNamespace ([SynExprSetWithSynExprDynamic], false, AnonModule, [Expr @@ -10,4 +10,5 @@ ImplFile Const (Int32 2, (2,7--2,8)), (2,0--2,8)), (2,0--2,8))], PreXmlDocEmpty, [], None, (2,0--2,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index 4e1d438bfe..43d2f88584 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs", false, QualifiedNameOfFile - SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword, [], [], + SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword, [], [SynModuleOrNamespace ([SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword], false, AnonModule, @@ -14,4 +14,5 @@ ImplFile FinallyKeyword = (4,0--4,7) }), (2,0--5,2))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index 7900862979..690618cda8 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs", false, QualifiedNameOfFile SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword, - [], [], + [], [SynModuleOrNamespace ([SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword], false, AnonModule, @@ -21,4 +21,5 @@ ImplFile WithToEndRange = (4,0--5,9) }), (2,0--5,9))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - Finally 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - Finally 01.fs.bsl index d2437e5ebf..5a03c6066c 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - Finally 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - Finally 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - Finally 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - Finally 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - Finally 02.fs.bsl index 4d463ef107..d0ad1002ee 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - Finally 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - Finally 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - Finally 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - Finally 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - Finally 03.fs.bsl index 2ad046c6c6..05d4bf58c5 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - Finally 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - Finally 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - Finally 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - Finally 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - Finally 04.fs.bsl index 58c6e87e55..2efe693eb3 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - Finally 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - Finally 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - Finally 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 01.fs.bsl index beb30aedfe..4b9b32262a 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,4 +29,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 02.fs.bsl index 0fa71a2d56..2805db1774 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,4 +29,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 03.fs.bsl index f357989f6d..628ff8509d 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,4 +29,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 04.fs.bsl index b3ed1e9fdf..2ff3b16f3c 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -32,6 +31,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 05.fs.bsl index cce7a7716c..f266fe9c97 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 05.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 05.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Incomplete structured construct at or before this point in pattern matching. Expected '->' or other token. diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 06.fs.bsl index 2f37ac458b..367842a5c4 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 06.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 06.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -25,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 07.fs.bsl index 394af4cbd7..3e000ea7d4 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 07.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 07.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,4 +29,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 08.fs.bsl index bcad7831be..8c78faa7c9 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 08.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 08.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Incomplete structured construct at or before this point in pattern matching. Expected '->' or other token. diff --git a/tests/service/data/SyntaxTree/Expression/Try - With 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try - With 09.fs.bsl index d3557177c8..efc7f1e612 100644 --- a/tests/service/data/SyntaxTree/Expression/Try - With 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try - With 09.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try - With 09.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -25,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Try 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try 01.fs.bsl index 94e5c9c690..61abb3656c 100644 --- a/tests/service/data/SyntaxTree/Expression/Try 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Try 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Try 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in expression. Expected 'finally', 'with' or other token. diff --git a/tests/service/data/SyntaxTree/Expression/Try 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try 02.fs.bsl index b1330bbff7..57f8ddac5e 100644 --- a/tests/service/data/SyntaxTree/Expression/Try 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Try 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Try 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 01.fs.bsl index 8a17abd5fe..cb0e0eb6ab 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with - Missing expr 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,4) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 02.fs.bsl index 4d6eeb04f6..0ee1ddcecc 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with - Missing expr 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 03.fs.bsl index 74ec0b4007..7fe035f2d5 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with - Missing expr 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,3), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 04.fs.bsl index 74221e70a5..319880a8b0 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with - Missing expr 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,3) parse error The block following this 'let' is unfinished. Every code block is an expression and must have a result. 'let' cannot be the final code element in a block. Consider giving this block an explicit result. diff --git a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 05.fs.bsl index e55f5f0b2e..4c001b2e36 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with - Missing expr 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with - Missing expr 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,3), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,6) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Try with 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Try with 01.fs.bsl index 3435a66a38..e7263d93cc 100644 --- a/tests/service/data/SyntaxTree/Expression/Try with 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Try with 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Try with 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 01.fs.bsl index 6df06c17cc..d521c1789e 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,2)-(3,3) parse error Expected an expression after this point diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 02.fs.bsl index 8478b3cd00..ccd6e5f67e 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,1)-(3,2) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 03.fs.bsl index 8690087c0b..507b7d9912 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,1)-(3,2) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 04.fs.bsl index 142fb6f4d4..c185b93c76 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 05.fs.bsl index 9ff45a0948..5e7cf3894a 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,5) parse error Expected an expression after this point diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 06.fs.bsl index f1ac3a85d0..8d07f50feb 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 06.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,2)-(3,3) parse error Unexpected symbol ',' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 07.fs.bsl index 28b3b9ebff..9fa5505703 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 07.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,3)-(3,4) parse error Expecting expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 08.fs.bsl index 750a36647f..4626a7a68a 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 08.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,0), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (1:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 09.fs.bsl index ee4a18e88a..8e50076492 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 09.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,5) parse error Unexpected symbol ',' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 10.fs.bsl index d44279250a..c7bf2053a3 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 10.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:9). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 11.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 11.fs.bsl index df9f4900d7..92db48f5d0 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple - Missing item 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Tuple - Missing item 11.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,9) parse error Unexpected symbol ',' in binding diff --git a/tests/service/data/SyntaxTree/Expression/Tuple 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple 01.fs.bsl index 5310605d97..08d3bc2159 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Tuple 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Tuple 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,4 +10,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Tuple 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Tuple 02.fs.bsl index d8ef94b69a..f3b4e3f4e2 100644 --- a/tests/service/data/SyntaxTree/Expression/Tuple 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Tuple 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Tuple 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Tuple 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,4 +12,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Type test 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Type test 01.fs.bsl index 7e404d712a..17a27f16a5 100644 --- a/tests/service/data/SyntaxTree/Expression/Type test 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Type test 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Type test 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Type test 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Type test 02.fs.bsl index a0c458e845..f47e0daee1 100644 --- a/tests/service/data/SyntaxTree/Expression/Type test 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Type test 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Type test 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Type test 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Type test 03.fs.bsl index 4189996253..84ed9ca2d0 100644 --- a/tests/service/data/SyntaxTree/Expression/Type test 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Type test 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Type test 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(4,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Type test 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Type test 04.fs.bsl index ab70a127c9..d01cecf2e1 100644 --- a/tests/service/data/SyntaxTree/Expression/Type test 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Type test 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Type test 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,12) parse error Unexpected keyword 'then' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Typed 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Typed 01.fs.bsl index 126033bd3a..5defbcc13e 100644 --- a/tests/service/data/SyntaxTree/Expression/Typed 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Typed 01.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Typed 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Typed 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Ident i, (3,0--3,1))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,1)-(3,2) parse error Unexpected symbol ':' in definition. Expected incomplete structured construct at or before this point or other token. diff --git a/tests/service/data/SyntaxTree/Expression/Typed 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Typed 02.fs.bsl index cfca239237..e583d82bdd 100644 --- a/tests/service/data/SyntaxTree/Expression/Typed 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Typed 02.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Typed 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Typed 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Ident i, (3,0--3,1))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,1)-(3,2) parse error Unexpected symbol ':' in definition. Expected incomplete structured construct at or before this point or other token. diff --git a/tests/service/data/SyntaxTree/Expression/Typed 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Typed 03.fs.bsl index ea133deba4..9d829ce73d 100644 --- a/tests/service/data/SyntaxTree/Expression/Typed 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Typed 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Typed 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Typed 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Typed 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Typed 04.fs.bsl index 2bef6b3b00..ead43033b3 100644 --- a/tests/service/data/SyntaxTree/Expression/Typed 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Typed 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Typed 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Typed 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Expression/Unary - Reserved 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Unary - Reserved 01.fs.bsl index 0ef183357a..9438da5869 100644 --- a/tests/service/data/SyntaxTree/Expression/Unary - Reserved 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Unary - Reserved 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Unary - Reserved 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Unary - Reserved 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Unary - Reserved 02.fs.bsl index d246acbd5b..c913a48280 100644 --- a/tests/service/data/SyntaxTree/Expression/Unary - Reserved 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Unary - Reserved 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Unary - Reserved 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,2)-(3,3) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 01.fs.bsl index 7e4b6c613c..40795098b5 100644 --- a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Unfinished escaped ident 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -72,6 +72,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--46,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,5) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 02.fs.bsl index d85ff5016b..d8ac768d36 100644 --- a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Unfinished escaped ident 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -82,6 +82,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,27), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,16)-(4,17) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 03.fs.bsl index 683dccae60..043ea507ef 100644 --- a/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Unfinished escaped ident 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Expression/Unfinished escaped ident 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -35,6 +35,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,3) parse error This is not a valid identifier diff --git a/tests/service/data/SyntaxTree/Expression/Upcast 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Upcast 01.fs.bsl index cd9537573e..3a61bc5ca0 100644 --- a/tests/service/data/SyntaxTree/Expression/Upcast 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Upcast 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Upcast 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Upcast 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -9,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Upcast 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Upcast 02.fs.bsl index 3b97951257..7349d893d1 100644 --- a/tests/service/data/SyntaxTree/Expression/Upcast 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Upcast 02.fs.bsl @@ -1,12 +1,13 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Upcast 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Upcast 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr (Upcast (Ident i, Anon (4,0--4,2), (3,0--4,2)), (3,0--4,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,1)-(4,2) parse error Unexpected symbol ')' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Upcast 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Upcast 03.fs.bsl index 174f880184..24b8341458 100644 --- a/tests/service/data/SyntaxTree/Expression/Upcast 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Upcast 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Upcast 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Upcast 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,4 +10,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Upcast 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Upcast 04.fs.bsl index adf29275cb..ea64ddbe55 100644 --- a/tests/service/data/SyntaxTree/Expression/Upcast 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Upcast 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Upcast 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Upcast 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,6 +11,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/Upcast 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Upcast 05.fs.bsl index 62339dd016..78cddea4a9 100644 --- a/tests/service/data/SyntaxTree/Expression/Upcast 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Upcast 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/Upcast 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/Upcast 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/While 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 01.fs.bsl index e8039cbe2c..3ca61e2fb2 100644 --- a/tests/service/data/SyntaxTree/Expression/While 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,4 +11,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/While 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 02.fs.bsl index 99e63d5e06..4e922840a5 100644 --- a/tests/service/data/SyntaxTree/Expression/While 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,4 +11,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/While 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 03.fs.bsl index f8e8df6f23..f97b2ef370 100644 --- a/tests/service/data/SyntaxTree/Expression/While 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/While 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 04.fs.bsl index 525fd0e42a..bc9409d135 100644 --- a/tests/service/data/SyntaxTree/Expression/While 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/While 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 05.fs.bsl index b6d3daf4f5..63f49be132 100644 --- a/tests/service/data/SyntaxTree/Expression/While 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/While 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/While 06.fs.bsl index e106a73365..fa00ab9ef4 100644 --- a/tests/service/data/SyntaxTree/Expression/While 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/While 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Expression/While 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Expression/While 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 01.fs.bsl index deb6d27aa8..a516411d1d 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 02.fs.bsl index 52eaca7bfd..30c58b5910 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 03.fs.bsl index 437c23a2c6..9cd7ffdf52 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 04.fs.bsl index 70db990cb0..6afb7df494 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,35), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 05.fs.bsl index a8b4a21543..68269efd97 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 05.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 05.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,4 +30,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/WhileBang 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/WhileBang 06.fs.bsl index df87ceb6a9..733ec5ee33 100644 --- a/tests/service/data/SyntaxTree/Expression/WhileBang 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/WhileBang 06.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Expression/WhileBang 06.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,4 +30,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Yield 01.fs b/tests/service/data/SyntaxTree/Expression/Yield 01.fs new file mode 100644 index 0000000000..8f3656d8fc --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 01.fs @@ -0,0 +1,4 @@ +module Module + +yield [ 1 .. 10 ]: int list + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 01.fs.bsl new file mode 100644 index 0000000000..f6aabb5d44 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 01.fs.bsl @@ -0,0 +1,25 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (YieldOrReturn + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (3,8--3,9))), (3,10--3,12), + Some (Const (Int32 10, (3,13--3,15))), (3,8--3,9), + (3,13--3,15), (3,8--3,15)), (3,6--3,17)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], None, + true, (3,19--3,27)), (3,6--3,27)), (3,0--3,27), + { YieldOrReturnKeyword = (3,0--3,5) }), (3,0--3,27))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,27), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Yield 02.fs b/tests/service/data/SyntaxTree/Expression/Yield 02.fs new file mode 100644 index 0000000000..0573f7af70 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 02.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield [ 1 .. 10 ]: int list +} + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 02.fs.bsl new file mode 100644 index 0000000000..0948c6de6b --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 02.fs.bsl @@ -0,0 +1,32 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturn + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,12--4,13))), + (4,14--4,16), + Some (Const (Int32 10, (4,17--4,19))), + (4,12--4,13), (4,17--4,19), (4,12--4,19)), + (4,10--4,21)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], + None, true, (4,23--4,31)), (4,10--4,31)), + (4,4--4,31), { YieldOrReturnKeyword = (4,4--4,9) }), + (3,4--5,1)), (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Yield 03.fs b/tests/service/data/SyntaxTree/Expression/Yield 03.fs new file mode 100644 index 0000000000..d5c1f13e24 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 03.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield ([ 1 .. 10 ]: int list) +} + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 03.fs.bsl new file mode 100644 index 0000000000..a064eecfdc --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 03.fs.bsl @@ -0,0 +1,35 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturn + ((true, false), + Paren + (Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,13--4,14))), + (4,15--4,17), + Some (Const (Int32 10, (4,18--4,20))), + (4,13--4,14), (4,18--4,20), (4,13--4,20)), + (4,11--4,22)), + App + (LongIdent (SynLongIdent ([list], [], [None])), + None, + [LongIdent (SynLongIdent ([int], [], [None]))], + [], None, true, (4,24--4,32)), (4,11--4,32)), + (4,10--4,11), Some (4,32--4,33), (4,10--4,33)), + (4,4--4,33), { YieldOrReturnKeyword = (4,4--4,9) }), + (3,4--5,1)), (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Yield 04.fs b/tests/service/data/SyntaxTree/Expression/Yield 04.fs new file mode 100644 index 0000000000..e31740cb32 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 04.fs @@ -0,0 +1,4 @@ +module Module + +yield ([ 1 .. 10 ]: int list) + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 04.fs.bsl new file mode 100644 index 0000000000..d3e1a1510e --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 04.fs.bsl @@ -0,0 +1,27 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (YieldOrReturn + ((true, false), + Paren + (Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (3,9--3,10))), (3,11--3,13), + Some (Const (Int32 10, (3,14--3,16))), (3,9--3,10), + (3,14--3,16), (3,9--3,16)), (3,7--3,18)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], + None, true, (3,20--3,28)), (3,7--3,28)), (3,6--3,7), + Some (3,28--3,29), (3,6--3,29)), (3,0--3,29), + { YieldOrReturnKeyword = (3,0--3,5) }), (3,0--3,29))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,29), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/Yield 05.fs b/tests/service/data/SyntaxTree/Expression/Yield 05.fs new file mode 100644 index 0000000000..573d3b81cd --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 05.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield [ 1 .. 10 ] : +} + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 05.fs.bsl new file mode 100644 index 0000000000..1deada75f9 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 05.fs.bsl @@ -0,0 +1,31 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturn + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,12--4,13))), + (4,14--4,16), + Some (Const (Int32 10, (4,17--4,19))), + (4,12--4,13), (4,17--4,19), (4,12--4,19)), + (4,10--4,21)), FromParseError (4,23--4,23), + (4,10--4,23)), (4,4--4,23), + { YieldOrReturnKeyword = (4,4--4,9) }), (3,4--5,1)), + (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(5,0)-(5,1) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/Yield 06.fs b/tests/service/data/SyntaxTree/Expression/Yield 06.fs new file mode 100644 index 0000000000..bb699f4062 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 06.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield [ 1 .. 10 ] : +} + diff --git a/tests/service/data/SyntaxTree/Expression/Yield 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/Yield 06.fs.bsl new file mode 100644 index 0000000000..ced49e682d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/Yield 06.fs.bsl @@ -0,0 +1,31 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/Yield 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturn + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,12--4,13))), + (4,14--4,16), + Some (Const (Int32 10, (4,17--4,19))), + (4,12--4,13), (4,17--4,19), (4,12--4,19)), + (4,10--4,21)), FromParseError (4,23--4,23), + (4,10--4,23)), (4,4--4,23), + { YieldOrReturnKeyword = (4,4--4,9) }), (3,4--5,1)), + (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(5,0)-(5,1) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs new file mode 100644 index 0000000000..dbfd3f4bee --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs @@ -0,0 +1,5 @@ +module Module + +yield! [ 1 .. 10 ]: int list + + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs.bsl new file mode 100644 index 0000000000..3d1e71f489 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 01.fs.bsl @@ -0,0 +1,25 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (YieldOrReturnFrom + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (3,9--3,10))), (3,11--3,13), + Some (Const (Int32 10, (3,14--3,16))), (3,9--3,10), + (3,14--3,16), (3,9--3,16)), (3,7--3,18)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], None, + true, (3,20--3,28)), (3,7--3,28)), (3,0--3,18), + { YieldOrReturnFromKeyword = (3,0--3,6) }), (3,0--3,18))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs new file mode 100644 index 0000000000..ed1bd0fea9 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs @@ -0,0 +1,4 @@ +module Module + +yield! ([ 1 .. 10 ]: int list) + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs.bsl new file mode 100644 index 0000000000..08d1db3d26 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 02.fs.bsl @@ -0,0 +1,27 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (YieldOrReturnFrom + ((true, false), + Paren + (Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (3,10--3,11))), (3,12--3,14), + Some (Const (Int32 10, (3,15--3,17))), (3,10--3,11), + (3,15--3,17), (3,10--3,17)), (3,8--3,19)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], + None, true, (3,21--3,29)), (3,8--3,29)), (3,7--3,8), + Some (3,29--3,30), (3,7--3,30)), (3,0--3,30), + { YieldOrReturnFromKeyword = (3,0--3,6) }), (3,0--3,30))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,30), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs new file mode 100644 index 0000000000..c80ceb053c --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield! [ 1 .. 10 ]: int list +} + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs.bsl new file mode 100644 index 0000000000..09804abe66 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 03.fs.bsl @@ -0,0 +1,32 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturnFrom + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,13--4,14))), + (4,15--4,17), + Some (Const (Int32 10, (4,18--4,20))), + (4,13--4,14), (4,18--4,20), (4,13--4,20)), + (4,11--4,22)), + App + (LongIdent (SynLongIdent ([list], [], [None])), None, + [LongIdent (SynLongIdent ([int], [], [None]))], [], + None, true, (4,24--4,32)), (4,11--4,32)), + (4,4--4,22), { YieldOrReturnFromKeyword = (4,4--4,10) }), + (3,4--5,1)), (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs new file mode 100644 index 0000000000..e80aee6089 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs @@ -0,0 +1,7 @@ +module Module + +seq { + yield! ([ 1 .. 10 ]: int list) +} + + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs.bsl new file mode 100644 index 0000000000..a5fde092fb --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 04.fs.bsl @@ -0,0 +1,35 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturnFrom + ((true, false), + Paren + (Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,14--4,15))), + (4,16--4,18), + Some (Const (Int32 10, (4,19--4,21))), + (4,14--4,15), (4,19--4,21), (4,14--4,21)), + (4,12--4,23)), + App + (LongIdent (SynLongIdent ([list], [], [None])), + None, + [LongIdent (SynLongIdent ([int], [], [None]))], + [], None, true, (4,25--4,33)), (4,12--4,33)), + (4,11--4,12), Some (4,33--4,34), (4,11--4,34)), + (4,4--4,34), { YieldOrReturnFromKeyword = (4,4--4,10) }), + (3,4--5,1)), (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs new file mode 100644 index 0000000000..5870293c0d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs @@ -0,0 +1,6 @@ +module Module + +seq { + yield! [ 1 .. 10 ] : +} + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs.bsl new file mode 100644 index 0000000000..595f455632 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 05.fs.bsl @@ -0,0 +1,31 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident seq, + ComputationExpr + (false, + YieldOrReturnFrom + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (4,13--4,14))), + (4,15--4,17), + Some (Const (Int32 10, (4,18--4,20))), + (4,13--4,14), (4,18--4,20), (4,13--4,20)), + (4,11--4,22)), FromParseError (4,24--4,24), + (4,11--4,24)), (4,4--4,22), + { YieldOrReturnFromKeyword = (4,4--4,10) }), (3,4--5,1)), + (3,0--5,1)), (3,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(5,0)-(5,1) parse error Unexpected symbol '}' in expression diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs b/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs new file mode 100644 index 0000000000..037f709a6e --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs @@ -0,0 +1,4 @@ +module Module + +yield! [ 1 .. 10 ] : + diff --git a/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs.bsl new file mode 100644 index 0000000000..de83602e2d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/YieldBang 06.fs.bsl @@ -0,0 +1,24 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/YieldBang 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (YieldOrReturnFrom + ((true, false), + Typed + (ArrayOrListComputed + (false, + IndexRange + (Some (Const (Int32 1, (3,9--3,10))), (3,11--3,13), + Some (Const (Int32 10, (3,14--3,16))), (3,9--3,10), + (3,14--3,16), (3,9--3,16)), (3,7--3,18)), + FromParseError (3,20--3,20), (3,7--3,20)), (3,0--3,18), + { YieldOrReturnFromKeyword = (3,0--3,6) }), (3,0--3,18))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(5,0)-(5,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Extern/Extern 01.fs.bsl b/tests/service/data/SyntaxTree/Extern/Extern 01.fs.bsl index efb3580fda..7e70df62f0 100644 --- a/tests/service/data/SyntaxTree/Extern/Extern 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Extern/Extern 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Extern/Extern 01.fs", false, QualifiedNameOfFile Extern 01, [], [], + ("/root/Extern/Extern 01.fs", false, QualifiedNameOfFile Extern 01, [], [SynModuleOrNamespace ([Extern 01], false, AnonModule, [Let @@ -98,6 +98,7 @@ ImplFile EqualsRange = None })], (1,0--2,70))], PreXmlDocEmpty, [], None, (1,0--2,70), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Extern 01' based on the file name 'Extern 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Extern/ExternKeywordIsPresentInTrivia.fs.bsl b/tests/service/data/SyntaxTree/Extern/ExternKeywordIsPresentInTrivia.fs.bsl index 8b6a9a601f..cd77009166 100644 --- a/tests/service/data/SyntaxTree/Extern/ExternKeywordIsPresentInTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/Extern/ExternKeywordIsPresentInTrivia.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Extern/ExternKeywordIsPresentInTrivia.fs", false, - QualifiedNameOfFile ExternKeywordIsPresentInTrivia, [], [], + QualifiedNameOfFile ExternKeywordIsPresentInTrivia, [], [SynModuleOrNamespace ([ExternKeywordIsPresentInTrivia], false, AnonModule, [Let @@ -42,4 +42,5 @@ ImplFile EqualsRange = None })], (2,0--2,28))], PreXmlDocEmpty, [], None, (2,0--2,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl index 6800642d8f..15cfd83a38 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/Comment after else 01.fs", false, - QualifiedNameOfFile Comment after else 01, [], [], + QualifiedNameOfFile Comment after else 01, [], [SynModuleOrNamespace ([Comment after else 01], false, AnonModule, [Expr @@ -23,6 +23,7 @@ ImplFile IfToThenRange = (1,0--1,9) }), (1,0--4,5))], PreXmlDocEmpty, [], None, (1,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (3,5--3,33)] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Comment after else 01' based on the file name 'Comment after else 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl index 6fcbf474c2..d3974f75b6 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/Comment after else 02.fs", false, - QualifiedNameOfFile Comment after else 02, [], [], + QualifiedNameOfFile Comment after else 02, [], [SynModuleOrNamespace ([Comment after else 02], false, AnonModule, [Expr @@ -17,6 +17,7 @@ ImplFile Expr (Ident b, (2,0--2,1))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [BlockComment (3,5--3,33)] }, set [])) (2,0)-(2,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (1:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl index a94aa49c2f..6c91bc3c49 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/DeeplyNestedIfThenElse.fs", false, - QualifiedNameOfFile DeeplyNestedIfThenElse, [], [], + QualifiedNameOfFile DeeplyNestedIfThenElse, [], [SynModuleOrNamespace ([DeeplyNestedIfThenElse], false, AnonModule, [Expr @@ -32,4 +32,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--10,13))], PreXmlDocEmpty, [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl index 4ee21824e5..8880778d7d 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/ElseKeywordInSimpleIfThenElse.fs", false, - QualifiedNameOfFile ElseKeywordInSimpleIfThenElse, [], [], + QualifiedNameOfFile ElseKeywordInSimpleIfThenElse, [], [SynModuleOrNamespace ([ElseKeywordInSimpleIfThenElse], false, AnonModule, [Expr @@ -14,4 +14,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--2,18))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl index afb0f0222c..e5e3176643 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/IfKeywordInIfThenElse.fs", false, - QualifiedNameOfFile IfKeywordInIfThenElse, [], [], + QualifiedNameOfFile IfKeywordInIfThenElse, [], [SynModuleOrNamespace ([IfKeywordInIfThenElse], false, AnonModule, [Expr @@ -14,4 +14,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--2,11))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl index f1421e566a..7ecb4d2a58 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs", false, - QualifiedNameOfFile IfThenAndElseKeywordOnSeparateLines, [], [], + QualifiedNameOfFile IfThenAndElseKeywordOnSeparateLines, [], [SynModuleOrNamespace ([IfThenAndElseKeywordOnSeparateLines], false, AnonModule, [Expr @@ -14,4 +14,5 @@ ImplFile IfToThenRange = (2,0--3,4) }), (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl index 08b9a76501..4d59e2371b 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/NestedElifInIfThenElse.fs", false, - QualifiedNameOfFile NestedElifInIfThenElse, [], [], + QualifiedNameOfFile NestedElifInIfThenElse, [], [SynModuleOrNamespace ([NestedElifInIfThenElse], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--4,13))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl index 07bafab126..8085e2915c 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/NestedElseIfInIfThenElse.fs", false, - QualifiedNameOfFile NestedElseIfInIfThenElse, [], [], + QualifiedNameOfFile NestedElseIfInIfThenElse, [], [SynModuleOrNamespace ([NestedElseIfInIfThenElse], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--5,15))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl index da6f78fb88..7b9c52347c 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs", false, - QualifiedNameOfFile NestedElseIfOnTheSameLineInIfThenElse, [], [], + QualifiedNameOfFile NestedElseIfOnTheSameLineInIfThenElse, [], [SynModuleOrNamespace ([NestedElseIfOnTheSameLineInIfThenElse], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile IfToThenRange = (2,0--2,9) }), (2,0--5,5))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl index b7334e423d..930c7d13e7 100644 --- a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/ComplexArgumentsLambdaHasArrowRange.fs", false, - QualifiedNameOfFile ComplexArgumentsLambdaHasArrowRange, [], [], + QualifiedNameOfFile ComplexArgumentsLambdaHasArrowRange, [], [SynModuleOrNamespace ([ComplexArgumentsLambdaHasArrowRange], false, AnonModule, [Expr @@ -161,4 +161,5 @@ ImplFile { ArrowRange = Some (5,4--5,6) }), (2,0--6,13))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl index 442d815a3d..3f1c530f9d 100644 --- a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/DestructedLambdaHasArrowRange.fs", false, - QualifiedNameOfFile DestructedLambdaHasArrowRange, [], [], + QualifiedNameOfFile DestructedLambdaHasArrowRange, [], [SynModuleOrNamespace ([DestructedLambdaHasArrowRange], false, AnonModule, [Expr @@ -64,4 +64,5 @@ ImplFile { ArrowRange = Some (2,14--2,16) }), (2,0--2,22))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl index af45553391..e85c474072 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs", false, QualifiedNameOfFile LambdaWithTupleParameterWithWildCardGivesCorrectBody, - [], [], + [], [SynModuleOrNamespace ([LambdaWithTupleParameterWithWildCardGivesCorrectBody], false, AnonModule, @@ -39,4 +39,5 @@ ImplFile (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl index c014aa3236..8e77bc9eed 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs", false, - QualifiedNameOfFile LambdaWithTwoParametersGivesCorrectBody, [], [], + QualifiedNameOfFile LambdaWithTwoParametersGivesCorrectBody, [], [SynModuleOrNamespace ([LambdaWithTwoParametersGivesCorrectBody], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl index 9e2a1e3338..e38de7b553 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs", false, - QualifiedNameOfFile LambdaWithWildCardParameterGivesCorrectBody, [], [], + QualifiedNameOfFile LambdaWithWildCardParameterGivesCorrectBody, [], [SynModuleOrNamespace ([LambdaWithWildCardParameterGivesCorrectBody], false, AnonModule, [Expr @@ -30,4 +30,5 @@ ImplFile (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl index 83435aa48a..eb2ff3402e 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs", false, QualifiedNameOfFile LambdaWithWildCardThatReturnsALambdaGivesCorrectBody, - [], [], + [], [SynModuleOrNamespace ([LambdaWithWildCardThatReturnsALambdaGivesCorrectBody], false, AnonModule, @@ -32,4 +32,5 @@ ImplFile { ArrowRange = Some (2,6--2,8) }), (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl index 6d3ea6eea4..40da24ed4d 100644 --- a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/MultilineLambdaHasArrowRange.fs", false, - QualifiedNameOfFile MultilineLambdaHasArrowRange, [], [], + QualifiedNameOfFile MultilineLambdaHasArrowRange, [], [SynModuleOrNamespace ([MultilineLambdaHasArrowRange], false, AnonModule, [Expr @@ -72,4 +72,5 @@ ImplFile { ArrowRange = Some (3,28--3,30) }), (2,0--4,41))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 01.fs.bsl b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 01.fs.bsl index cf6edce993..dfce41e19d 100644 --- a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/Param - Missing type 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,7) parse error Unexpected symbol ':' in lambda expression. Expected '->' or other token. diff --git a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 02.fs.bsl b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 02.fs.bsl index faf86a319e..6cb1804455 100644 --- a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/Param - Missing type 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,7) parse error Unexpected symbol ':' in lambda expression. Expected '->' or other token. diff --git a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 03.fs.bsl b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 03.fs.bsl index 490a20dd75..6031ebdc10 100644 --- a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/Param - Missing type 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,9) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 04.fs.bsl b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 04.fs.bsl index 6c522c46ba..71f1717686 100644 --- a/tests/service/data/SyntaxTree/Lambda/Param - Missing type 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/Param - Missing type 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/Param - Missing type 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -31,6 +31,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,9) parse error Unexpected symbol ',' in pattern diff --git a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl index 818107806b..54ee6a39cd 100644 --- a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/SimpleLambdaHasArrowRange.fs", false, - QualifiedNameOfFile SimpleLambdaHasArrowRange, [], [], + QualifiedNameOfFile SimpleLambdaHasArrowRange, [], [SynModuleOrNamespace ([SimpleLambdaHasArrowRange], false, AnonModule, [Expr @@ -16,4 +16,5 @@ ImplFile (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl index 30442a303f..788eb98a50 100644 --- a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Lambda/TupleInLambdaHasArrowRange.fs", false, - QualifiedNameOfFile TupleInLambdaHasArrowRange, [], [], + QualifiedNameOfFile TupleInLambdaHasArrowRange, [], [SynModuleOrNamespace ([TupleInLambdaHasArrowRange], false, AnonModule, [Expr @@ -41,4 +41,5 @@ ImplFile (2,0--2,19), { ArrowRange = Some (2,11--2,13) }), (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl index 9c4b593e13..34aa70d337 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/AbstractKeyword.fs", false, - QualifiedNameOfFile AbstractKeyword, [], [], + QualifiedNameOfFile AbstractKeyword, [], [SynModuleOrNamespace ([AbstractKeyword], false, AnonModule, [Types @@ -37,4 +37,5 @@ ImplFile WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl index 0cbd9b3a43..9f3ccbf040 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/AbstractMemberKeyword.fs", false, - QualifiedNameOfFile AbstractMemberKeyword, [], [], + QualifiedNameOfFile AbstractMemberKeyword, [], [SynModuleOrNamespace ([AbstractMemberKeyword], false, AnonModule, [Types @@ -38,4 +38,5 @@ ImplFile WithKeyword = None })], (2,0--3,27))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl index 7376e64e8e..c1c8979edc 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/AndKeyword.fs", false, - QualifiedNameOfFile AndKeyword, [], [], + QualifiedNameOfFile AndKeyword, [], [SynModuleOrNamespace ([AndKeyword], false, AnonModule, [Let @@ -59,4 +59,5 @@ ImplFile EqualsRange = Some (3,8--3,9) })], (2,0--3,15))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultKeyword.fsi.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultKeyword.fsi.bsl index ba9b729683..b8ef721948 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/LeadingKeyword/DefaultKeyword.fsi", - QualifiedNameOfFile DefaultKeyword, [], [], + QualifiedNameOfFile DefaultKeyword, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -38,4 +38,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--5,19), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl index 2c243f2ca9..028585bc0b 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/DefaultValKeyword.fs", false, - QualifiedNameOfFile DefaultValKeyword, [], [], + QualifiedNameOfFile DefaultValKeyword, [], [SynModuleOrNamespace ([DefaultValKeyword], false, AnonModule, [Types @@ -40,4 +40,5 @@ ImplFile WithKeyword = None })], (2,0--3,27))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl index 41ed25792f..e70a4e5463 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/DoKeyword.fs", false, QualifiedNameOfFile DoKeyword, - [], [], + [], [SynModuleOrNamespace ([DoKeyword], false, AnonModule, [Types @@ -29,4 +29,5 @@ ImplFile WithKeyword = None })], (2,0--3,9))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl index 1c7e811ab6..29b5e5c968 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/DoStaticKeyword.fs", false, - QualifiedNameOfFile DoStaticKeyword, [], [], + QualifiedNameOfFile DoStaticKeyword, [], [SynModuleOrNamespace ([DoStaticKeyword], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--3,16))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/ExternKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/ExternKeyword.fs.bsl index ae6df6a809..189a700298 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/ExternKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/ExternKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/ExternKeyword.fs", false, - QualifiedNameOfFile ExternKeyword, [], [], + QualifiedNameOfFile ExternKeyword, [], [SynModuleOrNamespace ([ExternKeyword], false, AnonModule, [Let @@ -42,4 +42,5 @@ ImplFile EqualsRange = None })], (2,0--2,17))], PreXmlDocEmpty, [], None, (2,0--2,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl index c783b4b435..c8ae05916a 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/LetKeyword.fs", false, - QualifiedNameOfFile LetKeyword, [], [], + QualifiedNameOfFile LetKeyword, [], [SynModuleOrNamespace ([LetKeyword], false, AnonModule, [Let @@ -33,4 +33,5 @@ ImplFile EqualsRange = Some (2,8--2,9) })], (2,0--2,15))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl index a5ecb2a98b..816ba3b4e5 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/LetRecKeyword.fs", false, - QualifiedNameOfFile LetRecKeyword, [], [], + QualifiedNameOfFile LetRecKeyword, [], [SynModuleOrNamespace ([LetRecKeyword], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (2,12--2,13) })], (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl index d9497db0bf..3d161da52e 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/MemberKeyword.fs", false, - QualifiedNameOfFile MemberKeyword, [], [], + QualifiedNameOfFile MemberKeyword, [], [SynModuleOrNamespace ([MemberKeyword], false, AnonModule, [Types @@ -45,4 +45,5 @@ ImplFile WithKeyword = None })], (2,0--3,26))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl index 63618be45b..d9ba80b80d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/MemberValKeyword.fs", false, - QualifiedNameOfFile MemberValKeyword, [], [], + QualifiedNameOfFile MemberValKeyword, [], [SynModuleOrNamespace ([MemberValKeyword], false, AnonModule, [Types @@ -40,4 +40,5 @@ ImplFile WithKeyword = None })], (2,0--3,26))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl index 1e408d27f4..ebc374d143 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/NewKeyword.fs", false, - QualifiedNameOfFile NewKeyword, [], [], + QualifiedNameOfFile NewKeyword, [], [SynModuleOrNamespace ([NewKeyword], false, AnonModule, [Types @@ -61,4 +61,5 @@ ImplFile WithKeyword = None })], (2,0--3,30))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl index 896ea64e69..f9d0ec2556 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/OverrideKeyword.fs", false, - QualifiedNameOfFile OverrideKeyword, [], [], + QualifiedNameOfFile OverrideKeyword, [], [SynModuleOrNamespace ([OverrideKeyword], false, AnonModule, [Types @@ -50,4 +50,5 @@ ImplFile WithKeyword = None })], (2,0--3,28))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl index 3fff6cb5b0..837e1b368f 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/OverrideValKeyword.fs", false, - QualifiedNameOfFile OverrideValKeyword, [], [], + QualifiedNameOfFile OverrideValKeyword, [], [SynModuleOrNamespace ([OverrideValKeyword], false, AnonModule, [Types @@ -40,4 +40,5 @@ ImplFile WithKeyword = None })], (2,0--3,28))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl index 92d3182dae..e75b4c2521 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticAbstractKeyword.fs", false, - QualifiedNameOfFile StaticAbstractKeyword, [], [], + QualifiedNameOfFile StaticAbstractKeyword, [], [SynModuleOrNamespace ([StaticAbstractKeyword], false, AnonModule, [Types @@ -42,6 +42,7 @@ ImplFile WithKeyword = None })], (2,0--3,34))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,19) parse warning Declaring "interfaces with static abstract methods" is an advanced feature. See https://aka.ms/fsharp-iwsams for guidance. You can disable this warning by using '#nowarn "3535"' or '--nowarn:3535'. diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl index 8b2dc3b5c8..73e5a522b4 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticAbstractMemberKeyword.fs", false, - QualifiedNameOfFile StaticAbstractMemberKeyword, [], [], + QualifiedNameOfFile StaticAbstractMemberKeyword, [], [SynModuleOrNamespace ([StaticAbstractMemberKeyword], false, AnonModule, [Types @@ -43,6 +43,7 @@ ImplFile WithKeyword = None })], (2,0--3,41))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,19) parse warning Declaring "interfaces with static abstract methods" is an advanced feature. See https://aka.ms/fsharp-iwsams for guidance. You can disable this warning by using '#nowarn "3535"' or '--nowarn:3535'. diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl index 25ad616ec0..94e3e11ef7 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticLetKeyword.fs", false, - QualifiedNameOfFile StaticLetKeyword, [], [], + QualifiedNameOfFile StaticLetKeyword, [], [SynModuleOrNamespace ([StaticLetKeyword], false, AnonModule, [Types @@ -35,4 +35,5 @@ ImplFile WithKeyword = None })], (2,0--3,24))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl index a085124135..06aa352f3d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticLetRecKeyword.fs", false, - QualifiedNameOfFile StaticLetRecKeyword, [], [], + QualifiedNameOfFile StaticLetRecKeyword, [], [SynModuleOrNamespace ([StaticLetRecKeyword], false, AnonModule, [Types @@ -41,4 +41,5 @@ ImplFile WithKeyword = None })], (2,0--3,41))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl index 70b40e7ccd..541b6f582a 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticMemberKeyword.fs", false, - QualifiedNameOfFile StaticMemberKeyword, [], [], + QualifiedNameOfFile StaticMemberKeyword, [], [SynModuleOrNamespace ([StaticMemberKeyword], false, AnonModule, [Types @@ -47,4 +47,5 @@ ImplFile WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl index 1ce7e21fea..feb3313556 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/StaticMemberValKeyword.fs", false, - QualifiedNameOfFile StaticMemberValKeyword, [], [], + QualifiedNameOfFile StaticMemberValKeyword, [], [SynModuleOrNamespace ([StaticMemberValKeyword], false, AnonModule, [Types @@ -41,4 +41,5 @@ ImplFile WithKeyword = None })], (2,0--3,33))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticValKeyword.fsi.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticValKeyword.fsi.bsl index a30354d3b4..47aa7f74ac 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticValKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticValKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/LeadingKeyword/StaticValKeyword.fsi", - QualifiedNameOfFile StaticValKeyword, [], [], + QualifiedNameOfFile StaticValKeyword, [], [SynModuleOrNamespaceSig ([Meh], false, DeclaredNamespace, [Types @@ -31,4 +31,5 @@ SigFile WithKeyword = None })], (4,0--5,29))], PreXmlDocEmpty, [], None, (2,0--5,29), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/SyntheticKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/SyntheticKeyword.fs.bsl index b833f40ae1..ef4aa89c83 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/SyntheticKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/SyntheticKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/SyntheticKeyword.fs", false, - QualifiedNameOfFile SyntheticKeyword, [], [], + QualifiedNameOfFile SyntheticKeyword, [], [SynModuleOrNamespace ([SyntheticKeyword], false, AnonModule, [Expr @@ -21,4 +21,5 @@ ImplFile (2,0--3,12)), (2,0--3,12))], PreXmlDocEmpty, [], None, (2,0--3,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl index 4571189344..913dfadb87 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/UseKeyword.fs", false, - QualifiedNameOfFile UseKeyword, [], [], + QualifiedNameOfFile UseKeyword, [], [SynModuleOrNamespace ([UseKeyword], false, AnonModule, [Expr @@ -27,4 +27,5 @@ ImplFile InKeyword = None }), (2,0--4,6)), (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl index ac1d1ce981..eac3e1cf38 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/LeadingKeyword/UseRecKeyword.fs", false, - QualifiedNameOfFile UseRecKeyword, [], [], + QualifiedNameOfFile UseRecKeyword, [], [SynModuleOrNamespace ([UseRecKeyword], false, AnonModule, [Expr @@ -27,4 +27,5 @@ ImplFile InKeyword = None }), (2,0--4,6)), (2,0--4,6))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/ValKeyword.fsi.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/ValKeyword.fsi.bsl index 1c940b8d6f..111c2ac756 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/ValKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/ValKeyword.fsi.bsl @@ -1,7 +1,6 @@ SigFile (ParsedSigFileInput ("/root/LeadingKeyword/ValKeyword.fsi", QualifiedNameOfFile ValKeyword, [], - [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -26,4 +25,5 @@ SigFile WithKeyword = None })], (4,0--5,15))], PreXmlDocEmpty, [], None, (2,0--5,15), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing expr 01.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing expr 01.fs.bsl index 6f92c909aa..53fc9e8d6e 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing expr 01.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing expr 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing expr 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing expr 02.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing expr 02.fs.bsl index a38e67668d..ad4bd5152d 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing expr 02.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing expr 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing expr 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing expr 03.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing expr 03.fs.bsl index 36e8ecc9e9..cb1b672587 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing expr 03.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing expr 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing expr 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected symbol '|' in pattern matching diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing expr 04.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing expr 04.fs.bsl index eae47c2aa8..0ced217b11 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing expr 04.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing expr 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing expr 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected symbol '|' in pattern matching diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing expr 05.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing expr 05.fs.bsl index 787b09b31d..c998f9ea0f 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing expr 05.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing expr 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing expr 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing pat 01.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing pat 01.fs.bsl index 3e5974d65b..c93e51541e 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing pat 01.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing pat 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing pat 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing pat 02.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing pat 02.fs.bsl index 0812581e1f..33d920952d 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing pat 02.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing pat 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing pat 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing pat 03.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing pat 03.fs.bsl index 8fb3f4b814..871797f6a4 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing pat 03.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing pat 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing pat 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing pat 04.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing pat 04.fs.bsl index 8fde4f353e..886feeff98 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing pat 04.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing pat 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing pat 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/MatchClause/Missing pat 05.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/Missing pat 05.fs.bsl index e9693065f2..ea49835193 100644 --- a/tests/service/data/SyntaxTree/MatchClause/Missing pat 05.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/Missing pat 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/Missing pat 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -13,6 +13,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 79e765d013..4fb707a309 100644 --- a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs", false, QualifiedNameOfFile NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith, - [], [], + [], [SynModuleOrNamespace ([NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith], false, AnonModule, @@ -23,4 +23,5 @@ ImplFile WithToEndRange = (4,0--6,6) }), (2,0--6,6))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,4--5,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl index 850422e1df..23af64bcfe 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfArrowInSynMatchClause.fs", false, - QualifiedNameOfFile RangeOfArrowInSynMatchClause, [], [], + QualifiedNameOfFile RangeOfArrowInSynMatchClause, [], [SynModuleOrNamespace ([RangeOfArrowInSynMatchClause], false, AnonModule, [Expr @@ -19,4 +19,5 @@ ImplFile WithKeyword = (2,10--2,14) }), (2,0--3,15))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl index 3ec91a6aab..37445cfd5a 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs", false, - QualifiedNameOfFile RangeOfArrowInSynMatchClauseWithWhenClause, [], [], + QualifiedNameOfFile RangeOfArrowInSynMatchClauseWithWhenClause, [], [SynModuleOrNamespace ([RangeOfArrowInSynMatchClauseWithWhenClause], false, AnonModule, [Expr @@ -25,4 +25,5 @@ ImplFile WithKeyword = (2,10--2,14) }), (2,0--3,36))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl index 00fd4e2de7..5a1bf39c36 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs", false, QualifiedNameOfFile RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith, - [], [], + [], [SynModuleOrNamespace ([RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith], false, AnonModule, @@ -33,4 +33,5 @@ ImplFile WithToEndRange = (4,0--8,10) }), (2,0--8,10))], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (6,4--6,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl index 744fc813f3..07c297570a 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs", false, QualifiedNameOfFile RangeOfBarInASingleSynMatchClauseInSynExprMatch, - [], [], + [], [SynModuleOrNamespace ([RangeOfBarInASingleSynMatchClauseInSynExprMatch], false, AnonModule, [Expr @@ -26,4 +26,5 @@ ImplFile WithKeyword = (2,10--2,14) }), (2,0--3,36))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 8306431f65..8df2cbe5f9 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs", false, QualifiedNameOfFile RangeOfBarInASingleSynMatchClauseInSynExprTryWith, [], - [], [SynModuleOrNamespace ([RangeOfBarInASingleSynMatchClauseInSynExprTryWith], false, AnonModule, [Expr @@ -23,4 +22,5 @@ ImplFile WithToEndRange = (4,0--5,11) }), (2,0--5,11))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl index 02122fba61..dbe210b96d 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs", false, QualifiedNameOfFile RangeOfBarInMultipleSynMatchClausesInSynExprMatch, [], - [], [SynModuleOrNamespace ([RangeOfBarInMultipleSynMatchClausesInSynExprMatch], false, AnonModule, [Expr @@ -38,4 +37,5 @@ ImplFile WithKeyword = (2,10--2,14) }), (2,0--4,20))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl index f4b3b9f7a3..25fb2192c7 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfMultipleSynMatchClause.fs", false, - QualifiedNameOfFile RangeOfMultipleSynMatchClause, [], [], + QualifiedNameOfFile RangeOfMultipleSynMatchClause, [], [SynModuleOrNamespace ([RangeOfMultipleSynMatchClause], false, AnonModule, [Expr @@ -54,4 +54,5 @@ ImplFile WithToEndRange = (5,0--10,8) }), (2,0--10,8))], PreXmlDocEmpty, [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl index 324463e7b2..547027c53a 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfSingleSynMatchClause.fs", false, - QualifiedNameOfFile RangeOfSingleSynMatchClause, [], [], + QualifiedNameOfFile RangeOfSingleSynMatchClause, [], [SynModuleOrNamespace ([RangeOfSingleSynMatchClause], false, AnonModule, [Expr @@ -48,4 +48,5 @@ ImplFile WithToEndRange = (5,0--7,8) }), (2,0--7,8))], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl index 132cbd01cc..11f88daded 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs", false, - QualifiedNameOfFile RangeOfSingleSynMatchClauseFollowedByBar, [], [], + QualifiedNameOfFile RangeOfSingleSynMatchClauseFollowedByBar, [], [SynModuleOrNamespace ([RangeOfSingleSynMatchClauseFollowedByBar], false, AnonModule, [Expr @@ -39,6 +39,7 @@ ImplFile (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (9,0)-(9,0) parse error Incomplete structured construct at or before this point in pattern matching diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 01.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 01.fs.bsl index a9bc46a831..8ffb582cf4 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 01.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 01.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -12,4 +12,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 02.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 02.fs.bsl index 9cc97f4750..2eeda517c0 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 02.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 02.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -13,4 +13,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 03.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 03.fs.bsl index a28e62906d..2739d05837 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 03.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 03.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -12,4 +12,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 04.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 04.fs.bsl index bf2ab0c3bd..612593fef4 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 04.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 04.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -15,4 +15,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 05.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 05.fs.bsl index b18f6f4a22..e95c55e8bb 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 05.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 05.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -16,4 +16,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 06.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 06.fs.bsl index 7d5bac5d2e..031570ff77 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 06.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 06.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 07.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 07.fs.bsl index db9e83c0fb..6b7f9dfad3 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 07.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 07.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -20,4 +20,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 08.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 08.fs.bsl index b4a8f0b48c..cbde40a93f 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 08.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 08.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,24), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 09.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 09.fs.bsl index 2eeee44a37..c45821bf58 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 09.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 09.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/Constant - 10.fs.bsl b/tests/service/data/SyntaxTree/Measure/Constant - 10.fs.bsl index f6e6b3d7fe..6604a2712a 100644 --- a/tests/service/data/SyntaxTree/Measure/Constant - 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/Constant - 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Measure/Constant - 10.fs", false, QualifiedNameOfFile M, [], [], + ("/root/Measure/Constant - 10.fs", false, QualifiedNameOfFile M, [], [SynModuleOrNamespace ([M], false, NamedModule, [Expr @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl index b0150fbdc0..541c856bb7 100644 --- a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Measure/MeasureContainsTheRangeOfTheConstant.fs", false, - QualifiedNameOfFile MeasureContainsTheRangeOfTheConstant, [], [], + QualifiedNameOfFile MeasureContainsTheRangeOfTheConstant, [], [SynModuleOrNamespace ([MeasureContainsTheRangeOfTheConstant], false, AnonModule, [Let @@ -42,4 +42,5 @@ ImplFile (3,0--3,17))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynMeasureParenHasCorrectRange.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynMeasureParenHasCorrectRange.fs.bsl index 84f544b914..dc6bfe9c58 100644 --- a/tests/service/data/SyntaxTree/Measure/SynMeasureParenHasCorrectRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynMeasureParenHasCorrectRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Measure/SynMeasureParenHasCorrectRange.fs", false, - QualifiedNameOfFile SynMeasureParenHasCorrectRange, [], [], + QualifiedNameOfFile SynMeasureParenHasCorrectRange, [], [SynModuleOrNamespace ([SynMeasureParenHasCorrectRange], false, AnonModule, [Expr @@ -21,4 +21,5 @@ ImplFile GreaterRange = (2,22--2,23) }), (2,0--2,23)), (2,0--2,23))], PreXmlDocEmpty, [], None, (2,0--2,23), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl index 65535c03d2..33675b1a3a 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs", false, - QualifiedNameOfFile SynTypeTupleInMeasureTypeWithLeadingSlash, [], [], + QualifiedNameOfFile SynTypeTupleInMeasureTypeWithLeadingSlash, [], [SynModuleOrNamespace ([SynTypeTupleInMeasureTypeWithLeadingSlash], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--2,29))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl index dca088b13d..fc29ce7d7e 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs", false, - QualifiedNameOfFile SynTypeTupleInMeasureTypeWithNoSlashes, [], [], + QualifiedNameOfFile SynTypeTupleInMeasureTypeWithNoSlashes, [], [SynModuleOrNamespace ([SynTypeTupleInMeasureTypeWithNoSlashes], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--2,26))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl index f47273a687..6e42383738 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs", false, - QualifiedNameOfFile SynTypeTupleInMeasureTypeWithStartAndSlash, [], [], + QualifiedNameOfFile SynTypeTupleInMeasureTypeWithStartAndSlash, [], [SynModuleOrNamespace ([SynTypeTupleInMeasureTypeWithStartAndSlash], false, AnonModule, [Types @@ -32,4 +32,5 @@ ImplFile WithKeyword = None })], (2,0--2,30))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Abstract - Property 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Abstract - Property 01.fs.bsl index 9ec3b5452d..20e8610231 100644 --- a/tests/service/data/SyntaxTree/Member/Abstract - Property 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Abstract - Property 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Abstract - Property 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -38,4 +38,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Abstract - Property 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Abstract - Property 02.fs.bsl index 95ced08879..c78f3040f4 100644 --- a/tests/service/data/SyntaxTree/Member/Abstract - Property 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Abstract - Property 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Abstract - Property 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +40,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Abstract - Property 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Abstract - Property 03.fs.bsl index d9393dc8da..cff1499dca 100644 --- a/tests/service/data/SyntaxTree/Member/Abstract - Property 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Abstract - Property 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Abstract - Property 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Abstract - Property 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Abstract - Property 04.fs.bsl index f315032ac6..a208af5458 100644 --- a/tests/service/data/SyntaxTree/Member/Abstract - Property 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Abstract - Property 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Abstract - Property 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -39,6 +39,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Abstract - Property 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Abstract - Property 05.fs.bsl index e8092cae4f..6ad8da5711 100644 --- a/tests/service/data/SyntaxTree/Member/Abstract - Property 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Abstract - Property 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Abstract - Property 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -59,6 +59,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,12) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl index 211a0fed94..7490cf06b8 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +39,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl index 31f825ba1a..cd6d84a190 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +42,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl index fced13abaa..499e1c4c6e 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -65,6 +64,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,10) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl index 19e8d58968..c57b6c5faa 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -64,4 +63,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl index ca97d03b52..6ae271aaa1 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 05.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -64,6 +63,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,15)-(5,4) parse error Incomplete structured construct at or before this point in member definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl index 6a60db20a7..4e0c9d821a 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 06.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -41,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,18)-(4,19) parse error Unexpected symbol '=' in member definition diff --git a/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl index 8e6436d4eb..920e5a3691 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Auto property 07.fs", false, QualifiedNameOfFile A, [], [], + ("/root/Member/Auto property 07.fs", false, QualifiedNameOfFile A, [], [SynModuleOrNamespace ([A], false, NamedModule, [Types @@ -52,4 +52,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,38), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl index b4d9c9da2c..c758fcae4a 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 08.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -42,6 +41,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl index 5599ff4faa..70796107be 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 09.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -65,6 +64,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,10) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:23). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl index 0a94591f95..ba04b1a3de 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 10.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -41,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,29), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl index f6f1fb9e52..dfd6e2fff0 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 11.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -41,4 +40,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,29), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl index da5a5eb7b7..80e694f542 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 12.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -41,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,21)-(4,25) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl index b28a6d273b..d6522b7553 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Member/Auto property 13.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -64,6 +63,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,21)-(4,25) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl index d9725daa92..ba44d47b0c 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Auto property 14.fs", false, QualifiedNameOfFile A, [], [], + ("/root/Member/Auto property 14.fs", false, QualifiedNameOfFile A, [], [SynModuleOrNamespace ([A], false, NamedModule, [Types @@ -54,4 +54,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,54), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl index 417da42ef8..6e0b861b01 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Auto property 15.fs", false, QualifiedNameOfFile A, [], [], + ("/root/Member/Auto property 15.fs", false, QualifiedNameOfFile A, [], [SynModuleOrNamespace ([A], false, NamedModule, [Types @@ -55,4 +55,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,63), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Do 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Do 01.fs.bsl index 5f63d7bdc3..ebcf90b0c0 100644 --- a/tests/service/data/SyntaxTree/Member/Do 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Do 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Do 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Do 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +40,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Do 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Do 02.fs.bsl index 1585d6135e..41cc0daa22 100644 --- a/tests/service/data/SyntaxTree/Member/Do 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Do 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Do 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Do 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -42,4 +42,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Do 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Do 03.fs.bsl index b255897d0e..51c20b468a 100644 --- a/tests/service/data/SyntaxTree/Member/Do 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Do 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Do 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Do 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (5:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Do 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Do 04.fs.bsl index 637426c98d..6bb13a9021 100644 --- a/tests/service/data/SyntaxTree/Member/Do 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Do 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Do 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Do 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -42,6 +42,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (5:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Field 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 01.fs.bsl index add8ac4adb..517082e1e0 100644 --- a/tests/service/data/SyntaxTree/Member/Field 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Field 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 02.fs.bsl index 33eba0a9f8..874473c105 100644 --- a/tests/service/data/SyntaxTree/Member/Field 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -35,6 +35,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(5,4) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Member/Field 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 03.fs.bsl index 4308cbcfeb..b2663b51b1 100644 --- a/tests/service/data/SyntaxTree/Member/Field 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -35,6 +35,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(5,4) parse error Incomplete structured construct at or before this point in type definition. Expected ':' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 04.fs.bsl index e481768ccb..878fc8647b 100644 --- a/tests/service/data/SyntaxTree/Member/Field 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -34,6 +34,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,8)-(5,4) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 05.fs.bsl index 46cf2e29c7..80f5a73751 100644 --- a/tests/service/data/SyntaxTree/Member/Field 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Member/Field 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 06.fs.bsl index 723a8c44f2..3c29ce9e5a 100644 --- a/tests/service/data/SyntaxTree/Member/Field 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected ':' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 07.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 07.fs.bsl index e62126034d..9d65214221 100644 --- a/tests/service/data/SyntaxTree/Member/Field 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 08.fs.bsl index c74f09be72..77a967f379 100644 --- a/tests/service/data/SyntaxTree/Member/Field 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,7) parse error Unexpected keyword 'end' in member definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 09.fs.bsl index 8b4d8d1fa4..4f9de01f3a 100644 --- a/tests/service/data/SyntaxTree/Member/Field 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 10.fs.bsl index 77016903ad..fa1e21bf3e 100644 --- a/tests/service/data/SyntaxTree/Member/Field 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 11.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 11.fs.bsl index 4f3cfe4b8b..e62fa49126 100644 --- a/tests/service/data/SyntaxTree/Member/Field 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 11.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 11.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 11.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 12.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 12.fs.bsl index d29045ba0e..54f5885411 100644 --- a/tests/service/data/SyntaxTree/Member/Field 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 12.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 12.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 12.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition. Expected ':' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Field 13.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 13.fs.bsl index 3b42126b6d..86fcb6cd48 100644 --- a/tests/service/data/SyntaxTree/Member/Field 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 13.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 13.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 13.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Member/Field 14.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 14.fs.bsl index b9ae59996c..4873d37e96 100644 --- a/tests/service/data/SyntaxTree/Member/Field 14.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 14.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 14.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 14.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,4 +28,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Field 15.fs.bsl b/tests/service/data/SyntaxTree/Member/Field 15.fs.bsl index 472d5e0c2f..62e1ee5046 100644 --- a/tests/service/data/SyntaxTree/Member/Field 15.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Field 15.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Field 15.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Field 15.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -34,4 +34,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/GetSetMember 01.fs.bsl b/tests/service/data/SyntaxTree/Member/GetSetMember 01.fs.bsl index 55fb27c87b..9e5a4d2c4b 100644 --- a/tests/service/data/SyntaxTree/Member/GetSetMember 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/GetSetMember 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/GetSetMember 01.fs", false, QualifiedNameOfFile Foo, [], [], + ("/root/Member/GetSetMember 01.fs", false, QualifiedNameOfFile Foo, [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Types @@ -203,6 +203,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,92), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,57)-(5,87) parse error When the visibility for a property is specified, setting the visibility of the set or get method is not allowed. diff --git a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl index 3768075ef9..f09cb92e14 100644 --- a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/GetSetMemberWithInlineKeyword.fs", false, - QualifiedNameOfFile GetSetMemberWithInlineKeyword, [], [], + QualifiedNameOfFile GetSetMemberWithInlineKeyword, [], [SynModuleOrNamespace ([GetSetMemberWithInlineKeyword], false, AnonModule, [Types @@ -83,4 +83,5 @@ ImplFile WithKeyword = None })], (2,0--5,29))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 01.fs.bsl index d603121ea7..72f6fee4eb 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Missing type 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -39,6 +39,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 02.fs.bsl index d963c4115e..567a68b336 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Missing type 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Missing type 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -48,6 +48,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,25), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Unexpected symbol ',' in pattern diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 01.fs.bsl index 2bc4b5f488..26a281bd31 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Pat - Tuple 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -73,4 +73,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,40), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 02.fs.bsl index 3550274576..e1f3b5fa31 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Pat - Tuple 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Pat - Tuple 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -47,6 +47,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(3,11) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 01.fs.bsl index 424a361930..7a2f7aff28 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -45,4 +45,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,29), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 02.fs.bsl index 0146ad5a15..2f79bcc583 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -51,4 +51,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,34), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 03.fs.bsl index 61b3b7f377..5d8f26d1d6 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -51,4 +51,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,34), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 04.fs.bsl index ca30a8c232..ab62149eaf 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -45,6 +45,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,15)-(3,16) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 05.fs.bsl index bd89bbaf94..d96ff30cc9 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -51,6 +51,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,32), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,15)-(3,17) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 06.fs.bsl index ac58a094ac..fcf88aa59c 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Fun 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Fun 06.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -65,6 +65,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,35), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,22)-(3,23) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 01.fs.bsl index 473bd768b3..6e2a0109f5 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Tuple 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -52,4 +52,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 02.fs.bsl index 57b5279161..b719388401 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Tuple 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -58,4 +58,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,32), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 03.fs.bsl index 92b69f0c2b..8d6e7c19f5 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Tuple 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -50,6 +50,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,27), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,14)-(3,15) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 04.fs.bsl index 5ff10cae81..810cb8303f 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Tuple 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -56,6 +56,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,31), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,18)-(3,19) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 05.fs.bsl index a39da9cc29..11c7411ee8 100644 --- a/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Implicit ctor - Type - Tuple 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Implicit ctor - Type - Tuple 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -56,6 +56,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,31), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,14)-(3,15) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl index 61f182611f..06e7e3f9fd 100644 --- a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/ImplicitCtorWithAsKeyword.fs", false, - QualifiedNameOfFile ImplicitCtorWithAsKeyword, [], [], + QualifiedNameOfFile ImplicitCtorWithAsKeyword, [], [SynModuleOrNamespace ([ImplicitCtorWithAsKeyword], false, AnonModule, [Types @@ -80,6 +80,7 @@ ImplFile PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,0--3,23); LineComment (5,0--5,7); LineComment (6,0--6,8); LineComment (7,0--7,9)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Inherit 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 01.fs.bsl index 817c15422b..16618257bd 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Inherit 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 02.fs.bsl index 3a9482667e..80da2bd45f 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Inherit 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 03.fs.bsl index 76aeb2e2e4..7b476b6765 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,11) parse error Type name cannot be empty. diff --git a/tests/service/data/SyntaxTree/Member/Inherit 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 04.fs.bsl index 2b1741c371..e502b24ef0 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,11) parse error Type name cannot be empty. diff --git a/tests/service/data/SyntaxTree/Member/Inherit 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 05.fs.bsl index f2bdb9713e..d006bbe909 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -44,6 +44,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(6,4) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Member/Inherit 06.fsi.bsl b/tests/service/data/SyntaxTree/Member/Inherit 06.fsi.bsl index 3ac7c9adc2..04d0018769 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 06.fsi.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 06.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/Member/Inherit 06.fsi", QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 06.fsi", QualifiedNameOfFile Module, [], [SynModuleOrNamespaceSig ([Module], false, NamedModule, [Types @@ -19,6 +19,7 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,11), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in member signature diff --git a/tests/service/data/SyntaxTree/Member/Inherit 07.fsi.bsl b/tests/service/data/SyntaxTree/Member/Inherit 07.fsi.bsl index 7dc4657766..2c6af3b87e 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 07.fsi.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 07.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/Member/Inherit 07.fsi", QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 07.fsi", QualifiedNameOfFile Module, [], [SynModuleOrNamespaceSig ([Module], false, NamedModule, [Types @@ -38,6 +38,7 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,17), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(6,4) parse error Incomplete structured construct at or before this point in member signature diff --git a/tests/service/data/SyntaxTree/Member/Inherit 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Inherit 08.fs.bsl index 1b0e4712cb..d75196d3f2 100644 --- a/tests/service/data/SyntaxTree/Member/Inherit 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Inherit 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Inherit 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Inherit 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -44,6 +44,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(4,14) parse error Unexpected keyword 'as' in type definition diff --git a/tests/service/data/SyntaxTree/Member/Interface 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 01.fs.bsl index 332508f43f..c99c2599df 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -71,4 +71,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Interface 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 02.fs.bsl index 2d699762c2..7d67643e0f 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -44,6 +44,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,21) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Interface 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 03.fs.bsl index 8f563d2c61..0f0731b660 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,4 +20,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Interface 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 04.fs.bsl index 20db259a02..af0e0006af 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -33,4 +33,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Interface 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 05.fs.bsl index 1394c74433..d284b54e20 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,4 +32,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Interface 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 06.fs.bsl index b92b4abc20..b841c289ab 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -34,6 +34,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,14) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Interface 07.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 07.fs.bsl index 66c618d8e4..03171bf375 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -44,4 +44,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Interface 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 08.fs.bsl index 301dc4c957..ce5ae85345 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -44,6 +44,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,14)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Interface 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 09.fs.bsl index 9260f21ff5..cbea58a540 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -34,6 +34,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Interface 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Interface 10.fs.bsl index 9ddc6fb80b..76edb4cdbf 100644 --- a/tests/service/data/SyntaxTree/Member/Interface 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Interface 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Interface 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Interface 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -34,6 +34,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Let 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Let 01.fs.bsl index c4071e92b4..50dca73426 100644 --- a/tests/service/data/SyntaxTree/Member/Let 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Let 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Let 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Let 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,4 +43,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Let 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Let 02.fs.bsl index e8e2862dcc..fc1ab916f2 100644 --- a/tests/service/data/SyntaxTree/Member/Let 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Let 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Let 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Let 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (5:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Let 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Let 03.fs.bsl index 01cb91bbe9..d6656bcd49 100644 --- a/tests/service/data/SyntaxTree/Member/Let 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Let 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Let 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Let 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -42,6 +42,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,6) parse error Incomplete structured construct at or before this point in binding. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Let 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Let 04.fs.bsl index 439bf0d6cb..41a0f46443 100644 --- a/tests/service/data/SyntaxTree/Member/Let 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Let 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Let 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Let 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,6) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/Member/Member - Attributes 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Member - Attributes 01.fs.bsl index 168769ff76..7efcd1a834 100644 --- a/tests/service/data/SyntaxTree/Member/Member - Attributes 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member - Attributes 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Member - Attributes 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -108,6 +108,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,17)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Member - Param - Missing type 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Member - Param - Missing type 01.fs.bsl index 432229da76..4cbba8169f 100644 --- a/tests/service/data/SyntaxTree/Member/Member - Param - Missing type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member - Param - Missing type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/Member - Param - Missing type 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -51,6 +51,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,20)-(4,21) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Member/Member 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 01.fs.bsl index e5ce844b09..e6ca39bf5f 100644 --- a/tests/service/data/SyntaxTree/Member/Member 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -107,6 +107,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,17)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Member 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 02.fs.bsl index dc24f73a05..af9957edb7 100644 --- a/tests/service/data/SyntaxTree/Member/Member 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -107,6 +107,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,22)-(6,4) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Member/Member 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 03.fs.bsl index cb85a85bfc..a7baa98588 100644 --- a/tests/service/data/SyntaxTree/Member/Member 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -107,6 +107,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,23)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Member 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 04.fs.bsl index c4bfa610f4..5b11990bd3 100644 --- a/tests/service/data/SyntaxTree/Member/Member 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -108,6 +108,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,25)-(6,4) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Member/Member 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 05.fs.bsl index 7fdadfeebb..9f480a45c6 100644 --- a/tests/service/data/SyntaxTree/Member/Member 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -109,6 +109,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (5:11). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Member/Member 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 06.fs.bsl index d249dd2cc2..e33344ba3e 100644 --- a/tests/service/data/SyntaxTree/Member/Member 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -108,4 +108,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Member 07.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 07.fs.bsl index 5e5c51e0f2..c919ab5a29 100644 --- a/tests/service/data/SyntaxTree/Member/Member 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -106,6 +106,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,23)-(5,24) parse error Unexpected symbol '=' in member definition diff --git a/tests/service/data/SyntaxTree/Member/Member 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 08.fs.bsl index b2e10558c6..2f1415319f 100644 --- a/tests/service/data/SyntaxTree/Member/Member 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -74,6 +74,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,63), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Member/Member 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 09.fs.bsl index e101bf1b6d..a9104d2dfb 100644 --- a/tests/service/data/SyntaxTree/Member/Member 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,0) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Member 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 10.fs.bsl index e0e6936d61..b30067d371 100644 --- a/tests/service/data/SyntaxTree/Member/Member 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,0) parse error Expecting member body diff --git a/tests/service/data/SyntaxTree/Member/Member 11.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 11.fs.bsl index a4d4b985c4..eb37ddf77d 100644 --- a/tests/service/data/SyntaxTree/Member/Member 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 11.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 11.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 11.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,0) parse error Incomplete structured construct at or before this point in member definition. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Member 12.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 12.fs.bsl index 44e361be81..33eac2d6ef 100644 --- a/tests/service/data/SyntaxTree/Member/Member 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 12.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 12.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 12.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Identifier expected diff --git a/tests/service/data/SyntaxTree/Member/Member 13.fs.bsl b/tests/service/data/SyntaxTree/Member/Member 13.fs.bsl index 129c9f529c..929250cabb 100644 --- a/tests/service/data/SyntaxTree/Member/Member 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Member 13.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Member 13.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Member 13.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -71,6 +71,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/MemberMispelledToMeme.fs.bsl b/tests/service/data/SyntaxTree/Member/MemberMispelledToMeme.fs.bsl index 13e0c26b91..dcd3bb70c9 100644 --- a/tests/service/data/SyntaxTree/Member/MemberMispelledToMeme.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/MemberMispelledToMeme.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/MemberMispelledToMeme.fs", false, - QualifiedNameOfFile MemberMispelledToMeme, [], [], + QualifiedNameOfFile MemberMispelledToMeme, [], [SynModuleOrNamespace ([MemberMispelledToMeme], false, AnonModule, [Types @@ -57,6 +57,7 @@ ImplFile WithKeyword = None })], (1,0--2,39))], PreXmlDocEmpty, [], None, (1,0--2,39), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (2,3)-(2,9) parse error Incomplete declaration of a static construct. Use 'static let','static do','static member' or 'static val' for declaration. diff --git a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl index 7db3831e68..65401553b8 100644 --- a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/MemberWithInlineKeyword.fs", false, - QualifiedNameOfFile MemberWithInlineKeyword, [], [], + QualifiedNameOfFile MemberWithInlineKeyword, [], [SynModuleOrNamespace ([MemberWithInlineKeyword], false, AnonModule, [Types @@ -45,4 +45,5 @@ ImplFile WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Read-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/Read-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl index 6692c52024..94e0c06897 100644 --- a/tests/service/data/SyntaxTree/Member/Read-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Read-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile Read-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Types @@ -64,4 +64,5 @@ ImplFile WithKeyword = None })], (3,0--5,60))], PreXmlDocEmpty, [], None, (1,0--5,60), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,4--4,28)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl index 8319d79068..110af6cd16 100644 --- a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -100,4 +100,5 @@ ImplFile WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,4--3,29)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SignatureMemberWithGet.fsi.bsl b/tests/service/data/SyntaxTree/Member/SignatureMemberWithGet.fsi.bsl index a516a7766c..c257b90f31 100644 --- a/tests/service/data/SyntaxTree/Member/SignatureMemberWithGet.fsi.bsl +++ b/tests/service/data/SyntaxTree/Member/SignatureMemberWithGet.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/Member/SignatureMemberWithGet.fsi", QualifiedNameOfFile Meh, [], [], + ("/root/Member/SignatureMemberWithGet.fsi", QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Types @@ -38,4 +38,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--8,35), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,4--5,23)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SignatureMemberWithSet.fsi.bsl b/tests/service/data/SyntaxTree/Member/SignatureMemberWithSet.fsi.bsl index 038b502e25..6be357ee2c 100644 --- a/tests/service/data/SyntaxTree/Member/SignatureMemberWithSet.fsi.bsl +++ b/tests/service/data/SyntaxTree/Member/SignatureMemberWithSet.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/Member/SignatureMemberWithSet.fsi", QualifiedNameOfFile Meh, [], [], + ("/root/Member/SignatureMemberWithSet.fsi", QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Types @@ -38,4 +38,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--8,31), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,4--5,23)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SignatureMemberWithSetget.fsi.bsl b/tests/service/data/SyntaxTree/Member/SignatureMemberWithSetget.fsi.bsl index acb516b911..c5bf35a6c4 100644 --- a/tests/service/data/SyntaxTree/Member/SignatureMemberWithSetget.fsi.bsl +++ b/tests/service/data/SyntaxTree/Member/SignatureMemberWithSetget.fsi.bsl @@ -1,7 +1,6 @@ SigFile (ParsedSigFileInput ("/root/Member/SignatureMemberWithSetget.fsi", QualifiedNameOfFile Meh, [], - [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Types @@ -40,4 +39,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--8,39), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,4--5,23)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Static 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Static 01.fs.bsl index 7c47ccf95e..4993c47644 100644 --- a/tests/service/data/SyntaxTree/Member/Static 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Static 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Static 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Static 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -50,6 +50,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,11)-(7,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Static 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Static 02.fs.bsl index ecf86c4e1f..d339245331 100644 --- a/tests/service/data/SyntaxTree/Member/Static 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Static 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Static 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Static 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -106,6 +106,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,17)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/Static 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Static 03.fs.bsl index 70d5eb3aba..68d1466b47 100644 --- a/tests/service/data/SyntaxTree/Member/Static 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Static 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Member/Static 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Member/Static 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -107,6 +107,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,24)-(6,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl index 4158e55ca3..4838003cfc 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile - SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword, [], [], + SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword, [], [SynModuleOrNamespace ([SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -52,4 +52,5 @@ ImplFile WithKeyword = None })], (2,0--3,42))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl index 06e0765a03..3009a78758 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs", false, QualifiedNameOfFile - SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign, [], [], + SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign, [], [SynModuleOrNamespace ([SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -86,4 +86,5 @@ ImplFile WithKeyword = None })], (2,0--5,40))], PreXmlDocEmpty, [], None, (3,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl index 95b26eac8a..f437240766 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile - SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword, [], [], + SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword, [], [SynModuleOrNamespace ([SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -72,4 +72,5 @@ ImplFile WithKeyword = None })], (2,0--4,39))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl index b09a60eed8..cf045eeca1 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs", false, - QualifiedNameOfFile SynTypeDefnWithMemberWithGetHasXmlComment, [], [], + QualifiedNameOfFile SynTypeDefnWithMemberWithGetHasXmlComment, [], [SynModuleOrNamespace ([SynTypeDefnWithMemberWithGetHasXmlComment], false, AnonModule, [Types @@ -52,4 +52,5 @@ ImplFile WithKeyword = None })], (2,0--4,29))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl index e3fe9618a2..97c59244fb 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/SynTypeDefnWithMemberWithSetget.fs", false, - QualifiedNameOfFile SynTypeDefnWithMemberWithSetget, [], [], + QualifiedNameOfFile SynTypeDefnWithMemberWithSetget, [], [SynModuleOrNamespace ([SynTypeDefnWithMemberWithSetget], false, AnonModule, [Types @@ -112,4 +112,5 @@ ImplFile WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl index 33c1348b56..7277f5e58c 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Member/SynTypeDefnWithStaticMemberWithGetset.fs", false, - QualifiedNameOfFile SynTypeDefnWithStaticMemberWithGetset, [], [], + QualifiedNameOfFile SynTypeDefnWithStaticMemberWithGetset, [], [SynModuleOrNamespace ([SynTypeDefnWithStaticMemberWithGetset], false, AnonModule, [Types @@ -109,4 +109,5 @@ ImplFile WithKeyword = None })], (2,0--5,54))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Write-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/Write-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl index 79a865c5ee..70bb20dca3 100644 --- a/tests/service/data/SyntaxTree/Member/Write-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Write-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile Write-onlyPropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Types @@ -71,4 +71,5 @@ ImplFile WithKeyword = None })], (3,0--5,79))], PreXmlDocEmpty, [], None, (1,0--5,79), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,4--4,29)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl index cb73ae7b1d..c820010e74 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs", false, - QualifiedNameOfFile SynExprObjMembersHaveCorrectKeywords, [], [], + QualifiedNameOfFile SynExprObjMembersHaveCorrectKeywords, [], [SynModuleOrNamespace ([SynExprObjMembersHaveCorrectKeywords], false, AnonModule, [Let @@ -107,4 +107,5 @@ ImplFile EqualsRange = Some (2,8--2,9) })], (2,0--7,34))], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl index 23d12756c3..bbc45fd79a 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs", false, - QualifiedNameOfFile SynMemberDefnAbstractSlotHasCorrectKeyword, [], [], + QualifiedNameOfFile SynMemberDefnAbstractSlotHasCorrectKeyword, [], [SynModuleOrNamespace ([SynMemberDefnAbstractSlotHasCorrectKeyword], false, AnonModule, [Types @@ -58,4 +58,5 @@ ImplFile WithKeyword = None })], (2,0--4,26))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl index 76d6b9ac1b..2f12d930aa 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs", false, - QualifiedNameOfFile SynMemberDefnAutoPropertyHasCorrectKeyword, [], [], + QualifiedNameOfFile SynMemberDefnAutoPropertyHasCorrectKeyword, [], [SynModuleOrNamespace ([SynMemberDefnAutoPropertyHasCorrectKeyword], false, AnonModule, [Types @@ -110,4 +110,5 @@ ImplFile WithKeyword = None })], (2,0--6,27))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl index ae8cfbaa08..ddf52181d1 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs", false, QualifiedNameOfFile SynMemberDefnMemberSynValDataHasCorrectKeyword, - [], [], + [], [SynModuleOrNamespace ([SynMemberDefnMemberSynValDataHasCorrectKeyword], false, AnonModule, [Types @@ -127,4 +127,5 @@ ImplFile WithKeyword = None })], (2,0--6,25))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberSigMemberHasCorrectKeywords.fsi.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberSigMemberHasCorrectKeywords.fsi.bsl index 878187410b..e697a34ef5 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberSigMemberHasCorrectKeywords.fsi.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberSigMemberHasCorrectKeywords.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/MemberFlag/SynMemberSigMemberHasCorrectKeywords.fsi", - QualifiedNameOfFile SynMemberSigMemberHasCorrectKeywords, [], [], + QualifiedNameOfFile SynMemberSigMemberHasCorrectKeywords, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -140,4 +140,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--10,19), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleMember/Do 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Do 01.fs.bsl index 0db6971e93..f6827b5cca 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Do 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Do 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Do 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Do 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,6 +11,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Do 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Do 02.fs.bsl index 581e4ff62c..6838d51523 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Do 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Do 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Do 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Do 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -11,6 +11,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,4) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Let 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Let 01.fs.bsl index 92101cded0..1623f81921 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Let 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Let 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Let 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Let 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleMember/Let 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Let 02.fs.bsl index cfa14a90cd..5ee1e17fb1 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Let 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Let 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Let 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Let 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Let 03.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Let 03.fs.bsl index 374a64bda0..3d562c3959 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Let 03.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Let 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Let 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Let 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Incomplete structured construct at or before this point in binding. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Let 04.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Let 04.fs.bsl index 7d2f30db84..d03ca1555d 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Let 04.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Let 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Let 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Let 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let (false, [], (3,0--3,3)); @@ -8,6 +8,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/ModuleMember/Let 05.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Let 05.fs.bsl index 684cfa3cfb..8f2b8b3bb5 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Let 05.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Let 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Let 05.fs", false, QualifiedNameOfFile Let 05, [], [], + ("/root/ModuleMember/Let 05.fs", false, QualifiedNameOfFile Let 05, [], [SynModuleOrNamespace ([Let 05], false, AnonModule, [Let @@ -22,6 +22,7 @@ ImplFile Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], None, (1,0--3,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Incomplete structured construct at or before this point in binding. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 01.fs.bsl index 9ba9b81eb5..46136d486f 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(4,0) parse error Incomplete structured construct at or before this point in open declaration. Expected identifier, 'global', 'type' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 02.fs.bsl index 2a17ef664a..1b9e7cf4b2 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(4,0) parse error Incomplete structured construct at or before this point in open declaration diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 03.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 03.fs.bsl index 549a2c50a7..0e14ee764f 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 03.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -9,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(5,0) parse error Incomplete structured construct at or before this point in open declaration diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 04.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 04.fs.bsl index 26532b885c..b3e6f0cbaf 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 04.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -9,6 +9,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(5,0) parse error Incomplete structured construct at or before this point in open declaration diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 05.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 05.fs.bsl index d6339de665..943f383f43 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 05.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(5,0) parse error Incomplete structured construct at or before this point in open declaration. Expected identifier, 'global', 'type' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 06.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 06.fs.bsl index 44453c403f..89c4d60ac8 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 06.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -13,6 +13,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(4,0) parse error Incomplete structured construct at or before this point in open declaration diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 07.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 07.fs.bsl index 38af89635b..a255736685 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 07.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(5,0) parse error Incomplete structured construct at or before this point in open declaration diff --git a/tests/service/data/SyntaxTree/ModuleMember/Open 08.fs.bsl b/tests/service/data/SyntaxTree/ModuleMember/Open 08.fs.bsl index 5968d7456b..731b88cc4e 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Open 08.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Open 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/ModuleMember/Open 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Open 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Open @@ -10,4 +10,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleMember/Val 01.fsi.bsl b/tests/service/data/SyntaxTree/ModuleMember/Val 01.fsi.bsl index 33a28bec72..54b0a1a1d5 100644 --- a/tests/service/data/SyntaxTree/ModuleMember/Val 01.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleMember/Val 01.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/ModuleMember/Val 01.fsi", QualifiedNameOfFile Module, [], [], + ("/root/ModuleMember/Val 01.fsi", QualifiedNameOfFile Module, [], [SynModuleOrNamespaceSig ([Module], false, NamedModule, [Val @@ -26,6 +26,7 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,13)-(3,15) parse error Unexpected symbol '->' in value signature diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 01.fs.bsl index 11fc84ec74..b54f5371d0 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 01.fs.bsl @@ -1,12 +1,13 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Anon module 01.fs", false, - QualifiedNameOfFile Anon module 01, [], [], + QualifiedNameOfFile Anon module 01, [], [SynModuleOrNamespace ([Anon module 01], false, AnonModule, [Expr (Const (Unit, (1,0--1,2)), (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--1,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse warning The declarations in this file will be placed in an implicit module 'Anon module 01' based on the file name 'Anon module 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 02.fsx.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 02.fsx.bsl index 448d9bae96..bf0721e59b 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 02.fsx.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Anon module 02.fsx.bsl @@ -1,10 +1,11 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Anon module 02.fsx", true, - QualifiedNameOfFile Anon module 02$fsx, [], [], + QualifiedNameOfFile Anon module 02$fsx, [], [SynModuleOrNamespace ([Anon module 02], false, AnonModule, [Expr (Const (Unit, (1,0--1,2)), (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--1,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/DeclaredNamespaceRangeShouldStartAtNamespaceKeyword.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/DeclaredNamespaceRangeShouldStartAtNamespaceKeyword.fs.bsl index e45507b4a0..da84078720 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/DeclaredNamespaceRangeShouldStartAtNamespaceKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/DeclaredNamespaceRangeShouldStartAtNamespaceKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/ModuleOrNamespace/DeclaredNamespaceRangeShouldStartAtNamespaceKeyword.fs", false, QualifiedNameOfFile DeclaredNamespaceRangeShouldStartAtNamespaceKeyword, - [], [], + [], [SynModuleOrNamespace ([TypeEquality], false, DeclaredNamespace, [Types @@ -27,4 +27,5 @@ ImplFile WithKeyword = None })], (4,0--5,8))], PreXmlDocEmpty, [], None, (2,0--5,8), { LeadingKeyword = Namespace (2,0--2,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalInOpenPathShouldContainTrivia.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalInOpenPathShouldContainTrivia.fs.bsl index 0d822c247f..699f0ac585 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalInOpenPathShouldContainTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalInOpenPathShouldContainTrivia.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/GlobalInOpenPathShouldContainTrivia.fs", false, - QualifiedNameOfFile GlobalInOpenPathShouldContainTrivia, [], [], + QualifiedNameOfFile GlobalInOpenPathShouldContainTrivia, [], [SynModuleOrNamespace ([Ionide; VSCode; FSharp], false, DeclaredNamespace, [Open @@ -12,4 +12,5 @@ ImplFile (4,0--4,16))], PreXmlDocEmpty, [], None, (2,0--4,16), { LeadingKeyword = Namespace (2,0--2,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalNamespaceShouldStartAtNamespaceKeyword.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalNamespaceShouldStartAtNamespaceKeyword.fs.bsl index ab4611ba1f..34dfdc36a7 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalNamespaceShouldStartAtNamespaceKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/GlobalNamespaceShouldStartAtNamespaceKeyword.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/GlobalNamespaceShouldStartAtNamespaceKeyword.fs", false, QualifiedNameOfFile GlobalNamespaceShouldStartAtNamespaceKeyword, - [], [], + [], [SynModuleOrNamespace ([], false, GlobalNamespace, [Types @@ -21,5 +21,6 @@ ImplFile None, (4,0--6,12), { LeadingKeyword = Namespace (4,0--4,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,0--2,6); LineComment (3,0--3,6)] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module - Attribute 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module - Attribute 01.fs.bsl index 70ca7f64fd..d4b48f2982 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module - Attribute 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module - Attribute 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module - Attribute 01.fs", false, - QualifiedNameOfFile Bar, [], [], + QualifiedNameOfFile Bar, [], [SynModuleOrNamespace ([Bar], false, NamedModule, [Let @@ -32,4 +32,5 @@ ImplFile Range = (2,0--2,11) }], None, (2,0--5,20), { LeadingKeyword = Module (3,0--3,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 01.fs.bsl index 253b83115a..bc44e7a454 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 01.fs.bsl @@ -1,10 +1,11 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 01.fs", false, QualifiedNameOfFile A.B.C, - [], [], + [], [SynModuleOrNamespace ([A; B; C], false, NamedModule, [], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--1,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 02.fs.bsl index 1ca7710dfc..ead7d2d848 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 02.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 02.fs", false, QualifiedNameOfFile A.B.C, - [], [], + [], [SynModuleOrNamespace ([A; B; C], false, NamedModule, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 03.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 03.fs.bsl index f71a5daa64..50121eb748 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 03.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 03.fs.bsl @@ -1,11 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 03.fs", false, QualifiedNameOfFile A.B.C, - [], [], + [], [SynModuleOrNamespace ([A; B; C], false, NamedModule, [Expr (Const (Unit, (3,2--3,4)), (3,2--3,4))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 04.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 04.fs.bsl index 226e649295..ec78caa48c 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 04.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 04.fs.bsl @@ -1,13 +1,14 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 04.fs", false, QualifiedNameOfFile A.B.C, - [], [], + [], [SynModuleOrNamespace ([A; B; C], false, NamedModule, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDoc ((1,2), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,2--3,2), { LeadingKeyword = Module (1,2--1,8) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (1:3). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 05.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 05.fs.bsl index 6f4c8c701d..27186b63cb 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 05.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 05.fs.bsl @@ -1,12 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 05.fs", false, QualifiedNameOfFile A, [], - [], [SynModuleOrNamespace ([A], false, NamedModule, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected start of structured construct in definition diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 06.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 06.fs.bsl index ec0cd02e4c..d89b334db2 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 06.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 06.fs.bsl @@ -1,12 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 06.fs", false, QualifiedNameOfFile , [], - [], [SynModuleOrNamespace ([], false, NamedModule, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected start of structured construct in definition. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 07.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 07.fs.bsl index b52a7bcdbf..494bca7af6 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 07.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Module 07.fs.bsl @@ -1,12 +1,12 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Module 07.fs", false, QualifiedNameOfFile , [], - [], [SynModuleOrNamespace ([], true, NamedModule, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected start of structured construct in definition. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/ModuleShouldContainModuleKeyword.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/ModuleShouldContainModuleKeyword.fs.bsl index 7e55d2eb57..e020cf2044 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/ModuleShouldContainModuleKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/ModuleShouldContainModuleKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/ModuleShouldContainModuleKeyword.fs", false, - QualifiedNameOfFile FsAutoComplete.FCSPatches, [], [], + QualifiedNameOfFile FsAutoComplete.FCSPatches, [], [SynModuleOrNamespace ([FsAutoComplete; FCSPatches], false, NamedModule, [Open @@ -49,4 +49,5 @@ ImplFile PreXmlDoc ((5,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--13,14), { LeadingKeyword = Module (5,0--5,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/MultipleDeclaredNamespacesShouldHaveARangeThatStartsAtTheNamespaceKeyword.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/MultipleDeclaredNamespacesShouldHaveARangeThatStartsAtTheNamespaceKeyword.fs.bsl index 09880fab70..023212b291 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/MultipleDeclaredNamespacesShouldHaveARangeThatStartsAtTheNamespaceKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/MultipleDeclaredNamespacesShouldHaveARangeThatStartsAtTheNamespaceKeyword.fs.bsl @@ -4,7 +4,7 @@ ImplFile false, QualifiedNameOfFile MultipleDeclaredNamespacesShouldHaveARangeThatStartsAtTheNamespaceKeyword, - [], [], + [], [SynModuleOrNamespace ([TypeEquality], false, DeclaredNamespace, [Types @@ -35,4 +35,5 @@ ImplFile PreXmlDocEmpty, [], None, (7,0--9,10), { LeadingKeyword = Namespace (7,0--7,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 01.fs.bsl index d4bb61b979..e7c2d6c6d0 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 01.fs", false, - QualifiedNameOfFile Namespace 01, [], [], + QualifiedNameOfFile Namespace 01, [], [SynModuleOrNamespace ([Ns1], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], @@ -11,4 +11,5 @@ ImplFile [Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], PreXmlDocEmpty, [], None, (5,0--7,2), { LeadingKeyword = Namespace (5,0--5,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 02.fs.bsl index 1e5985485f..a1538de84f 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 02.fs", false, - QualifiedNameOfFile Namespace 02, [], [], + QualifiedNameOfFile Namespace 02, [], [SynModuleOrNamespace ([Ns1], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], @@ -11,6 +11,7 @@ ImplFile [Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], PreXmlDocEmpty, [], None, (5,0--7,2), { LeadingKeyword = Namespace (5,0--5,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected start of structured construct in implementation file. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 03.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 03.fs.bsl index c822d41e48..5c442eb837 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 03.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 03.fs", false, - QualifiedNameOfFile Namespace 03, [], [], + QualifiedNameOfFile Namespace 03, [], [SynModuleOrNamespace ([Ns1], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], @@ -11,6 +11,7 @@ ImplFile [Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], PreXmlDocEmpty, [], None, (5,0--7,2), { LeadingKeyword = Namespace (5,0--5,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected start of structured construct in implementation file diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 04.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 04.fs.bsl index e012c095c2..bb006d2aaf 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 04.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 04.fs", false, - QualifiedNameOfFile Namespace 04, [], [], + QualifiedNameOfFile Namespace 04, [], [SynModuleOrNamespace ([Ns1], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], @@ -11,6 +11,7 @@ ImplFile [Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], PreXmlDocEmpty, [], None, (5,0--7,2), { LeadingKeyword = Namespace (5,0--5,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected start of structured construct in implementation file. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 05.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 05.fs.bsl index a41e32b658..5f412ee222 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 05.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 05.fs.bsl @@ -1,9 +1,10 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 05.fs", false, - QualifiedNameOfFile Namespace 05, [], [], + QualifiedNameOfFile Namespace 05, [], [SynModuleOrNamespace ([], false, DeclaredNamespace, [], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 06.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 06.fs.bsl index 06fd680486..f63106c962 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 06.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 06.fs.bsl @@ -1,12 +1,13 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 06.fs", false, - QualifiedNameOfFile Namespace 06, [], [], + QualifiedNameOfFile Namespace 06, [], [SynModuleOrNamespace ([], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], None, (1,0--3,2), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected start of structured construct in implementation file. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 07.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 07.fs.bsl index 904371c96d..4afb0f52f0 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 07.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 07.fs", false, - QualifiedNameOfFile Namespace 07, [], [], + QualifiedNameOfFile Namespace 07, [], [SynModuleOrNamespace ([], false, DeclaredNamespace, [Types @@ -19,6 +19,7 @@ ImplFile WithKeyword = None })], (3,0--3,12))], PreXmlDocEmpty, [], None, (1,0--3,12), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,4) parse error Unexpected start of structured construct in implementation file. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 08.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 08.fs.bsl index 3598403885..36b919a7f8 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 08.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 08.fs.bsl @@ -1,9 +1,10 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 08.fs", false, - QualifiedNameOfFile Namespace 08, [], [], + QualifiedNameOfFile Namespace 08, [], [SynModuleOrNamespace ([], true, DeclaredNamespace, [], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 09.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 09.fs.bsl index c6f1e667ff..9db89162a5 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 09.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Namespace 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Namespace 09.fs", false, - QualifiedNameOfFile Namespace 09, [], [], + QualifiedNameOfFile Namespace 09, [], [SynModuleOrNamespace ([], false, DeclaredNamespace, [Expr (Const (Unit, (3,0--3,2)), (3,0--3,2))], PreXmlDocEmpty, [], @@ -11,6 +11,7 @@ ImplFile [Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], PreXmlDocEmpty, [], None, (5,0--7,2), { LeadingKeyword = Namespace (5,0--5,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,0)-(3,1) parse error Unexpected start of structured construct in implementation file. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/NamespaceShouldContainNamespaceKeyword.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/NamespaceShouldContainNamespaceKeyword.fs.bsl index fddeeca8a0..885b0b117c 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/NamespaceShouldContainNamespaceKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/NamespaceShouldContainNamespaceKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/NamespaceShouldContainNamespaceKeyword.fs", false, - QualifiedNameOfFile NamespaceShouldContainNamespaceKeyword, [], [], + QualifiedNameOfFile NamespaceShouldContainNamespaceKeyword, [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [NestedModule @@ -27,4 +27,5 @@ ImplFile EqualsRange = Some (3,11--3,12) })], PreXmlDocEmpty, [], None, (2,0--4,14), { LeadingKeyword = Namespace (2,0--2,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 01.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 01.fs.bsl index 8b74425f9b..e12ac1da40 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 01.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -16,4 +16,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 02.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 02.fs.bsl index e7761029d9..9724fa99d5 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 02.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 03.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 03.fs.bsl index 44ab73f81a..a37acb38fd 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 03.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(5,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 04.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 04.fs.bsl index 4208cc9422..94a68e469a 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 04.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(5,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 05.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 05.fs.bsl index 53b4a1f12d..2b38fecef1 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 05.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,11)-(5,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 06.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 06.fs.bsl index d6875779d2..92a0fd598c 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 06.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 06.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,13)-(5,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 07.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 07.fs.bsl index 569bdfe581..bf4b820705 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 07.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 07.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 08.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 08.fs.bsl index 1b6fcc1a41..f2411c2682 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 08.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 08.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,13)-(6,4) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 09.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 09.fs.bsl index 175f01fc0e..c4e7b8b345 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 09.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 09.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 10.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 10.fs.bsl index 4605fc9a35..9cf9651644 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 10.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 10.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(6,4) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 11.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 11.fs.bsl index 181836a8b7..135e3df2d1 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 11.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 11.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(5,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 12.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 12.fs.bsl index eb79389bb5..7d45479cb5 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 12.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 12.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 12.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,0), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 13.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 13.fs.bsl index c57a57743c..96edfc00de 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 13.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 13.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 13.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 14.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 14.fs.bsl index 708fae6dee..d79064e294 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 14.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 14.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 14.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [NestedModule @@ -14,6 +14,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 15.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 15.fs.bsl index e7aaa7fbdb..f837a3cf67 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 15.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 15.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 15.fs", false, - QualifiedNameOfFile Nested module 15, [], [], + QualifiedNameOfFile Nested module 15, [], [SynModuleOrNamespace ([Ns], false, DeclaredNamespace, [NestedModule @@ -13,6 +13,7 @@ ImplFile EqualsRange = Some (3,9--3,10) })], PreXmlDocEmpty, [], None, (1,0--3,10), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 16.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 16.fs.bsl index 2ce127eef5..c7401f2e65 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 16.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 16.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 16.fs", false, - QualifiedNameOfFile Nested module 16, [], [], + QualifiedNameOfFile Nested module 16, [], [SynModuleOrNamespace ([Ns], false, DeclaredNamespace, [NestedModule @@ -13,6 +13,7 @@ ImplFile EqualsRange = None })], PreXmlDocEmpty, [], None, (1,0--3,8), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 17.fs.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 17.fs.bsl index 4e5dd1a191..c48299a615 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 17.fs.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespace/Nested module 17.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/ModuleOrNamespace/Nested module 17.fs", false, - QualifiedNameOfFile Nested module 17, [], [], + QualifiedNameOfFile Nested module 17, [], [SynModuleOrNamespace ([Ns], false, DeclaredNamespace, [NestedModule @@ -13,6 +13,7 @@ ImplFile EqualsRange = None })], PreXmlDocEmpty, [], None, (1,0--4,0), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/GlobalNamespaceShouldStartAtNamespaceKeyword.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/GlobalNamespaceShouldStartAtNamespaceKeyword.fsi.bsl index 13f845e312..785521f5d0 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/GlobalNamespaceShouldStartAtNamespaceKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/GlobalNamespaceShouldStartAtNamespaceKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/GlobalNamespaceShouldStartAtNamespaceKeyword.fsi", - QualifiedNameOfFile GlobalNamespaceShouldStartAtNamespaceKeyword, [], [], + QualifiedNameOfFile GlobalNamespaceShouldStartAtNamespaceKeyword, [], [SynModuleOrNamespaceSig ([], false, GlobalNamespace, [Types @@ -38,5 +38,6 @@ SigFile WithKeyword = None })], (6,0--6,32))], PreXmlDocEmpty, [], None, (4,0--6,32), { LeadingKeyword = Namespace (4,0--4,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,0--2,6); LineComment (3,0--3,6)] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleAbbreviation.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleAbbreviation.fsi.bsl index 045e4931a6..fbd3308bd1 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleAbbreviation.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleAbbreviation.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/ModuleAbbreviation.fsi", - QualifiedNameOfFile Foo, [], [], + QualifiedNameOfFile Foo, [], [SynModuleOrNamespaceSig ([Foo], false, NamedModule, [Open @@ -49,4 +49,5 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--12,13), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleRangeShouldStartAtFirstAttribute.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleRangeShouldStartAtFirstAttribute.fsi.bsl index 833995c730..7455aeeea5 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleRangeShouldStartAtFirstAttribute.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleRangeShouldStartAtFirstAttribute.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/ModuleRangeShouldStartAtFirstAttribute.fsi", - QualifiedNameOfFile Bar, [], [], + QualifiedNameOfFile Bar, [], [SynModuleOrNamespaceSig ([Bar], false, NamedModule, [Val @@ -23,5 +23,6 @@ SigFile Range = (2,4--2,7) }] Range = (2,0--2,11) }], None, (2,0--5,14), { LeadingKeyword = Module (3,0--3,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleShouldContainModuleKeyword.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleShouldContainModuleKeyword.fsi.bsl index 9c4dbafc6c..8544b0f17b 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleShouldContainModuleKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/ModuleShouldContainModuleKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/ModuleShouldContainModuleKeyword.fsi", - QualifiedNameOfFile Bar, [], [], + QualifiedNameOfFile Bar, [], [SynModuleOrNamespaceSig ([Bar], false, NamedModule, [Val @@ -18,4 +18,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--4,10), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Namespace - Keyword 01.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Namespace - Keyword 01.fsi.bsl index a2d8deea5f..33b397cbff 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Namespace - Keyword 01.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Namespace - Keyword 01.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/Namespace - Keyword 01.fsi", - QualifiedNameOfFile Namespace - Keyword 01, [], [], + QualifiedNameOfFile Namespace - Keyword 01, [], [SynModuleOrNamespaceSig ([Foo], false, DeclaredNamespace, [NestedModule @@ -24,4 +24,5 @@ SigFile EqualsRange = Some (3,11--3,12) })], PreXmlDocEmpty, [], None, (1,0--4,14), { LeadingKeyword = Namespace (1,0--1,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Nested module 01.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Nested module 01.fsi.bsl index 2ca7d9b108..a987306bfc 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Nested module 01.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/Nested module 01.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/Nested module 01.fsi", - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespaceSig ([Module], false, NamedModule, [NestedModule @@ -36,4 +36,5 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,10), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/RangeMemberReturnsRangeOfSynModuleOrNamespaceSig.fsi.bsl b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/RangeMemberReturnsRangeOfSynModuleOrNamespaceSig.fsi.bsl index 8a0f981091..46bc6ef7b8 100644 --- a/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/RangeMemberReturnsRangeOfSynModuleOrNamespaceSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/ModuleOrNamespaceSig/RangeMemberReturnsRangeOfSynModuleOrNamespaceSig.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/ModuleOrNamespaceSig/RangeMemberReturnsRangeOfSynModuleOrNamespaceSig.fsi", QualifiedNameOfFile RangeMemberReturnsRangeOfSynModuleOrNamespaceSig, [], - [], [SynModuleOrNamespaceSig ([Foobar], false, DeclaredNamespace, [Types @@ -39,4 +38,5 @@ SigFile WithKeyword = None })], (4,0--4,32))], PreXmlDocEmpty, [], None, (2,0--4,32), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl index d9d1e49ae7..7cd76d669d 100644 --- a/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi", - QualifiedNameOfFile A.B, [], [], + QualifiedNameOfFile A.B, [], [SynModuleOrNamespaceSig ([A; B], false, NamedModule, [NestedModule @@ -25,6 +25,7 @@ SigFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,11), { LeadingKeyword = Module (1,0--1,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(5,0) parse error Incomplete structured construct at or before this point in signature file. Expected ':', '=' or other token. diff --git a/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fs.bsl index 24837f66d0..23937834db 100644 --- a/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/NestedModule/NestedModuleWithBeginEndAndDecls.fs", false, - QualifiedNameOfFile NestedModuleWithBeginEndAndDecls, [], [], + QualifiedNameOfFile NestedModuleWithBeginEndAndDecls, [], [SynModuleOrNamespace ([X], false, DeclaredNamespace, [NestedModule @@ -27,4 +27,5 @@ ImplFile EqualsRange = Some (3,9--3,10) })], PreXmlDocEmpty, [], None, (1,0--6,7), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fsi.bsl index 878125cde6..ca093b12f7 100644 --- a/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/NestedModuleWithBeginEndAndDecls.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/NestedModule/NestedModuleWithBeginEndAndDecls.fsi", - QualifiedNameOfFile NestedModuleWithBeginEndAndDecls, [], [], + QualifiedNameOfFile NestedModuleWithBeginEndAndDecls, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [NestedModule @@ -37,4 +37,5 @@ SigFile EqualsRange = Some (3,9--3,10) })], PreXmlDocEmpty, [], None, (1,0--7,7), { LeadingKeyword = Namespace (1,0--1,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleDeclNestedModule.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleDeclNestedModule.fs.bsl index 0160f4068b..8538ab3d4c 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleDeclNestedModule.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleDeclNestedModule.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleDeclNestedModule.fs", - false, QualifiedNameOfFile TopLevel, [], [], + false, QualifiedNameOfFile TopLevel, [], [SynModuleOrNamespace ([TopLevel], false, NamedModule, [NestedModule @@ -20,4 +20,5 @@ ImplFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--6,6), { LeadingKeyword = Module (2,0--2,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule.fsi.bsl index 2d2eb425be..eaac7dbed8 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/NestedModule/RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule.fsi", QualifiedNameOfFile - RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule, [], [], + RangeOfAttributeShouldBeIncludedInSynModuleSigDeclNestedModule, [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [NestedModule @@ -30,4 +30,5 @@ SigFile EqualsRange = Some (5,14--5,15) })], PreXmlDocEmpty, [], None, (2,0--6,15), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fs.bsl index 45d8f088c5..dfecd0d9c4 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/NestedModule/RangeOfBeginEnd.fs", false, - QualifiedNameOfFile RangeOfBeginEnd, [], [], + QualifiedNameOfFile RangeOfBeginEnd, [], [SynModuleOrNamespace ([X], false, DeclaredNamespace, [NestedModule @@ -13,4 +13,5 @@ ImplFile EqualsRange = Some (3,9--3,10) })], PreXmlDocEmpty, [], None, (1,0--4,13), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fsi.bsl index 33815671eb..1e08843a84 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfBeginEnd.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/NestedModule/RangeOfBeginEnd.fsi", - QualifiedNameOfFile RangeOfBeginEnd, [], [], + QualifiedNameOfFile RangeOfBeginEnd, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [NestedModule @@ -13,4 +13,5 @@ SigFile EqualsRange = Some (3,9--3,10) })], PreXmlDocEmpty, [], None, (1,0--4,13), { LeadingKeyword = Namespace (1,0--1,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl index da9c0e154f..5b49356851 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/NestedModule/RangeOfEqualSignShouldBePresent.fs", false, - QualifiedNameOfFile RangeOfEqualSignShouldBePresent, [], [], + QualifiedNameOfFile RangeOfEqualSignShouldBePresent, [], [SynModuleOrNamespace ([RangeOfEqualSignShouldBePresent], false, AnonModule, [NestedModule @@ -14,4 +14,5 @@ ImplFile EqualsRange = Some (2,9--2,10) })], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresentSignatureFile.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresentSignatureFile.fsi.bsl index d9575b21a8..627b1b608b 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresentSignatureFile.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresentSignatureFile.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/NestedModule/RangeOfEqualSignShouldBePresentSignatureFile.fsi", - QualifiedNameOfFile RangeOfEqualSignShouldBePresentSignatureFile, [], [], + QualifiedNameOfFile RangeOfEqualSignShouldBePresentSignatureFile, [], [SynModuleOrNamespaceSig ([Foo], false, DeclaredNamespace, [NestedModule @@ -24,4 +24,5 @@ SigFile EqualsRange = Some (4,9--4,10) })], PreXmlDocEmpty, [], None, (2,0--5,17), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl.fsi.bsl index d1d8882f2a..fc0b13845c 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl.fsi.bsl @@ -3,7 +3,6 @@ SigFile ("/root/NestedModule/RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl.fsi", QualifiedNameOfFile RangeOfNestedModuleInSignatureFileShouldEndAtTheLastSynModuleSigDecl, [], - [], [SynModuleOrNamespaceSig ([Microsoft; FSharp; Core], false, DeclaredNamespace, [Open @@ -549,4 +548,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--61,26), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl index fa15e544c3..d544fd6cd7 100644 --- a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/AbstractClassProperty.fs", false, - QualifiedNameOfFile AbstractClassProperty, [], [], + QualifiedNameOfFile AbstractClassProperty, [], [SynModuleOrNamespace ([AbstractClassProperty], false, AnonModule, [Types @@ -57,4 +57,5 @@ ImplFile WithKeyword = None })], (1,0--3,51))], PreXmlDocEmpty, [], None, (1,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl index e60a05e853..13161fa49f 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/DuCaseStringOrNull.fs", false, - QualifiedNameOfFile DuCaseStringOrNull, [], [], + QualifiedNameOfFile DuCaseStringOrNull, [], [SynModuleOrNamespace ([DuCaseStringOrNull], false, AnonModule, [Types @@ -36,4 +36,5 @@ ImplFile WithKeyword = None })], (1,0--1,35))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl index 1ae968787e..51050a8e19 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/DuCaseTuplePrecedence.fs", false, - QualifiedNameOfFile DuCaseTuplePrecedence, [], [], + QualifiedNameOfFile DuCaseTuplePrecedence, [], [SynModuleOrNamespace ([DuCaseTuplePrecedence], false, AnonModule, [Types @@ -43,4 +43,5 @@ ImplFile WithKeyword = None })], (1,0--1,41))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl index b590e85bce..8626a3204a 100644 --- a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/ExplicitField.fs", false, - QualifiedNameOfFile ExplicitField, [], [], + QualifiedNameOfFile ExplicitField, [], [SynModuleOrNamespace ([ExplicitField], false, AnonModule, [Types @@ -29,4 +29,5 @@ ImplFile WithKeyword = None })], (1,0--4,7))], PreXmlDocEmpty, [], None, (1,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl index 1d72ceec00..9c06341d4c 100644 --- a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/FunctionArgAsPatternWithNullCase.fs", false, - QualifiedNameOfFile FunctionArgAsPatternWithNullCase, [], [], + QualifiedNameOfFile FunctionArgAsPatternWithNullCase, [], [SynModuleOrNamespace ([FunctionArgAsPatternWithNullCase], false, AnonModule, [Let @@ -45,4 +45,5 @@ ImplFile (1,0--1,52))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl index d155f74abb..bc7e62dbcf 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericFunctionReturnTypeNotStructNull.fs", false, - QualifiedNameOfFile GenericFunctionReturnTypeNotStructNull, [], [], + QualifiedNameOfFile GenericFunctionReturnTypeNotStructNull, [], [SynModuleOrNamespace ([GenericFunctionReturnTypeNotStructNull], false, AnonModule, [Let @@ -39,4 +39,5 @@ ImplFile EqualsRange = Some (1,51--1,52) })], (1,0--1,57))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl index f03151197d..93b7e56d1e 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericFunctionTyparNotNull.fs", false, - QualifiedNameOfFile GenericFunctionTyparNotNull, [], [], + QualifiedNameOfFile GenericFunctionTyparNotNull, [], [SynModuleOrNamespace ([GenericFunctionTyparNotNull], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (1,37--1,38) })], (1,0--1,41))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl index db83d1ddcb..07032a6b6a 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericFunctionTyparNull.fs", false, - QualifiedNameOfFile GenericFunctionTyparNull, [], [], + QualifiedNameOfFile GenericFunctionTyparNull, [], [SynModuleOrNamespace ([GenericFunctionTyparNull], false, AnonModule, [Let @@ -33,4 +33,5 @@ ImplFile (1,0--1,37))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl index 92d0d1a136..2e21778461 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericTypeNotNull.fs", false, - QualifiedNameOfFile GenericTypeNotNull, [], [], + QualifiedNameOfFile GenericTypeNotNull, [], [SynModuleOrNamespace ([GenericTypeNotNull], false, AnonModule, [Types @@ -25,4 +25,5 @@ ImplFile WithKeyword = None })], (1,0--1,40))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl index 0906d86df2..4f47caa397 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericTypeNotNullAndOtherConstraint.fs", false, - QualifiedNameOfFile GenericTypeNotNullAndOtherConstraint, [], [], + QualifiedNameOfFile GenericTypeNotNullAndOtherConstraint, [], [SynModuleOrNamespace ([GenericTypeNotNullAndOtherConstraint], false, AnonModule, [Types @@ -28,4 +28,5 @@ ImplFile WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl index 6ebe197154..0ea0210a10 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs", false, QualifiedNameOfFile GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane, - [], [], + [], [SynModuleOrNamespace ([GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane], false, AnonModule, @@ -29,6 +29,7 @@ ImplFile WithKeyword = None })], (1,0--1,58))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane' based on the file name 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl index 184b29d69d..59936ebce2 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericTypeNull.fs", false, - QualifiedNameOfFile GenericTypeNull, [], [], + QualifiedNameOfFile GenericTypeNull, [], [SynModuleOrNamespace ([GenericTypeNull], false, AnonModule, [Types @@ -24,4 +24,5 @@ ImplFile WithKeyword = None })], (1,0--1,36))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl index c6f6f52d87..59b5956262 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs", false, - QualifiedNameOfFile GenericTypeOtherConstraintAndThenNotNull, [], [], + QualifiedNameOfFile GenericTypeOtherConstraintAndThenNotNull, [], [SynModuleOrNamespace ([GenericTypeOtherConstraintAndThenNotNull], false, AnonModule, [Types @@ -27,4 +27,5 @@ ImplFile WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl index c678aa8357..89aba46b66 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/IntListOrNull.fs", false, - QualifiedNameOfFile IntListOrNull, [], [], + QualifiedNameOfFile IntListOrNull, [], [SynModuleOrNamespace ([IntListOrNull], false, AnonModule, [Let @@ -36,4 +36,5 @@ ImplFile (1,0--1,28))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl index 2ba94607f4..73acd0cd00 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/IntListOrNullOrNullOrNull.fs", false, - QualifiedNameOfFile IntListOrNullOrNullOrNull, [], [], + QualifiedNameOfFile IntListOrNullOrNullOrNull, [], [SynModuleOrNamespace ([IntListOrNullOrNullOrNull], false, AnonModule, [Let @@ -35,6 +35,7 @@ ImplFile EqualsRange = None })], (1,0--1,23))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,24)-(1,25) parse error Unexpected symbol '|' (directly before 'null') in binding. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl index 8609471571..773ff44561 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/MatchWithTypeCast.fs", false, - QualifiedNameOfFile MatchWithTypeCast, [], [], + QualifiedNameOfFile MatchWithTypeCast, [], [SynModuleOrNamespace ([MatchWithTypeCast], false, AnonModule, [Expr @@ -20,4 +20,5 @@ ImplFile WithKeyword = (1,8--1,12) }), (1,0--2,24))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl index 2c465e5809..9576ea6b02 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/MatchWithTypeCastParens.fs", false, - QualifiedNameOfFile MatchWithTypeCastParens, [], [], + QualifiedNameOfFile MatchWithTypeCastParens, [], [SynModuleOrNamespace ([MatchWithTypeCastParens], false, AnonModule, [Expr @@ -21,4 +21,5 @@ ImplFile WithKeyword = (1,8--1,12) }), (1,0--2,26))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl index aa2e5f0787..00f7882ac7 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs", false, - QualifiedNameOfFile MatchWithTypeCastParensAndSeparateNullCase, [], [], + QualifiedNameOfFile MatchWithTypeCastParensAndSeparateNullCase, [], [SynModuleOrNamespace ([MatchWithTypeCastParensAndSeparateNullCase], false, AnonModule, [Expr @@ -23,4 +23,5 @@ ImplFile WithKeyword = (1,8--1,12) }), (1,0--2,33))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl index 207a76250e..1b3916e419 100644 --- a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/NullAnnotatedExpression.fs", false, - QualifiedNameOfFile NullAnnotatedExpression, [], [], + QualifiedNameOfFile NullAnnotatedExpression, [], [SynModuleOrNamespace ([NullAnnotatedExpression], false, AnonModule, [Let @@ -70,4 +70,5 @@ ImplFile EqualsRange = Some (1,64--1,65) })], (1,0--1,70))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionAnnotatedInlinePatternMatch.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionAnnotatedInlinePatternMatch.fs.bsl index aaa2b2bafc..2670129859 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionAnnotatedInlinePatternMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionAnnotatedInlinePatternMatch.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionAnnotatedInlinePatternMatch.fs", false, - QualifiedNameOfFile RegressionAnnotatedInlinePatternMatch, [], [], + QualifiedNameOfFile RegressionAnnotatedInlinePatternMatch, [], [SynModuleOrNamespace ([RegressionAnnotatedInlinePatternMatch], false, AnonModule, [Expr @@ -26,4 +26,5 @@ ImplFile WithKeyword = (1,8--1,12) }), (1,0--2,37))], PreXmlDocEmpty, [], None, (1,0--2,37), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl index aa2b6752d7..79d2dfce12 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionChoiceType.fs", false, - QualifiedNameOfFile RegressionChoiceType, [], [], + QualifiedNameOfFile RegressionChoiceType, [], [SynModuleOrNamespace ([RegressionChoiceType], false, AnonModule, [Types @@ -52,4 +52,5 @@ ImplFile WithKeyword = None })], (1,0--7,19))], PreXmlDocEmpty, [], None, (1,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionListType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionListType.fs.bsl index 5b1a914a43..749078efa1 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionListType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionListType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionListType.fs", false, - QualifiedNameOfFile RegressionListType, [], [], + QualifiedNameOfFile RegressionListType, [], [SynModuleOrNamespace ([RegressionListType], false, AnonModule, [Types @@ -62,4 +62,5 @@ ImplFile WithKeyword = None })], (1,0--3,41))], PreXmlDocEmpty, [], None, (1,0--3,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionOneLinerOptionType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionOneLinerOptionType.fs.bsl index 7a062070cb..8d6a085bc0 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionOneLinerOptionType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionOneLinerOptionType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionOneLinerOptionType.fs", false, - QualifiedNameOfFile RegressionOneLinerOptionType, [], [], + QualifiedNameOfFile RegressionOneLinerOptionType, [], [SynModuleOrNamespace ([RegressionOneLinerOptionType], false, AnonModule, [Types @@ -35,4 +35,5 @@ ImplFile WithKeyword = None })], (1,0--1,41))], PreXmlDocEmpty, [], None, (1,0--1,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl index 5491684cca..502b1ba39e 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionOptionType.fs", false, - QualifiedNameOfFile RegressionOptionType, [], [], + QualifiedNameOfFile RegressionOptionType, [], [SynModuleOrNamespace ([RegressionOptionType], false, AnonModule, [Types @@ -58,6 +58,7 @@ ImplFile WithKeyword = None })], (1,0--3,33))], PreXmlDocEmpty, [], None, (1,0--3,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (2,6)-(2,27) parse warning This construct is deprecated: it is only for use in the F# library diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionOrPattern.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionOrPattern.fs.bsl index 82fe5cb33d..be820f4de6 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionOrPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionOrPattern.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionOrPattern.fs", false, - QualifiedNameOfFile RegressionOrPattern, [], [], + QualifiedNameOfFile RegressionOrPattern, [], [SynModuleOrNamespace ([RegressionOrPattern], false, AnonModule, [Expr @@ -37,4 +37,5 @@ ImplFile WithKeyword = (1,10--1,14) }), (1,0--3,24))], PreXmlDocEmpty, [], None, (1,0--3,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionResultType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionResultType.fs.bsl index c36213899e..e7de7e51e3 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionResultType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionResultType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/RegressionResultType.fs", false, - QualifiedNameOfFile RegressionResultType, [], [], + QualifiedNameOfFile RegressionResultType, [], [SynModuleOrNamespace ([RegressionResultType], false, AnonModule, [Types @@ -53,4 +53,5 @@ ImplFile WithKeyword = None })], (1,4--7,35))], PreXmlDocEmpty, [], None, (1,4--7,35), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl index f1ba608029..317752b342 100644 --- a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/SignatureInAbstractMember.fs", false, - QualifiedNameOfFile SignatureInAbstractMember, [], [], + QualifiedNameOfFile SignatureInAbstractMember, [], [SynModuleOrNamespace ([SignatureInAbstractMember], false, AnonModule, [Types @@ -57,4 +57,5 @@ ImplFile WithKeyword = None })], (1,0--2,61))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl index 4e8240dd5f..14b3dde2c6 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/StringOrNull.fs", false, QualifiedNameOfFile StringOrNull, - [], [], + [], [SynModuleOrNamespace ([StringOrNull], false, AnonModule, [Let @@ -29,4 +29,5 @@ ImplFile EqualsRange = Some (1,22--1,23) })], (1,0--1,28))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl index 864e6e3836..162ebbfbdf 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/StringOrNullInFunctionArg.fs", false, - QualifiedNameOfFile StringOrNullInFunctionArg, [], [], + QualifiedNameOfFile StringOrNullInFunctionArg, [], [SynModuleOrNamespace ([StringOrNullInFunctionArg], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (1,32--1,33) })], (1,0--1,36))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/TypeAbbreviationAddingWithNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/TypeAbbreviationAddingWithNull.fs.bsl index 61d17ea291..20af4b08c2 100644 --- a/tests/service/data/SyntaxTree/Nullness/TypeAbbreviationAddingWithNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/TypeAbbreviationAddingWithNull.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Nullness/TypeAbbreviationAddingWithNull.fs", false, - QualifiedNameOfFile TypeAbbreviationAddingWithNull, [], [], + QualifiedNameOfFile TypeAbbreviationAddingWithNull, [], [SynModuleOrNamespace ([TypeAbbreviationAddingWithNull], false, AnonModule, [Types @@ -22,4 +22,5 @@ ImplFile WithKeyword = None })], (1,0--1,33))], PreXmlDocEmpty, [], None, (1,0--1,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 01.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 01.fs.bsl index 43d64f45a9..d181dbabbb 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 01.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 01.fs", false, - QualifiedNameOfFile ActivePatternAnd 01, [], [], + QualifiedNameOfFile ActivePatternAnd 01, [], [SynModuleOrNamespace ([ActivePatternAnd 01], false, AnonModule, [Let @@ -29,6 +29,7 @@ ImplFile EqualsRange = Some (1,26--1,27) })], (1,0--1,34))], PreXmlDocEmpty, [], None, (1,0--1,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,34) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 01' based on the file name 'ActivePatternAnd 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 02.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 02.fs.bsl index 23ebdc7c8d..2197d608c4 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 02.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 02.fs", false, - QualifiedNameOfFile ActivePatternAnd 02, [], [], + QualifiedNameOfFile ActivePatternAnd 02, [], [SynModuleOrNamespace ([ActivePatternAnd 02], false, AnonModule, [Let @@ -30,6 +30,7 @@ ImplFile EqualsRange = Some (1,28--1,29) })], (1,0--1,36))], PreXmlDocEmpty, [], None, (1,0--1,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,36) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 02' based on the file name 'ActivePatternAnd 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 03.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 03.fs.bsl index f59e50d940..bf6cf297f4 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 03.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 03.fs", false, - QualifiedNameOfFile ActivePatternAnd 03, [], [], + QualifiedNameOfFile ActivePatternAnd 03, [], [SynModuleOrNamespace ([ActivePatternAnd 03], false, AnonModule, [Let @@ -30,6 +30,7 @@ ImplFile EqualsRange = Some (1,28--1,29) })], (1,0--1,36))], PreXmlDocEmpty, [], None, (1,0--1,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,36) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 03' based on the file name 'ActivePatternAnd 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 04.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 04.fs.bsl index 37b343fad9..8da67b53c6 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 04.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 04.fs", false, - QualifiedNameOfFile ActivePatternAnd 04, [], [], + QualifiedNameOfFile ActivePatternAnd 04, [], [SynModuleOrNamespace ([ActivePatternAnd 04], false, AnonModule, [Let @@ -31,6 +31,7 @@ ImplFile EqualsRange = Some (1,30--1,31) })], (1,0--1,38))], PreXmlDocEmpty, [], None, (1,0--1,38), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,38) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 04' based on the file name 'ActivePatternAnd 04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 05.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 05.fs.bsl index 062a413ccd..290c17827d 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 05.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 05.fs", false, - QualifiedNameOfFile ActivePatternAnd 05, [], [], + QualifiedNameOfFile ActivePatternAnd 05, [], [SynModuleOrNamespace ([ActivePatternAnd 05], false, AnonModule, [Let @@ -31,6 +31,7 @@ ImplFile EqualsRange = Some (1,30--1,31) })], (1,0--1,38))], PreXmlDocEmpty, [], None, (1,0--1,38), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,38) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 05' based on the file name 'ActivePatternAnd 05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 06.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 06.fs.bsl index 7c8649824d..b4226cc1f8 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 06.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 06.fs", false, - QualifiedNameOfFile ActivePatternAnd 06, [], [], + QualifiedNameOfFile ActivePatternAnd 06, [], [SynModuleOrNamespace ([ActivePatternAnd 06], false, AnonModule, [Let @@ -34,6 +34,7 @@ ImplFile EqualsRange = Some (1,36--1,37) })], (1,0--1,44))], PreXmlDocEmpty, [], None, (1,0--1,44), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,44) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 06' based on the file name 'ActivePatternAnd 06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 07.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 07.fs.bsl index 71db7cf842..c4970b5359 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 07.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 07.fs", false, - QualifiedNameOfFile ActivePatternAnd 07, [], [], + QualifiedNameOfFile ActivePatternAnd 07, [], [SynModuleOrNamespace ([ActivePatternAnd 07], false, AnonModule, [Let @@ -33,6 +33,7 @@ ImplFile EqualsRange = Some (1,32--1,33) })], (1,0--1,40))], PreXmlDocEmpty, [], None, (1,0--1,40), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,40) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 07' based on the file name 'ActivePatternAnd 07.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 08.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 08.fs.bsl index c2c958503a..277fb1aeac 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 08.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAnd 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAnd 08.fs", false, - QualifiedNameOfFile ActivePatternAnd 08, [], [], + QualifiedNameOfFile ActivePatternAnd 08, [], [SynModuleOrNamespace ([ActivePatternAnd 08], false, AnonModule, [Let @@ -33,6 +33,7 @@ ImplFile EqualsRange = Some (1,34--1,35) })], (1,0--1,42))], PreXmlDocEmpty, [], None, (1,0--1,42), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,42) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternAnd 08' based on the file name 'ActivePatternAnd 08.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAsFunction.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAsFunction.fs.bsl index 83e6005fd3..6775b6d184 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternAsFunction.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternAsFunction.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternAsFunction.fs", false, - QualifiedNameOfFile ActivePatternAsFunction, [], [], + QualifiedNameOfFile ActivePatternAsFunction, [], [SynModuleOrNamespace ([ActivePatternAsFunction], false, AnonModule, [Expr @@ -16,4 +16,5 @@ ImplFile (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--2,14), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl index 9741e50562..c4b9f6a091 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternDefinition.fs", false, - QualifiedNameOfFile ActivePatternDefinition, [], [], + QualifiedNameOfFile ActivePatternDefinition, [], [SynModuleOrNamespace ([ActivePatternDefinition], false, AnonModule, [Let @@ -62,4 +62,5 @@ ImplFile EqualsRange = Some (2,26--2,27) })], (2,0--2,59))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 01.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 01.fs.bsl index f90393a139..5862ca0ad2 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 01.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 01.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 01, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 01, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 01], false, AnonModule, [Exception @@ -38,6 +38,7 @@ ImplFile EqualsRange = Some (3,22--3,23) })], (3,0--3,30))], PreXmlDocEmpty, [], None, (1,0--3,30), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 01' based on the file name 'ActivePatternExceptionAnd 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 02.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 02.fs.bsl index ad1420869f..8ebb664822 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 02.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 02.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 02, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 02, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 02], false, AnonModule, [Exception @@ -39,6 +39,7 @@ ImplFile EqualsRange = Some (3,24--3,25) })], (3,0--3,32))], PreXmlDocEmpty, [], None, (1,0--3,32), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 02' based on the file name 'ActivePatternExceptionAnd 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 03.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 03.fs.bsl index 1b4bdf7dfd..2574d43812 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 03.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 03.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 03, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 03, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 03], false, AnonModule, [Exception @@ -39,6 +39,7 @@ ImplFile EqualsRange = Some (3,24--3,25) })], (3,0--3,32))], PreXmlDocEmpty, [], None, (1,0--3,32), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 03' based on the file name 'ActivePatternExceptionAnd 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 04.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 04.fs.bsl index ea96f1966b..74cdc1226c 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 04.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 04.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 04, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 04, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 04], false, AnonModule, [Exception @@ -40,6 +40,7 @@ ImplFile EqualsRange = Some (3,26--3,27) })], (3,0--3,34))], PreXmlDocEmpty, [], None, (1,0--3,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 04' based on the file name 'ActivePatternExceptionAnd 04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 05.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 05.fs.bsl index 2517eb3918..53656ca36c 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 05.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 05.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 05, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 05, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 05], false, AnonModule, [Exception @@ -40,6 +40,7 @@ ImplFile EqualsRange = Some (3,26--3,27) })], (3,0--3,34))], PreXmlDocEmpty, [], None, (1,0--3,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 05' based on the file name 'ActivePatternExceptionAnd 05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 06.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 06.fs.bsl index 91e95536c8..e96412948a 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 06.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 06.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 06, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 06, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 06], false, AnonModule, [Exception @@ -43,6 +43,7 @@ ImplFile EqualsRange = Some (3,32--3,33) })], (3,0--3,40))], PreXmlDocEmpty, [], None, (1,0--3,40), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 06' based on the file name 'ActivePatternExceptionAnd 06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 07.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 07.fs.bsl index 35c7d986cf..5da96ee160 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 07.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 07.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 07, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 07, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 07], false, AnonModule, [Exception @@ -41,6 +41,7 @@ ImplFile EqualsRange = Some (3,28--3,29) })], (3,0--3,36))], PreXmlDocEmpty, [], None, (1,0--3,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 07' based on the file name 'ActivePatternExceptionAnd 07.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 08.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 08.fs.bsl index d61d4fa3ef..b9c67aaa65 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 08.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternExceptionAnd 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternExceptionAnd 08.fs", false, - QualifiedNameOfFile ActivePatternExceptionAnd 08, [], [], + QualifiedNameOfFile ActivePatternExceptionAnd 08, [], [SynModuleOrNamespace ([ActivePatternExceptionAnd 08], false, AnonModule, [Exception @@ -41,6 +41,7 @@ ImplFile EqualsRange = Some (3,30--3,31) })], (3,0--3,38))], PreXmlDocEmpty, [], None, (1,0--3,38), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'ActivePatternExceptionAnd 08' based on the file name 'ActivePatternExceptionAnd 08.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl index a91a973e4e..faa01ee9c3 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ActivePatternIdentifierInPrivateMember.fs", false, - QualifiedNameOfFile ActivePatternIdentifierInPrivateMember, [], [], + QualifiedNameOfFile ActivePatternIdentifierInPrivateMember, [], [SynModuleOrNamespace ([ActivePatternIdentifierInPrivateMember], false, AnonModule, [Types @@ -59,4 +59,5 @@ ImplFile WithKeyword = None })], (2,0--7,6))], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl index 33ebeafb08..af3de67443 100644 --- a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/CustomOperatorDefinition.fs", false, - QualifiedNameOfFile CustomOperatorDefinition, [], [], + QualifiedNameOfFile CustomOperatorDefinition, [], [SynModuleOrNamespace ([CustomOperatorDefinition], false, AnonModule, [Let @@ -40,4 +40,5 @@ ImplFile EqualsRange = Some (2,12--2,13) })], (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/DetectDifferenceBetweenCompiledOperators.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/DetectDifferenceBetweenCompiledOperators.fs.bsl index 51389ae62c..f004ea099b 100644 --- a/tests/service/data/SyntaxTree/OperatorName/DetectDifferenceBetweenCompiledOperators.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/DetectDifferenceBetweenCompiledOperators.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/DetectDifferenceBetweenCompiledOperators.fs", false, - QualifiedNameOfFile DetectDifferenceBetweenCompiledOperators, [], [], + QualifiedNameOfFile DetectDifferenceBetweenCompiledOperators, [], [SynModuleOrNamespace ([DetectDifferenceBetweenCompiledOperators], false, AnonModule, [Expr @@ -25,4 +25,5 @@ ImplFile Ident b, (3,0--3,15)), (3,0--3,15))], PreXmlDocEmpty, [], None, (2,0--3,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/InfixOperation.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/InfixOperation.fs.bsl index 20572a9519..ca7dcac4ee 100644 --- a/tests/service/data/SyntaxTree/OperatorName/InfixOperation.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/InfixOperation.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/InfixOperation.fs", false, - QualifiedNameOfFile InfixOperation, [], [], + QualifiedNameOfFile InfixOperation, [], [SynModuleOrNamespace ([InfixOperation], false, AnonModule, [Expr @@ -18,4 +18,5 @@ ImplFile (2,0--2,5))], PreXmlDocEmpty, [], None, (2,0--2,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/NamedParameter.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/NamedParameter.fs.bsl index bc0bf9748b..a7508b0341 100644 --- a/tests/service/data/SyntaxTree/OperatorName/NamedParameter.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/NamedParameter.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/NamedParameter.fs", false, - QualifiedNameOfFile NamedParameter, [], [], + QualifiedNameOfFile NamedParameter, [], [SynModuleOrNamespace ([NamedParameter], false, AnonModule, [Expr @@ -21,4 +21,5 @@ ImplFile Some (2,5--2,6), (2,1--2,6)), (2,0--2,6)), (2,0--2,6))], PreXmlDocEmpty, [], None, (2,0--2,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/NameofOperator.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/NameofOperator.fs.bsl index 49f2b8a433..6ffa57b4cc 100644 --- a/tests/service/data/SyntaxTree/OperatorName/NameofOperator.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/NameofOperator.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/NameofOperator.fs", false, - QualifiedNameOfFile NameofOperator, [], [], + QualifiedNameOfFile NameofOperator, [], [SynModuleOrNamespace ([NameofOperator], false, AnonModule, [Expr @@ -17,4 +17,5 @@ ImplFile (2,0--2,9)), (2,0--2,9))], PreXmlDocEmpty, [], None, (2,0--2,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl index 760c3f64ca..c610b0e59d 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/ObjectModelWithTwoMembers.fs", false, - QualifiedNameOfFile ObjectModelWithTwoMembers, [], [], + QualifiedNameOfFile ObjectModelWithTwoMembers, [], [SynModuleOrNamespace ([ObjectModelWithTwoMembers], false, AnonModule, [Types @@ -111,4 +111,5 @@ ImplFile WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorAsFunction.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorAsFunction.fs.bsl index a18485248e..205db05cc5 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorAsFunction.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorAsFunction.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/OperatorAsFunction.fs", false, - QualifiedNameOfFile OperatorAsFunction, [], [], + QualifiedNameOfFile OperatorAsFunction, [], [SynModuleOrNamespace ([OperatorAsFunction], false, AnonModule, [Expr @@ -20,4 +20,5 @@ ImplFile Const (Int32 4, (2,6--2,7)), (2,0--2,7)), (2,0--2,7))], PreXmlDocEmpty, [], None, (2,0--2,7), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl index 4e05d9cbd8..5137e642c9 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/OperatorInMemberDefinition.fs", false, - QualifiedNameOfFile OperatorInMemberDefinition, [], [], + QualifiedNameOfFile OperatorInMemberDefinition, [], [SynModuleOrNamespace ([OperatorInMemberDefinition], false, AnonModule, [Types @@ -60,4 +60,5 @@ ImplFile WithKeyword = None })], (2,0--3,28))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorNameInSynValSig.fsi.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorNameInSynValSig.fsi.bsl index b90adbf927..bc0e4b085c 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorNameInSynValSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorNameInSynValSig.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/OperatorName/OperatorNameInSynValSig.fsi", - QualifiedNameOfFile IntrinsicOperators, [], [], + QualifiedNameOfFile IntrinsicOperators, [], [SynModuleOrNamespaceSig ([IntrinsicOperators], false, NamedModule, [Val @@ -38,4 +38,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--3,37), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorNameInValConstraint.fsi.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorNameInValConstraint.fsi.bsl index d31043ea99..fe765dd953 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorNameInValConstraint.fsi.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorNameInValConstraint.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/OperatorName/OperatorNameInValConstraint.fsi", - QualifiedNameOfFile Operators, [], [], + QualifiedNameOfFile Operators, [], [SynModuleOrNamespaceSig ([Operators], false, NamedModule, [Val @@ -79,6 +79,7 @@ SigFile Range = (2,0--2,12) }], None, (2,0--12,94), { LeadingKeyword = Module (3,4--3,10) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (12,79)-(12,94) parse error This construct is deprecated: it is only for use in the F# library diff --git a/tests/service/data/SyntaxTree/OperatorName/OptionalExpression.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/OptionalExpression.fs.bsl index 2db0610b10..1d2315c9ce 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OptionalExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OptionalExpression.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/OptionalExpression.fs", false, - QualifiedNameOfFile OptionalExpression, [], [], + QualifiedNameOfFile OptionalExpression, [], [SynModuleOrNamespace ([OptionalExpression], false, AnonModule, [Expr @@ -24,4 +24,5 @@ ImplFile Some (2,8--2,9), (2,1--2,9)), (2,0--2,9)), (2,0--2,9))], PreXmlDocEmpty, [], None, (2,0--2,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternAsFunction.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternAsFunction.fs.bsl index 81d08cb107..5a752bc892 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternAsFunction.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternAsFunction.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/PartialActivePatternAsFunction.fs", false, - QualifiedNameOfFile PartialActivePatternAsFunction, [], [], + QualifiedNameOfFile PartialActivePatternAsFunction, [], [SynModuleOrNamespace ([PartialActivePatternAsFunction], false, AnonModule, [Expr @@ -16,4 +16,5 @@ ImplFile (2,0--2,11))], PreXmlDocEmpty, [], None, (2,0--2,11), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl index 6b6c5b5952..1af2f13c76 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/PartialActivePatternDefinition.fs", false, - QualifiedNameOfFile PartialActivePatternDefinition, [], [], + QualifiedNameOfFile PartialActivePatternDefinition, [], [SynModuleOrNamespace ([PartialActivePatternDefinition], false, AnonModule, [Let @@ -50,4 +50,5 @@ ImplFile EqualsRange = Some (2,35--2,36) })], (2,0--2,88))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl index be0b81e857..d2f6c09c3a 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs", false, QualifiedNameOfFile PartialActivePatternDefinitionWithoutParameters, - [], [], + [], [SynModuleOrNamespace ([PartialActivePatternDefinitionWithoutParameters], false, AnonModule, [Let @@ -27,4 +27,5 @@ ImplFile EqualsRange = Some (2,18--2,19) })], (2,0--2,33))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PrefixOperation.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PrefixOperation.fs.bsl index 15193e6327..610d2c0f9f 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PrefixOperation.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PrefixOperation.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/PrefixOperation.fs", false, - QualifiedNameOfFile PrefixOperation, [], [], + QualifiedNameOfFile PrefixOperation, [], [SynModuleOrNamespace ([PrefixOperation], false, AnonModule, [Expr @@ -15,4 +15,5 @@ ImplFile (2,0--2,5))], PreXmlDocEmpty, [], None, (2,0--2,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PrefixOperationWithTwoCharacters.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PrefixOperationWithTwoCharacters.fs.bsl index f73ff91458..c2a4b003dd 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PrefixOperationWithTwoCharacters.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PrefixOperationWithTwoCharacters.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/PrefixOperationWithTwoCharacters.fs", false, - QualifiedNameOfFile PrefixOperationWithTwoCharacters, [], [], + QualifiedNameOfFile PrefixOperationWithTwoCharacters, [], [SynModuleOrNamespace ([PrefixOperationWithTwoCharacters], false, AnonModule, [Expr @@ -14,4 +14,5 @@ ImplFile None, (2,0--2,2)), Ident arg, (2,0--2,5)), (2,0--2,5))], PreXmlDocEmpty, [], None, (2,0--2,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl index b83fc4ecf6..7db9838fe4 100644 --- a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/OperatorName/QualifiedOperatorExpression.fs", false, - QualifiedNameOfFile QualifiedOperatorExpression, [], [], + QualifiedNameOfFile QualifiedOperatorExpression, [], [SynModuleOrNamespace ([QualifiedOperatorExpression], false, AnonModule, [Let @@ -42,4 +42,5 @@ ImplFile EqualsRange = Some (2,23--2,24) })], (2,0--2,40))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ParsedHashDirective/RegularStringAsParsedHashDirectiveArgument.fs.bsl b/tests/service/data/SyntaxTree/ParsedHashDirective/RegularStringAsParsedHashDirectiveArgument.fs.bsl index 360f4117e4..47e1957718 100644 --- a/tests/service/data/SyntaxTree/ParsedHashDirective/RegularStringAsParsedHashDirectiveArgument.fs.bsl +++ b/tests/service/data/SyntaxTree/ParsedHashDirective/RegularStringAsParsedHashDirectiveArgument.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/ParsedHashDirective/RegularStringAsParsedHashDirectiveArgument.fs", false, QualifiedNameOfFile RegularStringAsParsedHashDirectiveArgument, [], - [], [SynModuleOrNamespace ([RegularStringAsParsedHashDirectiveArgument], false, AnonModule, [HashDirective @@ -11,4 +10,5 @@ ImplFile (2,0--2,9))], PreXmlDocEmpty, [], None, (2,0--2,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ParsedHashDirective/SourceIdentifierAsParsedHashDirectiveArgument.fs.bsl b/tests/service/data/SyntaxTree/ParsedHashDirective/SourceIdentifierAsParsedHashDirectiveArgument.fs.bsl index 8434a2be59..b833b566ae 100644 --- a/tests/service/data/SyntaxTree/ParsedHashDirective/SourceIdentifierAsParsedHashDirectiveArgument.fs.bsl +++ b/tests/service/data/SyntaxTree/ParsedHashDirective/SourceIdentifierAsParsedHashDirectiveArgument.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/ParsedHashDirective/SourceIdentifierAsParsedHashDirectiveArgument.fs", false, QualifiedNameOfFile SourceIdentifierAsParsedHashDirectiveArgument, - [], [], + [], [SynModuleOrNamespace ([SourceIdentifierAsParsedHashDirectiveArgument], false, AnonModule, [HashDirective @@ -13,4 +13,5 @@ ImplFile (0,0--0,0))], (0,0--0,0)), (2,0--2,23))], PreXmlDocEmpty, [], None, (2,0--2,23), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ParsedHashDirective/TripleQuoteStringAsParsedHashDirectiveArgument.fs.bsl b/tests/service/data/SyntaxTree/ParsedHashDirective/TripleQuoteStringAsParsedHashDirectiveArgument.fs.bsl index fd629563d3..6321ae9bfd 100644 --- a/tests/service/data/SyntaxTree/ParsedHashDirective/TripleQuoteStringAsParsedHashDirectiveArgument.fs.bsl +++ b/tests/service/data/SyntaxTree/ParsedHashDirective/TripleQuoteStringAsParsedHashDirectiveArgument.fs.bsl @@ -2,13 +2,10 @@ ImplFile (ParsedImplFileInput ("/root/ParsedHashDirective/TripleQuoteStringAsParsedHashDirectiveArgument.fs", false, QualifiedNameOfFile TripleQuoteStringAsParsedHashDirectiveArgument, - [WarningOff ((2,8--2,16), 40)], [], + [], [SynModuleOrNamespace ([TripleQuoteStringAsParsedHashDirectiveArgument], false, AnonModule, - [HashDirective - (ParsedHashDirective - ("nowarn", [String ("40", TripleQuote, (2,8--2,16))], - (2,0--2,16)), (2,0--2,16))], PreXmlDocEmpty, [], None, - (2,0--2,16), { LeadingKeyword = None })], (true, true), - { ConditionalDirectives = [] - CodeComments = [] }, set [])) + [], PreXmlDocEmpty, [], None, (3,0--3,0), { LeadingKeyword = None })], + (true, true), { ConditionalDirectives = [] + WarnDirectives = [Nowarn ([40], (2,0--2,16))] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/ParsedHashDirective/VerbatimStringAsParsedHashDirectiveArgument.fs.bsl b/tests/service/data/SyntaxTree/ParsedHashDirective/VerbatimStringAsParsedHashDirectiveArgument.fs.bsl index 2dbceeacd8..b6e9cdc880 100644 --- a/tests/service/data/SyntaxTree/ParsedHashDirective/VerbatimStringAsParsedHashDirectiveArgument.fs.bsl +++ b/tests/service/data/SyntaxTree/ParsedHashDirective/VerbatimStringAsParsedHashDirectiveArgument.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/ParsedHashDirective/VerbatimStringAsParsedHashDirectiveArgument.fs", false, QualifiedNameOfFile VerbatimStringAsParsedHashDirectiveArgument, [], - [], [SynModuleOrNamespace ([VerbatimStringAsParsedHashDirectiveArgument], false, AnonModule, [HashDirective @@ -11,4 +10,5 @@ ImplFile (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--2,14), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/And 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/And 01.fs.bsl index 679d264dfc..dfc0b7f79b 100644 --- a/tests/service/data/SyntaxTree/Pattern/And 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/And 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/And 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/And 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -52,4 +52,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/And 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/And 02.fs.bsl index f533ba83b0..217728c591 100644 --- a/tests/service/data/SyntaxTree/Pattern/And 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/And 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/And 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/And 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -54,4 +54,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/And 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/And 03.fs.bsl index b75921e280..2e65f95115 100644 --- a/tests/service/data/SyntaxTree/Pattern/And 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/And 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/And 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/And 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -53,4 +53,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/And 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/And 04.fs.bsl index 7a0fa1f4c8..f049c2f689 100644 --- a/tests/service/data/SyntaxTree/Pattern/And 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/And 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/And 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/And 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -55,4 +55,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/As 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 01.fs.bsl index f0277e7a07..eec702d3f4 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/As 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 02.fs.bsl index dc9ff5caae..bb58c950ff 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 03.fs.bsl index 87eeb9e821..95af9d360b 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/As 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 04.fs.bsl index dbbdbdd9f3..b7347690d1 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,8) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 05.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 05.fs.bsl index 07a1aac463..9c877d5402 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 06.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 06.fs.bsl index 5ce6e55db4..662ca2e265 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,8), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,8) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 07.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 07.fs.bsl index b462b81d90..0089a35011 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,8) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 08.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 08.fs.bsl index bfe069db51..0ab7fd548d 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 09.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 09.fs.bsl index ad9aa2247c..77bb6b74bf 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,8) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 10.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 10.fs.bsl index 384bd2c6d0..be2e28d346 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(3,9) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 11.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 11.fs.bsl index 84773ba8ee..a7fd176412 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 11.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 11.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 11.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,8) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/As 12.fs.bsl b/tests/service/data/SyntaxTree/Pattern/As 12.fs.bsl index f77b92aba4..87273a9a75 100644 --- a/tests/service/data/SyntaxTree/Pattern/As 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/As 12.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/As 12.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/As 12.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,7)-(4,9) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Cons 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Cons 01.fs.bsl index c48f71c8ab..d9bb73b0b5 100644 --- a/tests/service/data/SyntaxTree/Pattern/Cons 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Cons 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Cons 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Cons 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Cons 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Cons 02.fs.bsl index a88741e666..9608ac53f4 100644 --- a/tests/service/data/SyntaxTree/Pattern/Cons 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Cons 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Cons 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Cons 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Cons 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Cons 03.fs.bsl index fda13199e9..954f68dade 100644 --- a/tests/service/data/SyntaxTree/Pattern/Cons 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Cons 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Cons 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Cons 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Cons 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Cons 04.fs.bsl index 90d727b5f3..1b324a7e58 100644 --- a/tests/service/data/SyntaxTree/Pattern/Cons 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Cons 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Cons 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Cons 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl index 13a1e99ea0..8ef79374ff 100644 --- a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/InHeadPattern.fs", false, QualifiedNameOfFile InHeadPattern, - [], [], + [], [SynModuleOrNamespace ([InHeadPattern], false, AnonModule, [Let @@ -29,4 +29,5 @@ ImplFile EqualsRange = Some (2,11--2,12) })], (2,0--2,24))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/IsInst 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/IsInst 01.fs.bsl index 3b690e5451..d68b03a244 100644 --- a/tests/service/data/SyntaxTree/Pattern/IsInst 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/IsInst 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/IsInst 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/IsInst 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/IsInst 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/IsInst 02.fs.bsl index dd1e86fabe..d30e522dc2 100644 --- a/tests/service/data/SyntaxTree/Pattern/IsInst 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/IsInst 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/IsInst 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/IsInst 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in pattern matching. Expected '->' or other token. diff --git a/tests/service/data/SyntaxTree/Pattern/IsInst 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/IsInst 03.fs.bsl index 320a8c97f7..7cd0f86d4e 100644 --- a/tests/service/data/SyntaxTree/Pattern/IsInst 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/IsInst 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/IsInst 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/IsInst 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,4) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/Pattern/IsInst 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/IsInst 04.fs.bsl index 1cf58c17db..d26ed1e4af 100644 --- a/tests/service/data/SyntaxTree/Pattern/IsInst 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/IsInst 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/IsInst 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/IsInst 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,4) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/Pattern/IsInst 05.fs.bsl b/tests/service/data/SyntaxTree/Pattern/IsInst 05.fs.bsl index 136e844c2e..b1a0e756d1 100644 --- a/tests/service/data/SyntaxTree/Pattern/IsInst 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/IsInst 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/IsInst 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/IsInst 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,2)-(4,4) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/Pattern/Named field 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Named field 01.fs.bsl index 4a3050eb9f..caa7e02549 100644 --- a/tests/service/data/SyntaxTree/Pattern/Named field 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Named field 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Named field 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Named field 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Named field 02.fs.bsl index b7bfc84c6d..a571440a74 100644 --- a/tests/service/data/SyntaxTree/Pattern/Named field 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Named field 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Named field 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -23,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,15)-(4,16) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Named field 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Named field 03.fs.bsl index 0740dee26d..4902847118 100644 --- a/tests/service/data/SyntaxTree/Pattern/Named field 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Named field 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Named field 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -23,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,12)-(4,13) parse error Unexpected symbol ')' in pattern. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Pattern/Named field 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Named field 04.fs.bsl index 33a958c138..8289d0b9be 100644 --- a/tests/service/data/SyntaxTree/Pattern/Named field 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Named field 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Named field 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -21,4 +20,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Named field 05.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Named field 05.fs.bsl index 969fb6c2b3..9e12bc1e85 100644 --- a/tests/service/data/SyntaxTree/Pattern/Named field 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Named field 05.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Named field 05.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -22,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,24), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(4,12) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl index d9f4fc99fd..53eba0b1b3 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/OperatorInMatchPattern.fs", false, - QualifiedNameOfFile OperatorInMatchPattern, [], [], + QualifiedNameOfFile OperatorInMatchPattern, [], [SynModuleOrNamespace ([OperatorInMatchPattern], false, AnonModule, [Expr @@ -25,4 +25,5 @@ ImplFile WithKeyword = (2,8--2,12) }), (2,0--3,24))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl index 90a60008ec..31b3ea1510 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/OperatorInSynPatLongIdent.fs", false, - QualifiedNameOfFile OperatorInSynPatLongIdent, [], [], + QualifiedNameOfFile OperatorInSynPatLongIdent, [], [SynModuleOrNamespace ([OperatorInSynPatLongIdent], false, AnonModule, [Let @@ -32,4 +32,5 @@ ImplFile EqualsRange = Some (2,17--2,18) })], (2,0--2,28))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl index e260f077c3..14fd4eb7b5 100644 --- a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs", false, - QualifiedNameOfFile ParenthesesOfSynArgPatsNamePatPairs, [], [], + QualifiedNameOfFile ParenthesesOfSynArgPatsNamePatPairs, [], [SynModuleOrNamespace ([ParenthesesOfSynArgPatsNamePatPairs], false, AnonModule, [Expr @@ -31,5 +31,6 @@ ImplFile WithKeyword = (2,11--2,15) }), (2,0--6,22))], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,15--3,21); BlockComment (5,2--5,11)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Record 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 01.fs.bsl index 9feca15fc4..303bae43f4 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Record 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 02.fs.bsl index 57d597dab5..ad2b42fb23 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,24), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Record 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 03.fs.bsl index 6ce17ab990..f4d874a415 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,8)-(4,9) parse error Unexpected symbol '}' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Record 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 04.fs.bsl index e96ed95a57..60303d5874 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,6)-(4,7) parse error Unexpected symbol '}' in pattern. Expected '.', '=' or other token. diff --git a/tests/service/data/SyntaxTree/Pattern/Record 05.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 05.fs.bsl index ef0a9a1172..6438160b53 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,5) parse error Unexpected symbol '}' in pattern. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/Pattern/Record 06.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Record 06.fs.bsl index 7781aa39c9..447cb1ac2e 100644 --- a/tests/service/data/SyntaxTree/Pattern/Record 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Record 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Pattern/Record 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Pattern/Record 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,5) parse error Unexpected symbol '_' in pattern. Expected identifier, 'global' or other token. diff --git a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl index 61afba6c7a..75f26b4548 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs", false, QualifiedNameOfFile SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign, - [], [], + [], [SynModuleOrNamespace ([SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -25,4 +25,5 @@ ImplFile WithKeyword = (2,8--2,12) }), (2,0--3,16))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl index 61046ffea4..4f60ec0e26 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/SynPatOrContainsTheRangeOfTheBar.fs", false, - QualifiedNameOfFile SynPatOrContainsTheRangeOfTheBar, [], [], + QualifiedNameOfFile SynPatOrContainsTheRangeOfTheBar, [], [SynModuleOrNamespace ([SynPatOrContainsTheRangeOfTheBar], false, AnonModule, [Expr @@ -27,4 +27,5 @@ ImplFile WithKeyword = (2,8--2,12) }), (2,0--5,9))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 01.fs.bsl index a81579964a..13e9f68266 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - HeadPat 01.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -42,4 +42,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 02.fs.bsl index 61bc7ef99b..6ec6d695f2 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - HeadPat 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - HeadPat 02.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -27,4 +27,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 01.fs.bsl index ed30e1a469..cb624d8769 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - Recover 01.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -22,6 +22,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,0), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 02.fs.bsl index 5a07aa0deb..517795c13d 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - Recover 02.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,0), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 03.fs.bsl index ada6c9b8de..c3a138387c 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - Recover 03.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -47,6 +47,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,25), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,18)-(3,19) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 04.fs.bsl index 98ed45e9cf..6931a6e0e3 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - Recover 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - Recover 04.fs", false, QualifiedNameOfFile Tuple, - [], [], + [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -55,6 +55,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,4)-(3,5) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Tuple - Struct 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Tuple - Struct 01.fs.bsl index 0b60514232..8a3c586300 100644 --- a/tests/service/data/SyntaxTree/Pattern/Tuple - Struct 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Tuple - Struct 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Tuple - Struct 01.fs", false, QualifiedNameOfFile Tuple, [], - [], [SynModuleOrNamespace ([Tuple], false, NamedModule, [Let @@ -25,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,25), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 01.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 01.fs.bsl index 39999d8f69..c3b0129513 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 02.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 02.fs.bsl index b5b4b6e28e..d90f5c5d86 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(3,8) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 03.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 03.fs.bsl index 609bc09a6f..303709dc7f 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,9) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 04.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 04.fs.bsl index 6ac283f7a9..d6aa47ae86 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 04.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,8)-(3,10) parse error Unexpected keyword 'as' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 05.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 05.fs.bsl index 7bd27b958c..86cac0dc46 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 05.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -36,6 +36,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Incomplete structured construct at or before this point in binding diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 06.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 06.fs.bsl index 6120ff4f5f..618cbcfcee 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 06.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -32,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(4,12) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 07.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 07.fs.bsl index c96b5fc8d5..dc97ca9ea1 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 07.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,4), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 08.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 08.fs.bsl index 394f1e21ea..98734d03de 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 08.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,6 +19,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,5)-(4,7) parse error Unexpected symbol '->' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 09.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 09.fs.bsl index 0f2e4604d2..bdac43a6b3 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 09.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(4,12) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 10.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 10.fs.bsl index 5e8ab0f26f..b18b97bfe7 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 10.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 10.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -30,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(4,12) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 11.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 11.fs.bsl index dbf43bcf3b..be2e2e830c 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 11.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 11.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -36,6 +36,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,13)-(4,14) parse error Unexpected symbol ')' in pattern diff --git a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 12.fs.bsl b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 12.fs.bsl index 416dc67c85..9b2df1c819 100644 --- a/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/Typed - Missing type 12.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Pattern/Typed - Missing type 12.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -44,6 +44,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,13)-(4,14) parse error Unexpected symbol ',' in pattern diff --git a/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigMember.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigMember.fsi.bsl index ab9078c270..a27b46c979 100644 --- a/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigMember.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigMember.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/EqualsTokenIsPresentInSynValSigMember.fsi", - QualifiedNameOfFile Meh, [], [], + QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Types @@ -38,4 +38,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--5,23), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigValue.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigValue.fsi.bsl index c63121096f..55bf2f683f 100644 --- a/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigValue.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/EqualsTokenIsPresentInSynValSigValue.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/EqualsTokenIsPresentInSynValSigValue.fsi", - QualifiedNameOfFile Meh, [], [], + QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Val @@ -18,4 +18,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--4,15), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl index 8a2cf2cb84..2a904b2955 100644 --- a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/LeadingKeywordInRecursiveTypes.fsi", - QualifiedNameOfFile LeadingKeywordInRecursiveTypes, [], [], + QualifiedNameOfFile LeadingKeywordInRecursiveTypes, [], [SynModuleOrNamespaceSig ([LeadingKeywordInRecursiveTypes], false, AnonModule, [Types @@ -31,4 +31,5 @@ SigFile WithKeyword = None })], (2,0--3,11))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword.fsi.bsl index 493d3b104a..de5ad0828c 100644 --- a/tests/service/data/SyntaxTree/SignatureType/MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword.fsi.bsl @@ -3,7 +3,6 @@ SigFile ("/root/SignatureType/MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword.fsi", QualifiedNameOfFile MemberSigOfSynMemberSigMemberShouldContainsTheRangeOfTheWithKeyword, [], - [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -42,4 +41,5 @@ SigFile WithKeyword = None })], (4,0--5,42))], PreXmlDocEmpty, [], None, (2,0--5,42), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/NestedTypeHasStaticTypeAsLeadingKeyword.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/NestedTypeHasStaticTypeAsLeadingKeyword.fsi.bsl index 1c3c8bc8d2..091be309d3 100644 --- a/tests/service/data/SyntaxTree/SignatureType/NestedTypeHasStaticTypeAsLeadingKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/NestedTypeHasStaticTypeAsLeadingKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/NestedTypeHasStaticTypeAsLeadingKeyword.fsi", - QualifiedNameOfFile NestedTypeHasStaticTypeAsLeadingKeyword, [], [], + QualifiedNameOfFile NestedTypeHasStaticTypeAsLeadingKeyword, [], [SynModuleOrNamespaceSig ([NestedTypeHasStaticTypeAsLeadingKeyword], false, AnonModule, [Types @@ -29,4 +29,5 @@ SigFile WithKeyword = None })], (2,0--6,0))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynExceptionDefnReprAndSynExceptionSig.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynExceptionDefnReprAndSynExceptionSig.fsi.bsl index e92edcc811..870ef57c94 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynExceptionDefnReprAndSynExceptionSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynExceptionDefnReprAndSynExceptionSig.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfAttributeShouldBeIncludedInSynExceptionDefnReprAndSynExceptionSig.fsi", - QualifiedNameOfFile FSharp.Compiler.ParseHelpers, [], [], + QualifiedNameOfFile FSharp.Compiler.ParseHelpers, [], [SynModuleOrNamespaceSig ([FSharp; Compiler; ParseHelpers], false, NamedModule, [Exception @@ -42,4 +42,5 @@ SigFile Some (Internal (2,7--2,15)), (2,0--6,43), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (4,0--4,90)] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynTypeDefnSig.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynTypeDefnSig.fsi.bsl index 0e7eac3193..e73e3ca6fe 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynTypeDefnSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynTypeDefnSig.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfAttributeShouldBeIncludedInSynTypeDefnSig.fsi", QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynTypeDefnSig, [], - [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -23,4 +22,5 @@ SigFile WithKeyword = None })], (4,0--7,7))], PreXmlDocEmpty, [], None, (2,0--7,7), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember.fsi.bsl index 920c9e5a47..101ec26045 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember.fsi", QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynValSpfnAndMember, - [], [], + [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -45,4 +45,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--6,20), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,13--5,23)] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fsi.bsl index 9788067cd7..af1c383c20 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fsi", QualifiedNameOfFile RangeOfAttributesShouldBeIncludedInRecursiveTypes, [], - [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -73,4 +72,5 @@ SigFile WithKeyword = None })], (4,0--12,42))], PreXmlDocEmpty, [], None, (2,0--12,42), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfMembersShouldBeIncludedInSynExceptionSigAndSynModuleSigDeclException.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfMembersShouldBeIncludedInSynExceptionSigAndSynModuleSigDeclException.fsi.bsl index 7025f3aadc..9659f6321f 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfMembersShouldBeIncludedInSynExceptionSigAndSynModuleSigDeclException.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfMembersShouldBeIncludedInSynExceptionSigAndSynModuleSigDeclException.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfMembersShouldBeIncludedInSynExceptionSigAndSynModuleSigDeclException.fsi", - QualifiedNameOfFile FSharp.Compiler.ParseHelpers, [], [], + QualifiedNameOfFile FSharp.Compiler.ParseHelpers, [], [SynModuleOrNamespaceSig ([FSharp; Compiler; ParseHelpers], false, NamedModule, [Exception @@ -56,5 +56,6 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], Some (Internal (2,7--2,15)), (2,0--7,8), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigDelegateOfShouldStartFromName.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigDelegateOfShouldStartFromName.fsi.bsl index 0dcb3eb2e7..a38d43e98c 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigDelegateOfShouldStartFromName.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigDelegateOfShouldStartFromName.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfSynTypeDefnSigDelegateOfShouldStartFromName.fsi", QualifiedNameOfFile RangeOfSynTypeDefnSigDelegateOfShouldStartFromName, [], - [], [SynModuleOrNamespaceSig ([Y], false, DeclaredNamespace, [Types @@ -49,4 +48,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--4,29), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember.fsi.bsl index 4ed17f2630..cce6edadb6 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember.fsi", QualifiedNameOfFile RangeOfSynTypeDefnSigObjectModelShouldEndAtLastMember, - [], [], + [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -41,4 +41,5 @@ SigFile WithKeyword = None })], (3,0--6,30))], PreXmlDocEmpty, [], None, (2,0--6,30), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigRecordShouldEndAtLastMember.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigRecordShouldEndAtLastMember.fsi.bsl index 553c900522..bcbb339884 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigRecordShouldEndAtLastMember.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigRecordShouldEndAtLastMember.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfSynTypeDefnSigRecordShouldEndAtLastMember.fsi", QualifiedNameOfFile RangeOfSynTypeDefnSigRecordShouldEndAtLastMember, [], - [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -50,4 +49,5 @@ SigFile WithKeyword = None })], (3,0--5,30))], PreXmlDocEmpty, [], None, (2,0--5,30), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal.fsi.bsl index 7829833143..6b584fc571 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal.fsi", - QualifiedNameOfFile RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal, [], [], + QualifiedNameOfFile RangeOfSynTypeDefnSigSimpleShouldEndAtLastVal, [], [SynModuleOrNamespaceSig ([Z], false, DeclaredNamespace, [Types @@ -36,4 +36,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--5,37), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/RangeOfTypeShouldEndAtEndKeyword.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/RangeOfTypeShouldEndAtEndKeyword.fsi.bsl index ebb3921ac3..92a00ceca6 100644 --- a/tests/service/data/SyntaxTree/SignatureType/RangeOfTypeShouldEndAtEndKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/RangeOfTypeShouldEndAtEndKeyword.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/RangeOfTypeShouldEndAtEndKeyword.fsi", - QualifiedNameOfFile RangeOfTypeShouldEndAtEndKeyword, [], [], + QualifiedNameOfFile RangeOfTypeShouldEndAtEndKeyword, [], [SynModuleOrNamespaceSig ([GreatProjectThing], false, DeclaredNamespace, [Types @@ -16,4 +16,5 @@ SigFile WithKeyword = None })], (4,0--6,11))], PreXmlDocEmpty, [], None, (2,0--6,11), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (9,0--9,6)] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynExceptionSigShouldContainsTheRangeOfTheWithKeyword.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynExceptionSigShouldContainsTheRangeOfTheWithKeyword.fsi.bsl index ef54167868..9e082007f6 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynExceptionSigShouldContainsTheRangeOfTheWithKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynExceptionSigShouldContainsTheRangeOfTheWithKeyword.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/SynExceptionSigShouldContainsTheRangeOfTheWithKeyword.fsi", QualifiedNameOfFile SynExceptionSigShouldContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Exception @@ -40,4 +40,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--5,29), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign.fsi.bsl index ab21d9a361..313b1d493a 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign.fsi", QualifiedNameOfFile SynTypeDefnSigWithEnumContainsTheRangeOfTheEqualsSign, - [], [], + [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -31,4 +31,5 @@ SigFile WithKeyword = None })], (4,0--6,19))], PreXmlDocEmpty, [], None, (2,0--6,19), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign.fsi.bsl index d512ca1ef6..6d2eafdbc7 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign.fsi.bsl @@ -3,7 +3,6 @@ SigFile ("/root/SignatureType/SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign.fsi", QualifiedNameOfFile SynTypeDefnSigWithObjectModelClassContainsTheRangeOfTheEqualsSign, [], - [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -18,4 +17,5 @@ SigFile WithKeyword = None })], (4,0--6,7))], PreXmlDocEmpty, [], None, (2,0--6,7), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fsi.bsl index 25b5feb9ae..a1b964f3ac 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fsi.bsl @@ -3,7 +3,6 @@ SigFile ("/root/SignatureType/SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fsi", QualifiedNameOfFile SynTypeDefnSigWithObjectModelDelegateContainsTheRangeOfTheEqualsSign, [], - [], [SynModuleOrNamespaceSig ([Foo], false, DeclaredNamespace, [Types @@ -50,4 +49,5 @@ SigFile PreXmlDocEmpty, [], None, (2,0--4,37), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign.fsi.bsl index bfc76db57f..3afb8f5e0c 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign.fsi.bsl @@ -2,7 +2,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign.fsi", QualifiedNameOfFile SynTypeDefnSigWithUnionContainsTheRangeOfTheEqualsSign, - [], [], + [], [SynModuleOrNamespaceSig ([SomeNamespace], false, DeclaredNamespace, [Types @@ -51,4 +51,5 @@ SigFile WithKeyword = None })], (4,0--6,24))], PreXmlDocEmpty, [], None, (2,0--6,24), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/SynValSigContainsParameterNames.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/SynValSigContainsParameterNames.fsi.bsl index edb06fea79..e3b15af448 100644 --- a/tests/service/data/SyntaxTree/SignatureType/SynValSigContainsParameterNames.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/SynValSigContainsParameterNames.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/SynValSigContainsParameterNames.fsi", - QualifiedNameOfFile Meh, [], [], + QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Val @@ -67,4 +67,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--6,23), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/TriviaIsPresentInSynTypeDefnSig.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/TriviaIsPresentInSynTypeDefnSig.fsi.bsl index 53962cae2b..0562bc8061 100644 --- a/tests/service/data/SyntaxTree/SignatureType/TriviaIsPresentInSynTypeDefnSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/TriviaIsPresentInSynTypeDefnSig.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/TriviaIsPresentInSynTypeDefnSig.fsi", - QualifiedNameOfFile Meh, [], [], + QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Types @@ -87,4 +87,5 @@ SigFile { ConditionalDirectives = [If (Ident "CHECK_LINE0_TYPES", (8,0--8,21)); Else (10,0--10,5); EndIf (12,0--12,6)] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/ValKeywordIsPresentInSynValSig.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/ValKeywordIsPresentInSynValSig.fsi.bsl index 599315bef2..11d8b8ede6 100644 --- a/tests/service/data/SyntaxTree/SignatureType/ValKeywordIsPresentInSynValSig.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/ValKeywordIsPresentInSynValSig.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SignatureType/ValKeywordIsPresentInSynValSig.fsi", - QualifiedNameOfFile Meh, [], [], + QualifiedNameOfFile Meh, [], [SynModuleOrNamespaceSig ([Meh], false, NamedModule, [Val @@ -24,4 +24,5 @@ SigFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--6,11), { LeadingKeyword = Module (2,0--2,6) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (5,0--5,6)] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/With 01.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/With 01.fsi.bsl index f6ef4571fd..b51549de53 100644 --- a/tests/service/data/SyntaxTree/SignatureType/With 01.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/With 01.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/SignatureType/With 01.fsi", QualifiedNameOfFile With 01, [], [], + ("/root/SignatureType/With 01.fsi", QualifiedNameOfFile With 01, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Types @@ -39,4 +39,5 @@ SigFile PreXmlDocEmpty, [], None, (1,0--4,28), { LeadingKeyword = Namespace (1,0--1,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SimplePats/SimplePats - Recover 01.fs.bsl b/tests/service/data/SyntaxTree/SimplePats/SimplePats - Recover 01.fs.bsl index 9f74ed3623..9b7cc02ee6 100644 --- a/tests/service/data/SyntaxTree/SimplePats/SimplePats - Recover 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SimplePats/SimplePats - Recover 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SimplePats/SimplePats - Recover 01.fs", false, - QualifiedNameOfFile SimplePats, [], [], + QualifiedNameOfFile SimplePats, [], [SynModuleOrNamespace ([SimplePats], false, NamedModule, [Let @@ -202,6 +202,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,27), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,19)-(3,20) parse error Expecting pattern diff --git a/tests/service/data/SyntaxTree/SimplePats/SimplePats 01.fs.bsl b/tests/service/data/SyntaxTree/SimplePats/SimplePats 01.fs.bsl index 512fa280b9..22d60a6660 100644 --- a/tests/service/data/SyntaxTree/SimplePats/SimplePats 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SimplePats/SimplePats 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SimplePats/SimplePats 01.fs", false, QualifiedNameOfFile SimplePats, - [], [], + [], [SynModuleOrNamespace ([SimplePats], false, NamedModule, [Let @@ -200,4 +200,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,24), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SimplePats/SimplePats 02.fs.bsl b/tests/service/data/SyntaxTree/SimplePats/SimplePats 02.fs.bsl index fc92f2e476..939f5e095d 100644 --- a/tests/service/data/SyntaxTree/SimplePats/SimplePats 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SimplePats/SimplePats 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SimplePats/SimplePats 02.fs", false, QualifiedNameOfFile SimplePats, - [], [], + [], [SynModuleOrNamespace ([SimplePats], false, NamedModule, [Types @@ -177,4 +177,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SourceIdentifier/_LINE_.fs.bsl b/tests/service/data/SyntaxTree/SourceIdentifier/_LINE_.fs.bsl index 2ac2c71f43..11526d87b0 100644 --- a/tests/service/data/SyntaxTree/SourceIdentifier/_LINE_.fs.bsl +++ b/tests/service/data/SyntaxTree/SourceIdentifier/_LINE_.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/SourceIdentifier/_LINE_.fs", false, QualifiedNameOfFile _LINE_, [], - [], [SynModuleOrNamespace ([_LINE_], false, AnonModule, [Expr @@ -9,4 +8,5 @@ ImplFile (2,0--2,8))], PreXmlDocEmpty, [], None, (2,0--2,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEDIRECTORY_.fs.bsl b/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEDIRECTORY_.fs.bsl index cc7fb97f4f..5e1799630f 100644 --- a/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEDIRECTORY_.fs.bsl +++ b/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEDIRECTORY_.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SourceIdentifier/_SOURCEDIRECTORY_.fs", false, - QualifiedNameOfFile _SOURCEDIRECTORY_, [], [], + QualifiedNameOfFile _SOURCEDIRECTORY_, [], [SynModuleOrNamespace ([_SOURCEDIRECTORY_], false, AnonModule, [Expr @@ -11,4 +11,5 @@ ImplFile (0,0--0,0)), (0,0--0,0))], PreXmlDocEmpty, [], None, (2,0--2,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEFILE_.fs.bsl b/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEFILE_.fs.bsl index abf6b7aca8..8284c2a2a7 100644 --- a/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEFILE_.fs.bsl +++ b/tests/service/data/SyntaxTree/SourceIdentifier/_SOURCEFILE_.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SourceIdentifier/_SOURCEFILE_.fs", false, - QualifiedNameOfFile _SOURCEFILE_, [], [], + QualifiedNameOfFile _SOURCEFILE_, [], [SynModuleOrNamespace ([_SOURCEFILE_], false, AnonModule, [Expr @@ -11,4 +11,5 @@ ImplFile (2,0--2,15)), (2,0--2,15))], PreXmlDocEmpty, [], None, (2,0--2,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInModule.fs.bsl b/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInModule.fs.bsl index 7e6563219a..c042884e24 100644 --- a/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInModule.fs.bsl +++ b/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInModule.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/InterpolatedStringOffsideInModule.fs", false, - QualifiedNameOfFile InterpolatedStringOffsideInModule, [], [], + QualifiedNameOfFile InterpolatedStringOffsideInModule, [], [SynModuleOrNamespace ([InterpolatedStringOffsideInModule], false, AnonModule, [NestedModule @@ -31,4 +31,5 @@ ImplFile EqualsRange = Some (1,9--1,10) })], PreXmlDocEmpty, [], None, (1,0--4,4), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInNestedLet.fs.bsl b/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInNestedLet.fs.bsl index 1dfe5586b5..5d675200d7 100644 --- a/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInNestedLet.fs.bsl +++ b/tests/service/data/SyntaxTree/String/InterpolatedStringOffsideInNestedLet.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/InterpolatedStringOffsideInNestedLet.fs", false, - QualifiedNameOfFile InterpolatedStringOffsideInNestedLet, [], [], + QualifiedNameOfFile InterpolatedStringOffsideInNestedLet, [], [SynModuleOrNamespace ([InterpolatedStringOffsideInNestedLet], false, AnonModule, [Let @@ -38,4 +38,5 @@ ImplFile EqualsRange = Some (1,6--1,7) })], (1,0--5,5))], PreXmlDocEmpty, [], None, (1,0--5,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl index be0c3ae5c3..9e98e92eb3 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/SynConstBytesWithSynByteStringKindRegular.fs", false, - QualifiedNameOfFile SynConstBytesWithSynByteStringKindRegular, [], [], + QualifiedNameOfFile SynConstBytesWithSynByteStringKindRegular, [], [SynModuleOrNamespace ([SynConstBytesWithSynByteStringKindRegular], false, AnonModule, [Let @@ -20,4 +20,5 @@ ImplFile EqualsRange = Some (2,10--2,11) })], (2,0--2,17))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl index 178873fb61..d6108dd914 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/SynConstBytesWithSynByteStringKindVerbatim.fs", false, - QualifiedNameOfFile SynConstBytesWithSynByteStringKindVerbatim, [], [], + QualifiedNameOfFile SynConstBytesWithSynByteStringKindVerbatim, [], [SynModuleOrNamespace ([SynConstBytesWithSynByteStringKindVerbatim], false, AnonModule, [Let @@ -20,4 +20,5 @@ ImplFile EqualsRange = Some (2,10--2,11) })], (2,0--2,18))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl index aaba1c5760..fca6ec7f61 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/SynConstStringWithSynStringKindRegular.fs", false, - QualifiedNameOfFile SynConstStringWithSynStringKindRegular, [], [], + QualifiedNameOfFile SynConstStringWithSynStringKindRegular, [], [SynModuleOrNamespace ([SynConstStringWithSynStringKindRegular], false, AnonModule, [Let @@ -19,4 +19,5 @@ ImplFile (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl index 2ad1858015..c78c9cbfd8 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/SynConstStringWithSynStringKindTripleQuote.fs", false, - QualifiedNameOfFile SynConstStringWithSynStringKindTripleQuote, [], [], + QualifiedNameOfFile SynConstStringWithSynStringKindTripleQuote, [], [SynModuleOrNamespace ([SynConstStringWithSynStringKindTripleQuote], false, AnonModule, [Let @@ -19,4 +19,5 @@ ImplFile (2,0--2,16))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl index 2bbac83181..48535a0d13 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/String/SynConstStringWithSynStringKindVerbatim.fs", false, - QualifiedNameOfFile SynConstStringWithSynStringKindVerbatim, [], [], + QualifiedNameOfFile SynConstStringWithSynStringKindVerbatim, [], [SynModuleOrNamespace ([SynConstStringWithSynStringKindVerbatim], false, AnonModule, [Let @@ -19,4 +19,5 @@ ImplFile (2,0--2,13))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl index 601a0e5e9d..70937d3b1a 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/String/SynExprInterpolatedStringWithSynStringKindRegular.fs", false, QualifiedNameOfFile SynExprInterpolatedStringWithSynStringKindRegular, [], - [], [SynModuleOrNamespace ([SynExprInterpolatedStringWithSynStringKindRegular], false, AnonModule, [Let @@ -23,4 +22,5 @@ ImplFile (2,0--2,18))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl index 8eafe3c874..4810ae97d2 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs", false, QualifiedNameOfFile SynExprInterpolatedStringWithSynStringKindTripleQuote, - [], [], + [], [SynModuleOrNamespace ([SynExprInterpolatedStringWithSynStringKindTripleQuote], false, AnonModule, @@ -25,4 +25,5 @@ ImplFile (2,0--2,22))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl index 486b527607..1be7aa3c72 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl @@ -3,7 +3,6 @@ ImplFile ("/root/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs", false, QualifiedNameOfFile SynExprInterpolatedStringWithSynStringKindVerbatim, [], - [], [SynModuleOrNamespace ([SynExprInterpolatedStringWithSynStringKindVerbatim], false, AnonModule, @@ -26,4 +25,5 @@ ImplFile EqualsRange = Some (2,6--2,7) })], (2,0--2,70))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars.fs.bsl index db6d4bcdc9..69aaf6b57a 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars.fs", false, QualifiedNameOfFile - SynExprInterpolatedStringWithTripleQuoteMultipleDollars, [], [], + SynExprInterpolatedStringWithTripleQuoteMultipleDollars, [], [SynModuleOrNamespace ([SynExprInterpolatedStringWithTripleQuoteMultipleDollars], false, AnonModule, @@ -27,4 +27,5 @@ ImplFile (2,0--2,43))], PreXmlDocEmpty, [], None, (2,0--2,43), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars2.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars2.fs.bsl index 152cb27e9b..ca0ac31fff 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars2.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars2.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/String/SynExprInterpolatedStringWithTripleQuoteMultipleDollars2.fs", false, QualifiedNameOfFile - SynExprInterpolatedStringWithTripleQuoteMultipleDollars2, [], [], + SynExprInterpolatedStringWithTripleQuoteMultipleDollars2, [], [SynModuleOrNamespace ([SynExprInterpolatedStringWithTripleQuoteMultipleDollars2], false, AnonModule, @@ -15,4 +15,5 @@ ImplFile (2,0--2,16))], PreXmlDocEmpty, [], None, (2,0--2,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 01.fs.bsl b/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 01.fs.bsl index 493efcfa2b..a71035a5e4 100644 --- a/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynIdent/IncompleteLongIdent 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -10,6 +10,7 @@ ImplFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--4,2), { LeadingKeyword = Module (2,0--2,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,1)-(4,2) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 02.fs.bsl b/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 02.fs.bsl index 9df8951773..94b81e612c 100644 --- a/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynIdent/IncompleteLongIdent 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynIdent/IncompleteLongIdent 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -12,6 +12,7 @@ ImplFile PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (2,0--4,4), { LeadingKeyword = Module (2,0--2,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,3)-(4,4) parse error Missing qualification after '.' diff --git a/tests/service/data/SyntaxTree/SynTyparDecl/Constraint intersection 01.fs.bsl b/tests/service/data/SyntaxTree/SynTyparDecl/Constraint intersection 01.fs.bsl index 96d2a16e16..53050c358a 100644 --- a/tests/service/data/SyntaxTree/SynTyparDecl/Constraint intersection 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynTyparDecl/Constraint intersection 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynTyparDecl/Constraint intersection 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -99,4 +99,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,34), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Constraint intersection 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Constraint intersection 01.fs.bsl index 64e8fd7c7a..406f828636 100644 --- a/tests/service/data/SyntaxTree/SynType/Constraint intersection 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Constraint intersection 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Constraint intersection 01.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -55,4 +55,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,46), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Constraint intersection 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Constraint intersection 02.fs.bsl index 039915cb52..84ad6fcff4 100644 --- a/tests/service/data/SyntaxTree/SynType/Constraint intersection 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Constraint intersection 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Constraint intersection 02.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -53,4 +53,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,56), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Constraint intersection 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Constraint intersection 03.fs.bsl index f28ed328e2..aba7c4ea07 100644 --- a/tests/service/data/SyntaxTree/SynType/Constraint intersection 03.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Constraint intersection 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Constraint intersection 03.fs", false, - QualifiedNameOfFile Module, [], [], + QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -62,4 +62,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,53), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Div 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 01.fs.bsl index ea6b5ee5e6..e6cc46f1a9 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Div 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 02.fs.bsl index 2ed151d5ec..2b17f41461 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Div 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 03.fs.bsl index 411cff7365..9bdbbe2d84 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 03.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,4 +16,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Div 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 04.fs.bsl index 9b036b95e1..f20777ecd5 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 04.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Div 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 05.fs.bsl index 56f07e3876..3181899d0e 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 05.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,13)-(3,14) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Div 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Div 06.fs.bsl index 354ee8e4e9..b41c0e9391 100644 --- a/tests/service/data/SyntaxTree/SynType/Div 06.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Div 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Div 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Div 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Fun 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 01.fs.bsl index d723fe968b..a2a0cb6f45 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,4 +15,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Fun 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 02.fs.bsl index 4413b33b2c..7d821d5f07 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,4 +18,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Fun 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 03.fs.bsl index c92a2eaa29..27e57c9439 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 03.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -15,6 +15,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(3,11) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Fun 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 04.fs.bsl index 90cb7ec281..22e338af3d 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 04.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,15)-(3,16) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Fun 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 05.fs.bsl index 51bd3d1f6c..cadbc3cccd 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 05.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(3,12) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Fun 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 06.fs.bsl index 79fba7f21d..d9cb647dde 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 06.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,4 +31,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,18), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Fun 07.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 07.fs.bsl index fc09b3f737..fb62b6e501 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 07.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -37,4 +37,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Fun 08.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 08.fs.bsl index 914be23e3c..0abcf541d5 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 08.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +31,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(3,13) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Fun 09.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 09.fs.bsl index 3a7ecdba3c..3dff98415d 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 09.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -37,6 +37,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(3,18) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Fun 10.fs.bsl b/tests/service/data/SyntaxTree/SynType/Fun 10.fs.bsl index 061982252a..b3cda4839c 100644 --- a/tests/service/data/SyntaxTree/SynType/Fun 10.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Fun 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Fun 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Fun 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -31,6 +31,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(3,14) parse error Unexpected symbol '->' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Named 01.fs b/tests/service/data/SyntaxTree/SynType/Named 01.fs new file mode 100644 index 0000000000..b3d177741d --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 01.fs @@ -0,0 +1,3 @@ +module Module + +let value = 42 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 01.fs.bsl new file mode 100644 index 0000000000..0d39ab9c88 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 01.fs.bsl @@ -0,0 +1,22 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named (SynIdent (value, None), false, None, (3,4--3,9)), None, + Const (Int32 42, (3,12--3,14)), (3,4--3,9), Yes (3,0--3,14), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,10--3,11) })], (3,0--3,14))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 02.fs b/tests/service/data/SyntaxTree/SynType/Named 02.fs new file mode 100644 index 0000000000..d77886cd9d --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 02.fs @@ -0,0 +1,3 @@ +module Module + +let private value = 42 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 02.fs.bsl new file mode 100644 index 0000000000..b81f6b1f3f --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 02.fs.bsl @@ -0,0 +1,24 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent (value, None), false, Some (Private (3,4--3,11)), + (3,4--3,17)), None, Const (Int32 42, (3,20--3,22)), + (3,4--3,17), Yes (3,0--3,22), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,18--3,19) })], (3,0--3,22))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 03.fs b/tests/service/data/SyntaxTree/SynType/Named 03.fs new file mode 100644 index 0000000000..191fca6323 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 03.fs @@ -0,0 +1,3 @@ +module Module + +let (|A|) = 0 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 03.fs.bsl new file mode 100644 index 0000000000..d28f17a263 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 03.fs.bsl @@ -0,0 +1,25 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent + (|A|, Some (HasParenthesis ((3,4--3,5), (3,8--3,9)))), + false, None, (3,4--3,9)), None, + Const (Int32 0, (3,12--3,13)), (3,4--3,9), Yes (3,0--3,13), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,10--3,11) })], (3,0--3,13))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 04.fs b/tests/service/data/SyntaxTree/SynType/Named 04.fs new file mode 100644 index 0000000000..c1788fab9a --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 04.fs @@ -0,0 +1,3 @@ +module Module + +let private (|A|) = 0 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 04.fs.bsl new file mode 100644 index 0000000000..38104718df --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 04.fs.bsl @@ -0,0 +1,25 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent + (|A|, Some (HasParenthesis ((3,12--3,13), (3,16--3,17)))), + false, Some (Private (3,4--3,11)), (3,4--3,17)), None, + Const (Int32 0, (3,20--3,21)), (3,4--3,17), Yes (3,0--3,21), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,18--3,19) })], (3,0--3,21))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 05.fs b/tests/service/data/SyntaxTree/SynType/Named 05.fs new file mode 100644 index 0000000000..710b9d60ce --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 05.fs @@ -0,0 +1,3 @@ +module Module + +let a, private b = 1, 2 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 05.fs.bsl new file mode 100644 index 0000000000..828b8de599 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 05.fs.bsl @@ -0,0 +1,31 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Tuple + (false, + [Named (SynIdent (a, None), false, None, (3,4--3,5)); + Named + (SynIdent (b, None), false, Some (Private (3,7--3,14)), + (3,7--3,16))], [(3,5--3,6)], (3,4--3,16)), None, + Tuple + (false, + [Const (Int32 1, (3,19--3,20)); + Const (Int32 2, (3,22--3,23))], [(3,20--3,21)], + (3,19--3,23)), (3,4--3,16), Yes (3,0--3,23), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,17--3,18) })], (3,0--3,23))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 06.fs b/tests/service/data/SyntaxTree/SynType/Named 06.fs new file mode 100644 index 0000000000..31ee6a99e7 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 06.fs @@ -0,0 +1,3 @@ +module Module + +let private a, private b = 1, 2 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 06.fs.bsl new file mode 100644 index 0000000000..c2a24350cd --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 06.fs.bsl @@ -0,0 +1,33 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Tuple + (false, + [Named + (SynIdent (a, None), false, Some (Private (3,4--3,11)), + (3,4--3,13)); + Named + (SynIdent (b, None), false, Some (Private (3,15--3,22)), + (3,15--3,24))], [(3,13--3,14)], (3,4--3,24)), None, + Tuple + (false, + [Const (Int32 1, (3,27--3,28)); + Const (Int32 2, (3,30--3,31))], [(3,28--3,29)], + (3,27--3,31)), (3,4--3,24), Yes (3,0--3,31), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,25--3,26) })], (3,0--3,31))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,31), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 07.fs b/tests/service/data/SyntaxTree/SynType/Named 07.fs new file mode 100644 index 0000000000..ed76155a8e --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 07.fs @@ -0,0 +1,3 @@ +module Module + +let private a, b = 1, 2 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 07.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 07.fs.bsl new file mode 100644 index 0000000000..45d7be6507 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 07.fs.bsl @@ -0,0 +1,32 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 07.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Tuple + (false, + [Named + (SynIdent (a, None), false, Some (Private (3,4--3,11)), + (3,4--3,13)); + Named (SynIdent (b, None), false, None, (3,15--3,16))], + [(3,13--3,14)], (3,4--3,16)), None, + Tuple + (false, + [Const (Int32 1, (3,19--3,20)); + Const (Int32 2, (3,22--3,23))], [(3,20--3,21)], + (3,19--3,23)), (3,4--3,16), Yes (3,0--3,23), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,17--3,18) })], (3,0--3,23))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Named 08.fs b/tests/service/data/SyntaxTree/SynType/Named 08.fs new file mode 100644 index 0000000000..57c471b063 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 08.fs @@ -0,0 +1,3 @@ +module Module + +let private (1, 2) = 0 \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 08.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 08.fs.bsl new file mode 100644 index 0000000000..c235cb210b --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 08.fs.bsl @@ -0,0 +1,29 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 08.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent + (op_MultiplyMultiplyMultiplyMultiply, + Some (HasParenthesis ((3,12--3,13), (3,17--3,18)))), + false, Some (Private (3,4--3,11)), (3,4--3,18)), None, + Const (Int32 0, (3,21--3,22)), (3,4--3,18), Yes (3,0--3,22), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,19--3,20) })], (3,0--3,22))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(3,13)-(3,14) parse error Unexpected integer literal in binding +(3,12)-(3,18) parse error Attempted to parse this as an operator name, but failed diff --git a/tests/service/data/SyntaxTree/SynType/Named 09.fs b/tests/service/data/SyntaxTree/SynType/Named 09.fs new file mode 100644 index 0000000000..1158b0991b --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 09.fs @@ -0,0 +1,4 @@ +module Module + +match 1 with +| private x -> () \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Named 09.fs.bsl b/tests/service/data/SyntaxTree/SynType/Named 09.fs.bsl new file mode 100644 index 0000000000..e9fc68b3fd --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Named 09.fs.bsl @@ -0,0 +1,21 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Named 09.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (Match + (Yes (3,0--3,12), Const (Int32 1, (3,6--3,7)), + [SynMatchClause + (Named + (SynIdent (x, None), false, Some (Private (4,2--4,9)), + (4,2--4,11)), None, Const (Unit, (4,15--4,17)), + (4,2--4,17), Yes, { ArrowRange = Some (4,12--4,14) + BarRange = Some (4,0--4,1) })], + (3,0--4,17), { MatchKeyword = (3,0--3,5) + WithKeyword = (3,8--3,12) }), (3,0--4,17))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--4,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl index 1c58087b0d..1f03d7f33a 100644 --- a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs", false, - QualifiedNameOfFile NestedSynTypeOrInsideSynExprTraitCall, [], [], + QualifiedNameOfFile NestedSynTypeOrInsideSynExprTraitCall, [], [SynModuleOrNamespace ([NestedSynTypeOrInsideSynExprTraitCall], false, AnonModule, [Let @@ -102,4 +102,5 @@ ImplFile EqualsRange = Some (2,34--2,35) })], (2,0--2,100))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl index 5c1cd55a5b..1e3e4c88ac 100644 --- a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/SingleSynTypeInsideSynExprTraitCall.fs", false, - QualifiedNameOfFile SingleSynTypeInsideSynExprTraitCall, [], [], + QualifiedNameOfFile SingleSynTypeInsideSynExprTraitCall, [], [SynModuleOrNamespace ([SingleSynTypeInsideSynExprTraitCall], false, AnonModule, [Types @@ -191,4 +191,5 @@ ImplFile WithKeyword = None })], (2,0--4,60))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl index 24fb731523..ea2f15e048 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/SynTypeOrInsideSynExprTraitCall.fs", false, - QualifiedNameOfFile SynTypeOrInsideSynExprTraitCall, [], [], + QualifiedNameOfFile SynTypeOrInsideSynExprTraitCall, [], [SynModuleOrNamespace ([SynTypeOrInsideSynExprTraitCall], false, AnonModule, [Let @@ -79,4 +79,5 @@ ImplFile EqualsRange = Some (2,29--2,30) })], (2,0--2,84))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl index c2de9ccff5..31f3fe5e4c 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs", false, QualifiedNameOfFile - SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember, [], [], + SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember, [], [SynModuleOrNamespace ([SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember], false, AnonModule, @@ -86,4 +86,5 @@ ImplFile (2,0--3,6))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl index f509494f21..3a17a731f0 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs", false, - QualifiedNameOfFile SynTypeOrWithAppTypeOnTheRightHandSide, [], [], + QualifiedNameOfFile SynTypeOrWithAppTypeOnTheRightHandSide, [], [SynModuleOrNamespace ([SynTypeOrWithAppTypeOnTheRightHandSide], false, AnonModule, [Let @@ -60,4 +60,5 @@ ImplFile EqualsRange = Some (2,21--2,22) })], (2,0--2,64))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl index 6d0202252e..c65846b512 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl @@ -2,7 +2,6 @@ SigFile (ParsedSigFileInput ("/root/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi", QualifiedNameOfFile SynTypeTupleDoesIncludeLeadingParameterAttributes, [], - [], [SynModuleOrNamespaceSig ([SynTypeTupleDoesIncludeLeadingParameterAttributes], false, AnonModule, [Types @@ -92,4 +91,5 @@ SigFile WithKeyword = None })], (2,0--3,63))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl index 662002f0c8..6519bc1260 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl @@ -1,7 +1,7 @@ SigFile (ParsedSigFileInput ("/root/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi", - QualifiedNameOfFile SynTypeTupleDoesIncludeLeadingParameterName, [], [], + QualifiedNameOfFile SynTypeTupleDoesIncludeLeadingParameterName, [], [SynModuleOrNamespaceSig ([SynTypeTupleDoesIncludeLeadingParameterName], false, AnonModule, [Types @@ -55,4 +55,5 @@ SigFile WithKeyword = None })], (2,0--3,34))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 01.fs.bsl index cb47bf6917..2ab3f8be16 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -27,4 +27,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 02.fs.bsl index 31c6f32e32..b2c6071dc3 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 03.fs.bsl index d2a8a234b8..deb1bf1999 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 03.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -30,4 +30,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,24), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 04.fs.bsl index 5ceab06a98..4df779116b 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 04.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,11)-(3,12) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 05.fs.bsl index e72167dde4..86b1794b8e 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 05.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,15)-(3,16) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 06.fs.bsl index f90be5ac2f..0eebe72bbd 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple - Nested 06.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple - Nested 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/SynType/Tuple - Nested 06.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,20)-(3,21) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 01.fs.bsl index 8549790133..4aaaa3906a 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 01.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 02.fs.bsl index b35e5fb5bd..9dff41a4bb 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 02.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 03.fs.bsl index c83be44e69..861e9ccf2b 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 03.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -21,4 +21,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 04.fs.bsl index de61cb515a..11516716f0 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 04.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 05.fs.bsl index 7d02d69205..805333cbd6 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 05.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,6) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 06.fs.bsl index aa3c77a605..8a787d2526 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 06.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(3,10) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 07.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 07.fs.bsl index af8c1af77d..a04ebce56b 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 07.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,16)-(3,17) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 08.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 08.fs.bsl index 658dd4661e..be8a9c788d 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 08.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Expr @@ -18,6 +18,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,14), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,13)-(3,14) parse error Unexpected symbol ')' in type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 09.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 09.fs.bsl index c0d052bcc9..65df0ba18f 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 09.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -39,6 +39,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,16)-(3,17) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 10.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 10.fs.bsl index dc553f7221..d38b3e89d5 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 10.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 10.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 10.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -39,6 +39,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,11)-(3,13) parse error Unexpected symbol '->' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 11.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 11.fs.bsl index 31ca0e7d59..ed9a34731d 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 11.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 11.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 11.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 11.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -45,6 +45,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,22)-(3,23) parse error Unexpected symbol '=' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 12.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 12.fs.bsl index 48dd1654f5..aab9c322a3 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 12.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 12.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 12.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 12.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -45,6 +45,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(3,19) parse error Unexpected symbol '->' in binding diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 13.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 13.fs.bsl index 1c4baa1ad5..c0d6e8ddce 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 13.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 13.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 13.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 13.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -47,6 +47,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(3,18) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Tuple 14.fs.bsl b/tests/service/data/SyntaxTree/SynType/Tuple 14.fs.bsl index 8f40539042..6a54173ea3 100644 --- a/tests/service/data/SyntaxTree/SynType/Tuple 14.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/Tuple 14.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/SynType/Tuple 14.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/SynType/Tuple 14.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -47,6 +47,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(3,13) parse error Expecting type diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs new file mode 100644 index 0000000000..f191f7aee2 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs @@ -0,0 +1,6 @@ +module Module + +async { + let! res: int = async { return 1 } + return res +} diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs.bsl new file mode 100644 index 0000000000..1aa552d5f0 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 01.fs.bsl @@ -0,0 +1,36 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + LetOrUseBang + (Yes (4,4--4,38), false, true, + Typed + (Named (SynIdent (res, None), false, None, (4,9--4,12)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,9--4,17)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (4,35--4,36)), + (4,28--4,36), + { YieldOrReturnKeyword = (4,28--4,34) }), + (4,26--4,38)), (4,20--4,38)), [], + YieldOrReturn + ((false, true), Ident res, (5,4--5,14), + { YieldOrReturnKeyword = (5,4--5,10) }), (4,4--5,14), + { LetOrUseBangKeyword = (4,4--4,8) + EqualsRange = Some (4,18--4,19) }), (3,6--6,1)), + (3,0--6,1)), (3,0--6,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs new file mode 100644 index 0000000000..4d58841b1d --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs @@ -0,0 +1,6 @@ +module Module + +async { + let! (res: int) = async { return 1 } + return res +} diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs.bsl new file mode 100644 index 0000000000..6046708ca7 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 02.fs.bsl @@ -0,0 +1,38 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + LetOrUseBang + (Yes (4,4--4,40), false, true, + Paren + (Typed + (Named + (SynIdent (res, None), false, None, (4,10--4,13)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,10--4,18)), (4,9--4,19)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (4,37--4,38)), + (4,30--4,38), + { YieldOrReturnKeyword = (4,30--4,36) }), + (4,28--4,40)), (4,22--4,40)), [], + YieldOrReturn + ((false, true), Ident res, (5,4--5,14), + { YieldOrReturnKeyword = (5,4--5,10) }), (4,4--5,14), + { LetOrUseBangKeyword = (4,4--4,8) + EqualsRange = Some (4,20--4,21) }), (3,6--6,1)), + (3,0--6,1)), (3,0--6,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs new file mode 100644 index 0000000000..5c5e72047c --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs @@ -0,0 +1,7 @@ +module Module + +async { + let (a: int, b: int) = 1, 3 + let! (c: int, d: int) = async { return 1, 3 } + return a + b + c + d +} diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs.bsl new file mode 100644 index 0000000000..c065ea59e3 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 03.fs.bsl @@ -0,0 +1,125 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + LetOrUse + (false, false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Paren + (Tuple + (false, + [Typed + (Named + (SynIdent (a, None), false, None, + (4,9--4,10)), + LongIdent + (SynLongIdent ([int], [], [None])), + (4,9--4,15)); + Typed + (Named + (SynIdent (b, None), false, None, + (4,17--4,18)), + LongIdent + (SynLongIdent ([int], [], [None])), + (4,17--4,23))], [(4,15--4,16)], (4,9--4,23)), + (4,8--4,24)), None, + Tuple + (false, + [Const (Int32 1, (4,27--4,28)); + Const (Int32 3, (4,30--4,31))], [(4,28--4,29)], + (4,27--4,31)), (4,8--4,24), Yes (4,4--4,31), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,25--4,26) })], + LetOrUseBang + (Yes (5,4--5,49), false, true, + Paren + (Tuple + (false, + [Typed + (Named + (SynIdent (c, None), false, None, + (5,10--5,11)), + LongIdent (SynLongIdent ([int], [], [None])), + (5,10--5,16)); + Typed + (Named + (SynIdent (d, None), false, None, + (5,18--5,19)), + LongIdent (SynLongIdent ([int], [], [None])), + (5,18--5,24))], [(5,16--5,17)], (5,10--5,24)), + (5,9--5,25)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), + Tuple + (false, + [Const (Int32 1, (5,43--5,44)); + Const (Int32 3, (5,46--5,47))], + [(5,44--5,45)], (5,43--5,47)), + (5,36--5,47), + { YieldOrReturnKeyword = (5,36--5,42) }), + (5,34--5,49)), (5,28--5,49)), [], + YieldOrReturn + ((false, true), + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (6,21--6,22)), + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), + None, (6,17--6,18)), + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some + (OriginalNotation "+")]), + None, (6,13--6,14)), Ident a, + (6,11--6,14)), Ident b, + (6,11--6,16)), (6,11--6,18)), + Ident c, (6,11--6,20)), (6,11--6,22)), + Ident d, (6,11--6,24)), (6,4--6,24), + { YieldOrReturnKeyword = (6,4--6,10) }), + (5,4--6,24), { LetOrUseBangKeyword = (5,4--5,8) + EqualsRange = Some (5,26--5,27) }), + (4,4--6,24), { LetOrUseKeyword = (4,4--4,7) + InKeyword = None }), (3,6--7,1)), + (3,0--7,1)), (3,0--7,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs new file mode 100644 index 0000000000..2a1e031984 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs @@ -0,0 +1,7 @@ +module Module + +async { + let a: int, b: int = 1, 3 + let! c: int, d: int = async { return 1, 3 } + return a + b + c + d +} \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs.bsl new file mode 100644 index 0000000000..fc39d00e0a --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 04.fs.bsl @@ -0,0 +1,51 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + Tuple + (false, + [LetOrUse + (false, false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named + (SynIdent (a, None), false, None, (4,8--4,9)), + Some + (SynBindingReturnInfo + (LongIdent + (SynLongIdent ([int], [], [None])), + (4,11--4,14), [], + { ColonRange = Some (4,9--4,10) })), + Typed + (ArbitraryAfterError + ("localBinding2", (4,14--4,14)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,14--4,14)), (4,8--4,9), Yes (4,4--4,14), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = None })], + ArbitraryAfterError ("declExpr3", (5,15--5,16)), + (4,4--5,16), { LetOrUseKeyword = (4,4--4,7) + InKeyword = None }); Ident d], + [(5,15--5,16)], (4,4--5,18)), (3,6--5,47)), (3,0--5,47)), + (3,0--5,47))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,47), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(4,14)-(4,15) parse error Unexpected symbol ',' in binding. Expected '=' or other token. +(5,15)-(5,16) parse error Unexpected symbol ',' in expression. Expected '=' or other token. +(6,4)-(6,10) parse error Incomplete structured construct at or before this point in implementation file diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs new file mode 100644 index 0000000000..be48e42bb8 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs @@ -0,0 +1,3 @@ +module Module +let! x:int = async { return 1 } +let! (y:int) = async { return 2 } \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs.bsl new file mode 100644 index 0000000000..08008766b4 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 05.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUseBang + (Yes (2,0--2,31), false, true, + Typed + (Named (SynIdent (x, None), false, None, (2,5--2,6)), + LongIdent (SynLongIdent ([int], [], [None])), (2,5--2,10)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (2,28--2,29)), + (2,21--2,29), { YieldOrReturnKeyword = (2,21--2,27) }), + (2,19--2,31)), (2,13--2,31)), [], + LetOrUseBang + (Yes (3,0--3,33), false, true, + Paren + (Typed + (Named (SynIdent (y, None), false, None, (3,6--3,7)), + LongIdent (SynLongIdent ([int], [], [None])), + (3,6--3,11)), (3,5--3,12)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 2, (3,30--3,31)), + (3,23--3,31), + { YieldOrReturnKeyword = (3,23--3,29) }), + (3,21--3,33)), (3,15--3,33)), [], + ImplicitZero (3,33--3,33), (3,0--3,33), + { LetOrUseBangKeyword = (3,0--3,4) + EqualsRange = Some (3,13--3,14) }), (2,0--3,33), + { LetOrUseBangKeyword = (2,0--2,4) + EqualsRange = Some (2,11--2,12) }), (2,0--3,33))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(3,0)-(3,33) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs b/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs new file mode 100644 index 0000000000..4dfb5dcf98 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs @@ -0,0 +1,3 @@ +module Module +let! _:int = async { return 1 } +let! (_:int) = async { return 2 } \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs.bsl new file mode 100644 index 0000000000..591ef04859 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed LetBang 06.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed LetBang 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUseBang + (Yes (2,0--2,31), false, true, + Typed + (Wild (2,5--2,6), + LongIdent (SynLongIdent ([int], [], [None])), (2,5--2,10)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (2,28--2,29)), + (2,21--2,29), { YieldOrReturnKeyword = (2,21--2,27) }), + (2,19--2,31)), (2,13--2,31)), [], + LetOrUseBang + (Yes (3,0--3,33), false, true, + Paren + (Typed + (Wild (3,6--3,7), + LongIdent (SynLongIdent ([int], [], [None])), + (3,6--3,11)), (3,5--3,12)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 2, (3,30--3,31)), + (3,23--3,31), + { YieldOrReturnKeyword = (3,23--3,29) }), + (3,21--3,33)), (3,15--3,33)), [], + ImplicitZero (3,33--3,33), (3,0--3,33), + { LetOrUseBangKeyword = (3,0--3,4) + EqualsRange = Some (3,13--3,14) }), (2,0--3,33), + { LetOrUseBangKeyword = (2,0--2,4) + EqualsRange = Some (2,11--2,12) }), (2,0--3,33))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(3,0)-(3,33) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs b/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs new file mode 100644 index 0000000000..840c167831 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs @@ -0,0 +1,6 @@ +module Module + +async { + use! res: int = async { return 1 } + return res +} diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs.bsl new file mode 100644 index 0000000000..a49e9a4abf --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 01.fs.bsl @@ -0,0 +1,36 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed UseBang 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + LetOrUseBang + (Yes (4,4--4,38), true, true, + Typed + (Named (SynIdent (res, None), false, None, (4,9--4,12)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,9--4,17)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (4,35--4,36)), + (4,28--4,36), + { YieldOrReturnKeyword = (4,28--4,34) }), + (4,26--4,38)), (4,20--4,38)), [], + YieldOrReturn + ((false, true), Ident res, (5,4--5,14), + { YieldOrReturnKeyword = (5,4--5,10) }), (4,4--5,14), + { LetOrUseBangKeyword = (4,4--4,8) + EqualsRange = Some (4,18--4,19) }), (3,6--6,1)), + (3,0--6,1)), (3,0--6,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs b/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs new file mode 100644 index 0000000000..cf1f75dc46 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs @@ -0,0 +1,6 @@ +module Module + +async { + use! (res: int) = async { return 1 } + return res +} diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs.bsl new file mode 100644 index 0000000000..d402cdf754 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 02.fs.bsl @@ -0,0 +1,38 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed UseBang 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + LetOrUseBang + (Yes (4,4--4,40), true, true, + Paren + (Typed + (Named + (SynIdent (res, None), false, None, (4,10--4,13)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,10--4,18)), (4,9--4,19)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (4,37--4,38)), + (4,30--4,38), + { YieldOrReturnKeyword = (4,30--4,36) }), + (4,28--4,40)), (4,22--4,40)), [], + YieldOrReturn + ((false, true), Ident res, (5,4--5,14), + { YieldOrReturnKeyword = (5,4--5,10) }), (4,4--5,14), + { LetOrUseBangKeyword = (4,4--4,8) + EqualsRange = Some (4,20--4,21) }), (3,6--6,1)), + (3,0--6,1)), (3,0--6,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs b/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs new file mode 100644 index 0000000000..c0f2a3eb39 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs @@ -0,0 +1,4 @@ +module Module + +use! x:int = async { return 1 } +use! (y:int) = async { return 2 } \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs.bsl new file mode 100644 index 0000000000..a3eda56c6e --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 03.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed UseBang 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUseBang + (Yes (3,0--3,31), true, true, + Typed + (Named (SynIdent (x, None), false, None, (3,5--3,6)), + LongIdent (SynLongIdent ([int], [], [None])), (3,5--3,10)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (3,28--3,29)), + (3,21--3,29), { YieldOrReturnKeyword = (3,21--3,27) }), + (3,19--3,31)), (3,13--3,31)), [], + LetOrUseBang + (Yes (4,0--4,33), true, true, + Paren + (Typed + (Named (SynIdent (y, None), false, None, (4,6--4,7)), + LongIdent (SynLongIdent ([int], [], [None])), + (4,6--4,11)), (4,5--4,12)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 2, (4,30--4,31)), + (4,23--4,31), + { YieldOrReturnKeyword = (4,23--4,29) }), + (4,21--4,33)), (4,15--4,33)), [], + ImplicitZero (4,33--4,33), (4,0--4,33), + { LetOrUseBangKeyword = (4,0--4,4) + EqualsRange = Some (4,13--4,14) }), (3,0--4,33), + { LetOrUseBangKeyword = (3,0--3,4) + EqualsRange = Some (3,11--3,12) }), (3,0--4,33))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--4,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(4,0)-(4,33) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs b/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs new file mode 100644 index 0000000000..9ef3a6a366 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs @@ -0,0 +1,4 @@ +module Module + +use! _:int = async { return 1 } +use! (_:int) = async { return 2 } \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs.bsl b/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs.bsl new file mode 100644 index 0000000000..3bf8a0ce44 --- /dev/null +++ b/tests/service/data/SyntaxTree/SynType/Typed UseBang 04.fs.bsl @@ -0,0 +1,47 @@ +ImplFile + (ParsedImplFileInput + ("/root/SynType/Typed UseBang 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUseBang + (Yes (3,0--3,31), true, true, + Typed + (Wild (3,5--3,6), + LongIdent (SynLongIdent ([int], [], [None])), (3,5--3,10)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 1, (3,28--3,29)), + (3,21--3,29), { YieldOrReturnKeyword = (3,21--3,27) }), + (3,19--3,31)), (3,13--3,31)), [], + LetOrUseBang + (Yes (4,0--4,33), true, true, + Paren + (Typed + (Wild (4,6--4,7), + LongIdent (SynLongIdent ([int], [], [None])), + (4,6--4,11)), (4,5--4,12)), + App + (NonAtomic, false, Ident async, + ComputationExpr + (false, + YieldOrReturn + ((false, true), Const (Int32 2, (4,30--4,31)), + (4,23--4,31), + { YieldOrReturnKeyword = (4,23--4,29) }), + (4,21--4,33)), (4,15--4,33)), [], + ImplicitZero (4,33--4,33), (4,0--4,33), + { LetOrUseBangKeyword = (4,0--4,4) + EqualsRange = Some (4,13--4,14) }), (3,0--4,33), + { LetOrUseBangKeyword = (3,0--3,4) + EqualsRange = Some (3,11--3,12) }), (3,0--4,33))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--4,33), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) + +(4,0)-(4,33) parse error Incomplete structured construct at or before this point in expression diff --git a/tests/service/data/SyntaxTree/Type/Abbreviation 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Abbreviation 01.fs.bsl index f5ca6da29e..8161ef11d0 100644 --- a/tests/service/data/SyntaxTree/Type/Abbreviation 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Abbreviation 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Abbreviation 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Abbreviation 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -19,4 +19,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Abbreviation 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Abbreviation 02.fs.bsl index 6d0a772899..69efd4467a 100644 --- a/tests/service/data/SyntaxTree/Type/Abbreviation 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Abbreviation 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Abbreviation 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Abbreviation 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -23,4 +23,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Abbreviation 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Abbreviation 03.fs.bsl index d2fb3a0cb2..3d81221a09 100644 --- a/tests/service/data/SyntaxTree/Type/Abbreviation 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Abbreviation 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Abbreviation 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Abbreviation 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,4 +25,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Abbreviation 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Abbreviation 04.fs.bsl index 53dd6bbce5..4b2d945ae8 100644 --- a/tests/service/data/SyntaxTree/Type/Abbreviation 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Abbreviation 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Abbreviation 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Abbreviation 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/And 01.fs.bsl b/tests/service/data/SyntaxTree/Type/And 01.fs.bsl index a9d16c9375..4c6d6d9d69 100644 --- a/tests/service/data/SyntaxTree/Type/And 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,3) parse error Unexpected keyword 'and' in type name diff --git a/tests/service/data/SyntaxTree/Type/And 02.fs.bsl b/tests/service/data/SyntaxTree/Type/And 02.fs.bsl index 9c68fa0b12..d8ed54e627 100644 --- a/tests/service/data/SyntaxTree/Type/And 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +40,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/And 03.fs.bsl b/tests/service/data/SyntaxTree/Type/And 03.fs.bsl index 0334d8da56..75c21712b4 100644 --- a/tests/service/data/SyntaxTree/Type/And 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,7) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/And 04.fs.bsl b/tests/service/data/SyntaxTree/Type/And 04.fs.bsl index 05c052ddda..43cdb517f1 100644 --- a/tests/service/data/SyntaxTree/Type/And 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,6 +28,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,0), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,0) parse error Incomplete structured construct at or before this point in type name diff --git a/tests/service/data/SyntaxTree/Type/And 05.fs.bsl b/tests/service/data/SyntaxTree/Type/And 05.fs.bsl index 60a23a89c1..e830f0923a 100644 --- a/tests/service/data/SyntaxTree/Type/And 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,4 +28,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/And 06.fs.bsl b/tests/service/data/SyntaxTree/Type/And 06.fs.bsl index cb3337443f..88650dda06 100644 --- a/tests/service/data/SyntaxTree/Type/And 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/And 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/And 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/And 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,6 +28,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/As 01.fs.bsl b/tests/service/data/SyntaxTree/Type/As 01.fs.bsl index bec2d3a712..6ee3982d86 100644 --- a/tests/service/data/SyntaxTree/Type/As 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,4 +27,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,28), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/As 02.fs.bsl b/tests/service/data/SyntaxTree/Type/As 02.fs.bsl index f40ff1a13d..d9175ab67c 100644 --- a/tests/service/data/SyntaxTree/Type/As 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,23), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(3,13) parse error Unexpected symbol '=' in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/As 03.fs.bsl b/tests/service/data/SyntaxTree/Type/As 03.fs.bsl index 42c054e0db..c6d3679b64 100644 --- a/tests/service/data/SyntaxTree/Type/As 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,26), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(3,14) parse error This definition may only be used in a type with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'. diff --git a/tests/service/data/SyntaxTree/Type/As 04.fs.bsl b/tests/service/data/SyntaxTree/Type/As 04.fs.bsl index 82bef8fffc..72a2470ba1 100644 --- a/tests/service/data/SyntaxTree/Type/As 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,10)-(3,11) parse error Unexpected symbol '=' in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/As 05.fs.bsl b/tests/service/data/SyntaxTree/Type/As 05.fs.bsl index 52ea9524fe..a95fbbe8e9 100644 --- a/tests/service/data/SyntaxTree/Type/As 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in type definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/As 06.fs.bsl b/tests/service/data/SyntaxTree/Type/As 06.fs.bsl index ed93355227..9f32f95a55 100644 --- a/tests/service/data/SyntaxTree/Type/As 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/As 07.fs.bsl b/tests/service/data/SyntaxTree/Type/As 07.fs.bsl index a491491159..c984cc4113 100644 --- a/tests/service/data/SyntaxTree/Type/As 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,17)-(5,0) parse error Incomplete structured construct at or before this point in type definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/As 08.fs.bsl b/tests/service/data/SyntaxTree/Type/As 08.fs.bsl index 24254ea606..949d6732cb 100644 --- a/tests/service/data/SyntaxTree/Type/As 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/As 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/As 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/As 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,12)-(5,0) parse error Incomplete structured construct at or before this point in type definition. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl index 6ed7fe97af..478489a67f 100644 --- a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/AttributesInOptionalNamedMemberParameter.fs", false, - QualifiedNameOfFile AttributesInOptionalNamedMemberParameter, [], [], + QualifiedNameOfFile AttributesInOptionalNamedMemberParameter, [], [SynModuleOrNamespace ([AttributesInOptionalNamedMemberParameter], false, AnonModule, [Types @@ -72,4 +72,5 @@ ImplFile WithKeyword = None })], (2,0--3,46))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Class 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Class 01.fs.bsl index fe8be85270..319b6a1799 100644 --- a/tests/service/data/SyntaxTree/Type/Class 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Class 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Class 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Class 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Class 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Class 02.fs.bsl index f7e959d10a..b3d84e0003 100644 --- a/tests/service/data/SyntaxTree/Type/Class 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Class 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Class 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Class 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -42,4 +42,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Class 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Class 03.fs.bsl index 77f8ca8cea..1b1edb2729 100644 --- a/tests/service/data/SyntaxTree/Type/Class 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Class 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Class 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Class 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,4 +27,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Class 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Class 04.fs.bsl index 80c75b7d5d..ae98b2f421 100644 --- a/tests/service/data/SyntaxTree/Type/Class 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Class 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Class 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Class 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -29,4 +29,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Class 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Class 05.fs.bsl index 6516bdc832..a47c0c4fc4 100644 --- a/tests/service/data/SyntaxTree/Type/Class 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Class 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Class 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Class 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,4 +43,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Enum 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 01.fs.bsl index e10f919483..1d8dfd6a8f 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,4 +25,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Enum 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 02.fs.bsl index e586e13799..f9ea108dd5 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Enum 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 03.fs.bsl index 17ed2baa17..7bce3a3aa6 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/Type/Enum 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 04.fs.bsl index faed14098e..710fdf8336 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,5) parse error Unexpected symbol '|' in union case diff --git a/tests/service/data/SyntaxTree/Type/Enum 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 05.fs.bsl index fd80892702..4d1063812b 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Type/Enum 06.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 06.fs.bsl index b7fd06cbbd..3382f753b9 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,5) parse error Unexpected symbol '|' in type definition diff --git a/tests/service/data/SyntaxTree/Type/Enum 07 - Eof.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 07 - Eof.fs.bsl index 5278e60ecd..6d424af577 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 07 - Eof.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 07 - Eof.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 07 - Eof.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 07 - Eof.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/Type/Enum 08 - Eof.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 08 - Eof.fs.bsl index b715aa5706..40680d4d73 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 08 - Eof.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 08 - Eof.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 08 - Eof.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 08 - Eof.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Type/Enum 09 - Eof.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 09 - Eof.fs.bsl index c1756aeb77..5604912f25 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 09 - Eof.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 09 - Eof.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 09 - Eof.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 09 - Eof.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,9) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/Type/Enum 10 - Eof.fs.bsl b/tests/service/data/SyntaxTree/Type/Enum 10 - Eof.fs.bsl index 6a6bf175b1..c85ef4a38c 100644 --- a/tests/service/data/SyntaxTree/Type/Enum 10 - Eof.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Enum 10 - Eof.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Enum 10 - Eof.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Enum 10 - Eof.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,7) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/Type/Interface 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 01.fs.bsl index 27d0bc7028..0736baeb45 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Interface 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Interface 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Interface 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 02.fs.bsl index 9a516b1a4a..00f511cf97 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Interface 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Interface 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Interface 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 03.fs.bsl index beaa9fae23..9bd8891abe 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Interface 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Interface 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -38,4 +38,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Interface 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 04.fs.bsl index 3c5776cc02..2f68afd4da 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Interface 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Interface 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -38,4 +38,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Interface 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 05.fs.bsl index 25c830d341..e6801e0c2f 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 05.fs.bsl @@ -1,11 +1,11 @@ ImplFile (ParsedImplFileInput ("/root/Type/Interface 05.fs", false, QualifiedNameOfFile Interface 05, [], - [], [SynModuleOrNamespace ([Interface 05], false, AnonModule, [], PreXmlDocEmpty, [], None, (8,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,0)-(7,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Interface 06.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 06.fs.bsl index b8201474aa..fcb667c6f0 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 06.fs.bsl @@ -1,11 +1,11 @@ ImplFile (ParsedImplFileInput ("/root/Type/Interface 06.fs", false, QualifiedNameOfFile Interface 06, [], - [], [SynModuleOrNamespace ([Interface 06], false, AnonModule, [], PreXmlDocEmpty, [], None, (7,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Interface 07.fs.bsl b/tests/service/data/SyntaxTree/Type/Interface 07.fs.bsl index 7776c39507..07799f674e 100644 --- a/tests/service/data/SyntaxTree/Type/Interface 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Interface 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Interface 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Interface 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -39,6 +39,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,14)-(5,4) parse error Incomplete structured construct at or before this point in member definition diff --git a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl index 85c646eae4..26f912fd46 100644 --- a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs", false, - QualifiedNameOfFile MultipleSynEnumCaseContainsRangeOfConstant, [], [], + QualifiedNameOfFile MultipleSynEnumCaseContainsRangeOfConstant, [], [SynModuleOrNamespace ([MultipleSynEnumCaseContainsRangeOfConstant], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--4,13))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl index daea0ab502..cd9f16db52 100644 --- a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/NamedParametersInDelegateType.fs", false, - QualifiedNameOfFile NamedParametersInDelegateType, [], [], + QualifiedNameOfFile NamedParametersInDelegateType, [], [SynModuleOrNamespace ([NamedParametersInDelegateType], false, AnonModule, [Types @@ -87,4 +87,5 @@ ImplFile WithKeyword = None })], (2,0--2,46))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/NestedTypeHasStaticTypeAsLeadingKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/NestedTypeHasStaticTypeAsLeadingKeyword.fs.bsl index ae482a0827..536c4cc9e5 100644 --- a/tests/service/data/SyntaxTree/Type/NestedTypeHasStaticTypeAsLeadingKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/NestedTypeHasStaticTypeAsLeadingKeyword.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/NestedTypeHasStaticTypeAsLeadingKeyword.fs", false, - QualifiedNameOfFile NestedTypeHasStaticTypeAsLeadingKeyword, [], [], + QualifiedNameOfFile NestedTypeHasStaticTypeAsLeadingKeyword, [], [SynModuleOrNamespace ([NestedTypeHasStaticTypeAsLeadingKeyword], false, AnonModule, [Types @@ -30,4 +30,5 @@ ImplFile WithKeyword = None })], (2,0--6,0))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Primary ctor 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Primary ctor 01.fs.bsl index 6717cb55b4..fe0302ab85 100644 --- a/tests/service/data/SyntaxTree/Type/Primary ctor 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Primary ctor 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Primary ctor 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Primary ctor 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Primary ctor 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Primary ctor 02.fs.bsl index fbb48e2fd0..72bc51bf46 100644 --- a/tests/service/data/SyntaxTree/Type/Primary ctor 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Primary ctor 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Primary ctor 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Primary ctor 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,7) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/Primary ctor 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Primary ctor 03.fs.bsl index 7bf4dedee5..99c099de78 100644 --- a/tests/service/data/SyntaxTree/Type/Primary ctor 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Primary ctor 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Primary ctor 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Primary ctor 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -21,6 +21,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,9)-(5,0) parse error Incomplete structured construct at or before this point in type definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/Primary ctor 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Primary ctor 04.fs.bsl index a46c198cdf..057d2f4c5b 100644 --- a/tests/service/data/SyntaxTree/Type/Primary ctor 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Primary ctor 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Primary ctor 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Primary ctor 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Primary ctor 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Primary ctor 05.fs.bsl index 17215f552f..9a347eecea 100644 --- a/tests/service/data/SyntaxTree/Type/Primary ctor 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Primary ctor 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Primary ctor 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Primary ctor 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -20,6 +20,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Incomplete structured construct at or before this point in type definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl index 3d954e3c37..79bbd17b1a 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs", false, - QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynTypeDefn, [], [], + QualifiedNameOfFile RangeOfAttributeShouldBeIncludedInSynTypeDefn, [], [SynModuleOrNamespace ([RangeOfAttributeShouldBeIncludedInSynTypeDefn], false, AnonModule, [Types @@ -22,4 +22,5 @@ ImplFile WithKeyword = None })], (2,0--5,7))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl index 0b685986fc..ad592dd5cb 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs", false, QualifiedNameOfFile RangeOfAttributesShouldBeIncludedInRecursiveTypes, [], - [], [SynModuleOrNamespace ([RangeOfAttributesShouldBeIncludedInRecursiveTypes], false, AnonModule, [Types @@ -112,4 +111,5 @@ ImplFile WithKeyword = None })], (2,0--10,5))], PreXmlDocEmpty, [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Record - Access 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Access 01.fs.bsl index 9589553808..e2c49be6c8 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Access 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Access 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Access 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '}' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Access 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Access 02.fs.bsl index dac1c3f625..3540dbcc68 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Access 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Access 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Access 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '}' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Access 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Access 03.fs.bsl index f819d61d7c..353570298c 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Access 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Access 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Access 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,8)-(5,31) parse error Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. diff --git a/tests/service/data/SyntaxTree/Type/Record - Access 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Access 04.fs.bsl index 1bcbe107b4..37ad416ff2 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Access 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Access 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Access 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,8)-(5,23) parse error Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. diff --git a/tests/service/data/SyntaxTree/Type/Record - Mutable 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Mutable 01.fs.bsl index 1b629ceaf6..37da69f67a 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Mutable 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Mutable 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Mutable 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +26,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '}' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Mutable 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Mutable 02.fs.bsl index 6d7a08f3ca..7b80fa8e08 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Mutable 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Mutable 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Mutable 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -33,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,5) parse error Unexpected symbol '}' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Mutable 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Mutable 03.fs.bsl index 34b8bfe0d5..64b6dba277 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Mutable 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Mutable 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Mutable 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -33,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,16)-(6,8) parse error Incomplete structured construct at or before this point in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Mutable 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Mutable 04.fs.bsl index e8067343cd..c3b99f0461 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Mutable 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Mutable 04.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Mutable 04.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -39,6 +38,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--10,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,16)-(7,8) parse error Incomplete structured construct at or before this point in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record - Mutable 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Record - Mutable 05.fs.bsl index 3679671665..6443e19b43 100644 --- a/tests/service/data/SyntaxTree/Type/Record - Mutable 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record - Mutable 05.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Record - Mutable 05.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +39,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--10,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Record 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Record 01.fs.bsl index 1eabb2b2f6..ce490f4890 100644 --- a/tests/service/data/SyntaxTree/Type/Record 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Record 01.fs", false, QualifiedNameOfFile Foo, [], [], + ("/root/Type/Record 01.fs", false, QualifiedNameOfFile Foo, [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Types @@ -42,6 +42,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,5) parse error Unexpected symbol '}' in field declaration. Expected ':' or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Record 02.fs.bsl index 11cabe541d..2805bef72c 100644 --- a/tests/service/data/SyntaxTree/Type/Record 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Record 02.fs", false, QualifiedNameOfFile Foo, [], [], + ("/root/Type/Record 02.fs", false, QualifiedNameOfFile Foo, [], [SynModuleOrNamespace ([Foo], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--9,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,4)-(7,5) parse error Unexpected symbol '}' in field declaration diff --git a/tests/service/data/SyntaxTree/Type/Record 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Record 03.fs.bsl index 8777aa1b20..e53b6c858d 100644 --- a/tests/service/data/SyntaxTree/Type/Record 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Record 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Record 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,6)-(4,7) parse error Expecting record field diff --git a/tests/service/data/SyntaxTree/Type/Record 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Record 04.fs.bsl index db457dd8de..bc34db45a4 100644 --- a/tests/service/data/SyntaxTree/Type/Record 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Record 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Record 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -25,6 +25,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,6)-(5,7) parse error Unexpected symbol ';' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/Record 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Record 05.fs.bsl index 19883a9e8c..65f78f4d5d 100644 --- a/tests/service/data/SyntaxTree/Type/Record 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Record 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Record 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Record 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -37,6 +37,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,6)-(5,7) parse error Unexpected symbol ';' in field declaration. Expected identifier or other token. diff --git a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl index e901d3eac2..eebe5e8904 100644 --- a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/SingleSynEnumCaseContainsRangeOfConstant.fs", false, - QualifiedNameOfFile SingleSynEnumCaseContainsRangeOfConstant, [], [], + QualifiedNameOfFile SingleSynEnumCaseContainsRangeOfConstant, [], [SynModuleOrNamespace ([SingleSynEnumCaseContainsRangeOfConstant], false, AnonModule, [Types @@ -24,4 +24,5 @@ ImplFile WithKeyword = None })], (2,0--2,27))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Struct 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Struct 01.fs.bsl index 9996befe9d..7a1e7f126b 100644 --- a/tests/service/data/SyntaxTree/Type/Struct 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Struct 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Struct 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Struct 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,4 +16,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Struct 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Struct 02.fs.bsl index 3ca9cf08ae..50148b6ee1 100644 --- a/tests/service/data/SyntaxTree/Type/Struct 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Struct 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Struct 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Struct 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -26,4 +26,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl index cc2e1a3997..4a03a8854a 100644 --- a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -65,4 +65,5 @@ ImplFile WithKeyword = None })], (2,0--5,19))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl index 6b46504799..bdf9ec74f4 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs", false, QualifiedNameOfFile - SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword, [], [], + SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword, [], [SynModuleOrNamespace ([SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword], false, AnonModule, @@ -28,4 +28,5 @@ ImplFile WithKeyword = None })], (2,0--4,10))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl index 285ecf0975..200a42bb6b 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile - SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword, [], [], + SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword, [], [SynModuleOrNamespace ([SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -42,4 +42,5 @@ ImplFile WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl index f4a425b596..4ebef60640 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl @@ -2,7 +2,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs", false, QualifiedNameOfFile SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign, [], - [], [SynModuleOrNamespace ([SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -32,4 +31,5 @@ ImplFile WithKeyword = None })], (2,0--4,19))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl index 3809962658..ac4171bbf0 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl @@ -4,7 +4,6 @@ ImplFile false, QualifiedNameOfFile SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign, [], - [], [SynModuleOrNamespace ([SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -51,4 +50,5 @@ ImplFile WithKeyword = None })], (2,0--2,37))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl index 35e334478f..7cb9f5a2af 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs", false, QualifiedNameOfFile SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword, - [], [], + [], [SynModuleOrNamespace ([SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword], false, AnonModule, @@ -77,4 +77,5 @@ ImplFile (2,0--5,46))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl index 5e5b3b7fc3..561ab54725 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl @@ -2,7 +2,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs", false, QualifiedNameOfFile SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign, - [], [], + [], [SynModuleOrNamespace ([SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign], false, AnonModule, @@ -52,4 +52,5 @@ ImplFile WithKeyword = None })], (2,0--4,28))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl index 06a95ae7aa..9869085004 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -3,7 +3,7 @@ ImplFile ("/root/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs", false, QualifiedNameOfFile SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword, - [], [], + [], [SynModuleOrNamespace ([SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword], false, AnonModule, @@ -34,4 +34,5 @@ ImplFile WithKeyword = None })], (2,0--5,9))], PreXmlDocEmpty, [], None, (4,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl index 21eb149bb1..18cf4ffe77 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/SynTypeFunHasRangeOfArrow.fs", false, - QualifiedNameOfFile SynTypeFunHasRangeOfArrow, [], [], + QualifiedNameOfFile SynTypeFunHasRangeOfArrow, [], [SynModuleOrNamespace ([SynTypeFunHasRangeOfArrow], false, AnonModule, [Types @@ -23,4 +23,5 @@ ImplFile WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (2,19--2,59)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl index e0f51c6ee4..2091682bac 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/SynTypeTupleWithStruct.fs", false, - QualifiedNameOfFile SynTypeTupleWithStruct, [], [], + QualifiedNameOfFile SynTypeTupleWithStruct, [], [SynModuleOrNamespace ([SynTypeTupleWithStruct], false, AnonModule, [Let @@ -34,4 +34,5 @@ ImplFile EqualsRange = Some (2,26--2,27) })], (2,0--2,30))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl index c69d94938c..243e4f59db 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/Type/SynTypeTupleWithStructRecovery.fs", false, - QualifiedNameOfFile SynTypeTupleWithStructRecovery, [], [], + QualifiedNameOfFile SynTypeTupleWithStructRecovery, [], [SynModuleOrNamespace ([SynTypeTupleWithStructRecovery], false, AnonModule, [Let @@ -34,6 +34,7 @@ ImplFile EqualsRange = Some (2,25--2,26) })], (2,0--2,29))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (2,25)-(2,26) parse error Unexpected symbol '=' in binding. Expected ')' or other token. diff --git a/tests/service/data/SyntaxTree/Type/Type 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 01.fs.bsl index f34d5eb126..6d2a653d3c 100644 --- a/tests/service/data/SyntaxTree/Type/Type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(5,0) parse error Incomplete structured construct at or before this point in type name diff --git a/tests/service/data/SyntaxTree/Type/Type 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 02.fs.bsl index a670186b97..1612c6d364 100644 --- a/tests/service/data/SyntaxTree/Type/Type 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,4 +17,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Type 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 03.fs.bsl index 9cb15932e4..d852d9f5b0 100644 --- a/tests/service/data/SyntaxTree/Type/Type 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,8) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/Type 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 04.fs.bsl index 83a744a841..2582905075 100644 --- a/tests/service/data/SyntaxTree/Type/Type 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -29,6 +29,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,9) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/Type 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 05.fs.bsl index ab92f14011..3b6a0da329 100644 --- a/tests/service/data/SyntaxTree/Type/Type 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,6 +28,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,9) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/Type 06.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 06.fs.bsl index c987c0d38f..9fbbe27cb6 100644 --- a/tests/service/data/SyntaxTree/Type/Type 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Type 07.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 07.fs.bsl index 0eb812102a..fc4e61c33c 100644 --- a/tests/service/data/SyntaxTree/Type/Type 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -41,6 +41,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,21), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,6) parse error Unexpected symbol '=' in type name diff --git a/tests/service/data/SyntaxTree/Type/Type 08.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 08.fs.bsl index fea4942c9f..787da13b0e 100644 --- a/tests/service/data/SyntaxTree/Type/Type 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 08.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 08.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 08.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -24,4 +24,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Type 09.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 09.fs.bsl index c436103342..0105941f2d 100644 --- a/tests/service/data/SyntaxTree/Type/Type 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 09.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 09.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 09.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,1) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/Type/Type 10.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 10.fs.bsl index 979759d4db..7cbdc0524f 100644 --- a/tests/service/data/SyntaxTree/Type/Type 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 10.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 10.fs", false, QualifiedNameOfFile Type 10, [], [], + ("/root/Type/Type 10.fs", false, QualifiedNameOfFile Type 10, [], [SynModuleOrNamespace ([N], false, DeclaredNamespace, [NestedModule @@ -51,6 +51,7 @@ ImplFile PreXmlDocEmpty, [], None, (4,0--9,16), { LeadingKeyword = Namespace (4,0--4,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [LineComment (1,0--1,25)] }, set [])) (7,9)-(7,10) parse error Unexpected character '�' in type name diff --git a/tests/service/data/SyntaxTree/Type/Type 11.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 11.fs.bsl index 074cead59e..18c53db238 100644 --- a/tests/service/data/SyntaxTree/Type/Type 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 11.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 11.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 11.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -27,6 +27,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,5)-(3,7) parse error A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. diff --git a/tests/service/data/SyntaxTree/Type/Type 12.fs.bsl b/tests/service/data/SyntaxTree/Type/Type 12.fs.bsl index 9bacae3a62..49cd0e01af 100644 --- a/tests/service/data/SyntaxTree/Type/Type 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Type 12.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Type 12.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Type 12.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,7)-(3,8) parse error Unexpected symbol '|' in type definition. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/Union - Field 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Union - Field 01.fs.bsl index bb78f6b332..da9b04d91b 100644 --- a/tests/service/data/SyntaxTree/Type/Union - Field 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union - Field 01.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Union - Field 01.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,4 +31,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,17), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Union - Field 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Union - Field 02.fs.bsl index 4d3b58b444..d649bbb87a 100644 --- a/tests/service/data/SyntaxTree/Type/Union - Field 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union - Field 02.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Union - Field 02.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -31,6 +30,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,13), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/Type/Union - Field 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Union - Field 03.fs.bsl index 378ecc0220..45a33b7642 100644 --- a/tests/service/data/SyntaxTree/Type/Union - Field 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union - Field 03.fs.bsl @@ -1,7 +1,6 @@ ImplFile (ParsedImplFileInput ("/root/Type/Union - Field 03.fs", false, QualifiedNameOfFile Module, [], - [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -38,6 +37,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,14)-(4,15) parse error Unexpected symbol '*' in union case diff --git a/tests/service/data/SyntaxTree/Type/Union 01.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 01.fs.bsl index d652bfba1e..95b3750a97 100644 --- a/tests/service/data/SyntaxTree/Type/Union 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -23,4 +23,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Union 02.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 02.fs.bsl index 55d2c0c07e..01aad19db3 100644 --- a/tests/service/data/SyntaxTree/Type/Union 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -38,4 +38,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,20), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/Union 03.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 03.fs.bsl index 2906039ff9..9623dd96ac 100644 --- a/tests/service/data/SyntaxTree/Type/Union 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -36,6 +36,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,16), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Union 04.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 04.fs.bsl index 65be844f37..a83e76cb5a 100644 --- a/tests/service/data/SyntaxTree/Type/Union 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:5). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/Union 05.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 05.fs.bsl index 36eb5dae41..055cbe1b68 100644 --- a/tests/service/data/SyntaxTree/Type/Union 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,17)-(4,18) parse error Expecting union case field diff --git a/tests/service/data/SyntaxTree/Type/Union 06.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 06.fs.bsl index 90b0952278..5648e1559f 100644 --- a/tests/service/data/SyntaxTree/Type/Union 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 06.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 06.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 06.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -43,6 +43,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,22), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,11)-(4,12) parse error Expecting union case field diff --git a/tests/service/data/SyntaxTree/Type/Union 07.fs.bsl b/tests/service/data/SyntaxTree/Type/Union 07.fs.bsl index 2f0f76e613..756c74260c 100644 --- a/tests/service/data/SyntaxTree/Type/Union 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/Union 07.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/Union 07.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/Union 07.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,5) parse error Unexpected symbol '|' in union case diff --git a/tests/service/data/SyntaxTree/Type/With 01.fs.bsl b/tests/service/data/SyntaxTree/Type/With 01.fs.bsl index 7fd1e7479f..5b6217dfe2 100644 --- a/tests/service/data/SyntaxTree/Type/With 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/With 01.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/With 01.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/With 01.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,4 +40,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/With 02.fs.bsl b/tests/service/data/SyntaxTree/Type/With 02.fs.bsl index afef8b7997..f319074e37 100644 --- a/tests/service/data/SyntaxTree/Type/With 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/With 02.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/With 02.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/With 02.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -16,6 +16,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,0)-(4,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/With 03.fs.bsl b/tests/service/data/SyntaxTree/Type/With 03.fs.bsl index 690a827af1..197d6d3efc 100644 --- a/tests/service/data/SyntaxTree/Type/With 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/With 03.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/With 03.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/With 03.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -17,6 +17,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/Type/With 04.fs.bsl b/tests/service/data/SyntaxTree/Type/With 04.fs.bsl index 99ddf67442..1eda3d6321 100644 --- a/tests/service/data/SyntaxTree/Type/With 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/With 04.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/With 04.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/With 04.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -47,4 +47,5 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/With 05.fs.bsl b/tests/service/data/SyntaxTree/Type/With 05.fs.bsl index af2e4a0317..8dedec200d 100644 --- a/tests/service/data/SyntaxTree/Type/With 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/With 05.fs.bsl @@ -1,6 +1,6 @@ ImplFile (ParsedImplFileInput - ("/root/Type/With 05.fs", false, QualifiedNameOfFile Module, [], [], + ("/root/Type/With 05.fs", false, QualifiedNameOfFile Module, [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -23,6 +23,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,6) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (3:1). Try indenting this further. diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing keyword of.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing keyword of.fs.bsl index 2bac019ca2..88799b9de0 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing keyword of.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing keyword of.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing keyword of.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Let @@ -83,6 +83,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--11,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (7,6)-(7,18) parse error Missing keyword 'of' diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 01.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 01.fs.bsl index a67e4eb878..f4722cd168 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 01.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 01.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -24,6 +24,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--4,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,0)-(5,0) parse error Incomplete structured construct at or before this point in union case diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 02.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 02.fs.bsl index 02c674e6a1..1d96591c28 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 02.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 02.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '|' in union case diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 03.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 03.fs.bsl index 4a272764df..acbcf5624b 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 03.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 03.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -45,6 +45,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (4,4)-(4,6) parse error Missing union case name diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 04.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 04.fs.bsl index 8913b904ce..f7225a0927 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 04.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 04.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 04.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,6)-(5,8) parse error Missing union case name diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 05.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 05.fs.bsl index 9d7a69011e..d1d8fe0cce 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 05.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 05.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 05.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -40,6 +40,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,15)-(5,17) parse error Missing union case name diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 06.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 06.fs.bsl index 27516955a9..44085d99dc 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 06.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 06.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 06.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -32,6 +32,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '|' in union case diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 07.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 07.fs.bsl index c4d3efa237..86769a68dd 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 07.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 07.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 07.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -36,6 +36,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--7,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,4)-(6,5) parse error Unexpected symbol '|' in union case diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 08.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 08.fs.bsl index 238d9916e0..1f0a8ebdca 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 08.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 08.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 08.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -37,6 +37,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--6,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (6,0)-(6,4) parse error Incomplete structured construct at or before this point in type definition diff --git a/tests/service/data/SyntaxTree/UnionCase/Missing name 09.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Missing name 09.fs.bsl index 47c92aa67e..458228278e 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Missing name 09.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Missing name 09.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Missing name 09.fs", false, QualifiedNameOfFile Module, - [], [], + [], [SynModuleOrNamespace ([Module], false, NamedModule, [Types @@ -28,6 +28,7 @@ ImplFile PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, (1,0--5,7), { LeadingKeyword = Module (1,0--1,6) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (5,4)-(5,5) parse error Unexpected symbol '|' in type definition diff --git a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl index 8691d476cc..7b2aafa30d 100644 --- a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/MultipleSynUnionCasesHaveBarRange.fs", false, - QualifiedNameOfFile MultipleSynUnionCasesHaveBarRange, [], [], + QualifiedNameOfFile MultipleSynUnionCasesHaveBarRange, [], [SynModuleOrNamespace ([MultipleSynUnionCasesHaveBarRange], false, AnonModule, [Types @@ -43,4 +43,5 @@ ImplFile WithKeyword = None })], (2,0--4,17))], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl index 21d1081b55..732c0e0b8b 100644 --- a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/PrivateKeywordHasRange.fs", false, - QualifiedNameOfFile PrivateKeywordHasRange, [], [], + QualifiedNameOfFile PrivateKeywordHasRange, [], [SynModuleOrNamespace ([PrivateKeywordHasRange], false, AnonModule, [Types @@ -32,5 +32,6 @@ ImplFile None, (2,0--10,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "FABLE_COMPILER"), (6,0--6,19)); EndIf (8,0--8,6)] + WarnDirectives = [] CodeComments = [LineComment (3,4--3,67); LineComment (4,4--4,56)] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 01.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 01.fs.bsl index 4817546864..ff41246861 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 01.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 01.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Recover Function Type 01.fs", false, - QualifiedNameOfFile Recover Function Type 01, [], [], + QualifiedNameOfFile Recover Function Type 01, [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Types @@ -49,6 +49,7 @@ ImplFile WithKeyword = None })], (4,0--4,16))], PreXmlDocEmpty, [], None, (1,0--4,16), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,20)-(3,30) parse error Unexpected function type in union case field definition. If you intend the field to be a function, consider wrapping the function signature with parens, e.g. | Case of a -> b into | Case of (a -> b). diff --git a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 02.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 02.fs.bsl index 0b908ef60f..e1c73af283 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 02.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 02.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Recover Function Type 02.fs", false, - QualifiedNameOfFile Recover Function Type 02, [], [], + QualifiedNameOfFile Recover Function Type 02, [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Types @@ -49,6 +49,7 @@ ImplFile WithKeyword = None })], (4,0--4,16))], PreXmlDocEmpty, [], None, (1,0--4,16), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,19)-(3,29) parse error Unexpected function type in union case field definition. If you intend the field to be a function, consider wrapping the function signature with parens, e.g. | Case of a -> b into | Case of (a -> b). diff --git a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 03.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 03.fs.bsl index 97defcda3c..32f2f4bb2a 100644 --- a/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 03.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/Recover Function Type 03.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/Recover Function Type 03.fs", false, - QualifiedNameOfFile Recover Function Type 03, [], [], + QualifiedNameOfFile Recover Function Type 03, [], [SynModuleOrNamespace ([Foo], false, DeclaredNamespace, [Types @@ -54,6 +54,7 @@ ImplFile WithKeyword = None })], (4,0--4,16))], PreXmlDocEmpty, [], None, (1,0--4,16), { LeadingKeyword = Namespace (1,0--1,9) })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,16)-(3,33) parse error Unexpected function type in union case field definition. If you intend the field to be a function, consider wrapping the function signature with parens, e.g. | Case of a -> b into | Case of (a -> b). diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl index d5c4b3f2f8..7ed7778c9c 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/SingleSynUnionCaseHasBarRange.fs", false, - QualifiedNameOfFile SingleSynUnionCaseHasBarRange, [], [], + QualifiedNameOfFile SingleSynUnionCaseHasBarRange, [], [SynModuleOrNamespace ([SingleSynUnionCaseHasBarRange], false, AnonModule, [Types @@ -31,4 +31,5 @@ ImplFile WithKeyword = None })], (2,0--2,26))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl index 32910732a1..a2888b02b1 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/SingleSynUnionCaseWithoutBar.fs", false, - QualifiedNameOfFile SingleSynUnionCaseWithoutBar, [], [], + QualifiedNameOfFile SingleSynUnionCaseWithoutBar, [], [SynModuleOrNamespace ([SingleSynUnionCaseWithoutBar], false, AnonModule, [Types @@ -31,4 +31,5 @@ ImplFile WithKeyword = None })], (2,0--2,24))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl index 20e3a15d26..cd3e454e19 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/SynUnionCaseKindFullType.fs", false, - QualifiedNameOfFile SynUnionCaseKindFullType, [], [], + QualifiedNameOfFile SynUnionCaseKindFullType, [], [SynModuleOrNamespace ([SynUnionCaseKindFullType], false, AnonModule, [Types @@ -37,6 +37,7 @@ ImplFile WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) (3,6)-(3,20) parse warning This construct is deprecated: it is only for use in the F# library diff --git a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl index 51363b02c3..57c3921ba1 100644 --- a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl @@ -1,7 +1,7 @@ ImplFile (ParsedImplFileInput ("/root/UnionCase/UnionCaseFieldsCanHaveComments.fs", false, - QualifiedNameOfFile UnionCaseFieldsCanHaveComments, [], [], + QualifiedNameOfFile UnionCaseFieldsCanHaveComments, [], [SynModuleOrNamespace ([UnionCaseFieldsCanHaveComments], false, AnonModule, [Types @@ -38,4 +38,5 @@ ImplFile WithKeyword = None })], (2,0--8,6))], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Val/InlineKeyword.fsi.bsl b/tests/service/data/SyntaxTree/Val/InlineKeyword.fsi.bsl index 8c04d7ba27..32c245bd26 100644 --- a/tests/service/data/SyntaxTree/Val/InlineKeyword.fsi.bsl +++ b/tests/service/data/SyntaxTree/Val/InlineKeyword.fsi.bsl @@ -1,6 +1,6 @@ SigFile (ParsedSigFileInput - ("/root/Val/InlineKeyword.fsi", QualifiedNameOfFile InlineKeyword, [], [], + ("/root/Val/InlineKeyword.fsi", QualifiedNameOfFile InlineKeyword, [], [SynModuleOrNamespaceSig ([X], false, DeclaredNamespace, [Val @@ -21,4 +21,5 @@ SigFile EqualsRange = None }), (4,0--4,26))], PreXmlDocEmpty, [], None, (2,0--4,26), { LeadingKeyword = Namespace (2,0--2,9) })], { ConditionalDirectives = [] + WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs b/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs new file mode 100644 index 0000000000..5192d49c27 --- /dev/null +++ b/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs @@ -0,0 +1,4 @@ +#nowarn 20 +() +#warnon 20 // a comment +() \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs.bsl b/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs.bsl new file mode 100644 index 0000000000..ae8bcd1dbd --- /dev/null +++ b/tests/service/data/SyntaxTree/WarnScope/WarnScope.fs.bsl @@ -0,0 +1,12 @@ +ImplFile + (ParsedImplFileInput + ("/root/WarnScope/WarnScope.fs", false, QualifiedNameOfFile WarnScope, [], + [SynModuleOrNamespace + ([WarnScope], false, AnonModule, + [Expr (Const (Unit, (2,0--2,2)), (2,0--2,2)); + Expr (Const (Unit, (4,0--4,2)), (4,0--4,2))], PreXmlDocEmpty, [], + None, (2,0--4,2), { LeadingKeyword = None })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = + [Nowarn ([20], (1,0--1,10)); Warnon ([20], (3,0--3,10))] + CodeComments = [LineComment (3,12--3,24)] }, set [])) diff --git a/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs b/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs new file mode 100644 index 0000000000..5140c05731 --- /dev/null +++ b/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs @@ -0,0 +1,7 @@ +module M +module N = + #nowarn 20 25 + () + #warnon 20 25 // a comment + () +() \ No newline at end of file diff --git a/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs.bsl b/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs.bsl new file mode 100644 index 0000000000..40470a3603 --- /dev/null +++ b/tests/service/data/SyntaxTree/WarnScope/WarnScopeInSubmodule.fs.bsl @@ -0,0 +1,22 @@ +ImplFile + (ParsedImplFileInput + ("/root/WarnScope/WarnScopeInSubmodule.fs", false, QualifiedNameOfFile M, + [], + [SynModuleOrNamespace + ([M], false, NamedModule, + [NestedModule + (SynComponentInfo + ([], None, [], [N], + PreXmlDoc ((2,0), FSharp.Compiler.Xml.XmlDocCollector), false, + None, (2,0--2,8)), false, + [Expr (Const (Unit, (4,4--4,6)), (4,4--4,6)); + Expr (Const (Unit, (6,4--6,6)), (6,4--6,6))], false, (2,0--6,6), + { ModuleKeyword = Some (2,0--2,6) + EqualsRange = Some (2,9--2,10) }); + Expr (Const (Unit, (7,0--7,2)), (7,0--7,2))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--7,2), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = + [Nowarn ([20; 25], (3,4--3,17)); Warnon ([20; 25], (5,4--5,17))] + CodeComments = [LineComment (5,18--5,30)] }, set [])) diff --git a/tests/service/data/TestTP/ProvidedTypes.fs b/tests/service/data/TestTP/ProvidedTypes.fs index 1df9d3139d..218c9738f1 100644 --- a/tests/service/data/TestTP/ProvidedTypes.fs +++ b/tests/service/data/TestTP/ProvidedTypes.fs @@ -24,9 +24,9 @@ open Microsoft.FSharp.Core.CompilerServices [] module Utils = let K x = (fun () -> x) - let isNull x = match x with null -> true | _ -> false - let isNil x = match x with [] -> true | _ -> false - let isEmpty x = match x with [| |] -> true | _ -> false + let inline isNull x = match x with null -> true | _ -> false + let inline isNil x = match x with [] -> true | _ -> false + let inline isEmpty x = match x with [| |] -> true | _ -> false module Option = let toObj x = match x with None -> null | Some x -> x @@ -6253,11 +6253,11 @@ module internal AssemblyReader = let ilModule = seekReadModule (ilMetadataVersion) 1 - let ilAssemblyRefs = [ for i in 1 .. getNumRows ILTableNames.AssemblyRef do yield seekReadAssemblyRef i ] + let ilAssemblyRefs = lazy [ for i in 1 .. getNumRows ILTableNames.AssemblyRef do yield seekReadAssemblyRef i ] member __.ILGlobals = ilg member __.ILModuleDef = ilModule - member __.ILAssemblyRefs = ilAssemblyRefs + member __.ILAssemblyRefs = ilAssemblyRefs.Force() let sigptr_get_byte (bytes: byte[]) sigptr = int bytes[sigptr], sigptr + 1 @@ -8988,31 +8988,42 @@ namespace ProviderImplementation.ProvidedTypes let asms = (if toTgt then getTargetAssemblies() else getSourceAssemblies()) let fullName = fixName t.FullName - // TODO: this linear search through all available source/target assemblies feels as if it must be too slow in some cases. - // However, we store type translations in various tables (typeTableFwd and typeTableBwd) so perhaps it is not a problem - let rec loop i = - if i < 0 then - let msg = - if toTgt then sprintf "The design-time type '%O' utilized by a type provider was not found in the target reference assembly set '%A'. You may be referencing a profile which contains fewer types than those needed by the type provider you are using." t (getTargetAssemblies() |> Seq.toList) - elif getSourceAssemblies() |> Seq.isEmpty then sprintf "A failure occurred while determining compilation references" - else sprintf "The target type '%O' utilized by a type provider was not found in the design-time assembly set '%A'. Please report this problem to the project site for the type provider." t (getSourceAssemblies() |> Seq.toList) - failwith msg - else - match tryGetTypeFromAssembly toTgt t.Assembly.FullName fullName asms[i] with - | Some (newT, canSave) -> - if canSave then table[t] <- newT - newT - | None -> loop (i - 1) - loop (asms.Count - 1) + let bestGuess = + asms |> Seq.tryFind(fun a -> a.FullName = t.Assembly.FullName) + |> Option.bind(fun a -> tryGetTypeFromAssembly toTgt t.Assembly.FullName fullName a) + + match bestGuess with + | Some (newT, canSave) -> + if canSave then table.[t] <- newT + newT + | None -> + + // TODO: this linear search through all available source/target assemblies feels as if it must be too slow in some cases. + // However, we store type translations in various tables (typeTableFwd and typeTableBwd) so perhaps it is not a problem + let rec loop i = + if i < 0 then + let msg = + if toTgt then sprintf "The design-time type '%O' utilized by a type provider was not found in the target reference assembly set '%A'. You may be referencing a profile which contains fewer types than those needed by the type provider you are using." t (getTargetAssemblies() |> Seq.toList) + elif getSourceAssemblies() |> Seq.isEmpty then sprintf "A failure occurred while determining compilation references" + else sprintf "The target type '%O' utilized by a type provider was not found in the design-time assembly set '%A'. Please report this problem to the project site for the type provider." t (getSourceAssemblies() |> Seq.toList) + failwith msg + else + match tryGetTypeFromAssembly toTgt t.Assembly.FullName fullName asms[i] with + | Some (newT, canSave) -> + if canSave then table[t] <- newT + newT + | None -> loop (i - 1) + loop (asms.Count - 1) and convType toTgt (t:Type) = let table = (if toTgt then typeTableFwd else typeTableBwd) match table.TryGetValue(t) with | true, newT -> newT | false, _ -> - if t :? ProvidedTypeSymbol && (t :?> ProvidedTypeSymbol).IsFSharpTypeAbbreviation then t + let isSymbol = t :? ProvidedTypeSymbol + if isSymbol && (t :?> ProvidedTypeSymbol).IsFSharpTypeAbbreviation then t // Types annotated with units-of-measure - elif t :? ProvidedTypeSymbol && (t :?> ProvidedTypeSymbol).IsFSharpUnitAnnotated then + elif isSymbol && (t :?> ProvidedTypeSymbol).IsFSharpUnitAnnotated then let genericType = t.GetGenericTypeDefinition() let newT = convTypeRef toTgt genericType let typeArguments = t.GetGenericArguments() |> Array.map (convType toTgt) |> Array.toList diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharp.Core.targets b/vsintegration/Vsix/VisualFSharpFull/VisualFSharp.Core.targets index 16d69751fd..674c3487ac 100644 --- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharp.Core.targets +++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharp.Core.targets @@ -30,7 +30,6 @@ FSharp.Build DebugSymbolsProjectOutputGroup%3b true - All 2 True TargetFramework=netstandard2.0 @@ -42,7 +41,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True TargetFramework=netstandard2.0 @@ -54,7 +52,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True TargetFramework=netstandard2.0 @@ -66,7 +63,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True TargetFramework=netstandard2.0 @@ -117,7 +113,6 @@ ReferenceCopyLocalPathsOutputGroup%3bBuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -128,7 +123,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -147,7 +141,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -158,7 +151,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -169,7 +161,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -180,7 +171,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -191,7 +181,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -202,7 +191,6 @@ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bPkgDefProjectOutputGroup%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b true - All 2 True @@ -276,4 +264,4 @@ - \ No newline at end of file + diff --git a/vsintegration/src/FSharp.Editor/Common/Logging.fs b/vsintegration/src/FSharp.Editor/Common/Logging.fs index b0f56df323..de96d46e25 100644 --- a/vsintegration/src/FSharp.Editor/Common/Logging.fs +++ b/vsintegration/src/FSharp.Editor/Common/Logging.fs @@ -30,6 +30,8 @@ module Config = let fsharpOutputGuid = Guid fsharpOutputGuidString open Config +open System.Diagnostics.Metrics +open System.Text [] type Logger [] ([)>] serviceProvider: IServiceProvider) = @@ -118,11 +120,8 @@ module Logging = let logExceptionWithContext (ex: Exception, context) = logErrorf "Context: %s\nException Message: %s\nStack Trace: %s" context ex.Message ex.StackTrace -#if DEBUG -module Activity = - - open OpenTelemetry.Resources - open OpenTelemetry.Trace +module FSharpServiceTelemetry = + open FSharp.Compiler.Caches let listen filter = let indent (activity: Activity) = @@ -135,16 +134,15 @@ module Activity = String.replicate (loop activity 0) " " let collectTags (activity: Activity) = - [ for tag in activity.Tags -> $"{tag.Key}: %A{tag.Value}" ] - |> String.concat ", " + [ for tag in activity.Tags -> $"{tag.Key}: {tag.Value}" ] |> String.concat ", " let listener = new ActivityListener( - ShouldListenTo = (fun source -> source.Name = FSharp.Compiler.Diagnostics.ActivityNames.FscSourceName), + ShouldListenTo = (fun source -> source.Name = ActivityNames.FscSourceName), Sample = (fun context -> if context.Name.Contains(filter) then - ActivitySamplingResult.AllDataAndRecorded + ActivitySamplingResult.AllData else ActivitySamplingResult.None), ActivityStarted = (fun a -> logMsg $"{indent a}{a.OperationName} {collectTags a}") @@ -152,13 +150,56 @@ module Activity = ActivitySource.AddActivityListener(listener) - let export () = - OpenTelemetry.Sdk - .CreateTracerProviderBuilder() - .AddSource(ActivityNames.FscSourceName) - .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(serviceName = "F#", serviceVersion = "1.0.0")) - .AddOtlpExporter() - .Build() + let logCacheMetricsToOutput () = + + let timer = new System.Timers.Timer(1000.0, AutoReset = true) + + timer.Elapsed.Add(fun _ -> + let stats = CacheMetrics.GetStatsUpdateForAllCaches(clearCounts = true) + + if stats <> "" then + logMsg $"\n{stats}") + + timer.Start() + +#if DEBUG + open OpenTelemetry.Resources + open OpenTelemetry.Trace + open OpenTelemetry.Metrics + + let otelExport () = + // On Windows forwarding localhost to wsl2 docker container sometimes does not work. Use IP address instead. + let otlpEndpoint = Uri("http://127.0.0.1:4317") + + let meterProvider = + // Configure OpenTelemetry metrics. Metrics can be viewed in Prometheus or other compatible tools. + OpenTelemetry.Sdk + .CreateMeterProviderBuilder() + .ConfigureResource(fun r -> r.AddService("F#") |> ignore) + .AddMeter(CacheMetrics.Meter.Name) + .AddMeter("System.Runtime") + .AddOtlpExporter(fun e m -> + e.Endpoint <- otlpEndpoint + m.PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds <- 1000 + m.TemporalityPreference <- MetricReaderTemporalityPreference.Cumulative) + .Build() + + let tracerProvider = + // Configure OpenTelemetry export. Traces can be viewed in Jaeger or other compatible tools. + OpenTelemetry.Sdk + .CreateTracerProviderBuilder() + .AddSource(ActivityNames.FscSourceName) + .ConfigureResource(fun r -> r.AddService("F#") |> ignore) + .AddOtlpExporter(fun e -> e.Endpoint <- otlpEndpoint) + .Build() + + let a = Activity.startNoTags "FSharpPackage" + + fun () -> + a.Dispose() + tracerProvider.ForceFlush(5000) |> ignore + tracerProvider.Dispose() + meterProvider.Dispose() let listenToAll () = listen "" #endif diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index 5cc9cec294..4f6136b8db 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -340,73 +340,80 @@ type internal FSharpPackage() as this = let mutable solutionEventsOpt = None -#if DEBUG - let _traceProvider = Logging.Activity.export () - let _logger = Logging.Activity.listenToAll () - // Logging.Activity.listen "IncrementalBuild" -#endif - // FSI-LINKAGE-POINT: unsited init do FSharp.Interactive.Hooks.fsiConsoleWindowPackageCtorUnsited (this :> Package) - override this.InitializeAsync(cancellationToken: CancellationToken, progress: IProgress) : Tasks.Task = - // `base.` methods can't be called in the `async` builder, so we have to cache it - let baseInitializeAsync = base.InitializeAsync(cancellationToken, progress) +#if DEBUG + do Logging.FSharpServiceTelemetry.logCacheMetricsToOutput () + + let flushTelemetry = Logging.FSharpServiceTelemetry.otelExport () - foregroundCancellableTask { - do! baseInitializeAsync + override this.Dispose(disposing: bool) = + base.Dispose(disposing: bool) - let! commandService = this.GetServiceAsync(typeof) - let commandService = commandService :?> OleMenuCommandService + if disposing then + flushTelemetry () +#endif - // Switch to UI thread - do! this.JoinableTaskFactory.SwitchToMainThreadAsync() + override this.RegisterInitializationWork(packageRegistrationTasks: PackageRegistrationTasks) : unit = + base.RegisterInitializationWork(packageRegistrationTasks: PackageRegistrationTasks) - // FSI-LINKAGE-POINT: sited init - FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService + packageRegistrationTasks.AddTask( + true, + (fun progress _tasks cancellationToken -> + foregroundCancellableTask { + let! commandService = this.GetServiceAsync(typeof) + let commandService = commandService :?> OleMenuCommandService - // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded - let _fsiPropertyPage = - this.GetDialogPage(typeof) + // Switch to UI thread + do! this.JoinableTaskFactory.SwitchToMainThreadAsync() - let workspace = this.ComponentModel.GetService() + // FSI-LINKAGE-POINT: sited init + FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService - let _ = - this.ComponentModel.DefaultExportProvider.GetExport() + // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded + let _fsiPropertyPage = + this.GetDialogPage(typeof) - let optionsManager = - workspace.Services.GetService().FSharpProjectOptionsManager + let workspace = this.ComponentModel.GetService() + + let _ = + this.ComponentModel.DefaultExportProvider.GetExport() - let metadataAsSource = - this.ComponentModel.DefaultExportProvider.GetExport().Value + let optionsManager = + workspace.Services.GetService().FSharpProjectOptionsManager - let! solution = this.GetServiceAsync(typeof) - let solution = solution :?> IVsSolution + let metadataAsSource = + this.ComponentModel.DefaultExportProvider.GetExport().Value - let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) + let! solution = this.GetServiceAsync(typeof) + let solution = solution :?> IVsSolution - let! rdt = this.GetServiceAsync(typeof) - let rdt = rdt :?> IVsRunningDocumentTable + let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) - solutionEventsOpt <- Some(solutionEvents) - solution.AdviseSolutionEvents(solutionEvents) |> ignore + let! rdt = this.GetServiceAsync(typeof) + let rdt = rdt :?> IVsRunningDocumentTable - let projectContextFactory = - this.ComponentModel.GetService() + solutionEventsOpt <- Some(solutionEvents) + solution.AdviseSolutionEvents(solutionEvents) |> ignore - let miscFilesWorkspace = - this.ComponentModel.GetService() + let projectContextFactory = + this.ComponentModel.GetService() - do - SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) - |> ignore + let miscFilesWorkspace = + this.ComponentModel.GetService() - do - LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) - |> ignore + do + SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) + |> ignore - } - |> CancellableTask.startAsTask cancellationToken + do + LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) + |> ignore + + } + |> CancellableTask.startAsTask cancellationToken) + ) override _.RoslynLanguageName = FSharpConstants.FSharpLanguageName (*override this.CreateWorkspace() = this.ComponentModel.GetService() *) diff --git a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj index 89ca891597..fead682856 100644 --- a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj +++ b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj @@ -46,6 +46,7 @@ + diff --git a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj index 43e8352845..0171cdf9b2 100644 --- a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj +++ b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj @@ -57,6 +57,7 @@ + diff --git a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs index 224849a59e..a7b9020787 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs @@ -1390,6 +1390,27 @@ in x $"{3 + LanguagePrimitives.GenericZero :N0}" """ + """ + $"{({ A = 3 })}" + """, + """ + $"{({ A = 3 })}" + """ + + """ + $"{({| A = 3 |})}" + """, + """ + $"{({| A = 3 |})}" + """ + + """ + $"{({ 1..10 })}" + """, + """ + $"{({ 1..10 })}" + """ + // LibraryOnlyILAssembly """(# "ldlen.multi 2 0" array : int #)""", """(# "ldlen.multi 2 0" array : int #)""" diff --git a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj index 2a760da0f5..c084fc6f06 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj +++ b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj @@ -16,6 +16,9 @@ + + XunitSetup.fs + diff --git a/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs b/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs index 85ad11c6e2..25509f14ac 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs @@ -171,7 +171,7 @@ type TestHostWorkspaceServices(hostServices: HostServices, workspace: Workspace) |> System.Collections.Concurrent.ConcurrentDictionary let langServices = - TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) + new TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) override _.Workspace = workspace @@ -199,7 +199,7 @@ type TestHostServices() = inherit HostServices() override this.CreateWorkspaceServices(workspace) = - TestHostWorkspaceServices(this, workspace) + new TestHostWorkspaceServices(this, workspace) [] type RoslynTestHelpers private () = diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs index b5cc13f450..85182b0ca5 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs @@ -519,7 +519,7 @@ type staticInInterface = |> List.exists(fun error -> (error.ToString().Contains("新規baProgram")))) // In this bug, particular warns were still present after nowarn - [] + [] member public this.``NoWarn.Bug5424``() = let fileContent = """ #nowarn "67" // this type test or downcast will always hold diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs index 852758363c..cef4a0e71a 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs @@ -517,8 +517,9 @@ type UsingMSBuild() as this = let script1 = OpenFile(project,"Script1.fsx") MoveCursorToEndOfMarker(script1,"let y = f") - TakeCoffeeBreak(this.VS) - AssertNoErrorsOrWarnings(project) + TakeCoffeeBreak(this.VS) + AssertNoErrorsOrWarnings(project) + // AssertExactlyOneErrorSeenContaining(project, "This construct is deprecated. x") // This is expected for langVersion >= 10.0 /// FEATURE: #r in .fsx to a .dll name works. [] diff --git a/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs b/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs index 25ba0ce68d..ff00a933e2 100644 --- a/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs +++ b/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs @@ -160,7 +160,7 @@ type TestHostWorkspaceServices(hostServices: HostServices, workspace: Workspace) |> Seq.distinctBy (fun x -> x.Key) |> System.Collections.Concurrent.ConcurrentDictionary - let langServices = TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) + let langServices = new TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) override _.Workspace = workspace @@ -191,7 +191,7 @@ type TestHostServices() = inherit HostServices() override this.CreateWorkspaceServices(workspace) = - TestHostWorkspaceServices(this, workspace) :> HostWorkspaceServices + new TestHostWorkspaceServices(this, workspace) :> HostWorkspaceServices [] type RoslynTestHelpers private () =