diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 2f4ce2358e0207..3bff7a26fb1843 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
- "version": "9.0.0-prerelease.24405.1",
+ "version": "9.0.0-prerelease.25375.3",
"commands": [
"xharness"
]
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2d544524862e2d..6d8489e86c472d 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -113,3 +113,4 @@
/docs/area-owners.* @jeffhandley
/docs/issue*.md @jeffhandley
/.github/policies/ @jeffhandley @mkArtakMSFT
+/.github/workflows/ @jeffhandley @dotnet/runtime-infrastructure
diff --git a/.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md
index 9a748a085a20f1..cfd64682e8313e 100644
--- a/.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md
+++ b/.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md
@@ -22,6 +22,7 @@ main PR
-# Package authoring signed off?
+# Package authoring no longer needed in .NET 9
-IMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary [package authoring](../../docs/project/library-servicing.md) and gotten it explicitly reviewed.
+IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
+Keep in mind that we still need package authoring in .NET 8 and older versions.
\ No newline at end of file
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
new file mode 100644
index 00000000000000..f5e7799b30e2a2
--- /dev/null
+++ b/.github/workflows/README.md
@@ -0,0 +1,22 @@
+# Workflows
+
+General guidance:
+
+Please make sure to include the @dotnet/runtime-infrastructure group as a reviewer of your PRs.
+
+For workflows that are triggered by pull requests, refer to GitHub's documentation for the `pull_request` and `pull_request_target` events. The `pull_request_target` event is the more common use case in this repository as it runs the workflow in the context of the target branch instead of in the context of the pull request's fork or branch. However, workflows that need to consume the contents of the pull request need to use the `pull_request` event. There are security considerations with each of the events though.
+
+Most workflows are intended to run only in the `dotnet/runtime` repository and not in forks. To force workflow jobs to be skipped in forks, each job should apply an `if` statement that checks the repository name or owner. Either approach works, but checking only the repository owner allows the workflow to run in copies or forks withing the dotnet org.
+
+```yaml
+jobs:
+ job-1:
+ # Do not run this job in forks
+ if: github.repository == 'dotnet/runtime'
+
+ job-2:
+ # Do not run this job in forks outside the dotnet org
+ if: github.repository_owner == 'dotnet'
+```
+
+Refer to GitHub's [Workflows in forked repositories](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#workflows-in-forked-repositories) and [pull_request_target](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request_target) documentation for more information.
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index f8165363070ea5..67ddf782dc0d14 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -48,4 +48,7 @@ jobs:
- The PR target branch is `release/X.0-staging`, not `release/X.0`.
- - If the change touches code that ships in a NuGet package, you have added the necessary [package authoring](https://github.com/dotnet/runtime/blob/main/docs/project/library-servicing.md) and gotten it explicitly reviewed.
+ ## Package authoring no longer needed in .NET 9
+
+ **IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
+ Keep in mind that we still need package authoring in .NET 8 and older versions.
\ No newline at end of file
diff --git a/.github/workflows/check-no-merge-label.yml b/.github/workflows/check-no-merge-label.yml
new file mode 100644
index 00000000000000..a0bb075db84312
--- /dev/null
+++ b/.github/workflows/check-no-merge-label.yml
@@ -0,0 +1,25 @@
+name: check-no-merge-label
+
+permissions:
+ pull-requests: read
+
+on:
+ pull_request_target:
+ types: [opened, edited, reopened, labeled, unlabeled, synchronize]
+ branches:
+ - 'release/**'
+
+jobs:
+ check-labels:
+ if: github.repository == 'dotnet/runtime'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check 'NO-MERGE' label
+ run: |
+ echo "Merging permission is disabled when the 'NO-MERGE' label is applied."
+ if [ "${{ contains(github.event.pull_request.labels.*.name, 'NO-MERGE') }}" = "false" ]; then
+ exit 0
+ else
+ echo "::error:: The 'NO-MERGE' label was applied to the PR. Merging is disabled."
+ exit 1
+ fi
diff --git a/.github/workflows/check-service-labels.yml b/.github/workflows/check-service-labels.yml
index 5261cc165ee128..f2e800feea5bcf 100644
--- a/.github/workflows/check-service-labels.yml
+++ b/.github/workflows/check-service-labels.yml
@@ -4,18 +4,19 @@ permissions:
pull-requests: read
on:
- pull_request:
+ pull_request_target:
types: [opened, edited, reopened, labeled, unlabeled, synchronize]
branches:
- 'release/**'
jobs:
check-labels:
+ if: github.repository == 'dotnet/runtime'
runs-on: ubuntu-latest
steps:
- name: Check 'Servicing-approved' label
run: |
- echo "Merging permission is enabled for servicing PRs when the `Servicing-approved` label is applied."
+ echo "Merging permission is enabled for servicing PRs when the 'Servicing-approved' label is applied."
if [ "${{ contains(github.event.pull_request.labels.*.name, 'Servicing-approved') }}" = "true" ]; then
exit 0
else
diff --git a/.github/workflows/jit-format.yml b/.github/workflows/jit-format.yml
index be0a5d854a9caa..18fb209c628afc 100644
--- a/.github/workflows/jit-format.yml
+++ b/.github/workflows/jit-format.yml
@@ -15,7 +15,7 @@ jobs:
os:
- name: linux
image: ubuntu-latest
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-amd64
extension: '.sh'
cross: '--cross'
rootfs: '/crossrootfs/x64'
diff --git a/Directory.Build.props b/Directory.Build.props
index 688fcaec63b4f6..530286a2719d7e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -121,9 +121,8 @@
-
- 8.0.0
- net8.0
+ 9.0.0
+ net9.0
diff --git a/NuGet.config b/NuGet.config
index c35709acd8020a..52627ab5e8c7a3 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -9,8 +9,13 @@
-
+
+
+
+
+
+
-
+
https://github.com/dotnet/cecil
- e51bd3677d5674fa34bf5676c5fc5562206bf94e
+ 788a8a7481c01a7d235110cdea2ca5bfb34210d4
-
+
https://github.com/dotnet/emsdk
- 763d10a1a251be35337ee736832bfde3f9200672
+ dc8e3478c4aa5f6a103329333c2bdbcd07a07741
-
+
https://github.com/dotnet/emsdk
- 763d10a1a251be35337ee736832bfde3f9200672
+ dc8e3478c4aa5f6a103329333c2bdbcd07a07741
-
+
https://github.com/dotnet/emsdk
- 763d10a1a251be35337ee736832bfde3f9200672
+ dc8e3478c4aa5f6a103329333c2bdbcd07a07741
-
+
https://github.com/dotnet/source-build-reference-packages
- c43ee853e96528e2f2eb0f6d8c151ddc07b6a844
+ 9859d82ffce48f49b5e93fa46a38bdddc4ba26be
-
+
https://github.com/dotnet/source-build-externals
- 4df883d781a4290873b3b968afc0ff0df7132507
+ ab469606a3e6b026dcac301e2dab96117c94faeb
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
-
+
https://github.com/dotnet/llvm-project
- 966011b3b666d1bf58d86666add23a9d401ee26a
+ 5ad97991b0fc050c73bc3d49d425b1a0fbb8d8d2
https://github.com/dotnet/runtime
@@ -320,21 +320,21 @@
https://github.com/dotnet/runtime
b030c4dfdfa1bf287f10f96006619a06bc2000ae
-
+
https://github.com/dotnet/xharness
- 9794254fa909ff5adc46326e9b54009793f61dcd
+ 604c13925074041a51e4533959477c8b6888dcf5
-
+
https://github.com/dotnet/xharness
- 9794254fa909ff5adc46326e9b54009793f61dcd
+ 604c13925074041a51e4533959477c8b6888dcf5
-
+
https://github.com/dotnet/xharness
- 9794254fa909ff5adc46326e9b54009793f61dcd
+ 604c13925074041a51e4533959477c8b6888dcf5
-
+
https://github.com/dotnet/arcade
- 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
+ 1a2e280a031aaed0dca606ec8c59c6fe0f9bfc7f
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
@@ -352,48 +352,48 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
9d7532585ce71e30ab55f0364d3cecccaf0775d1
-
+
https://github.com/dotnet/hotreload-utils
- bf7e87a8574449a441bf905e2acd38e4aa25b3d4
+ 3eb23e965fcc8cf3f6bec6e3e2543a81e52b6d20
-
+
https://github.com/dotnet/runtime-assets
- e98370e661a19bdfed31eefb8740ecfad255f9ed
+ c77fd5058ea46e9d0b58f5c11b6808d6170e4e32
-
+
https://github.com/dotnet/roslyn
- 3bff3622487486dec7794dfd0c71e05a52c313a4
+ 5f78534e8ac55b615a3540e7c1ffedee9ced6e1e
-
+
https://github.com/dotnet/roslyn
- 3bff3622487486dec7794dfd0c71e05a52c313a4
+ 5f78534e8ac55b615a3540e7c1ffedee9ced6e1e
-
+
https://github.com/dotnet/roslyn
- 3bff3622487486dec7794dfd0c71e05a52c313a4
+ 5f78534e8ac55b615a3540e7c1ffedee9ced6e1e
-
+
https://github.com/dotnet/roslyn-analyzers
- 3d61c57c73c3dd5f1f407ef9cd3414d94bf0eaf2
+ 16865ea61910500f1022ad2b96c499e5df02c228
-
+
https://github.com/dotnet/roslyn-analyzers
- 3d61c57c73c3dd5f1f407ef9cd3414d94bf0eaf2
+ 16865ea61910500f1022ad2b96c499e5df02c228
-
+
https://github.com/dotnet/roslyn
- 3bff3622487486dec7794dfd0c71e05a52c313a4
+ 5f78534e8ac55b615a3540e7c1ffedee9ced6e1e
-
+
https://github.com/dotnet/sdk
- 5b9d9d4677ea31d954533e9de2f95a3ea638135d
+ 8128984181a05a7dc0de748ad3371e0a7f153f35
-
+
https://github.com/dotnet/sdk
- 5b9d9d4677ea31d954533e9de2f95a3ea638135d
+ 8128984181a05a7dc0de748ad3371e0a7f153f35
diff --git a/eng/Versions.props b/eng/Versions.props
index 24c0c9e1048042..64002194d43947 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,16 +1,16 @@
- 9.0.0
+ 9.0.9
9
0
- 0
+ 9
9.0.100
- 8.0.11
+ 8.0.$([MSBuild]::Add($(PatchVersion),11))
7.0.20
6.0.36
- rtm
+ servicing
@@ -36,17 +36,17 @@
- 3.11.0-beta1.24508.2
- 9.0.0-preview.24508.2
+ 3.11.0-beta1.25173.3
+ 9.0.0-preview.25173.3
- 4.12.0-3.24516.15
- 4.12.0-3.24516.15
- 4.12.0-3.24516.15
+ 4.12.0-3.25377.4
+ 4.12.0-3.25377.4
+ 4.12.0-3.25377.4
- 9.0.100-rtm.24512.1
+ 9.0.109
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 2.9.0-beta.24516.2
- 9.0.0-beta.24516.2
- 2.9.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
- 9.0.0-beta.24516.2
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 2.9.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 2.9.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
+ 9.0.0-beta.25366.1
1.4.0
@@ -141,20 +141,20 @@
8.0.0
8.0.0
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
- 9.0.0-beta.24459.2
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
+ 9.0.0-beta.25313.1
1.0.0-prerelease.24462.2
1.0.0-prerelease.24462.2
@@ -164,7 +164,7 @@
1.0.0-prerelease.24462.2
2.0.0
- 17.10.0-beta1.24272.1
+ 17.12.0-beta1.24603.5
2.0.0-beta4.24324.3
3.1.7
2.1.0
@@ -184,10 +184,10 @@
1.4.0
17.4.0-preview-20220707-01
- 9.0.0-prerelease.24405.1
- 9.0.0-prerelease.24405.1
- 9.0.0-prerelease.24405.1
- 9.0.0-alpha.0.24514.3
+ 9.0.0-prerelease.25375.3
+ 9.0.0-prerelease.25375.3
+ 9.0.0-prerelease.25375.3
+ 9.0.0-alpha.0.25330.3
3.12.0
4.5.0
6.0.0
@@ -215,54 +215,55 @@
9.0.0-preview-20241010.1
- 0.11.5-alpha.24515.1
+ 0.11.5-alpha.25370.2
9.0.0-rtm.24511.16
- 9.0.0-rtm.24516.3
+ 9.0.0-rtm.25371.1
9.0.0-rtm.24466.4
- 2.4.3
+ 2.4.8
9.0.0-alpha.1.24167.3
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
- 9.0.0-rtm.24528.2
- 9.0.0
+ 9.0.9-servicing.25418.4
+ 9.0.9
$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100Version)
1.1.87-gba258badda
1.0.0-v3.14.0.5722
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
- 19.1.0-alpha.1.24519.2
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
+ 19.1.0-alpha.1.25414.3
3.1.7
1.0.406601
- $(MicrosoftDotNetApiCompatTaskVersion)
+
+ 9.0.107
9.0.0-alpha.1.24175.1
$(MicrosoftNETRuntimeEmscriptenVersion)
$(runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion)
diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml
index ba53ebfbd51334..abe80a2a0e09c9 100644
--- a/eng/common/core-templates/job/job.yml
+++ b/eng/common/core-templates/job/job.yml
@@ -134,6 +134,10 @@ jobs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
env:
TeamName: $(_TeamName)
MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
diff --git a/eng/common/core-templates/job/source-build.yml b/eng/common/core-templates/job/source-build.yml
index c4713c8b6ede8a..d47f09d58fd9a8 100644
--- a/eng/common/core-templates/job/source-build.yml
+++ b/eng/common/core-templates/job/source-build.yml
@@ -26,6 +26,8 @@ parameters:
# Specifies the build script to invoke to perform the build in the repo. The default
# './build.sh' should work for typical Arcade repositories, but this is customizable for
# difficult situations.
+ # buildArguments: ''
+ # Specifies additional build arguments to pass to the build script.
# jobProperties: {}
# A list of job properties to inject at the top level, for potential extensibility beyond
# container and pool.
diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml
index 205fb5b3a39563..8b833332b3ee96 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/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml
index 454fd75c7aff19..a8c0bd3b9214e5 100644
--- a/eng/common/core-templates/post-build/post-build.yml
+++ b/eng/common/core-templates/post-build/post-build.yml
@@ -44,6 +44,11 @@ parameters:
displayName: Publish installers and checksums
type: boolean
default: true
+
+ - name: requireDefaultChannels
+ displayName: Fail the build if there are no default channel(s) registrations for the current build
+ type: boolean
+ default: false
- name: SDLValidationParameters
type: object
@@ -312,5 +317,6 @@ stages:
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
-AzdoToken '$(System.AccessToken)'
-WaitPublishingFinish true
+ -RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml
index d938b60e1bb534..56a090094824f4 100644
--- a/eng/common/core-templates/steps/generate-sbom.yml
+++ b/eng/common/core-templates/steps/generate-sbom.yml
@@ -38,7 +38,7 @@ steps:
PackageName: ${{ parameters.packageName }}
BuildDropPath: ${{ parameters.buildDropPath }}
PackageVersion: ${{ parameters.packageVersion }}
- ManifestDirPath: ${{ parameters.manifestDirPath }}
+ ManifestDirPath: ${{ parameters.manifestDirPath }}/$(ARTIFACT_NAME)
${{ if ne(parameters.IgnoreDirectories, '') }}:
AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}'
diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml
index 2915d29bb7f6e6..37133b55b7541b 100644
--- a/eng/common/core-templates/steps/source-build.yml
+++ b/eng/common/core-templates/steps/source-build.yml
@@ -79,6 +79,7 @@ steps:
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
--configuration $buildConfig \
--restore --build --pack $publishArgs -bl \
+ ${{ parameters.platform.buildArguments }} \
$officialBuildArgs \
$internalRuntimeDownloadArgs \
$internalRestoreArgs \
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 9a4e285a5ae3f0..9a7ecfbd42c5f3 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -81,7 +81,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
else()
set(TOOLCHAIN "riscv64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
+ set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +98,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
elseif(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
@@ -115,7 +115,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(TOOLCHAIN "i686-linux-gnu")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
endif()
else()
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -127,30 +127,25 @@ endif()
# Specify include paths
if(TIZEN)
- if(TARGET_ARCH_NAME STREQUAL "arm")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "armel")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "arm64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "riscv64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
+ function(find_toolchain_dir prefix)
+ # Dynamically find the version subdirectory
+ file(GLOB DIRECTORIES "${prefix}/*")
+ list(GET DIRECTORIES 0 FIRST_MATCH)
+ get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
+
+ set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
+ endfunction()
+
+ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ else()
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
+
+ message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
+
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
endif()
if(ANDROID)
@@ -272,21 +267,21 @@ endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -297,10 +292,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
endif()
add_toolchain_linker_flag(-m32)
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1
index 3e5c1c74a1c50d..a0c7d792a76fbe 100644
--- a/eng/common/generate-sbom-prep.ps1
+++ b/eng/common/generate-sbom-prep.ps1
@@ -4,18 +4,26 @@ Param(
. $PSScriptRoot\pipeline-logging-functions.ps1
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+$ArtifactName = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM"
+$SafeArtifactName = $ArtifactName -replace '["/:<>\\|?@*"() ]', '_'
+$SbomGenerationDir = Join-Path $ManifestDirPath $SafeArtifactName
+
+Write-Host "Artifact name before : $ArtifactName"
+Write-Host "Artifact name after : $SafeArtifactName"
+
Write-Host "Creating dir $ManifestDirPath"
+
# create directory for sbom manifest to be placed
-if (!(Test-Path -path $ManifestDirPath))
+if (!(Test-Path -path $SbomGenerationDir))
{
- New-Item -ItemType Directory -path $ManifestDirPath
- Write-Host "Successfully created directory $ManifestDirPath"
+ New-Item -ItemType Directory -path $SbomGenerationDir
+ Write-Host "Successfully created directory $SbomGenerationDir"
}
else{
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
}
Write-Host "Updating artifact name"
-$artifact_name = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" -replace '["/:<>\\|?@*"() ]', '_'
-Write-Host "Artifact name $artifact_name"
-Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$artifact_name"
+Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$SafeArtifactName"
diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh
index d5c76dc827b496..b8ecca72bbf506 100644
--- a/eng/common/generate-sbom-prep.sh
+++ b/eng/common/generate-sbom-prep.sh
@@ -14,19 +14,24 @@ done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
. $scriptroot/pipeline-logging-functions.sh
+
+# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
+artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
+safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
manifest_dir=$1
-if [ ! -d "$manifest_dir" ] ; then
- mkdir -p "$manifest_dir"
- echo "Sbom directory created." $manifest_dir
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+sbom_generation_dir="$manifest_dir/$safe_artifact_name"
+
+if [ ! -d "$sbom_generation_dir" ] ; then
+ mkdir -p "$sbom_generation_dir"
+ echo "Sbom directory created." $sbom_generation_dir
else
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
fi
-artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
echo "Artifact name before : "$artifact_name
-# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
-safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
echo "Artifact name after : "$safe_artifact_name
export ARTIFACT_NAME=$safe_artifact_name
echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name"
diff --git a/eng/common/internal/NuGet.config b/eng/common/internal/NuGet.config
index 19d3d311b166f5..f70261ed689bce 100644
--- a/eng/common/internal/NuGet.config
+++ b/eng/common/internal/NuGet.config
@@ -4,4 +4,7 @@
+
+
+
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 32f79dfb3402c0..feaa6d20812d8f 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -15,16 +15,6 @@
-
-
-
- https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
-
-
- $(RestoreSources);
- https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
-
-
diff --git a/eng/common/post-build/publish-using-darc.ps1 b/eng/common/post-build/publish-using-darc.ps1
index 90b58e32a87bfb..a261517ef90679 100644
--- a/eng/common/post-build/publish-using-darc.ps1
+++ b/eng/common/post-build/publish-using-darc.ps1
@@ -5,7 +5,8 @@ param(
[Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
- [Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters
+ [Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
+ [Parameter(Mandatory=$false)][string] $RequireDefaultChannels
)
try {
@@ -33,6 +34,10 @@ try {
if ("false" -eq $WaitPublishingFinish) {
$optionalParams.Add("--no-wait") | Out-Null
}
+
+ if ("true" -eq $RequireDefaultChannels) {
+ $optionalParams.Add("--default-channels-required") | Out-Null
+ }
& $darc add-build-to-channel `
--id $buildId `
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index aab40de3fd9aca..4f0546dce1208d 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
- $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.10.0-pre.4.0" -MemberType NoteProperty
+ $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md
index 5ef6c30ba92465..98bbc1ded0ba88 100644
--- a/eng/common/template-guidance.md
+++ b/eng/common/template-guidance.md
@@ -57,7 +57,7 @@ extends:
Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable when referencing `templates-official`).
-# Development notes
+## Development notes
**Folder / file structure**
diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml
index 605692d2fb770c..817555505aa602 100644
--- a/eng/common/templates-official/job/job.yml
+++ b/eng/common/templates-official/job/job.yml
@@ -16,6 +16,7 @@ jobs:
parameters:
PackageVersion: ${{ parameters.packageVersion }}
BuildDropPath: ${{ parameters.buildDropPath }}
+ ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
publishArtifacts: false
# publish artifacts
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 22954477a5747f..9b3ad8840fdb28 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -42,7 +42,7 @@
[bool]$useInstalledDotNetCli = if (Test-Path variable:useInstalledDotNetCli) { $useInstalledDotNetCli } else { $true }
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.ps1
[string]$dotnetInstallScriptVersion = if (Test-Path variable:dotnetInstallScriptVersion) { $dotnetInstallScriptVersion } else { 'v1' }
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -262,7 +262,7 @@ function GetDotNetInstallScript([string] $dotnetRoot) {
if (!(Test-Path $installScript)) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
- $uri = "https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
+ $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
Retry({
Write-Host "GET $uri"
@@ -320,7 +320,7 @@ function InstallDotNet([string] $dotnetRoot,
$variations += @($installParameters)
$dotnetBuilds = $installParameters.Clone()
- $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
+ $dotnetbuilds.AzureFeed = "https://ci.dot.net/public"
$variations += @($dotnetBuilds)
if ($runtimeSourceFeed) {
@@ -383,8 +383,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
- # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.10.0-pre.4.0
- $defaultXCopyMSBuildVersion = '17.10.0-pre.4.0'
+ # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.12.0
+ $defaultXCopyMSBuildVersion = '17.12.0'
if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
@@ -416,7 +416,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# Locate Visual Studio installation or download x-copy msbuild.
$vsInfo = LocateVisualStudio $vsRequirements
- if ($vsInfo -ne $null) {
+ if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
# Ensure vsInstallDir has a trailing slash
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 00473c9f918d47..01b09b65796c17 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -54,7 +54,7 @@ warn_as_error=${warn_as_error:-true}
use_installed_dotnet_cli=${use_installed_dotnet_cli:-true}
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh
dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'}
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -232,7 +232,7 @@ function InstallDotNet {
local public_location=("${installParameters[@]}")
variations+=(public_location)
- local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://dotnetbuilds.azureedge.net/public")
+ local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://ci.dot.net/public")
variations+=(dotnetbuilds)
if [[ -n "${6:-}" ]]; then
@@ -295,7 +295,7 @@ function with_retries {
function GetDotNetInstallScript {
local root=$1
local install_script="$root/dotnet-install.sh"
- local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
+ local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
if [[ ! -a "$install_script" ]]; then
mkdir -p "$root"
diff --git a/eng/install-native-dependencies.sh b/eng/install-native-dependencies.sh
index 41895e0b9254c8..f8c9db632860de 100755
--- a/eng/install-native-dependencies.sh
+++ b/eng/install-native-dependencies.sh
@@ -44,7 +44,7 @@ case "$os" in
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
# Skip brew update for now, see https://github.com/actions/setup-python/issues/577
# brew update --preinstall
- brew bundle --no-upgrade --no-lock --file "$(dirname "$0")/Brewfile"
+ brew bundle --no-upgrade --file "$(dirname "$0")/Brewfile"
;;
*)
diff --git a/eng/packaging.targets b/eng/packaging.targets
index 99912459fe02c1..a14c954df54dbc 100644
--- a/eng/packaging.targets
+++ b/eng/packaging.targets
@@ -27,8 +27,6 @@
PACKAGE.md
$(BeforePack);ValidatePackageReadmeExists
-
- false
true
-
- true
false
@@ -58,18 +48,6 @@
$(NoWarn);CP0003
-
-
- 0
-
-
- $(MajorVersion).$(MinorVersion).$(ServicingVersion)
- $(Version)-$(VersionSuffix)
-
-
@@ -155,7 +133,7 @@
- <_RuntimeSymbolPath Include="$(RuntimeSymbolPath)" />
+ <_RuntimeSymbolPath Include="@(TfmRuntimeSpecificPackageFile->'%(RootDir)%(Directory)%(FileName).pdb')" Condition="'%(TfmRuntimeSpecificPackageFile.Extension)' == '.dll'" KeepMetadata="None" />
-
-
-
-
diff --git a/eng/pipelines/common/macos-sign-with-entitlements.yml b/eng/pipelines/common/macos-sign-with-entitlements.yml
index 72a03b90f340d6..6a20a31481eb9d 100644
--- a/eng/pipelines/common/macos-sign-with-entitlements.yml
+++ b/eng/pipelines/common/macos-sign-with-entitlements.yml
@@ -30,12 +30,13 @@ steps:
- task: EsrpCodeSigning@5
displayName: 'ESRP CodeSigning'
inputs:
- ConnectedServiceName: 'DotNet-Engineering-Services_KeyVault'
- AppRegistrationClientId: '28ec6507-2167-4eaa-a294-34408cf5dd0e'
- AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
- AuthAKVName: 'EngKeyVault'
- AuthCertName: 'DotNetCore-ESRP-AuthCert'
- AuthSignCertName: 'DotNetCore-ESRP-AuthSignCert'
+ ConnectedServiceName: 'DotNetBuildESRP'
+ UseMSIAuthentication: true
+ EsrpClientId: '28ec6507-2167-4eaa-a294-34408cf5dd0e'
+ AppRegistrationClientId: '0ecbcdb7-8451-4cbe-940a-4ed97b08b955'
+ AppRegistrationTenantId: '975f013f-7f24-47e8-a7d3-abc4752bf346'
+ AuthAKVName: 'DotNetEngKeyVault'
+ AuthSignCertName: 'DotNet-ESRP-AuthSignCert'
FolderPath: '$(Build.ArtifactStagingDirectory)/'
Pattern: 'mac_entitled_to_sign.zip'
UseMinimatch: true
diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml
index cf2b9f53e528b5..b99d425f52b58f 100644
--- a/eng/pipelines/common/templates/pipeline-with-resources.yml
+++ b/eng/pipelines/common/templates/pipeline-with-resources.yml
@@ -17,54 +17,49 @@ extends:
containers:
linux_arm:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-arm
env:
ROOTFS_DIR: /crossrootfs/arm
- linux_armv6:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10
- env:
- ROOTFS_DIR: /crossrootfs/armv6
-
linux_arm64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-arm64
env:
ROOTFS_DIR: /crossrootfs/arm64
linux_musl_x64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-alpine-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-amd64-alpine
env:
ROOTFS_DIR: /crossrootfs/x64
linux_musl_arm:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm-alpine-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-arm-alpine
env:
ROOTFS_DIR: /crossrootfs/arm
linux_musl_arm64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm64-alpine-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-arm64-alpine
env:
ROOTFS_DIR: /crossrootfs/arm64
# This container contains all required toolsets to build for Android and for Linux with bionic libc.
android:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-android-amd64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-android-amd64
# This container contains all required toolsets to build for Android and for Linux with bionic libc and a special layout of OpenSSL.
linux_bionic:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-android-openssl-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-android-openssl
# This container contains all required toolsets to build for Android as well as tooling to build docker images.
android_docker:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-android-docker-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-android-docker
linux_x64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-amd64
env:
ROOTFS_DIR: /crossrootfs/x64
linux_x86:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-x86-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-x86
env:
ROOTFS_DIR: /crossrootfs/x86
@@ -72,33 +67,32 @@ extends:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
linux_musl_x64_dev_innerloop:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.21-amd64
linux_x64_sanitizer:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0-sanitizer
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-amd64-sanitizer
env:
ROOTFS_DIR: /crossrootfs/x64
- # We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
+ # We use a CentOS Stream image here to test building from source on CentOS Stream
SourceBuild_centos_x64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
-
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
# AlmaLinux 8 is a RHEL 8 rebuild, so we use it to test building from source on RHEL 8.
SourceBuild_linux_x64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-source-build
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-9-source-build-amd64
linux_s390x:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-s390x-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-s390x
env:
ROOTFS_DIR: /crossrootfs/s390x
linux_ppc64le:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-ppc64le-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-ppc64le
env:
ROOTFS_DIR: /crossrootfs/ppc64le
linux_riscv64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-riscv64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-riscv64
env:
ROOTFS_DIR: /crossrootfs/riscv64
@@ -106,20 +100,20 @@ extends:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc14-amd64
linux_x64_llvmaot:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
browser_wasm:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-webassembly-amd64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-webassembly-amd64
env:
ROOTFS_DIR: /crossrootfs/x64
wasi_wasm:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-webassembly-amd64-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-webassembly-amd64
env:
ROOTFS_DIR: /crossrootfs/x64
freebsd_x64:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-freebsd-13-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-cross-freebsd-13
env:
ROOTFS_DIR: /crossrootfs/x64
@@ -132,4 +126,4 @@ extends:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
rpmpkg:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-fpm-net9.0
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-fpm
diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml
index f50a2db9e81ec5..39676f8fd9b292 100644
--- a/eng/pipelines/common/xplat-setup.yml
+++ b/eng/pipelines/common/xplat-setup.yml
@@ -170,12 +170,12 @@ jobs:
# OSX Public Build Pool (we don't have on-prem OSX BuildPool).
${{ if and(in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator'), eq(variables['System.TeamProject'], 'public')) }}:
- vmImage: 'macos-12'
+ vmImage: 'macos-13'
# OSX Internal Pool
${{ if and(in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator'), ne(variables['System.TeamProject'], 'public')) }}:
name: "Azure Pipelines"
- vmImage: 'macOS-12'
+ vmImage: 'macOS-13'
os: macOS
# Official Build Windows Pool
diff --git a/eng/pipelines/coreclr/perf-non-wasm-jobs.yml b/eng/pipelines/coreclr/perf-non-wasm-jobs.yml
index df9c99e5297d63..78b035fa0228ea 100644
--- a/eng/pipelines/coreclr/perf-non-wasm-jobs.yml
+++ b/eng/pipelines/coreclr/perf-non-wasm-jobs.yml
@@ -374,7 +374,7 @@ jobs:
nameSuffix: PerfBDNApp
isOfficialBuild: false
pool:
- vmImage: 'macos-12'
+ vmImage: 'macos-13'
postBuildSteps:
- template: /eng/pipelines/coreclr/templates/build-perf-bdn-app.yml
parameters:
diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml
index a9dae35f177eb4..4d05678f0b7293 100644
--- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml
+++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml
@@ -34,11 +34,11 @@ jobs:
# iOS Simulator/Mac Catalyst arm64
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
- - OSX.1200.Arm64.Open
+ - OSX.14.Arm64.Open
# iOS/tvOS Simulator x64 & MacCatalyst x64
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
- - OSX.1200.Amd64.Open
+ - OSX.15.Amd64.Open
# Android arm64
- ${{ if in(parameters.platform, 'android_arm64') }}:
@@ -63,44 +63,44 @@ jobs:
# Linux arm
- ${{ if eq(parameters.platform, 'linux_arm') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - (Debian.12.Arm32.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
+ - (Debian.12.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - (Debian.12.Arm32)Ubuntu.2004.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
+ - (Debian.12.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
# Linux arm64
- ${{ if eq(parameters.platform, 'linux_arm64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - (Ubuntu.2004.Arm64.Open)Ubuntu.2004.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-helix-arm64v8
+ - (Ubuntu.2204.Arm64.Open)Ubuntu.2204.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-arm64v8
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - (Ubuntu.2004.Arm64)Ubuntu.2004.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-helix-arm64v8
+ - (Ubuntu.2204.Arm64)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-arm64v8
# Linux musl x64
- ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - (Alpine.317.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-amd64
+ - (Alpine.322.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - (Alpine.317.Amd64)Ubuntu.2204.Amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-amd64
+ - (Alpine.322.Amd64)AzureLinux.3.Amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
# Linux musl arm32
- ${{ if eq(parameters.platform, 'linux_musl_arm') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - (Alpine.316.Arm32.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-arm32v7
+ - (Alpine.322.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm32v7
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - (Alpine.316.Arm32)Ubuntu.2004.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-arm32v7
+ - (Alpine.322.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm32v7
# Linux musl arm64
- ${{ if eq(parameters.platform, 'linux_musl_arm64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - (Alpine.317.Arm64.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-arm64v8
+ - (Alpine.322.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - (Alpine.317.Arm64)Ubuntu.2004.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-arm64v8
+ - (Alpine.322.Arm64)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
# Linux x64
- ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - Ubuntu.2204.Amd64.Open
+ - AzureLinux.3.Amd64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - Ubuntu.2204.Amd64
+ - AzureLinux.3.Amd64
# OSX arm64
- ${{ if eq(parameters.platform, 'osx_arm64') }}:
diff --git a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml
index 2e6ec556150b8f..64c8ff12e4cb2d 100644
--- a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml
+++ b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml
@@ -15,12 +15,12 @@ steps:
- task: EsrpCodeSigning@5
displayName: Sign Diagnostic Binaries
inputs:
- ConnectedServiceName: 'diagnostics-esrp-kvcertuser'
- AppRegistrationClientId: '2234cdec-a13f-4bb2-aa63-04c57fd7a1f9'
- AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
- AuthAKVName: 'clrdiag-esrp-id'
- AuthCertName: 'dotnetesrp-diagnostics-aad-ssl-cert'
- AuthSignCertName: 'dotnet-diagnostics-esrp-pki-onecert'
+ ConnectedServiceName: 'diagnostics-esrp-kvcertuser-pme'
+ AppRegistrationClientId: '22346933-af99-4e94-97d5-7fa1dcf4bba6'
+ AppRegistrationTenantId: '975f013f-7f24-47e8-a7d3-abc4752bf346'
+ AuthAKVName: 'clrdiag-esrp-pme'
+ AuthCertName: 'dac-dnceng-ssl-cert'
+ AuthSignCertName: 'dac-dnceng-esrpclient-cert'
FolderPath: ${{ parameters.basePath }}
Pattern: |
**/mscordaccore*.dll
@@ -69,7 +69,7 @@ steps:
}
if ($signingCert.Subject -ne "CN=.NET DAC, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" `
- -or $signingCert.Issuer -ne "CN=Microsoft Code Signing PCA 2010, O=Microsoft Corporation, L=Redmond, S=Washington, C=US")
+ -or $signingCert.Issuer -ne "CN=Microsoft Windows Code Signing PCA 2024, O=Microsoft Corporation, C=US")
{
throw "File $file not in expected trust chain."
}
diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
index 9794c736e2e823..0e83d79eb382d8 100644
--- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
+++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
@@ -37,10 +37,9 @@ jobs:
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
# Don't trim tests on rolling builds
${{ if eq(variables['isRollingBuild'], true) }}:
- buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false
+ buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false
${{ else }}:
- # Tracking issue: https://github.com/dotnet/runtime/issues/82637
- buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false
+ buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=true
timeoutInMinutes: 480
# extra steps, run tests
postBuildSteps:
diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
index 7ce0a0c3568aac..75ad650c119d74 100644
--- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
+++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
@@ -25,9 +25,7 @@ jobs:
platforms:
- iossimulator_x64
- tvossimulator_x64
- # don't run tests on arm64 PRs until we can get significantly more devices
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - iossimulator_arm64
+ - iossimulator_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
@@ -61,9 +59,7 @@ jobs:
platforms:
- iossimulator_x64
- tvossimulator_x64
- # don't run tests on arm64 PRs until we can get significantly more devices
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - iossimulator_arm64
+ - iossimulator_arm64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
@@ -109,9 +105,7 @@ jobs:
platforms:
- iossimulator_x64
- tvossimulator_x64
- # don't run tests on arm64 PRs until we can get significantly more devices
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - iossimulator_arm64
+ - iossimulator_arm64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml
index 5b660a70bf7680..cb8447877b09d4 100644
--- a/eng/pipelines/libraries/helix-queues-setup.yml
+++ b/eng/pipelines/libraries/helix-queues-setup.yml
@@ -26,65 +26,50 @@ jobs:
# Linux arm
- ${{ if eq(parameters.platform, 'linux_arm') }}:
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - (Debian.12.Arm32.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
-
- # Linux armv6
- - ${{ if eq(parameters.platform, 'linux_armv6') }}:
- - (Raspbian.10.Armv6.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:raspbian-10-helix-arm32v6
-
+ - (Debian.12.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
# Linux arm64
- ${{ if eq(parameters.platform, 'linux_arm64') }}:
- - (Ubuntu.2204.Arm64.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-arm64v8
+ - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
+ - (Ubuntu.2204.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-arm64v8
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - (Debian.11.Arm64.Open)Ubuntu.2004.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-arm64v8
+ - (AzureLinux.3.0.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-arm64v8
# Linux musl x64
- ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
- - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - (Alpine.317.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-amd64
- - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - (Alpine.320.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-amd64
- - (Alpine.318.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.18-helix-amd64
+ - (Alpine.322.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
# Linux musl arm64
- - ${{ if and(eq(parameters.platform, 'linux_musl_arm64'), or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true))) }}:
- - (Alpine.320.Arm64.Open)ubuntu.2004.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-arm64v8
- - (Alpine.318.Arm64.Open)ubuntu.2004.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.18-helix-arm64v8
- - (Alpine.317.Arm64.Open)ubuntu.2004.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-helix-arm64v8
+ - ${{ if eq(parameters.platform, 'linux_musl_arm64') }}:
+ - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
+ - (Alpine.322.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
+
# Linux x64
- ${{ if eq(parameters.platform, 'linux_x64') }}:
- - ${{ if and(eq(parameters.jobParameters.interpreter, ''), ne(parameters.jobParameters.isSingleFile, true)) }}:
- - ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
- - SLES.15.Amd64.Open
- - (Centos.8.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-helix
- - (Fedora.38.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38-helix
- - (Ubuntu.2204.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64
- - (Debian.11.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64
- - ${{ if or(ne(parameters.jobParameters.testScope, 'outerloop'), ne(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
- - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - SLES.15.Amd64.Open
- - (Fedora.38.Amd64.Open)ubuntu.2204.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38-helix
- - Ubuntu.2204.Amd64.Open
- - (Debian.11.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64
- - (Mariner.2.0.Amd64.Open)Ubuntu.2204.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-helix-amd64
- - (AzureLinux.3.0.Amd64.Open)Ubuntu.2204.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64
- - (openSUSE.15.2.Amd64.Open)Ubuntu.2204.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.2-helix-amd64
- - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - (Centos.8.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-helix
- - (Debian.11.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64
- - Ubuntu.2204.Amd64.Open
- ${{ if or(eq(parameters.jobParameters.interpreter, 'true'), eq(parameters.jobParameters.isSingleFile, true)) }}:
# Limiting interp runs as we don't need as much coverage.
- - (Debian.11.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64
-
- # Linux s390x
- - ${{ if eq(parameters.platform, 'linux_s390x') }}:
- - Ubuntu.2004.S390X.Experimental.Open
-
- # Linux PPC64le
- - ${{ if eq(parameters.platform, 'linux_ppc64le') }}:
- - Ubuntu.2204.PPC64le.Experimental.Open
+ - (Debian.12.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64
+
+ - ${{ else }}:
+ - ${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
+ # Mono path - test minimal scenario
+ - Ubuntu.2204.Amd64.Open
+ - ${{ else }}:
+ # CoreCLR path
+ - ${{ if and(eq(parameters.jobParameters.isExtraPlatformsBuild, true), ne(parameters.jobParameters.testScope, 'outerloop'))}}:
+ # extra-platforms CoreCLR (inner loop only)
+ - (Debian.12.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64
+ - (Mariner.2.0.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-helix-amd64
+
+ - ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
+ # outerloop only CoreCLR
+ - AzureLinux.3.Amd64.Open
+
+ - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true))}}:
+ # inner and outer loop CoreCLR (general set)
+ - Ubuntu.2204.Amd64.Open
+ - (AzureLinux.3.0.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64
+ - (Centos.10.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64
# OSX arm64
- ${{ if eq(parameters.platform, 'osx_arm64') }}:
@@ -102,11 +87,11 @@ jobs:
# iOS Simulator/Mac Catalyst arm64
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
- - OSX.1200.Arm64.Open
+ - OSX.14.Arm64.Open
# iOS/tvOS Simulator x64 & MacCatalyst x64
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
- - OSX.1200.Amd64.Open
+ - OSX.15.Amd64.Open
# iOS devices
- ${{ if in(parameters.platform, 'ios_arm64') }}:
@@ -130,7 +115,6 @@ jobs:
- ${{ if ne(parameters.jobParameters.testScope, 'outerloop') }}:
- (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - Windows.81.Amd64.Open
- Windows.Amd64.Server2022.Open
- Windows.11.Amd64.Client.Open
- ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
@@ -168,18 +152,18 @@ jobs:
# WASI
- ${{ if eq(parameters.platform, 'wasi_wasm') }}:
- - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
+ - (Ubuntu.2204.Amd64)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
# Browser WebAssembly
- ${{ if eq(parameters.platform, 'browser_wasm') }}:
- - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
+ - (Ubuntu.2204.Amd64)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
# Browser WebAssembly Firefox
- ${{ if eq(parameters.platform, 'browser_wasm_firefox') }}:
- - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
+ - (Ubuntu.2204.Amd64)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
# Browser WebAssembly windows
- ${{ if in(parameters.platform, 'browser_wasm_win', 'wasi_wasm_win') }}:
- - (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly-20240702174122-7aba2af
+ - (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly
${{ insert }}: ${{ parameters.jobParameters }}
diff --git a/eng/pipelines/libraries/outerloop-mono.yml b/eng/pipelines/libraries/outerloop-mono.yml
index b9d4bcfecd7b27..ee4ad24571cfc7 100644
--- a/eng/pipelines/libraries/outerloop-mono.yml
+++ b/eng/pipelines/libraries/outerloop-mono.yml
@@ -6,6 +6,7 @@ schedules:
branches:
include:
- main
+ always: false # run only if there were changes since the last successful scheduled run.
variables:
- template: variables.yml
diff --git a/eng/pipelines/libraries/outerloop.yml b/eng/pipelines/libraries/outerloop.yml
index 597f298c37a3e0..14d26e86dd0b2f 100644
--- a/eng/pipelines/libraries/outerloop.yml
+++ b/eng/pipelines/libraries/outerloop.yml
@@ -6,7 +6,8 @@ schedules:
branches:
include:
- main
- - release/*.*
+ - release/*.0
+ always: false # run only if there were changes since the last successful scheduled run.
variables:
- template: variables.yml
diff --git a/eng/pipelines/libraries/stress/http.yml b/eng/pipelines/libraries/stress/http.yml
index 3290eda51ae02f..fdfd004b96eb3e 100644
--- a/eng/pipelines/libraries/stress/http.yml
+++ b/eng/pipelines/libraries/stress/http.yml
@@ -8,11 +8,11 @@ pr:
schedules:
- cron: "0 13 * * *" # 1PM UTC => 5 AM PST
displayName: HttpStress nightly run
+ always: true
branches:
include:
- main
- - release/8.0
- - release/9.0
+ - release/*-staging
variables:
- template: ../variables.yml
@@ -37,7 +37,7 @@ extends:
DUMPS_SHARE_MOUNT_ROOT: "/dumps-share"
pool:
name: $(DncEngPublicBuildPool)
- demands: ImageOverride -equals 1es-ubuntu-1804-open
+ demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
steps:
- checkout: self
diff --git a/eng/pipelines/libraries/stress/ssl.yml b/eng/pipelines/libraries/stress/ssl.yml
index 230a2bef377304..ed1306990e294b 100644
--- a/eng/pipelines/libraries/stress/ssl.yml
+++ b/eng/pipelines/libraries/stress/ssl.yml
@@ -8,11 +8,11 @@ pr:
schedules:
- cron: "0 13 * * *" # 1PM UTC => 5 AM PST
displayName: SslStress nightly run
+ always: true
branches:
include:
- main
- - release/8.0
- - release/9.0
+ - release/*-staging
variables:
- template: ../variables.yml
diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml
index eb25d311890a98..482e2cc2b1e6f5 100644
--- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml
+++ b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml
@@ -8,6 +8,9 @@ jobs:
parameters:
name: 'PrepareSignedArtifacts'
displayName: 'Prepare Signed Artifacts'
+
+ # Disable SBOM at job template level
+ enableSbom: false
pool:
name: $(DncEngInternalBuildPool)
@@ -52,7 +55,11 @@ jobs:
/p:DotNetSignType=$(_SignType)
/bl:$(Build.SourcesDirectory)\prepare-artifacts.binlog
displayName: Prepare artifacts and upload to build
-
+
+ - template: /eng/common/templates-official/steps/generate-sbom.yml
+ parameters:
+ BuildDropPath: $(Build.SourcesDirectory)\artifacts
+
- task: CopyFiles@2
displayName: Copy Files to $(Build.StagingDirectory)\BuildLogs
inputs:
diff --git a/eng/pipelines/runtime-community.yml b/eng/pipelines/runtime-community.yml
index b7a21f588973c1..446996e505b72b 100644
--- a/eng/pipelines/runtime-community.yml
+++ b/eng/pipelines/runtime-community.yml
@@ -71,17 +71,6 @@ extends:
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
- # extra steps, run tests
- postBuildSteps:
- - template: /eng/pipelines/libraries/helix.yml
- parameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
- condition: >-
- or(
- eq(variables['librariesContainsChange'], true),
- eq(variables['monoContainsChange'], true),
- eq(variables['isRollingBuild'], true))
#
# Build the whole product using Mono
diff --git a/eng/pipelines/runtime-ioslike.yml b/eng/pipelines/runtime-ioslike.yml
index 1100ec500ce6ff..11477a3e175cba 100644
--- a/eng/pipelines/runtime-ioslike.yml
+++ b/eng/pipelines/runtime-ioslike.yml
@@ -4,6 +4,24 @@
trigger: none
+# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
+pr:
+ branches:
+ include:
+ - main
+ - release/*.*
+
+ paths:
+ include:
+ - src/mono/mono/mini/aot-*.*
+ - src/mono/mono/mini/llvm-*.*
+ - src/mono/mono/mini/mini-llvm-*.*
+ - src/mono/mono/mini/intrinsics.c
+ - src/mono/mono/mini/simd-*.*
+ - src/mono/mono/mini/decompose.c
+ - src/mono/mono/mini/method-to-ir.c
+ - src/mono/mono/mini/mini.c
+
variables:
- template: /eng/pipelines/common/variables.yml
diff --git a/eng/pipelines/runtime-llvm.yml b/eng/pipelines/runtime-llvm.yml
index 5be2a5b063aaaa..6f3d16767ddbb3 100644
--- a/eng/pipelines/runtime-llvm.yml
+++ b/eng/pipelines/runtime-llvm.yml
@@ -28,6 +28,24 @@ schedules:
- main
always: false # run only if there were changes since the last successful scheduled run.
+# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
+pr:
+ branches:
+ include:
+ - main
+ - release/*.*
+
+ paths:
+ include:
+ - src/mono/mono/mini/aot-*.*
+ - src/mono/mono/mini/llvm-*.*
+ - src/mono/mono/mini/mini-llvm-*.*
+ - src/mono/mono/mini/intrinsics.c
+ - src/mono/mono/mini/simd-*.*
+ - src/mono/mono/mini/decompose.c
+ - src/mono/mono/mini/method-to-ir.c
+ - src/mono/mono/mini/mini.c
+
variables:
- template: /eng/pipelines/common/variables.yml
diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml
index 55021be6e29ed4..22375d5c37c81a 100644
--- a/eng/pipelines/runtime-official.yml
+++ b/eng/pipelines/runtime-official.yml
@@ -41,11 +41,11 @@ extends:
# Localization build
#
- - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/9.0') }}:
+ - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
- template: /eng/common/templates-official/job/onelocbuild.yml
parameters:
MirrorRepo: runtime
- MirrorBranch: release/9.0
+ MirrorBranch: main
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-RUNTIME'
@@ -382,7 +382,6 @@ extends:
parameters:
name: MonoRuntimePacks
-
# Build Mono AOT offset headers once, for consumption elsewhere
#
- template: /eng/pipelines/common/platform-matrix.yml
@@ -661,7 +660,7 @@ extends:
flattenFolders: true
buildArgs: -s mono.workloads -c $(_BuildConfig) /p:PackageSource=$(Build.SourcesDirectory)/artifacts/workloadPackages /p:WorkloadOutputPath=$(Build.SourcesDirectory)/artifacts/workloads
-
+
postBuildSteps:
# Upload packages wrapping msis
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml
index bcab359dde5792..8f6e4ab408dd08 100644
--- a/eng/pipelines/runtime.yml
+++ b/eng/pipelines/runtime.yml
@@ -836,21 +836,22 @@ extends:
scenarios:
- WasmTestOnChrome
+ # disabled: https://github.com/dotnet/runtime/issues/116492
# Library tests with full threading
- - template: /eng/pipelines/common/templates/wasm-library-tests.yml
- parameters:
- platforms:
- - browser_wasm
- #- browser_wasm_win
- nameSuffix: _Threading
- extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- extraHelixArguments: /p:WasmEnableThreads=true
- alwaysRun: ${{ variables.isRollingBuild }}
- shouldRunSmokeOnly: onLibrariesAndIllinkChanges
- scenarios:
- - WasmTestOnChrome
- - WasmTestOnFirefox
- #- WasmTestOnNodeJS - this is not supported yet, https://github.com/dotnet/runtime/issues/85592
+ # - template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ # parameters:
+ # platforms:
+ # - browser_wasm
+ # #- browser_wasm_win
+ # nameSuffix: _Threading
+ # extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ # extraHelixArguments: /p:WasmEnableThreads=true
+ # alwaysRun: ${{ variables.isRollingBuild }}
+ # shouldRunSmokeOnly: onLibrariesAndIllinkChanges
+ # scenarios:
+ # - WasmTestOnChrome
+ # - WasmTestOnFirefox
+ # #- WasmTestOnNodeJS - this is not supported yet, https://github.com/dotnet/runtime/issues/85592
# EAT Library tests - only run on linux
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
@@ -926,25 +927,25 @@ extends:
# WASI/WASM
- - template: /eng/pipelines/common/templates/wasm-library-tests.yml
- parameters:
- platforms:
- - wasi_wasm
- - wasi_wasm_win
- nameSuffix: '_Smoke'
- extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- shouldRunSmokeOnly: true
- alwaysRun: ${{ variables.isRollingBuild }}
- scenarios:
- - WasmTestOnWasmtime
-
- - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
- parameters:
- platforms:
- - wasi_wasm
- - wasi_wasm_win
- extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- alwaysRun: ${{ variables.isRollingBuild }}
+ # - template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ # parameters:
+ # platforms:
+ # - wasi_wasm
+ # - wasi_wasm_win
+ # nameSuffix: '_Smoke'
+ # extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ # shouldRunSmokeOnly: true
+ # alwaysRun: ${{ variables.isRollingBuild }}
+ # scenarios:
+ # - WasmTestOnWasmtime
+
+ # - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
+ # parameters:
+ # platforms:
+ # - wasi_wasm
+ # - wasi_wasm_win
+ # extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ # alwaysRun: ${{ variables.isRollingBuild }}
#
# Android devices
@@ -1010,8 +1011,7 @@ extends:
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono
- # Tracking issue: https://github.com/dotnet/runtime/issues/82637
- buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:EnableAggressiveTrimming=false
+ buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:EnableAggressiveTrimming=true
timeoutInMinutes: 480
condition: >-
or(
@@ -1087,8 +1087,7 @@ extends:
runtimeFlavor: mono
platforms:
- maccatalyst_x64
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - maccatalyst_arm64
+ - maccatalyst_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
diff --git a/eng/testing/scenarios/BuildWasiAppsJobsList.txt b/eng/testing/scenarios/BuildWasiAppsJobsList.txt
index 86c0517585a480..e69de29bb2d1d6 100644
--- a/eng/testing/scenarios/BuildWasiAppsJobsList.txt
+++ b/eng/testing/scenarios/BuildWasiAppsJobsList.txt
@@ -1,7 +0,0 @@
-Wasi.Build.Tests.InvariantTests
-Wasi.Build.Tests.ILStripTests
-Wasi.Build.Tests.SdkMissingTests
-Wasi.Build.Tests.RuntimeConfigTests
-Wasi.Build.Tests.WasiTemplateTests
-Wasi.Build.Tests.PInvokeTableGeneratorTests
-Wasi.Build.Tests.WasiLibraryModeTests
diff --git a/eng/testing/tests.ioslike.targets b/eng/testing/tests.ioslike.targets
index a59cce6c49aeea..e2e36415a31834 100644
--- a/eng/testing/tests.ioslike.targets
+++ b/eng/testing/tests.ioslike.targets
@@ -16,7 +16,7 @@
<_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration)
- <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=true /p:Configuration=$(Configuration) /p:EnableAggressiveTrimming=$(EnableAggressiveTrimming)
+ <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=$(UsePortableRuntimePack) /p:Configuration=$(Configuration)
<_AOTBuildCommand Condition="'$(NativeLib)' != ''">$(_AOTBuildCommand) /p:NativeLib=$(NativeLib) /p:BundlesResources=$(BundlesResources) /p:ForceLibraryModeGenerateAppBundle=$(ForceLibraryModeGenerateAppBundle)
<_AOTBuildCommand>$(_AOTBuildCommand)
@@ -77,8 +77,6 @@
-
@@ -156,12 +154,6 @@
<_AppleItemsToPass Include="@(ReferenceExtraPathFiles->'%(FileName)%(Extension)')"
OriginalItemName__="AppleReferenceExtraPathFiles" />
- <_AppleItemsToPass Include="@(RuntimeHostConfigurationOption)"
- OriginalItemName__="_AppleUsedRuntimeHostConfigurationOption" />
-
- <_AppleItemsToPass Include="@(TrimmerRootAssembly)"
- OriginalItemName__="TrimmerRootAssembly" />
-
-
+
+
true
true
$(NoWarn);IL2103;IL2025;IL2111;IL2122
- false
false
- false
- false
false
- false
+
+
+
+
+ false
+ <_DefaultValueAttributeSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true
+ <_DesignerHostSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true
-
- false
-
-
diff --git a/src/coreclr/.nuget/Directory.Build.targets b/src/coreclr/.nuget/Directory.Build.targets
index 379fbd65030b32..f30471ded8ae4f 100644
--- a/src/coreclr/.nuget/Directory.Build.targets
+++ b/src/coreclr/.nuget/Directory.Build.targets
@@ -4,7 +4,7 @@
$(ProductVersion)
- $(PackageVersion)
+ $(PackageVersion)
diff --git a/src/coreclr/debug/di/process.cpp b/src/coreclr/debug/di/process.cpp
index f12b6166019a04..6d82de9b5cdf2a 100644
--- a/src/coreclr/debug/di/process.cpp
+++ b/src/coreclr/debug/di/process.cpp
@@ -13377,7 +13377,11 @@ void CordbProcess::HandleDebugEventForInteropDebugging(const DEBUG_EVENT * pEven
{
LOG((LF_CORDB, LL_INFO100000, "W32ET::W32EL: hijack complete will restore context...\n"));
DT_CONTEXT tempContext = { 0 };
+#ifdef TARGET_X86
+ tempContext.ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_EXTENDED_REGISTERS;
+#else
tempContext.ContextFlags = DT_CONTEXT_FULL;
+#endif
HRESULT hr = pUnmanagedThread->GetThreadContext(&tempContext);
_ASSERTE(SUCCEEDED(hr));
diff --git a/src/coreclr/debug/di/rsthread.cpp b/src/coreclr/debug/di/rsthread.cpp
index 619b37c87ef8b8..cd7f79867a54d3 100644
--- a/src/coreclr/debug/di/rsthread.cpp
+++ b/src/coreclr/debug/di/rsthread.cpp
@@ -3721,9 +3721,15 @@ HRESULT CordbUnmanagedThread::SetupFirstChanceHijackForSync()
LOG((LF_CORDB, LL_INFO10000, "CUT::SFCHFS: hijackCtx started as:\n"));
LogContext(GetHijackCtx());
- // Save the thread's full context.
+ // Save the thread's full context for all platforms except for x86 because we need the
+ // DT_CONTEXT_EXTENDED_REGISTERS to avoid getting incomplete information and corrupt the thread context
DT_CONTEXT context;
+#ifdef TARGET_X86
+ context.ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_EXTENDED_REGISTERS;
+#else
context.ContextFlags = DT_CONTEXT_FULL;
+#endif
+
BOOL succ = DbiGetThreadContext(m_handle, &context);
_ASSERTE(succ);
// for debugging when GetThreadContext fails
@@ -3733,7 +3739,12 @@ HRESULT CordbUnmanagedThread::SetupFirstChanceHijackForSync()
LOG((LF_CORDB, LL_ERROR, "CUT::SFCHFS: DbiGetThreadContext error=0x%x\n", error));
}
+#ifdef TARGET_X86
+ GetHijackCtx()->ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_EXTENDED_REGISTERS;
+#else
GetHijackCtx()->ContextFlags = DT_CONTEXT_FULL;
+#endif
+
CORDbgCopyThreadContext(GetHijackCtx(), &context);
LOG((LF_CORDB, LL_INFO10000, "CUT::SFCHFS: thread=0x%x Hijacking for sync. Original context is:\n", this));
LogContext(GetHijackCtx());
diff --git a/src/coreclr/debug/ee/controller.cpp b/src/coreclr/debug/ee/controller.cpp
index fd26e7fe3135dd..1738eb5862fee7 100644
--- a/src/coreclr/debug/ee/controller.cpp
+++ b/src/coreclr/debug/ee/controller.cpp
@@ -25,6 +25,11 @@ const char *GetTType( TraceType tt);
#define IsSingleStep(exception) ((exception) == EXCEPTION_SINGLE_STEP)
+typedef enum __TailCallFunctionType {
+ TailCallThatReturns = 1,
+ StoreTailCallArgs = 2
+} TailCallFunctionType;
+
// -------------------------------------------------------------------------
// DebuggerController routines
// -------------------------------------------------------------------------
@@ -5631,10 +5636,10 @@ static bool IsTailCallJitHelper(const BYTE * ip)
// control flow will be a little peculiar in that the function will return
// immediately, so we need special handling in the debugger for it. This
// function detects that case to be used for those scenarios.
-static bool IsTailCallThatReturns(const BYTE * ip, ControllerStackInfo* info)
+static bool IsTailCall(const BYTE * ip, ControllerStackInfo* info, TailCallFunctionType type)
{
MethodDesc* pTailCallDispatcherMD = TailCallHelp::GetTailCallDispatcherMD();
- if (pTailCallDispatcherMD == NULL)
+ if (pTailCallDispatcherMD == NULL && type == TailCallFunctionType::TailCallThatReturns)
{
return false;
}
@@ -5650,6 +5655,11 @@ static bool IsTailCallThatReturns(const BYTE * ip, ControllerStackInfo* info)
? trace.GetMethodDesc()
: g_pEEInterface->GetNativeCodeMethodDesc(trace.GetAddress());
+ if (type == TailCallFunctionType::StoreTailCallArgs)
+ {
+ return (pTargetMD && pTargetMD->IsDynamicMethod() && pTargetMD->AsDynamicMethodDesc()->GetILStubType() == DynamicMethodDesc::StubTailCallStoreArgs);
+ }
+
if (pTargetMD != pTailCallDispatcherMD)
{
return false;
@@ -5881,6 +5891,13 @@ bool DebuggerStepper::TrapStep(ControllerStackInfo *info, bool in)
fCallingIntoFunclet = IsAddrWithinMethodIncludingFunclet(ji, info->m_activeFrame.md, walker.GetNextIP()) &&
((CORDB_ADDRESS)(SIZE_T)walker.GetNextIP() != ji->m_addrOfCode);
#endif
+ // If we are stepping into a tail call that uses the StoreTailCallArgs
+ // we need to enable the method enter, otherwise it will behave like a resume
+ if (in && IsTailCall(walker.GetNextIP(), info, TailCallFunctionType::StoreTailCallArgs))
+ {
+ EnableMethodEnter();
+ return true;
+ }
// At this point, we know that the call/branch target is not
// in the current method. The possible cases is that this is
// a jump or a tailcall-via-helper. There are two separate
@@ -5892,7 +5909,7 @@ bool DebuggerStepper::TrapStep(ControllerStackInfo *info, bool in)
// is done by stepping out to the previous user function
// (non IL stub).
if ((fIsJump && !fCallingIntoFunclet) || IsTailCallJitHelper(walker.GetNextIP()) ||
- IsTailCallThatReturns(walker.GetNextIP(), info))
+ IsTailCall(walker.GetNextIP(), info, TailCallFunctionType::TailCallThatReturns))
{
// A step-over becomes a step-out for a tail call.
if (!in)
@@ -6038,7 +6055,7 @@ bool DebuggerStepper::TrapStep(ControllerStackInfo *info, bool in)
return true;
}
- if (IsTailCallJitHelper(walker.GetNextIP()) || IsTailCallThatReturns(walker.GetNextIP(), info))
+ if (IsTailCallJitHelper(walker.GetNextIP()) || IsTailCall(walker.GetNextIP(), info, TailCallFunctionType::TailCallThatReturns))
{
if (!in)
{
@@ -7410,7 +7427,15 @@ bool DebuggerStepper::TriggerSingleStep(Thread *thread, const BYTE *ip)
if (!g_pEEInterface->IsManagedNativeCode(ip))
{
LOG((LF_CORDB,LL_INFO10000, "DS::TSS: not in managed code, Returning false (case 0)!\n"));
- DisableSingleStep();
+ // Sometimes we can get here with a callstack that is coming from an APC
+ // this will disable the single stepping and incorrectly resume an app that the user
+ // is stepping through.
+#ifdef FEATURE_THREAD_ACTIVATION
+ if ((thread->m_State & Thread::TS_DebugWillSync) == 0)
+#endif
+ {
+ DisableSingleStep();
+ }
return false;
}
diff --git a/src/coreclr/gc/CMakeLists.txt b/src/coreclr/gc/CMakeLists.txt
index 89937554c04177..4ffe829dac687e 100644
--- a/src/coreclr/gc/CMakeLists.txt
+++ b/src/coreclr/gc/CMakeLists.txt
@@ -93,6 +93,10 @@ if(CLR_CMAKE_TARGET_ARCH_AMD64)
list(APPEND GC_LINK_LIBRARIES
gc_vxsort
)
+ list(APPEND GC_SOURCES
+ ${CLR_SRC_NATIVE_DIR}/minipal/cpufeatures.c
+ )
+ include(${CLR_SRC_NATIVE_DIR}/minipal/configure.cmake)
endif(CLR_CMAKE_TARGET_ARCH_AMD64)
diff --git a/src/coreclr/gc/gc.cpp b/src/coreclr/gc/gc.cpp
index 217e90d38c0228..c80e14e88f57e6 100644
--- a/src/coreclr/gc/gc.cpp
+++ b/src/coreclr/gc/gc.cpp
@@ -2430,6 +2430,8 @@ uint32_t gc_heap::m_high_memory_load_th;
uint32_t gc_heap::v_high_memory_load_th;
+uint32_t gc_heap::almost_high_memory_load_th;
+
bool gc_heap::is_restricted_physical_mem;
uint64_t gc_heap::total_physical_mem = 0;
@@ -2890,10 +2892,14 @@ bool gc_heap::trigger_initial_gen2_p = false;
#ifdef BACKGROUND_GC
bool gc_heap::trigger_bgc_for_rethreading_p = false;
+int gc_heap::total_bgc_threads = 0;
+int gc_heap::last_bgc_n_heaps = 0;
+int gc_heap::last_total_bgc_threads = 0;
#endif //BACKGROUND_GC
#ifdef STRESS_DYNAMIC_HEAP_COUNT
int gc_heap::heaps_in_this_gc = 0;
+int gc_heap::bgc_to_ngc2_ratio = 0;
#endif //STRESS_DYNAMIC_HEAP_COUNT
#endif // DYNAMIC_HEAP_COUNT
@@ -6404,7 +6410,11 @@ class heap_select
if (GCToOSInterface::CanGetCurrentProcessorNumber())
{
uint32_t proc_no = GCToOSInterface::GetCurrentProcessorNumber();
- proc_no_to_heap_no[proc_no] = (uint16_t)heap_number;
+ // For a 32-bit process running on a machine with > 64 procs,
+ // even though the process can only use up to 32 procs, the processor
+ // index can be >= 64; or in the cpu group case, if the process is not running in cpu group #0,
+ // the GetCurrentProcessorNumber will return a number that's >= 64.
+ proc_no_to_heap_no[proc_no % MAX_SUPPORTED_CPUS] = (uint16_t)heap_number;
}
}
@@ -6426,7 +6436,11 @@ class heap_select
if (GCToOSInterface::CanGetCurrentProcessorNumber())
{
uint32_t proc_no = GCToOSInterface::GetCurrentProcessorNumber();
- int adjusted_heap = proc_no_to_heap_no[proc_no];
+ // For a 32-bit process running on a machine with > 64 procs,
+ // even though the process can only use up to 32 procs, the processor
+ // index can be >= 64; or in the cpu group case, if the process is not running in cpu group #0,
+ // the GetCurrentProcessorNumber will return a number that's >= 64.
+ int adjusted_heap = proc_no_to_heap_no[proc_no % MAX_SUPPORTED_CPUS];
// with dynamic heap count, need to make sure the value is in range.
if (adjusted_heap >= gc_heap::n_heaps)
{
@@ -10703,6 +10717,14 @@ size_t gc_heap::sort_mark_list()
size_t region_index = get_basic_region_index_for_address (heap_segment_mem (region));
uint8_t* region_limit = heap_segment_allocated (region);
+ // Due to GC holes, x can point to something in a region that already got freed. And that region's
+ // allocated would be 0 and cause an infinite loop which is much harder to handle on production than
+ // simply throwing an exception.
+ if (region_limit == 0)
+ {
+ FATAL_GC_ERROR();
+ }
+
uint8_t*** mark_list_piece_start_ptr = &mark_list_piece_start[region_index];
uint8_t*** mark_list_piece_end_ptr = &mark_list_piece_end[region_index];
#else // USE_REGIONS
@@ -12733,35 +12755,29 @@ void gc_heap::rearrange_heap_segments(BOOL compacting)
#endif //!USE_REGIONS
#if defined(USE_REGIONS)
-// trim down the list of free regions pointed at by free_list down to target_count, moving the extra ones to surplus_list
-static void remove_surplus_regions (region_free_list* free_list, region_free_list* surplus_list, size_t target_count)
+// trim down the list of regions pointed at by src down to target_count, moving the extra ones to dest
+static void trim_region_list (region_free_list* dest, region_free_list* src, size_t target_count)
{
- while (free_list->get_num_free_regions() > target_count)
+ while (src->get_num_free_regions() > target_count)
{
- // remove one region from the heap's free list
- heap_segment* region = free_list->unlink_region_front();
-
- // and put it on the surplus list
- surplus_list->add_region_front (region);
+ heap_segment* region = src->unlink_region_front();
+ dest->add_region_front (region);
}
}
-// add regions from surplus_list to free_list, trying to reach target_count
-static int64_t add_regions (region_free_list* free_list, region_free_list* surplus_list, size_t target_count)
+// add regions from src to dest, trying to grow the size of dest to target_count
+static int64_t grow_region_list (region_free_list* dest, region_free_list* src, size_t target_count)
{
int64_t added_count = 0;
- while (free_list->get_num_free_regions() < target_count)
+ while (dest->get_num_free_regions() < target_count)
{
- if (surplus_list->get_num_free_regions() == 0)
+ if (src->get_num_free_regions() == 0)
break;
added_count++;
- // remove one region from the surplus list
- heap_segment* region = surplus_list->unlink_region_front();
-
- // and put it on the heap's free list
- free_list->add_region_front (region);
+ heap_segment* region = src->unlink_region_front();
+ dest->add_region_front (region);
}
return added_count;
}
@@ -13246,8 +13262,25 @@ void region_free_list::sort_by_committed_and_age()
void gc_heap::age_free_regions (const char* msg)
{
+ // If we are doing an ephemeral GC as a precursor to a BGC, then we will age all of the region
+ // kinds during the ephemeral GC and skip the call to age_free_regions during the BGC itself.
bool age_all_region_kinds = (settings.condemned_generation == max_generation);
+ if (!age_all_region_kinds)
+ {
+#ifdef MULTIPLE_HEAPS
+ gc_heap* hp = g_heaps[0];
+#else //MULTIPLE_HEAPS
+ gc_heap* hp = pGenGCHeap;
+#endif //MULTIPLE_HEAPS
+ age_all_region_kinds = (hp->current_bgc_state == bgc_initialized);
+ }
+
+ if (age_all_region_kinds)
+ {
+ global_free_huge_regions.age_free_regions();
+ }
+
#ifdef MULTIPLE_HEAPS
for (int i = 0; i < n_heaps; i++)
{
@@ -13273,10 +13306,55 @@ void gc_heap::age_free_regions (const char* msg)
}
}
+// distribute_free_regions is called during all blocking GCs and in the start of the BGC mark phase
+// unless we already called it during an ephemeral GC right before the BGC.
+//
+// Free regions are stored on the following permanent lists:
+// - global_regions_to_decommit
+// - global_free_huge_regions
+// - (per-heap) free_regions
+// and the following lists that are local to distribute_free_regions:
+// - aged_regions
+// - surplus_regions
+//
+// For reason_induced_aggressive GCs, we decommit all regions. Therefore, the below description is
+// for other GC types.
+//
+// distribute_free_regions steps:
+//
+// 1. Process region ages
+// a. Move all huge regions from free_regions to global_free_huge_regions.
+// (The intention is that free_regions shouldn't contain any huge regions outside of the period
+// where a GC reclaims them and distribute_free_regions moves them to global_free_huge_regions,
+// though perhaps BGC can leave them there. Future work could verify and assert this.)
+// b. Move any basic region in global_regions_to_decommit (which means we intended to decommit them
+// but haven't done so yet) to surplus_regions
+// c. Move all huge regions that are past the age threshold from global_free_huge_regions to aged_regions
+// d. Move all basic/large regions that are past the age threshold from free_regions to aged_regions
+// 2. Move all regions from aged_regions to global_regions_to_decommit. Note that the intention is to
+// combine this with move_highest_free_regions in a future change, which is why we don't just do this
+// in steps 1c/1d.
+// 3. Compute the required per-heap budgets for SOH (basic regions) and the balance. The budget for LOH
+// (large) is zero as we are using an entirely age-based approach.
+// balance = (number of free regions) - budget
+// 4. Decide if we are going to distribute or decommit a nonzero balance. To distribute, we adjust the
+// per-heap budgets, so after this step the LOH (large) budgets can be positive.
+// a. A negative balance (deficit) for SOH (basic) will be distributed it means we expect to use
+// more memory than we have on the free lists. A negative balance for LOH (large) isn't possible
+// for LOH since the budgets start at zero.
+// b. For SOH (basic), we will decommit surplus regions unless we are in a foreground GC during BGC.
+// c. For LOH (large), we will distribute surplus regions since we are using an entirely age-based
+// approach. However, if we are in a high-memory-usage scenario, we will decommit. In this case,
+// we will also decommit the huge regions in global_free_huge_regions. Note that they were not
+// originally included in the balance because they are kept in a global list. Only basic/large
+// regions are kept in per-heap lists where they can be distributed.
+// 5. Implement the distribute-or-decommit strategy. To distribute, we simply move regions across heaps,
+// using surplus_regions as a holding space. To decommit, for server GC we generally leave them on the
+// global_regions_to_decommit list and decommit them over time. However, in high-memory-usage scenarios,
+// we will immediately decommit some or all of these regions. For workstation GC, we decommit a limited
+// amount and move the rest back to the (one) heap's free_list.
void gc_heap::distribute_free_regions()
{
- const int kind_count = large_free_region + 1;
-
#ifdef MULTIPLE_HEAPS
BOOL joined_last_gc_before_oom = FALSE;
for (int i = 0; i < n_heaps; i++)
@@ -13344,22 +13422,22 @@ void gc_heap::distribute_free_regions()
}
// first step: accumulate the number of free regions and the budget over all heaps
- // and move huge regions to global free list
- size_t total_num_free_regions[kind_count] = { 0, 0 };
- size_t total_budget_in_region_units[kind_count] = { 0, 0 };
+ //
+ // The initial budget will only be calculated for basic free regions. For large regions, the initial budget
+ // is zero, and distribute-vs-decommit will be determined entirely by region ages and whether we are in a
+ // high memory usage scenario. Distributing a surplus/deficit of regions can change the budgets that are used.
+ size_t total_num_free_regions[count_distributed_free_region_kinds] = { 0, 0 };
+ size_t total_budget_in_region_units[count_distributed_free_region_kinds] = { 0, 0 };
+
+ size_t heap_budget_in_region_units[count_distributed_free_region_kinds][MAX_SUPPORTED_CPUS] = {};
+ size_t min_heap_budget_in_region_units[count_distributed_free_region_kinds][MAX_SUPPORTED_CPUS] = {};
+ region_free_list aged_regions[count_free_region_kinds];
+ region_free_list surplus_regions[count_distributed_free_region_kinds];
+
+ // we may still have regions left on the regions_to_decommit list -
+ // use these to fill the budget as well
+ surplus_regions[basic_free_region].transfer_regions (&global_regions_to_decommit[basic_free_region]);
- size_t num_decommit_regions_by_time = 0;
- size_t size_decommit_regions_by_time = 0;
- size_t heap_budget_in_region_units[MAX_SUPPORTED_CPUS][kind_count];
- size_t min_heap_budget_in_region_units[MAX_SUPPORTED_CPUS];
- size_t region_size[kind_count] = { global_region_allocator.get_region_alignment(), global_region_allocator.get_large_region_alignment() };
- region_free_list surplus_regions[kind_count];
- for (int kind = basic_free_region; kind < kind_count; kind++)
- {
- // we may still have regions left on the regions_to_decommit list -
- // use these to fill the budget as well
- surplus_regions[kind].transfer_regions (&global_regions_to_decommit[kind]);
- }
#ifdef MULTIPLE_HEAPS
for (int i = 0; i < n_heaps; i++)
{
@@ -13367,167 +13445,87 @@ void gc_heap::distribute_free_regions()
#else //MULTIPLE_HEAPS
{
gc_heap* hp = pGenGCHeap;
- // just to reduce the number of #ifdefs in the code below
- const int i = 0;
- const int n_heaps = 1;
#endif //MULTIPLE_HEAPS
- for (int kind = basic_free_region; kind < kind_count; kind++)
- {
- // If there are regions in free that haven't been used in AGE_IN_FREE_TO_DECOMMIT GCs we always decommit them.
- region_free_list& region_list = hp->free_regions[kind];
- heap_segment* next_region = nullptr;
- for (heap_segment* region = region_list.get_first_free_region(); region != nullptr; region = next_region)
- {
- next_region = heap_segment_next (region);
- int age_in_free_to_decommit = min (max (AGE_IN_FREE_TO_DECOMMIT, n_heaps), MAX_AGE_IN_FREE);
- // when we are about to get OOM, we'd like to discount the free regions that just have the initial page commit as they are not useful
- if ((heap_segment_age_in_free (region) >= age_in_free_to_decommit) ||
- ((get_region_committed_size (region) == GC_PAGE_SIZE) && joined_last_gc_before_oom))
- {
- num_decommit_regions_by_time++;
- size_decommit_regions_by_time += get_region_committed_size (region);
- dprintf (REGIONS_LOG, ("h%2d region %p age %2d, decommit",
- i, heap_segment_mem (region), heap_segment_age_in_free (region)));
- region_free_list::unlink_region (region);
- region_free_list::add_region (region, global_regions_to_decommit);
- }
- }
-
- total_num_free_regions[kind] += region_list.get_num_free_regions();
- }
-
global_free_huge_regions.transfer_regions (&hp->free_regions[huge_free_region]);
-
- heap_budget_in_region_units[i][basic_free_region] = 0;
- min_heap_budget_in_region_units[i] = 0;
- heap_budget_in_region_units[i][large_free_region] = 0;
- }
-
- for (int gen = soh_gen0; gen < total_generation_count; gen++)
- {
- if ((gen <= soh_gen2) &&
- total_budget_in_region_units[basic_free_region] >= (total_num_free_regions[basic_free_region] +
- surplus_regions[basic_free_region].get_num_free_regions()))
- {
- // don't accumulate budget from higher soh generations if we cannot cover lower ones
- dprintf (REGIONS_LOG, ("out of free regions - skipping gen %d budget = %zd >= avail %zd",
- gen,
- total_budget_in_region_units[basic_free_region],
- total_num_free_regions[basic_free_region] + surplus_regions[basic_free_region].get_num_free_regions()));
- continue;
- }
-#ifdef MULTIPLE_HEAPS
- for (int i = 0; i < n_heaps; i++)
- {
- gc_heap* hp = g_heaps[i];
-#else //MULTIPLE_HEAPS
- {
- gc_heap* hp = pGenGCHeap;
- // just to reduce the number of #ifdefs in the code below
- const int i = 0;
- const int n_heaps = 1;
-#endif //MULTIPLE_HEAPS
- ptrdiff_t budget_gen = max (hp->estimate_gen_growth (gen), (ptrdiff_t)0);
- int kind = gen >= loh_generation;
- size_t budget_gen_in_region_units = (budget_gen + (region_size[kind] - 1)) / region_size[kind];
- dprintf (REGIONS_LOG, ("h%2d gen %d has an estimated growth of %zd bytes (%zd regions)", i, gen, budget_gen, budget_gen_in_region_units));
- if (gen <= soh_gen2)
- {
- // preserve the budget for the previous generation - we should not go below that
- min_heap_budget_in_region_units[i] = heap_budget_in_region_units[i][kind];
- }
- heap_budget_in_region_units[i][kind] += budget_gen_in_region_units;
- total_budget_in_region_units[kind] += budget_gen_in_region_units;
- }
}
- dprintf (1, ("moved %2zd regions (%8zd) to decommit based on time", num_decommit_regions_by_time, size_decommit_regions_by_time));
+ move_all_aged_regions(total_num_free_regions, aged_regions, joined_last_gc_before_oom);
+ // For now, we just decommit right away, but eventually these will be used in move_highest_free_regions
+ move_regions_to_decommit(aged_regions);
- global_free_huge_regions.transfer_regions (&global_regions_to_decommit[huge_free_region]);
+ size_t total_basic_free_regions = total_num_free_regions[basic_free_region] + surplus_regions[basic_free_region].get_num_free_regions();
+ total_budget_in_region_units[basic_free_region] = compute_basic_region_budgets(heap_budget_in_region_units[basic_free_region], min_heap_budget_in_region_units[basic_free_region], total_basic_free_regions);
- size_t free_space_in_huge_regions = global_free_huge_regions.get_size_free_regions();
+ bool aggressive_decommit_large_p = joined_last_gc_before_oom || dt_high_memory_load_p() || near_heap_hard_limit_p();
- ptrdiff_t num_regions_to_decommit[kind_count];
- int region_factor[kind_count] = { 1, LARGE_REGION_FACTOR };
-#ifdef TRACE_GC
- const char* kind_name[count_free_region_kinds] = { "basic", "large", "huge"};
-#endif // TRACE_GC
+ int region_factor[count_distributed_free_region_kinds] = { 1, LARGE_REGION_FACTOR };
#ifndef MULTIPLE_HEAPS
// just to reduce the number of #ifdefs in the code below
const int n_heaps = 1;
#endif //!MULTIPLE_HEAPS
- size_t num_huge_region_units_to_consider[kind_count] = { 0, free_space_in_huge_regions / region_size[large_free_region] };
-
- for (int kind = basic_free_region; kind < kind_count; kind++)
+ for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++)
{
- num_regions_to_decommit[kind] = surplus_regions[kind].get_num_free_regions();
-
- dprintf(REGIONS_LOG, ("%zd %s free regions, %zd regions budget, %zd regions on decommit list, %zd huge regions to consider",
+ dprintf(REGIONS_LOG, ("%zd %s free regions, %zd regions budget, %zd regions on surplus list",
total_num_free_regions[kind],
- kind_name[kind],
+ free_region_kind_name[kind],
total_budget_in_region_units[kind],
- num_regions_to_decommit[kind],
- num_huge_region_units_to_consider[kind]));
+ surplus_regions[kind].get_num_free_regions()));
// check if the free regions exceed the budget
// if so, put the highest free regions on the decommit list
- total_num_free_regions[kind] += num_regions_to_decommit[kind];
+ total_num_free_regions[kind] += surplus_regions[kind].get_num_free_regions();
- ptrdiff_t balance = total_num_free_regions[kind] + num_huge_region_units_to_consider[kind] - total_budget_in_region_units[kind];
+ ptrdiff_t balance_to_distribute = total_num_free_regions[kind] - total_budget_in_region_units[kind];
- if (
-#ifdef BACKGROUND_GC
- background_running_p() ||
-#endif
- (balance < 0))
+ if (distribute_surplus_p(balance_to_distribute, kind, aggressive_decommit_large_p))
{
- dprintf (REGIONS_LOG, ("distributing the %zd %s regions deficit", -balance, kind_name[kind]));
-
#ifdef MULTIPLE_HEAPS
- // we may have a deficit or - if background GC is going on - a surplus.
+ // we may have a deficit or - for large regions or if background GC is going on - a surplus.
// adjust the budget per heap accordingly
- if (balance != 0)
+ if (balance_to_distribute != 0)
{
+ dprintf (REGIONS_LOG, ("distributing the %zd %s regions deficit", -balance_to_distribute, free_region_kind_name[kind]));
+
ptrdiff_t curr_balance = 0;
ptrdiff_t rem_balance = 0;
for (int i = 0; i < n_heaps; i++)
{
- curr_balance += balance;
+ curr_balance += balance_to_distribute;
ptrdiff_t adjustment_per_heap = curr_balance / n_heaps;
curr_balance -= adjustment_per_heap * n_heaps;
- ptrdiff_t new_budget = (ptrdiff_t)heap_budget_in_region_units[i][kind] + adjustment_per_heap;
- ptrdiff_t min_budget = (kind == basic_free_region) ? (ptrdiff_t)min_heap_budget_in_region_units[i] : 0;
+ ptrdiff_t new_budget = (ptrdiff_t)heap_budget_in_region_units[kind][i] + adjustment_per_heap;
+ ptrdiff_t min_budget = (ptrdiff_t)min_heap_budget_in_region_units[kind][i];
dprintf (REGIONS_LOG, ("adjusting the budget for heap %d from %zd %s regions by %zd to %zd",
i,
- heap_budget_in_region_units[i][kind],
- kind_name[kind],
+ heap_budget_in_region_units[kind][i],
+ free_region_kind_name[kind],
adjustment_per_heap,
max (min_budget, new_budget)));
- heap_budget_in_region_units[i][kind] = max (min_budget, new_budget);
- rem_balance += new_budget - heap_budget_in_region_units[i][kind];
+ heap_budget_in_region_units[kind][i] = max (min_budget, new_budget);
+ rem_balance += new_budget - heap_budget_in_region_units[kind][i];
}
assert (rem_balance <= 0);
- dprintf (REGIONS_LOG, ("remaining balance: %zd %s regions", rem_balance, kind_name[kind]));
+ dprintf (REGIONS_LOG, ("remaining balance: %zd %s regions", rem_balance, free_region_kind_name[kind]));
// if we have a left over deficit, distribute that to the heaps that still have more than the minimum
while (rem_balance < 0)
{
for (int i = 0; i < n_heaps; i++)
{
- size_t min_budget = (kind == basic_free_region) ? min_heap_budget_in_region_units[i] : 0;
- if (heap_budget_in_region_units[i][kind] > min_budget)
+ size_t min_budget = min_heap_budget_in_region_units[kind][i];
+ if (heap_budget_in_region_units[kind][i] > min_budget)
{
dprintf (REGIONS_LOG, ("adjusting the budget for heap %d from %zd %s regions by %d to %zd",
i,
- heap_budget_in_region_units[i][kind],
- kind_name[kind],
+ heap_budget_in_region_units[kind][i],
+ free_region_kind_name[kind],
-1,
- heap_budget_in_region_units[i][kind] - 1));
+ heap_budget_in_region_units[kind][i] - 1));
- heap_budget_in_region_units[i][kind] -= 1;
+ heap_budget_in_region_units[kind][i] -= 1;
rem_balance += 1;
if (rem_balance == 0)
break;
@@ -13539,35 +13537,44 @@ void gc_heap::distribute_free_regions()
}
else
{
- num_regions_to_decommit[kind] = balance;
+ assert (balance_to_distribute >= 0);
+
+ ptrdiff_t balance_to_decommit = balance_to_distribute;
+ if (kind == large_free_region)
+ {
+ // huge regions aren't part of balance_to_distribute because they are kept in a global list
+ // and therefore can't be distributed across heaps
+ balance_to_decommit += global_free_huge_regions.get_size_free_regions() / global_region_allocator.get_large_region_alignment();
+ }
+
dprintf(REGIONS_LOG, ("distributing the %zd %s regions, removing %zd regions",
total_budget_in_region_units[kind],
- kind_name[kind],
- num_regions_to_decommit[kind]));
+ free_region_kind_name[kind],
+ balance));
- if (num_regions_to_decommit[kind] > 0)
+ if (balance_to_decommit > 0)
{
// remember how many regions we had on the decommit list already due to aging
size_t num_regions_to_decommit_before = global_regions_to_decommit[kind].get_num_free_regions();
// put the highest regions on the decommit list
- global_region_allocator.move_highest_free_regions (num_regions_to_decommit[kind]*region_factor[kind],
+ global_region_allocator.move_highest_free_regions (balance_to_decommit * region_factor[kind],
kind == basic_free_region,
global_regions_to_decommit);
dprintf (REGIONS_LOG, ("Moved %zd %s regions to decommit list",
- global_regions_to_decommit[kind].get_num_free_regions(), kind_name[kind]));
+ global_regions_to_decommit[kind].get_num_free_regions(), free_region_kind_name[kind]));
if (kind == basic_free_region)
{
- // we should now have num_regions_to_decommit[kind] regions more on the decommit list
+ // we should now have 'balance' regions more on the decommit list
assert (global_regions_to_decommit[kind].get_num_free_regions() ==
- num_regions_to_decommit_before + (size_t)num_regions_to_decommit[kind]);
+ num_regions_to_decommit_before + (size_t)balance_to_decommit);
}
else
{
dprintf (REGIONS_LOG, ("Moved %zd %s regions to decommit list",
- global_regions_to_decommit[huge_free_region].get_num_free_regions(), kind_name[huge_free_region]));
+ global_regions_to_decommit[huge_free_region].get_num_free_regions(), free_region_kind_name[huge_free_region]));
// cannot assert we moved any regions because there may be a single huge region with more than we want to decommit
}
@@ -13575,7 +13582,7 @@ void gc_heap::distribute_free_regions()
}
}
- for (int kind = basic_free_region; kind < kind_count; kind++)
+ for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++)
{
#ifdef MULTIPLE_HEAPS
// now go through all the heaps and remove any free regions above the target count
@@ -13583,16 +13590,16 @@ void gc_heap::distribute_free_regions()
{
gc_heap* hp = g_heaps[i];
- if (hp->free_regions[kind].get_num_free_regions() > heap_budget_in_region_units[i][kind])
+ if (hp->free_regions[kind].get_num_free_regions() > heap_budget_in_region_units[kind][i])
{
dprintf (REGIONS_LOG, ("removing %zd %s regions from heap %d with %zd regions, budget is %zd",
- hp->free_regions[kind].get_num_free_regions() - heap_budget_in_region_units[i][kind],
- kind_name[kind],
+ hp->free_regions[kind].get_num_free_regions() - heap_budget_in_region_units[kind][i],
+ free_region_kind_name[kind],
i,
hp->free_regions[kind].get_num_free_regions(),
- heap_budget_in_region_units[i][kind]));
+ heap_budget_in_region_units[kind][i]));
- remove_surplus_regions (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[i][kind]);
+ trim_region_list (&surplus_regions[kind], &hp->free_regions[kind], heap_budget_in_region_units[kind][i]);
}
}
// finally go through all the heaps and distribute any surplus regions to heaps having too few free regions
@@ -13606,15 +13613,15 @@ void gc_heap::distribute_free_regions()
#endif //MULTIPLE_HEAPS
// second pass: fill all the regions having less than budget
- if (hp->free_regions[kind].get_num_free_regions() < heap_budget_in_region_units[i][kind])
+ if (hp->free_regions[kind].get_num_free_regions() < heap_budget_in_region_units[kind][i])
{
- int64_t num_added_regions = add_regions (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[i][kind]);
+ int64_t num_added_regions = grow_region_list (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[kind][i]);
dprintf (REGIONS_LOG, ("added %zd %s regions to heap %d - now has %zd, budget is %zd",
(size_t)num_added_regions,
- kind_name[kind],
+ free_region_kind_name[kind],
i,
hp->free_regions[kind].get_num_free_regions(),
- heap_budget_in_region_units[i][kind]));
+ heap_budget_in_region_units[kind][i]));
}
hp->free_regions[kind].sort_by_committed_and_age();
}
@@ -13626,7 +13633,221 @@ void gc_heap::distribute_free_regions()
}
}
+ decide_on_decommit_strategy(aggressive_decommit_large_p);
+}
+
+void gc_heap::move_all_aged_regions(size_t total_num_free_regions[count_distributed_free_region_kinds], region_free_list aged_regions[count_free_region_kinds], bool joined_last_gc_before_oom)
+{
+ move_aged_regions(aged_regions, global_free_huge_regions, huge_free_region, joined_last_gc_before_oom);
+
#ifdef MULTIPLE_HEAPS
+ for (int i = 0; i < n_heaps; i++)
+ {
+ gc_heap* hp = g_heaps[i];
+#else //MULTIPLE_HEAPS
+ {
+ gc_heap* hp = pGenGCHeap;
+#endif //MULTIPLE_HEAPS
+
+ for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++)
+ {
+ move_aged_regions(aged_regions, hp->free_regions[kind], static_cast(kind), joined_last_gc_before_oom);
+ total_num_free_regions[kind] += hp->free_regions[kind].get_num_free_regions();
+ }
+ }
+}
+
+void gc_heap::move_aged_regions(region_free_list dest[count_free_region_kinds], region_free_list& src, free_region_kind kind, bool joined_last_gc_before_oom)
+{
+ heap_segment* next_region = nullptr;
+ for (heap_segment* region = src.get_first_free_region(); region != nullptr; region = next_region)
+ {
+ next_region = heap_segment_next (region);
+ // when we are about to get OOM, we'd like to discount the free regions that just have the initial page commit as they are not useful
+ if (aged_region_p(region, kind) ||
+ ((get_region_committed_size (region) == GC_PAGE_SIZE) && joined_last_gc_before_oom))
+ {
+ region_free_list::unlink_region (region);
+ region_free_list::add_region (region, dest);
+ }
+ }
+}
+
+bool gc_heap::aged_region_p(heap_segment* region, free_region_kind kind)
+{
+#ifndef MULTIPLE_HEAPS
+ const int n_heaps = 1;
+#endif
+
+ int age_in_free_to_decommit;
+ switch (kind)
+ {
+ case basic_free_region:
+ age_in_free_to_decommit = max(AGE_IN_FREE_TO_DECOMMIT_BASIC, n_heaps);
+ break;
+ case large_free_region:
+ age_in_free_to_decommit = AGE_IN_FREE_TO_DECOMMIT_LARGE;
+ break;
+ case huge_free_region:
+ age_in_free_to_decommit = AGE_IN_FREE_TO_DECOMMIT_HUGE;
+ break;
+ default:
+ assert(!"unexpected kind");
+ age_in_free_to_decommit = 0;
+ }
+
+ age_in_free_to_decommit = min (age_in_free_to_decommit, MAX_AGE_IN_FREE);
+ return (heap_segment_age_in_free (region) >= age_in_free_to_decommit);
+}
+
+void gc_heap::move_regions_to_decommit(region_free_list regions[count_free_region_kinds])
+{
+ for (int kind = basic_free_region; kind < count_free_region_kinds; kind++)
+ {
+ dprintf (1, ("moved %2zd %s regions (%8zd) to decommit based on time",
+ regions[kind].get_num_free_regions(), free_region_kind_name[kind], regions[kind].get_size_committed_in_free()));
+ }
+ for (int kind = basic_free_region; kind < count_free_region_kinds; kind++)
+ {
+ heap_segment* next_region = nullptr;
+ for (heap_segment* region = regions[kind].get_first_free_region(); region != nullptr; region = next_region)
+ {
+ next_region = heap_segment_next (region);
+ dprintf (REGIONS_LOG, ("region %p age %2d, decommit",
+ heap_segment_mem (region), heap_segment_age_in_free (region)));
+ region_free_list::unlink_region (region);
+ region_free_list::add_region (region, global_regions_to_decommit);
+ }
+ }
+ for (int kind = basic_free_region; kind < count_free_region_kinds; kind++)
+ {
+ assert(regions[kind].get_num_free_regions() == 0);
+ }
+}
+
+size_t gc_heap::compute_basic_region_budgets(
+ size_t heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS],
+ size_t min_heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS],
+ size_t total_basic_free_regions)
+{
+ const size_t region_size = global_region_allocator.get_region_alignment();
+ size_t total_budget_in_region_units = 0;
+
+ for (int gen = soh_gen0; gen <= max_generation; gen++)
+ {
+ if (total_budget_in_region_units >= total_basic_free_regions)
+ {
+ // don't accumulate budget from higher soh generations if we cannot cover lower ones
+ dprintf (REGIONS_LOG, ("out of free regions - skipping gen %d budget = %zd >= avail %zd",
+ gen,
+ total_budget_in_region_units,
+ total_basic_free_regions));
+ break;
+ }
+
+#ifdef MULTIPLE_HEAPS
+ for (int i = 0; i < n_heaps; i++)
+ {
+ gc_heap* hp = g_heaps[i];
+#else //MULTIPLE_HEAPS
+ {
+ gc_heap* hp = pGenGCHeap;
+ // just to reduce the number of #ifdefs in the code below
+ const int i = 0;
+#endif //MULTIPLE_HEAPS
+ ptrdiff_t budget_gen = max (hp->estimate_gen_growth (gen), (ptrdiff_t)0);
+ size_t budget_gen_in_region_units = (budget_gen + (region_size - 1)) / region_size;
+ dprintf (REGIONS_LOG, ("h%2d gen %d has an estimated growth of %zd bytes (%zd regions)", i, gen, budget_gen, budget_gen_in_region_units));
+
+ // preserve the budget for the previous generation - we should not go below that
+ min_heap_basic_budget_in_region_units[i] = heap_basic_budget_in_region_units[i];
+
+ heap_basic_budget_in_region_units[i] += budget_gen_in_region_units;
+ total_budget_in_region_units += budget_gen_in_region_units;
+ }
+ }
+
+ return total_budget_in_region_units;
+}
+
+bool gc_heap::near_heap_hard_limit_p()
+{
+ if (heap_hard_limit)
+ {
+ int current_percent_heap_hard_limit = (int)((float)current_total_committed * 100.0 / (float)heap_hard_limit);
+ dprintf (REGIONS_LOG, ("committed %zd is %d%% of limit %zd",
+ current_total_committed, current_percent_heap_hard_limit, heap_hard_limit));
+ if (current_percent_heap_hard_limit >= 90)
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool gc_heap::distribute_surplus_p(ptrdiff_t balance, int kind, bool aggressive_decommit_large_p)
+{
+ if (balance < 0)
+ {
+ return true;
+ }
+
+ if (kind == basic_free_region)
+ {
+#ifdef BACKGROUND_GC
+ // This is detecting FGCs that run during BGCs. It is not detecting ephemeral GCs that
+ // (possibly) run right before a BGC as background_running_p() is not yet true at that point.
+ return (background_running_p() && (settings.condemned_generation != max_generation));
+#else
+ return false;
+#endif
+ }
+
+ return !aggressive_decommit_large_p;
+}
+
+void gc_heap::decide_on_decommit_strategy(bool joined_last_gc_before_oom)
+{
+#ifdef MULTIPLE_HEAPS
+ if (joined_last_gc_before_oom || g_low_memory_status)
+ {
+ dprintf (REGIONS_LOG, ("low memory - decommitting everything (last_gc_before_oom=%d, g_low_memory_status=%d)", joined_last_gc_before_oom, g_low_memory_status));
+
+ while (decommit_step(DECOMMIT_TIME_STEP_MILLISECONDS))
+ {
+ }
+ return;
+ }
+
+ ptrdiff_t size_to_decommit_for_heap_hard_limit = 0;
+ if (heap_hard_limit)
+ {
+ size_to_decommit_for_heap_hard_limit = (ptrdiff_t)(current_total_committed - (heap_hard_limit * (MAX_ALLOWED_MEM_LOAD / 100.0f)));
+ size_to_decommit_for_heap_hard_limit = max(size_to_decommit_for_heap_hard_limit, (ptrdiff_t)0);
+ }
+
+ // For the various high memory load situations, we're not using the process size at all. In
+ // particular, if we had a large process and smaller processes running in the same container,
+ // then we will treat them the same if the container reaches reaches high_memory_load_th. In
+ // the future, we could consider additional complexity to try to reclaim more memory from
+ // larger processes than smaller ones.
+ ptrdiff_t size_to_decommit_for_physical = 0;
+ if (settings.entry_memory_load >= high_memory_load_th)
+ {
+ size_t entry_used_physical_mem = total_physical_mem - entry_available_physical_mem;
+ size_t goal_used_physical_mem = (size_t)(((almost_high_memory_load_th) / 100.0) * total_physical_mem);
+ size_to_decommit_for_physical = entry_used_physical_mem - goal_used_physical_mem;
+ }
+
+ size_t size_to_decommit = max(size_to_decommit_for_heap_hard_limit, size_to_decommit_for_physical);
+ if (size_to_decommit > 0)
+ {
+ dprintf (REGIONS_LOG, ("low memory - decommitting %zd (for heap_hard_limit: %zd, for physical: %zd)", size_to_decommit, size_to_decommit_for_heap_hard_limit, size_to_decommit_for_physical));
+
+ decommit_step(size_to_decommit / DECOMMIT_SIZE_PER_MILLISECOND);
+ }
+
for (int kind = basic_free_region; kind < count_free_region_kinds; kind++)
{
if (global_regions_to_decommit[kind].get_num_free_regions() != 0)
@@ -13662,6 +13883,7 @@ void gc_heap::distribute_free_regions()
}
#endif //MULTIPLE_HEAPS
}
+
#endif //USE_REGIONS
#ifdef WRITE_WATCH
@@ -14182,6 +14404,11 @@ HRESULT gc_heap::initialize_gc (size_t soh_segment_size,
if ((dynamic_adaptation_mode == dynamic_adaptation_to_application_sizes) && (conserve_mem_setting == 0))
conserve_mem_setting = 5;
+
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ bgc_to_ngc2_ratio = (int)GCConfig::GetGCDBGCRatio();
+ dprintf (1, ("bgc_to_ngc2_ratio is %d", bgc_to_ngc2_ratio));
+#endif
#endif //DYNAMIC_HEAP_COUNT
if (conserve_mem_setting < 0)
@@ -21071,6 +21298,18 @@ int gc_heap::joined_generation_to_condemn (BOOL should_evaluate_elevation,
if (!((n == max_generation) && *blocking_collection_p))
{
n = max_generation;
+
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ if (bgc_to_ngc2_ratio)
+ {
+ int r = (int)gc_rand::get_rand ((bgc_to_ngc2_ratio + 1) * 10);
+ dprintf (6666, ("%d - making this full GC %s", r, ((r < 10) ? "NGC2" : "BGC")));
+ if (r < 10)
+ {
+ *blocking_collection_p = TRUE;
+ }
+ }
+#endif //STRESS_DYNAMIC_HEAP_COUNT
}
}
}
@@ -24332,12 +24571,37 @@ void gc_heap::garbage_collect (int n)
size_t saved_bgc_th_count_creation_failed = bgc_th_count_creation_failed;
#endif //DYNAMIC_HEAP_COUNT
+ // This is the count of threads that GCToEEInterface::CreateThread reported successful for.
+ int total_bgc_threads_running = 0;
for (int i = 0; i < n_heaps; i++)
{
- prepare_bgc_thread (g_heaps[i]);
+ gc_heap* hp = g_heaps[i];
+ if (prepare_bgc_thread (hp))
+ {
+ assert (hp->bgc_thread_running);
+ if (!hp->bgc_thread_running)
+ {
+ dprintf (6666, ("h%d prepare succeeded but running is still false!", i));
+ GCToOSInterface::DebugBreak();
+ }
+ total_bgc_threads_running++;
+ }
+ else
+ {
+ break;
+ }
}
#ifdef DYNAMIC_HEAP_COUNT
+ // Even if we don't do a BGC, we need to record how many threads were successfully created because those will
+ // be running.
+ total_bgc_threads = max (total_bgc_threads, total_bgc_threads_running);
+
+ if (total_bgc_threads_running != n_heaps)
+ {
+ dprintf (6666, ("wanted to have %d BGC threads but only have %d", n_heaps, total_bgc_threads_running));
+ }
+
add_to_bgc_th_creation_history (current_gc_index,
(bgc_th_count_created - saved_bgc_th_count_created),
(bgc_th_count_created_th_existed - saved_bgc_th_count_created_th_existed),
@@ -24369,7 +24633,15 @@ void gc_heap::garbage_collect (int n)
for (int i = 0; i < n_heaps; i++)
{
gc_heap* hp = g_heaps[i];
- if (!(hp->bgc_thread) || !hp->commit_mark_array_bgc_init())
+
+ if (!(hp->bgc_thread_running))
+ {
+ assert (!(hp->bgc_thread));
+ }
+
+ // In theory we could be in a situation where bgc_thread_running is false but bgc_thread is non NULL. We don't
+ // support this scenario so don't do a BGC.
+ if (!(hp->bgc_thread_running && hp->bgc_thread && hp->commit_mark_array_bgc_init()))
{
do_concurrent_p = FALSE;
break;
@@ -24389,8 +24661,37 @@ void gc_heap::garbage_collect (int n)
}
#endif //MULTIPLE_HEAPS
+#ifdef DYNAMIC_HEAP_COUNT
+ dprintf (6666, ("last BGC saw %d heaps and %d total threads, currently %d heaps and %d total threads, %s BGC",
+ last_bgc_n_heaps, last_total_bgc_threads, n_heaps, total_bgc_threads, (do_concurrent_p ? "doing" : "not doing")));
+#endif //DYNAMIC_HEAP_COUNT
+
if (do_concurrent_p)
{
+#ifdef DYNAMIC_HEAP_COUNT
+ int diff = n_heaps - last_bgc_n_heaps;
+ if (diff > 0)
+ {
+ int saved_idle_bgc_thread_count = dynamic_heap_count_data.idle_bgc_thread_count;
+ int max_idle_event_count = min (n_heaps, last_total_bgc_threads);
+ int idle_events_to_set = max_idle_event_count - last_bgc_n_heaps;
+ if (idle_events_to_set > 0)
+ {
+ Interlocked::ExchangeAdd (&dynamic_heap_count_data.idle_bgc_thread_count, -idle_events_to_set);
+ dprintf (6666, ("%d BGC threads exist, setting %d idle events for h%d-h%d, total idle %d -> %d",
+ total_bgc_threads, idle_events_to_set, last_bgc_n_heaps, (last_bgc_n_heaps + idle_events_to_set - 1),
+ saved_idle_bgc_thread_count, VolatileLoadWithoutBarrier (&dynamic_heap_count_data.idle_bgc_thread_count)));
+ for (int heap_idx = last_bgc_n_heaps; heap_idx < max_idle_event_count; heap_idx++)
+ {
+ g_heaps[heap_idx]->bgc_idle_thread_event.Set();
+ }
+ }
+ }
+
+ last_bgc_n_heaps = n_heaps;
+ last_total_bgc_threads = total_bgc_threads;
+#endif //DYNAMIC_HEAP_COUNT
+
#ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
SoftwareWriteWatch::EnableForGCHeap();
#endif //FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
@@ -25918,9 +26219,6 @@ void gc_heap::check_heap_count ()
for (int heap_idx = n_heaps; heap_idx < new_n_heaps; heap_idx++)
{
g_heaps[heap_idx]->gc_idle_thread_event.Set();
-#ifdef BACKGROUND_GC
- g_heaps[heap_idx]->bgc_idle_thread_event.Set();
-#endif //BACKGROUND_GC
}
}
@@ -37637,6 +37935,19 @@ void gc_heap::gc_thread_stub (void* arg)
void gc_heap::bgc_thread_stub (void* arg)
{
gc_heap* heap = (gc_heap*)arg;
+
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ // We should only do this every so often; otherwise we'll never be able to do a BGC
+ int r = (int)gc_rand::get_rand (30);
+ bool wait_p = (r < 10);
+
+ if (wait_p)
+ {
+ GCToOSInterface::Sleep (100);
+ }
+ dprintf (6666, ("h%d %s", heap->heap_number, (wait_p ? "waited" : "did not wait")));
+#endif
+
heap->bgc_thread = GCToEEInterface::GetThread();
assert(heap->bgc_thread != nullptr);
heap->bgc_thread_function();
@@ -38380,6 +38691,16 @@ void gc_heap::background_mark_phase ()
if (bgc_t_join.joined())
#endif //MULTIPLE_HEAPS
{
+#ifdef USE_REGIONS
+ // There's no need to distribute a second time if we just did an ephemeral GC, and we don't want to
+ // age the free regions twice.
+ if (!do_ephemeral_gc_p)
+ {
+ distribute_free_regions ();
+ age_free_regions ("BGC");
+ }
+#endif //USE_REGIONS
+
#ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
// Resetting write watch for software write watch is pretty fast, much faster than for hardware write watch. Reset
// can be done while the runtime is suspended or after the runtime is restarted, the preference was to reset while
@@ -39429,6 +39750,8 @@ void gc_heap::add_to_bgc_th_creation_history (size_t gc_index, size_t count_crea
}
#endif //DYNAMIC_HEAP_COUNT
+// If this returns TRUE, we are saying we expect that thread to be there. However, when that thread is available to work is indeterministic.
+// But when we actually start a BGC, naturally we'll need to wait till it gets to the point it can work.
BOOL gc_heap::prepare_bgc_thread(gc_heap* gh)
{
BOOL success = FALSE;
@@ -39440,7 +39763,19 @@ BOOL gc_heap::prepare_bgc_thread(gc_heap* gh)
dprintf (2, ("GC thread not running"));
if (gh->bgc_thread == 0)
{
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ // to stress, we just don't actually try to create the thread to simulate a failure
+ int r = (int)gc_rand::get_rand (100);
+ bool try_to_create_p = (r > 10);
+ BOOL thread_created_p = (try_to_create_p ? create_bgc_thread (gh) : FALSE);
+ if (!thread_created_p)
+ {
+ dprintf (6666, ("h%d we failed to create the thread, %s", gh->heap_number, (try_to_create_p ? "tried" : "didn't try")));
+ }
+ if (thread_created_p)
+#else //STRESS_DYNAMIC_HEAP_COUNT
if (create_bgc_thread(gh))
+#endif //STRESS_DYNAMIC_HEAP_COUNT
{
success = TRUE;
thread_created = TRUE;
@@ -39458,8 +39793,11 @@ BOOL gc_heap::prepare_bgc_thread(gc_heap* gh)
else
{
#ifdef DYNAMIC_HEAP_COUNT
+ // This would be a very unusual scenario where GCToEEInterface::CreateThread told us it failed yet the thread was created.
bgc_th_count_created_th_existed++;
+ dprintf (6666, ("h%d we cannot have a thread that runs yet CreateThread reported it failed to create it", gh->heap_number));
#endif //DYNAMIC_HEAP_COUNT
+ assert (!"GCToEEInterface::CreateThread returned FALSE yet the thread was created!");
}
}
else
@@ -39657,7 +39995,7 @@ void gc_heap::bgc_thread_function()
while (1)
{
// Wait for work to do...
- dprintf (3, ("bgc thread: waiting..."));
+ dprintf (6666, ("h%d bgc thread: waiting...", heap_number));
cooperative_mode = enable_preemptive ();
//current_thread->m_fPreemptiveGCDisabled = 0;
@@ -39706,36 +40044,71 @@ void gc_heap::bgc_thread_function()
continue;
}
}
+
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ if (n_heaps <= heap_number)
+ {
+ uint32_t delay_ms = (uint32_t)gc_rand::get_rand (200);
+ GCToOSInterface::Sleep (delay_ms);
+ }
+#endif //STRESS_DYNAMIC_HEAP_COUNT
+
// if we signal the thread with no concurrent work to do -> exit
if (!settings.concurrent)
{
- dprintf (3, ("no concurrent GC needed, exiting"));
+ dprintf (6666, ("h%d no concurrent GC needed, exiting", heap_number));
+
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ flush_gc_log (true);
+ GCToOSInterface::DebugBreak();
+#endif
break;
}
- gc_background_running = TRUE;
- dprintf (2, (ThreadStressLog::gcStartBgcThread(), heap_number,
- generation_free_list_space (generation_of (max_generation)),
- generation_free_obj_space (generation_of (max_generation)),
- dd_fragmentation (dynamic_data_of (max_generation))));
#ifdef DYNAMIC_HEAP_COUNT
if (n_heaps <= heap_number)
{
+ Interlocked::Increment (&dynamic_heap_count_data.idle_bgc_thread_count);
add_to_bgc_hc_history (hc_record_bgc_inactive);
// this is the case where we have more background GC threads than heaps
// - wait until we're told to continue...
- dprintf (9999, ("BGC thread %d idle (%d heaps) (gc%Id)", heap_number, n_heaps, VolatileLoadWithoutBarrier (&settings.gc_index)));
+ dprintf (6666, ("BGC%Id h%d going idle (%d heaps), idle count is now %d",
+ VolatileLoadWithoutBarrier (&settings.gc_index), heap_number, n_heaps, VolatileLoadWithoutBarrier (&dynamic_heap_count_data.idle_bgc_thread_count)));
bgc_idle_thread_event.Wait(INFINITE, FALSE);
- dprintf (9999, ("BGC thread %d waking from idle (%d heaps) (gc%Id)", heap_number, n_heaps, VolatileLoadWithoutBarrier (&settings.gc_index)));
+ dprintf (6666, ("BGC%Id h%d woke from idle (%d heaps), idle count is now %d",
+ VolatileLoadWithoutBarrier (&settings.gc_index), heap_number, n_heaps, VolatileLoadWithoutBarrier (&dynamic_heap_count_data.idle_bgc_thread_count)));
continue;
}
else
{
+ if (heap_number == 0)
+ {
+ const int spin_count = 1024;
+ int idle_bgc_thread_count = total_bgc_threads - n_heaps;
+ dprintf (6666, ("n_heaps %d, total %d bgc threads, bgc idle should be %d and is %d",
+ n_heaps, total_bgc_threads, idle_bgc_thread_count, VolatileLoadWithoutBarrier (&dynamic_heap_count_data.idle_bgc_thread_count)));
+ if (idle_bgc_thread_count != dynamic_heap_count_data.idle_bgc_thread_count)
+ {
+ dprintf (6666, ("current idle is %d, trying to get to %d",
+ VolatileLoadWithoutBarrier (&dynamic_heap_count_data.idle_bgc_thread_count), idle_bgc_thread_count));
+ spin_and_wait (spin_count, (idle_bgc_thread_count == dynamic_heap_count_data.idle_bgc_thread_count));
+ }
+ }
+
add_to_bgc_hc_history (hc_record_bgc_active);
}
#endif //DYNAMIC_HEAP_COUNT
+ if (heap_number == 0)
+ {
+ gc_background_running = TRUE;
+ dprintf (6666, (ThreadStressLog::gcStartBgcThread(), heap_number,
+ generation_free_list_space (generation_of (max_generation)),
+ generation_free_obj_space (generation_of (max_generation)),
+ dd_fragmentation (dynamic_data_of (max_generation))));
+ }
+
gc1();
#ifndef DOUBLY_LINKED_FL
@@ -53224,7 +53597,7 @@ bool gc_heap::compute_memory_settings(bool is_initialization, uint32_t& nhp, uin
if (highmem_th_from_config)
{
high_memory_load_th = min (99u, highmem_th_from_config);
- v_high_memory_load_th = min (99u, (highmem_th_from_config + 7));
+ v_high_memory_load_th = min (99u, (high_memory_load_th + 7));
#ifdef FEATURE_EVENT_TRACE
high_mem_percent_from_config = highmem_th_from_config;
#endif //FEATURE_EVENT_TRACE
@@ -53249,6 +53622,7 @@ bool gc_heap::compute_memory_settings(bool is_initialization, uint32_t& nhp, uin
}
m_high_memory_load_th = min ((high_memory_load_th + 5), v_high_memory_load_th);
+ almost_high_memory_load_th = (high_memory_load_th > 5) ? (high_memory_load_th - 5) : 1; // avoid underflow of high_memory_load_th - 5
return true;
}
diff --git a/src/coreclr/gc/gcconfig.h b/src/coreclr/gc/gcconfig.h
index 6952355a677bd2..c74a3b1f286ab7 100644
--- a/src/coreclr/gc/gcconfig.h
+++ b/src/coreclr/gc/gcconfig.h
@@ -142,8 +142,9 @@ class GCConfigStringHolder
INT_CONFIG (GCSpinCountUnit, "GCSpinCountUnit", NULL, 0, "Specifies the spin count unit used by the GC.") \
INT_CONFIG (GCDynamicAdaptationMode, "GCDynamicAdaptationMode", "System.GC.DynamicAdaptationMode", 1, "Enable the GC to dynamically adapt to application sizes.") \
INT_CONFIG (GCDTargetTCP, "GCDTargetTCP", "System.GC.DTargetTCP", 0, "Specifies the target tcp for DATAS") \
- BOOL_CONFIG (GCLogBGCThreadId, "GCLogBGCThreadId", NULL, false, "Specifies if BGC ThreadId should be logged")
-
+ INT_CONFIG (GCDBGCRatio, " GCDBGCRatio", NULL, 0, "Specifies the ratio of BGC to NGC2 for HC change") \
+ BOOL_CONFIG (GCLogBGCThreadId, "GCLogBGCThreadId", NULL, false, "Specifies if BGC ThreadId should be logged") \
+ BOOL_CONFIG (GCCacheSizeFromSysConf, "GCCacheSizeFromSysConf", NULL, false, "Specifies using sysconf to retrieve the last level cache size for Unix.")
// This class is responsible for retreiving configuration information
// for how the GC should operate.
diff --git a/src/coreclr/gc/gcpriv.h b/src/coreclr/gc/gcpriv.h
index 9486645259936a..fbbb5847b96830 100644
--- a/src/coreclr/gc/gcpriv.h
+++ b/src/coreclr/gc/gcpriv.h
@@ -1416,14 +1416,19 @@ enum interesting_data_point
#ifdef USE_REGIONS
enum free_region_kind
{
- basic_free_region,
- large_free_region,
- huge_free_region,
- count_free_region_kinds,
+ basic_free_region = 0,
+ large_free_region = 1,
+ count_distributed_free_region_kinds = 2,
+ huge_free_region = 2,
+ count_free_region_kinds = 3,
};
static_assert(count_free_region_kinds == FREE_REGION_KINDS, "Keep count_free_region_kinds in sync with FREE_REGION_KINDS, changing this is not a version breaking change.");
+#ifdef TRACE_GC
+static const char * const free_region_kind_name[count_free_region_kinds] = { "basic", "large", "huge"};
+#endif // TRACE_GC
+
class region_free_list
{
size_t num_free_regions;
@@ -1732,6 +1737,14 @@ class gc_heap
PER_HEAP_ISOLATED_METHOD void compute_gc_and_ephemeral_range (int condemned_gen_number, bool end_of_gc_p);
PER_HEAP_ISOLATED_METHOD void distribute_free_regions();
+ PER_HEAP_ISOLATED_METHOD void move_all_aged_regions(size_t total_num_free_regions[count_distributed_free_region_kinds], region_free_list aged_regions[count_free_region_kinds], bool joined_last_gc_before_oom);
+ PER_HEAP_ISOLATED_METHOD void move_aged_regions(region_free_list dest[count_free_region_kinds], region_free_list& src, free_region_kind kind, bool joined_last_gc_before_oom);
+ PER_HEAP_ISOLATED_METHOD bool aged_region_p(heap_segment* region, free_region_kind kind);
+ PER_HEAP_ISOLATED_METHOD void move_regions_to_decommit(region_free_list oregions[count_free_region_kinds]);
+ PER_HEAP_ISOLATED_METHOD size_t compute_basic_region_budgets(size_t heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], size_t min_heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], size_t total_basic_free_regions);
+ PER_HEAP_ISOLATED_METHOD bool near_heap_hard_limit_p();
+ PER_HEAP_ISOLATED_METHOD bool distribute_surplus_p(ptrdiff_t balance, int kind, bool aggressive_decommit_large_p);
+ PER_HEAP_ISOLATED_METHOD void decide_on_decommit_strategy(bool joined_last_gc_before_oom);
PER_HEAP_ISOLATED_METHOD void age_free_regions (const char* msg);
@@ -5175,6 +5188,9 @@ class gc_heap
int last_n_heaps;
// don't start a GC till we see (n_max_heaps - new_n_heaps) number of threads idling
VOLATILE(int32_t) idle_thread_count;
+#ifdef BACKGROUND_GC
+ VOLATILE(int32_t) idle_bgc_thread_count;
+#endif
bool init_only_p;
bool should_change_heap_count;
@@ -5202,6 +5218,17 @@ class gc_heap
// This is set when change_heap_count wants the next GC to be a BGC for rethreading gen2 FL
// and reset during that BGC.
PER_HEAP_ISOLATED_FIELD_MAINTAINED bool trigger_bgc_for_rethreading_p;
+ // BGC threads are created on demand but we don't destroy the ones we created. This
+ // is to track how many we've created. They may or may not be active depending on
+ // if they are needed.
+ PER_HEAP_ISOLATED_FIELD_MAINTAINED int total_bgc_threads;
+
+ // HC last BGC observed.
+ PER_HEAP_ISOLATED_FIELD_MAINTAINED int last_bgc_n_heaps;
+ // Number of total BGC threads last BGC observed. This tells us how many new BGC threads have
+ // been created since. Note that just because a BGC thread is created doesn't mean it's used.
+ // We can fail at committing mark array and not proceed with the BGC.
+ PER_HEAP_ISOLATED_FIELD_MAINTAINED int last_total_bgc_threads;
#endif //BACKGROUND_GC
#endif //DYNAMIC_HEAP_COUNT
@@ -5221,6 +5248,7 @@ class gc_heap
PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t high_memory_load_th;
PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t m_high_memory_load_th;
PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t v_high_memory_load_th;
+ PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t almost_high_memory_load_th;
PER_HEAP_ISOLATED_FIELD_INIT_ONLY bool is_restricted_physical_mem;
PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint64_t mem_one_percent;
PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint64_t total_physical_mem;
@@ -5352,6 +5380,9 @@ class gc_heap
#ifdef DYNAMIC_HEAP_COUNT
PER_HEAP_ISOLATED_FIELD_INIT_ONLY int dynamic_adaptation_mode;
+#ifdef STRESS_DYNAMIC_HEAP_COUNT
+ PER_HEAP_ISOLATED_FIELD_INIT_ONLY int bgc_to_ngc2_ratio;
+#endif //STRESS_DYNAMIC_HEAP_COUNT
#endif //DYNAMIC_HEAP_COUNT
/********************************************/
@@ -6189,7 +6220,9 @@ class heap_segment
// GCs. We stop at 99. It's initialized to 0 when a region is added to
// the region's free list.
#define MAX_AGE_IN_FREE 99
- #define AGE_IN_FREE_TO_DECOMMIT 20
+ #define AGE_IN_FREE_TO_DECOMMIT_BASIC 20
+ #define AGE_IN_FREE_TO_DECOMMIT_LARGE 5
+ #define AGE_IN_FREE_TO_DECOMMIT_HUGE 2
int age_in_free;
// This is currently only used by regions that are swept in plan -
// we then thread this list onto the generation's free list.
diff --git a/src/coreclr/gc/sample/CMakeLists.txt b/src/coreclr/gc/sample/CMakeLists.txt
index 1f297fd2313329..be894bf5d81be9 100644
--- a/src/coreclr/gc/sample/CMakeLists.txt
+++ b/src/coreclr/gc/sample/CMakeLists.txt
@@ -36,6 +36,7 @@ if (CLR_CMAKE_TARGET_ARCH_AMD64 AND CLR_CMAKE_TARGET_WIN32)
../vxsort/smallsort/bitonic_sort.AVX512.int64_t.generated.cpp
../vxsort/smallsort/bitonic_sort.AVX512.int32_t.generated.cpp
../vxsort/smallsort/avx2_load_mask_tables.cpp
+ ${CLR_SRC_NATIVE_DIR}/minipal/cpufeatures.c
)
endif (CLR_CMAKE_TARGET_ARCH_AMD64 AND CLR_CMAKE_TARGET_WIN32)
diff --git a/src/coreclr/gc/unix/CMakeLists.txt b/src/coreclr/gc/unix/CMakeLists.txt
index 83c0bf8a67d8b4..f88b039609881e 100644
--- a/src/coreclr/gc/unix/CMakeLists.txt
+++ b/src/coreclr/gc/unix/CMakeLists.txt
@@ -1,5 +1,6 @@
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories("../env")
+include_directories("..")
include(configure.cmake)
diff --git a/src/coreclr/gc/unix/gcenv.unix.cpp b/src/coreclr/gc/unix/gcenv.unix.cpp
index 879397c4493c40..7c2101431c9128 100644
--- a/src/coreclr/gc/unix/gcenv.unix.cpp
+++ b/src/coreclr/gc/unix/gcenv.unix.cpp
@@ -18,8 +18,10 @@
#include "gcenv.structs.h"
#include "gcenv.base.h"
#include "gcenv.os.h"
+#include "gcenv.ee.h"
#include "gcenv.unix.inl"
#include "volatile.h"
+#include "gcconfig.h"
#include "numasupport.h"
#if HAVE_SWAPCTL
@@ -862,10 +864,10 @@ bool ReadMemoryValueFromFile(const char* filename, uint64_t* val)
return result;
}
-static size_t GetLogicalProcessorCacheSizeFromOS()
+static void GetLogicalProcessorCacheSizeFromSysConf(size_t* cacheLevel, size_t* cacheSize)
{
- size_t cacheLevel = 0;
- size_t cacheSize = 0;
+ assert (cacheLevel != nullptr);
+ assert (cacheSize != nullptr);
#if defined(_SC_LEVEL1_DCACHE_SIZE) || defined(_SC_LEVEL2_CACHE_SIZE) || defined(_SC_LEVEL3_CACHE_SIZE) || defined(_SC_LEVEL4_CACHE_SIZE)
const int cacheLevelNames[] =
@@ -881,47 +883,105 @@ static size_t GetLogicalProcessorCacheSizeFromOS()
long size = sysconf(cacheLevelNames[i]);
if (size > 0)
{
- cacheSize = (size_t)size;
- cacheLevel = i + 1;
+ *cacheSize = (size_t)size;
+ *cacheLevel = i + 1;
break;
}
}
#endif
+}
+
+static void GetLogicalProcessorCacheSizeFromSysFs(size_t* cacheLevel, size_t* cacheSize)
+{
+ assert (cacheLevel != nullptr);
+ assert (cacheSize != nullptr);
#if defined(TARGET_LINUX) && !defined(HOST_ARM) && !defined(HOST_X86)
- if (cacheSize == 0)
+ //
+ // Retrieve cachesize via sysfs by reading the file /sys/devices/system/cpu/cpu0/cache/index{LastLevelCache}/size
+ // for the platform. Currently musl and arm64 should be only cases to use
+ // this method to determine cache size.
+ //
+ size_t level;
+ char path_to_size_file[] = "/sys/devices/system/cpu/cpu0/cache/index-/size";
+ char path_to_level_file[] = "/sys/devices/system/cpu/cpu0/cache/index-/level";
+ int index = 40;
+ assert(path_to_size_file[index] == '-');
+ assert(path_to_level_file[index] == '-');
+
+ for (int i = 0; i < 5; i++)
{
- //
- // Fallback to retrieve cachesize via /sys/.. if sysconf was not available
- // for the platform. Currently musl and arm64 should be only cases to use
- // this method to determine cache size.
- //
- size_t level;
- char path_to_size_file[] = "/sys/devices/system/cpu/cpu0/cache/index-/size";
- char path_to_level_file[] = "/sys/devices/system/cpu/cpu0/cache/index-/level";
- int index = 40;
- assert(path_to_size_file[index] == '-');
- assert(path_to_level_file[index] == '-');
-
- for (int i = 0; i < 5; i++)
- {
- path_to_size_file[index] = (char)(48 + i);
+ path_to_size_file[index] = (char)(48 + i);
- uint64_t cache_size_from_sys_file = 0;
+ uint64_t cache_size_from_sys_file = 0;
- if (ReadMemoryValueFromFile(path_to_size_file, &cache_size_from_sys_file))
- {
- cacheSize = std::max(cacheSize, (size_t)cache_size_from_sys_file);
+ if (ReadMemoryValueFromFile(path_to_size_file, &cache_size_from_sys_file))
+ {
+ *cacheSize = std::max(*cacheSize, (size_t)cache_size_from_sys_file);
- path_to_level_file[index] = (char)(48 + i);
- if (ReadMemoryValueFromFile(path_to_level_file, &level))
- {
- cacheLevel = level;
- }
+ path_to_level_file[index] = (char)(48 + i);
+ if (ReadMemoryValueFromFile(path_to_level_file, &level))
+ {
+ *cacheLevel = level;
}
}
}
+#endif
+}
+
+static void GetLogicalProcessorCacheSizeFromHeuristic(size_t* cacheLevel, size_t* cacheSize)
+{
+ assert (cacheLevel != nullptr);
+ assert (cacheSize != nullptr);
+
+#if (defined(TARGET_LINUX) && !defined(TARGET_APPLE))
+ {
+ // Use the following heuristics at best depending on the CPU count
+ // 1 ~ 4 : 4 MB
+ // 5 ~ 16 : 8 MB
+ // 17 ~ 64 : 16 MB
+ // 65+ : 32 MB
+ DWORD logicalCPUs = g_processAffinitySet.Count();
+ if (logicalCPUs < 5)
+ {
+ *cacheSize = 4;
+ }
+ else if (logicalCPUs < 17)
+ {
+ *cacheSize = 8;
+ }
+ else if (logicalCPUs < 65)
+ {
+ *cacheSize = 16;
+ }
+ else
+ {
+ *cacheSize = 32;
+ }
+
+ *cacheSize *= (1024 * 1024);
+ }
#endif
+}
+
+static size_t GetLogicalProcessorCacheSizeFromOS()
+{
+ size_t cacheLevel = 0;
+ size_t cacheSize = 0;
+
+ if (GCConfig::GetGCCacheSizeFromSysConf())
+ {
+ GetLogicalProcessorCacheSizeFromSysConf(&cacheLevel, &cacheSize);
+ }
+
+ if (cacheSize == 0)
+ {
+ GetLogicalProcessorCacheSizeFromSysFs(&cacheLevel, &cacheSize);
+ if (cacheSize == 0)
+ {
+ GetLogicalProcessorCacheSizeFromHeuristic(&cacheLevel, &cacheSize);
+ }
+ }
#if HAVE_SYSCTLBYNAME
if (cacheSize == 0)
@@ -948,32 +1008,7 @@ static size_t GetLogicalProcessorCacheSizeFromOS()
#if (defined(HOST_ARM64) || defined(HOST_LOONGARCH64)) && !defined(TARGET_APPLE)
if (cacheLevel != 3)
{
- // We expect to get the L3 cache size for Arm64 but currently expected to be missing that info
- // from most of the machines.
- // Hence, just use the following heuristics at best depending on the CPU count
- // 1 ~ 4 : 4 MB
- // 5 ~ 16 : 8 MB
- // 17 ~ 64 : 16 MB
- // 65+ : 32 MB
- DWORD logicalCPUs = g_processAffinitySet.Count();
- if (logicalCPUs < 5)
- {
- cacheSize = 4;
- }
- else if (logicalCPUs < 17)
- {
- cacheSize = 8;
- }
- else if (logicalCPUs < 65)
- {
- cacheSize = 16;
- }
- else
- {
- cacheSize = 32;
- }
-
- cacheSize *= (1024 * 1024);
+ GetLogicalProcessorCacheSizeFromHeuristic(&cacheLevel, &cacheSize);
}
#endif
diff --git a/src/coreclr/gc/vxsort/isa_detection.cpp b/src/coreclr/gc/vxsort/isa_detection.cpp
index 93c7288663c42f..b069c8be9bee04 100644
--- a/src/coreclr/gc/vxsort/isa_detection.cpp
+++ b/src/coreclr/gc/vxsort/isa_detection.cpp
@@ -2,14 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.
#include "common.h"
-
-#ifdef TARGET_WINDOWS
-#include
-#include
-#endif
-
#include "do_vxsort.h"
+#include
+
enum class SupportedISA
{
None = 0,
@@ -17,77 +13,12 @@ enum class SupportedISA
AVX512F = 1 << (int)InstructionSet::AVX512F
};
-#if defined(TARGET_AMD64) && defined(TARGET_WINDOWS)
-
-SupportedISA DetermineSupportedISA()
-{
- // register definitions to make the following code more readable
- enum reg
- {
- EAX = 0,
- EBX = 1,
- ECX = 2,
- EDX = 3,
- COUNT = 4
- };
-
- // bit definitions to make code more readable
- enum bits
- {
- OCXSAVE = 1<<27,
- AVX = 1<<28,
- AVX2 = 1<< 5,
- AVX512F = 1<<16,
- AVX512DQ = 1<<17,
- };
- int reg[COUNT];
-
- __cpuid(reg, 0);
- if (reg[EAX] < 7)
- return SupportedISA::None;
-
- __cpuid(reg, 1);
-
- // both AVX and OCXSAVE feature flags must be enabled
- if ((reg[ECX] & (OCXSAVE|AVX)) != (OCXSAVE | AVX))
- return SupportedISA::None;
-
- // get xcr0 register
- DWORD64 xcr0 = _xgetbv(0);
-
- // get OS XState info
- DWORD64 FeatureMask = GetEnabledXStateFeatures();
-
- // get processor extended feature flag info
- __cpuidex(reg, 7, 0);
-
- // check if all of AVX2, AVX512F and AVX512DQ are supported by both processor and OS
- if ((reg[EBX] & (AVX2 | AVX512F | AVX512DQ)) == (AVX2 | AVX512F | AVX512DQ) &&
- (xcr0 & 0xe6) == 0xe6 &&
- (FeatureMask & (XSTATE_MASK_AVX | XSTATE_MASK_AVX512)) == (XSTATE_MASK_AVX | XSTATE_MASK_AVX512))
- {
- return (SupportedISA)((int)SupportedISA::AVX2 | (int)SupportedISA::AVX512F);
- }
-
- // check if AVX2 is supported by both processor and OS
- if ((reg[EBX] & AVX2) &&
- (xcr0 & 0x06) == 0x06 &&
- (FeatureMask & XSTATE_MASK_AVX) == XSTATE_MASK_AVX)
- {
- return SupportedISA::AVX2;
- }
-
- return SupportedISA::None;
-}
-
-#elif defined(TARGET_UNIX)
-
SupportedISA DetermineSupportedISA()
{
- __builtin_cpu_init();
- if (__builtin_cpu_supports("avx2"))
+ int cpuFeatures = minipal_getcpufeatures();
+ if ((cpuFeatures & XArchIntrinsicConstants_Avx2) != 0)
{
- if (__builtin_cpu_supports("avx512f"))
+ if ((cpuFeatures & XArchIntrinsicConstants_Avx512) != 0)
return (SupportedISA)((int)SupportedISA::AVX2 | (int)SupportedISA::AVX512F);
else
return SupportedISA::AVX2;
@@ -98,8 +29,6 @@ SupportedISA DetermineSupportedISA()
}
}
-#endif // defined(TARGET_UNIX)
-
static bool s_initialized;
static SupportedISA s_supportedISA;
diff --git a/src/coreclr/ildasm/dasm.cpp b/src/coreclr/ildasm/dasm.cpp
index f94a5846672d96..7c2b3eabd36597 100644
--- a/src/coreclr/ildasm/dasm.cpp
+++ b/src/coreclr/ildasm/dasm.cpp
@@ -1914,7 +1914,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
for(n=0; n < numElements; n++)
{
if(n) appendStr(out," ");
- sprintf_s(str, 64, "%.*g", 8, (double)(*((float*)dataPtr)));
+ sprintf_s(str, 64, "%#.8g", (double)(*((float*)dataPtr)));
float df = (float)atof(str);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
@@ -1933,7 +1933,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
{
if(n) appendStr(out," ");
char *pch;
- sprintf_s(str, 64, "%.*g", 17, *((double*)dataPtr));
+ sprintf_s(str, 64, "%#.17g", *((double*)dataPtr));
double df = strtod(str, &pch);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 64-bit precision number!!!!
@@ -2605,7 +2605,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R4:
{
char szf[32];
- sprintf_s(szf, 32, "%.*g", 8, (double)MDDV.m_fltValue);
+ sprintf_s(szf, 32, "%#.8g", (double)MDDV.m_fltValue);
float df = (float)atof(szf);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
@@ -2619,7 +2619,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R8:
{
char szf[32], *pch;
- sprintf_s(szf, 32, "%.*g", 17, MDDV.m_dblValue);
+ sprintf_s(szf, 32, "%#.17g", MDDV.m_dblValue);
double df = strtod(szf, &pch); //atof(szf);
szf[31]=0;
// Must compare as underlying bytes, not floating point otherwise optimizer will
diff --git a/src/coreclr/inc/corinfo.h b/src/coreclr/inc/corinfo.h
index 068ee41bbb72a5..cab2f6c71d7447 100644
--- a/src/coreclr/inc/corinfo.h
+++ b/src/coreclr/inc/corinfo.h
@@ -2374,10 +2374,10 @@ class ICorStaticInfo
bool fDoubleAlignHint = false
) = 0;
- // This is only called for Value classes. It returns a boolean array
- // in representing of 'cls' from a GC perspective. The class is
- // assumed to be an array of machine words
- // (of length // getClassSize(cls) / TARGET_POINTER_SIZE),
+ // Returns a boolean array representing 'cls' from a GC perspective.
+ // The class is assumed to be an array of machine words
+ // (of length getClassSize(cls) / TARGET_POINTER_SIZE for value classes
+ // and getHeapClassSize(cls) / TARGET_POINTER_SIZE for reference types),
// 'gcPtrs' is a pointer to an array of uint8_ts of this length.
// getClassGClayout fills in this array so that gcPtrs[i] is set
// to one of the CorInfoGCType values which is the GC type of
diff --git a/src/coreclr/inc/eetwain.h b/src/coreclr/inc/eetwain.h
index c7b1be02e5c638..4ee7b9a7b84b6e 100644
--- a/src/coreclr/inc/eetwain.h
+++ b/src/coreclr/inc/eetwain.h
@@ -273,6 +273,7 @@ virtual GenericParamContextType GetParamContextType(PREGDISPLAY pContext,
*/
virtual void * GetGSCookieAddr(PREGDISPLAY pContext,
EECodeInfo * pCodeInfo,
+ unsigned flags,
CodeManState * pState) = 0;
#ifndef USE_GC_INFO_DECODER
@@ -541,6 +542,7 @@ PTR_VOID GetExactGenericsToken(SIZE_T baseStackSlot,
virtual
void * GetGSCookieAddr(PREGDISPLAY pContext,
EECodeInfo * pCodeInfo,
+ unsigned flags,
CodeManState * pState);
diff --git a/src/coreclr/interop/trackerobjectmanager.cpp b/src/coreclr/interop/trackerobjectmanager.cpp
index d4302054baedba..0df78164906dcc 100644
--- a/src/coreclr/interop/trackerobjectmanager.cpp
+++ b/src/coreclr/interop/trackerobjectmanager.cpp
@@ -84,7 +84,10 @@ namespace
STDMETHODIMP HostServices::ReleaseDisconnectedReferenceSources()
{
- return InteropLibImports::WaitForRuntimeFinalizerForExternal();
+ // We'd like to call InteropLibImports::WaitForRuntimeFinalizerForExternal() here, but this could
+ // lead to deadlock if the finalizer thread is trying to get back to this thread, because we are
+ // not pumping anymore. Disable this for now. See: https://github.com/dotnet/runtime/issues/109538.
+ return S_OK;
}
STDMETHODIMP HostServices::NotifyEndOfReferenceTrackingOnThread()
diff --git a/src/coreclr/jit/assertionprop.cpp b/src/coreclr/jit/assertionprop.cpp
index 3d61a698a08d5c..f720ca6c826cba 100644
--- a/src/coreclr/jit/assertionprop.cpp
+++ b/src/coreclr/jit/assertionprop.cpp
@@ -2211,6 +2211,22 @@ AssertionInfo Compiler::optAssertionGenJtrue(GenTree* tree)
// If op1 is lcl and op2 is const or lcl, create assertion.
if ((op1->gtOper == GT_LCL_VAR) && (op2->OperIsConst() || (op2->gtOper == GT_LCL_VAR))) // Fix for Dev10 851483
{
+ // Watch out for cases where long local(s) are implicitly truncated.
+ //
+ LclVarDsc* const lcl1Dsc = lvaGetDesc(op1->AsLclVarCommon());
+ if ((lcl1Dsc->TypeGet() == TYP_LONG) && (op1->TypeGet() != TYP_LONG))
+ {
+ return NO_ASSERTION_INDEX;
+ }
+ if (op2->OperIs(GT_LCL_VAR))
+ {
+ LclVarDsc* const lcl2Dsc = lvaGetDesc(op2->AsLclVarCommon());
+ if ((lcl2Dsc->TypeGet() == TYP_LONG) && (op2->TypeGet() != TYP_LONG))
+ {
+ return NO_ASSERTION_INDEX;
+ }
+ }
+
return optCreateJtrueAssertions(op1, op2, assertionKind);
}
else if (!optLocalAssertionProp)
diff --git a/src/coreclr/jit/block.cpp b/src/coreclr/jit/block.cpp
index be2ba15e254690..b00dc1282a2900 100644
--- a/src/coreclr/jit/block.cpp
+++ b/src/coreclr/jit/block.cpp
@@ -267,15 +267,21 @@ FlowEdge* Compiler::BlockPredsWithEH(BasicBlock* blk)
// 'blk'.
//
// Arguments:
-// blk - Block to get dominance predecessors for.
+// blk - Block to get dominance predecessors for.
//
// Returns:
-// List of edges.
+// List of edges.
//
// Remarks:
-// Differs from BlockPredsWithEH only in the treatment of handler blocks;
-// enclosed blocks are never dominance preds, while all predecessors of
-// blocks in the 'try' are (currently only the first try block expected).
+// Differs from BlockPredsWithEH only in the treatment of handler blocks;
+// enclosed blocks are never dominance preds, while all predecessors of
+// blocks in the 'try' are (currently only the first try block expected).
+//
+// There are additional complications due to spurious flow because of
+// two-pass EH. In the flow graph with EH edges we can see entries into the
+// try from filters outside the try, to blocks other than the "try-begin"
+// block. Hence we need to consider the full set of blocks in the try region
+// when considering the block dominance preds.
//
FlowEdge* Compiler::BlockDominancePreds(BasicBlock* blk)
{
@@ -284,14 +290,6 @@ FlowEdge* Compiler::BlockDominancePreds(BasicBlock* blk)
return blk->bbPreds;
}
- EHblkDsc* ehblk = ehGetBlockHndDsc(blk);
- if (!ehblk->HasFinallyOrFaultHandler() || (ehblk->ebdHndBeg != blk))
- {
- return ehblk->ebdTryBeg->bbPreds;
- }
-
- // Finally/fault handlers can be preceded by enclosing filters due to 2
- // pass EH, so add those and keep them cached.
BlockToFlowEdgeMap* domPreds = GetDominancePreds();
FlowEdge* res;
if (domPreds->Lookup(blk, &res))
@@ -299,29 +297,11 @@ FlowEdge* Compiler::BlockDominancePreds(BasicBlock* blk)
return res;
}
- res = ehblk->ebdTryBeg->bbPreds;
- if (ehblk->HasFinallyOrFaultHandler() && (ehblk->ebdHndBeg == blk))
+ EHblkDsc* ehblk = ehGetBlockHndDsc(blk);
+ res = BlockPredsWithEH(blk);
+ for (BasicBlock* predBlk : ehblk->ebdTryBeg->PredBlocks())
{
- // block is a finally or fault handler; all enclosing filters are predecessors
- unsigned enclosing = ehblk->ebdEnclosingTryIndex;
- while (enclosing != EHblkDsc::NO_ENCLOSING_INDEX)
- {
- EHblkDsc* enclosingDsc = ehGetDsc(enclosing);
- if (enclosingDsc->HasFilter())
- {
- for (BasicBlock* filterBlk = enclosingDsc->ebdFilter; filterBlk != enclosingDsc->ebdHndBeg;
- filterBlk = filterBlk->Next())
- {
- res = new (this, CMK_FlowEdge) FlowEdge(filterBlk, blk, res);
-
- assert(filterBlk->VisitEHEnclosedHandlerSecondPassSuccs(this, [blk](BasicBlock* succ) {
- return succ == blk ? BasicBlockVisit::Abort : BasicBlockVisit::Continue;
- }) == BasicBlockVisit::Abort);
- }
- }
-
- enclosing = enclosingDsc->ebdEnclosingTryIndex;
- }
+ res = new (this, CMK_FlowEdge) FlowEdge(predBlk, blk, res);
}
domPreds->Set(blk, res);
diff --git a/src/coreclr/jit/codegenxarch.cpp b/src/coreclr/jit/codegenxarch.cpp
index 4102d4c7711150..32506047d2269d 100644
--- a/src/coreclr/jit/codegenxarch.cpp
+++ b/src/coreclr/jit/codegenxarch.cpp
@@ -6268,6 +6268,18 @@ void CodeGen::genCallInstruction(GenTreeCall* call X86_ARG(target_ssize_t stackA
{
retSize = emitTypeSize(retTypeDesc->GetReturnRegType(0));
secondRetSize = emitTypeSize(retTypeDesc->GetReturnRegType(1));
+
+ if (retTypeDesc->GetABIReturnReg(1, call->GetUnmanagedCallConv()) == REG_INTRET)
+ {
+ // If the second return register is REG_INTRET, then the first
+ // return is expected to be in a SIMD register.
+ // The emitter has hardcoded belief that retSize corresponds to
+ // REG_INTRET and secondRetSize to REG_INTRET_1, so fix up the
+ // situation here.
+ assert(!EA_IS_GCREF_OR_BYREF(retSize));
+ retSize = secondRetSize;
+ secondRetSize = EA_UNKNOWN;
+ }
}
else
{
diff --git a/src/coreclr/jit/emitarm64.cpp b/src/coreclr/jit/emitarm64.cpp
index 2a5c947de175c5..624a737234fcbb 100644
--- a/src/coreclr/jit/emitarm64.cpp
+++ b/src/coreclr/jit/emitarm64.cpp
@@ -217,7 +217,6 @@ void emitter::emitInsSanityCheck(instrDesc* id)
case IF_BR_1B: // BR_1B ................ ......nnnnn..... Rn
if (emitComp->IsTargetAbi(CORINFO_NATIVEAOT_ABI) && id->idIsTlsGD())
{
- assert(isGeneralRegister(id->idReg1()));
assert(id->idAddr()->iiaAddr != nullptr);
}
else
@@ -9184,11 +9183,14 @@ void emitter::emitIns_Call(EmitCallType callType,
if (emitComp->IsTargetAbi(CORINFO_NATIVEAOT_ABI) && EA_IS_CNS_TLSGD_RELOC(retSize))
{
// For NativeAOT linux/arm64, we need to also record the relocation of methHnd.
- // Since we do not have space to embed it in instrDesc, we store the register in
- // reg1 and instead use the `iiaAdd` to store the method handle. Likewise, during
- // emitOutputInstr, we retrieve the register from reg1 for this specific case.
+ // Since we do not have space to embed it in instrDesc, we use the `iiaAddr` to
+ // store the method handle.
+ // The target handle need to be always in R2 and hence the assert check.
+ // We cannot use reg1 and reg2 fields of instrDesc because they contain the gc
+ // registers (emitEncodeCallGCregs()) that are live across the call.
+
+ assert(ireg == REG_R2);
id->idSetTlsGD();
- id->idReg1(ireg);
id->idAddr()->iiaAddr = (BYTE*)methHnd;
}
else
@@ -10990,12 +10992,13 @@ size_t emitter::emitOutputInstr(insGroup* ig, instrDesc* id, BYTE** dp)
{
emitRecordRelocation(odst, (CORINFO_METHOD_HANDLE)id->idAddr()->iiaAddr,
IMAGE_REL_AARCH64_TLSDESC_CALL);
- code |= insEncodeReg_Rn(id->idReg1()); // nnnnn
+ code |= insEncodeReg_Rn(REG_R2); // nnnnn
}
else
{
code |= insEncodeReg_Rn(id->idReg3()); // nnnnn
}
+
dst += emitOutputCall(ig, dst, id, code);
sz = id->idIsLargeCall() ? sizeof(instrDescCGCA) : sizeof(instrDesc);
break;
@@ -13315,7 +13318,15 @@ void emitter::emitDispInsHelp(
case IF_BR_1B: // BR_1B ................ ......nnnnn..... Rn
// The size of a branch target is always EA_PTRSIZE
assert(insOptsNone(id->idInsOpt()));
- emitDispReg(id->idReg3(), EA_PTRSIZE, false);
+
+ if (emitComp->IsTargetAbi(CORINFO_NATIVEAOT_ABI) && id->idIsTlsGD())
+ {
+ emitDispReg(REG_R2, EA_PTRSIZE, false);
+ }
+ else
+ {
+ emitDispReg(id->idReg3(), EA_PTRSIZE, false);
+ }
break;
case IF_LS_1A: // LS_1A XX...V..iiiiiiii iiiiiiiiiiittttt Rt PC imm(1MB)
diff --git a/src/coreclr/jit/fgprofilesynthesis.cpp b/src/coreclr/jit/fgprofilesynthesis.cpp
index b9ff493c87d49f..3bbf61986ff605 100644
--- a/src/coreclr/jit/fgprofilesynthesis.cpp
+++ b/src/coreclr/jit/fgprofilesynthesis.cpp
@@ -1408,12 +1408,14 @@ void ProfileSynthesis::GaussSeidelSolver()
countVector[block->bbNum] = newWeight;
// Remember max absolute and relative change
- // (note rel residual will be infinite at times, that's ok)
+ // (note rel residual will be as large as 1e9 at times, that's ok)
//
// Note we are using a "point" bound here ("infinity norm") rather than say
// computing the L2-norm of the entire residual vector.
//
- weight_t const blockRelResidual = change / oldWeight;
+ // Avoid dividing by zero if oldWeight is very small.
+ //
+ weight_t const blockRelResidual = change / max(oldWeight, 1e-12);
if ((relResidualBlock == nullptr) || (blockRelResidual > relResidual))
{
diff --git a/src/coreclr/jit/gcencode.cpp b/src/coreclr/jit/gcencode.cpp
index ae05bf797f86ab..a1e9f935327d37 100644
--- a/src/coreclr/jit/gcencode.cpp
+++ b/src/coreclr/jit/gcencode.cpp
@@ -49,8 +49,21 @@ ReturnKind GCInfo::getReturnKind()
case 1:
return VarTypeToReturnKind(retTypeDesc.GetReturnRegType(0));
case 2:
- return GetStructReturnKind(VarTypeToReturnKind(retTypeDesc.GetReturnRegType(0)),
- VarTypeToReturnKind(retTypeDesc.GetReturnRegType(1)));
+ {
+ var_types first = retTypeDesc.GetReturnRegType(0);
+ var_types second = retTypeDesc.GetReturnRegType(1);
+#ifdef UNIX_AMD64_ABI
+ if (varTypeUsesFloatReg(first))
+ {
+ // first does not consume an int register in this case so an obj/ref
+ // in the second ReturnKind would actually be found in the first int reg.
+ first = second;
+ second = TYP_UNDEF;
+ }
+#endif // UNIX_AMD64_ABI
+ return GetStructReturnKind(VarTypeToReturnKind(first),
+ VarTypeToReturnKind(second));
+ }
default:
#ifdef DEBUG
for (unsigned i = 0; i < regCount; i++)
diff --git a/src/coreclr/jit/gentree.cpp b/src/coreclr/jit/gentree.cpp
index 20645cbc3660f8..76660c67f26f42 100644
--- a/src/coreclr/jit/gentree.cpp
+++ b/src/coreclr/jit/gentree.cpp
@@ -30167,7 +30167,7 @@ unsigned* SsaNumInfo::GetOutlinedNumSlot(Compiler* compiler, unsigned index) con
// Copy over all of the already encoded numbers.
if (!baseNum.IsInvalid())
{
- for (int i = 0; i < SIMPLE_NUM_COUNT; i++)
+ for (int i = 0; i < count; i++)
{
pFirstSlot[i] = baseNum.GetNum(compiler, i);
}
diff --git a/src/coreclr/jit/morphblock.cpp b/src/coreclr/jit/morphblock.cpp
index f21cc2355a4861..ed1479804ceb6b 100644
--- a/src/coreclr/jit/morphblock.cpp
+++ b/src/coreclr/jit/morphblock.cpp
@@ -250,8 +250,6 @@ void MorphInitBlockHelper::PropagateBlockAssertions()
//
void MorphInitBlockHelper::PropagateExpansionAssertions()
{
- // Consider doing this for FieldByField as well
- //
if (m_comp->optLocalAssertionProp && (m_transformationDecision == BlockTransformation::OneStoreBlock))
{
m_comp->fgAssertionGen(m_store);
@@ -408,6 +406,7 @@ void MorphInitBlockHelper::TryInitFieldByField()
if (m_comp->fgGlobalMorph && m_dstLclNode->IsLastUse(i))
{
JITDUMP("Field-by-field init skipping write to dead field V%02u\n", fieldLclNum);
+ m_comp->fgKillDependentAssertionsSingle(m_dstLclNum DEBUGARG(m_store));
continue;
}
@@ -1236,6 +1235,7 @@ GenTree* MorphCopyBlockHelper::CopyFieldByField()
{
INDEBUG(unsigned dstFieldLclNum = m_comp->lvaGetDesc(m_dstLclNum)->lvFieldLclStart + i);
JITDUMP("Field-by-field copy skipping write to dead field V%02u\n", dstFieldLclNum);
+ m_comp->fgKillDependentAssertionsSingle(m_dstLclNum DEBUGARG(m_store));
continue;
}
diff --git a/src/coreclr/jit/promotion.cpp b/src/coreclr/jit/promotion.cpp
index 7fe9bffa70e943..c426cf37e2e1a0 100644
--- a/src/coreclr/jit/promotion.cpp
+++ b/src/coreclr/jit/promotion.cpp
@@ -1885,41 +1885,79 @@ void ReplaceVisitor::InsertPreStatementReadBacks()
// 3. Creating embedded stores in ReplaceLocal disables local copy prop for
// that local (see ReplaceLocal).
- for (GenTreeLclVarCommon* lcl : m_currentStmt->LocalsTreeList())
+ // Normally, we read back only for the uses we will see. However, with
+ // implicit EH flow we may also read back all replacements mid-tree (see
+ // InsertMidTreeReadBacks). So for that case we read back everything. This
+ // is a correctness requirement for QMARKs, but we do it indiscriminately
+ // for the same reasons as mentioned above.
+ if (((m_currentStmt->GetRootNode()->gtFlags & (GTF_EXCEPT | GTF_CALL)) != 0) &&
+ m_compiler->ehBlockHasExnFlowDsc(m_currentBlock))
{
- if (lcl->TypeIs(TYP_STRUCT))
- {
- continue;
- }
+ JITDUMP(
+ "Reading back pending replacements before statement with possible exception side effect inside block in try region\n");
- AggregateInfo* agg = m_aggregates.Lookup(lcl->GetLclNum());
- if (agg == nullptr)
+ for (AggregateInfo* agg : m_aggregates)
{
- continue;
+ for (Replacement& rep : agg->Replacements)
+ {
+ InsertPreStatementReadBackIfNecessary(agg->LclNum, rep);
+ }
}
-
- size_t index = Promotion::BinarySearch(agg->Replacements, lcl->GetLclOffs());
- if ((ssize_t)index < 0)
+ }
+ else
+ {
+ // Otherwise just read back the locals we see uses of.
+ for (GenTreeLclVarCommon* lcl : m_currentStmt->LocalsTreeList())
{
- continue;
- }
+ if (lcl->TypeIs(TYP_STRUCT))
+ {
+ continue;
+ }
- Replacement& rep = agg->Replacements[index];
- if (rep.NeedsReadBack)
- {
- JITDUMP("Reading back replacement V%02u.[%03u..%03u) -> V%02u before [%06u]:\n", agg->LclNum, rep.Offset,
- rep.Offset + genTypeSize(rep.AccessType), rep.LclNum,
- Compiler::dspTreeID(m_currentStmt->GetRootNode()));
+ AggregateInfo* agg = m_aggregates.Lookup(lcl->GetLclNum());
+ if (agg == nullptr)
+ {
+ continue;
+ }
- GenTree* readBack = Promotion::CreateReadBack(m_compiler, agg->LclNum, rep);
- Statement* stmt = m_compiler->fgNewStmtFromTree(readBack);
- DISPSTMT(stmt);
- m_compiler->fgInsertStmtBefore(m_currentBlock, m_currentStmt, stmt);
- ClearNeedsReadBack(rep);
+ size_t index =
+ Promotion::BinarySearch(agg->Replacements, lcl->GetLclOffs());
+ if ((ssize_t)index < 0)
+ {
+ continue;
+ }
+
+ InsertPreStatementReadBackIfNecessary(agg->LclNum, agg->Replacements[index]);
}
}
}
+//------------------------------------------------------------------------
+// InsertPreStatementReadBackIfNecessary:
+// Insert a read back of the specified replacement before the current
+// statement, if the replacement needs it.
+//
+// Parameters:
+// aggLclNum - Struct local
+// rep - The replacement
+//
+void ReplaceVisitor::InsertPreStatementReadBackIfNecessary(unsigned aggLclNum, Replacement& rep)
+{
+ if (!rep.NeedsReadBack)
+ {
+ return;
+ }
+
+ JITDUMP("Reading back replacement V%02u.[%03u..%03u) -> V%02u before [%06u]:\n", aggLclNum, rep.Offset,
+ rep.Offset + genTypeSize(rep.AccessType), rep.LclNum, Compiler::dspTreeID(m_currentStmt->GetRootNode()));
+
+ GenTree* readBack = Promotion::CreateReadBack(m_compiler, aggLclNum, rep);
+ Statement* stmt = m_compiler->fgNewStmtFromTree(readBack);
+ DISPSTMT(stmt);
+ m_compiler->fgInsertStmtBefore(m_currentBlock, m_currentStmt, stmt);
+ ClearNeedsReadBack(rep);
+}
+
//------------------------------------------------------------------------
// VisitOverlappingReplacements:
// Call a function for every replacement that overlaps a specified segment.
diff --git a/src/coreclr/jit/promotion.h b/src/coreclr/jit/promotion.h
index 28481a97eaf88b..a8c54d4000f341 100644
--- a/src/coreclr/jit/promotion.h
+++ b/src/coreclr/jit/promotion.h
@@ -290,6 +290,7 @@ class ReplaceVisitor : public GenTreeVisitor
bool VisitOverlappingReplacements(unsigned lcl, unsigned offs, unsigned size, Func func);
void InsertPreStatementReadBacks();
+ void InsertPreStatementReadBackIfNecessary(unsigned aggLclNum, Replacement& rep);
void InsertPreStatementWriteBacks();
GenTree** InsertMidTreeReadBacks(GenTree** use);
diff --git a/src/coreclr/jit/simdashwintrinsic.cpp b/src/coreclr/jit/simdashwintrinsic.cpp
index bfb24b6c7ed317..fbd4762544644d 100644
--- a/src/coreclr/jit/simdashwintrinsic.cpp
+++ b/src/coreclr/jit/simdashwintrinsic.cpp
@@ -917,6 +917,11 @@ GenTree* Compiler::impSimdAsHWIntrinsicSpecial(NamedIntrinsic intrinsic,
return gtNewSimdCeilNode(retType, op1, simdBaseJitType, simdSize);
}
+ case NI_VectorT_Create:
+ {
+ return gtNewSimdCreateBroadcastNode(simdType, op1, simdBaseJitType, simdSize);
+ }
+
case NI_VectorT_Floor:
{
return gtNewSimdFloorNode(retType, op1, simdBaseJitType, simdSize);
@@ -1247,15 +1252,6 @@ GenTree* Compiler::impSimdAsHWIntrinsicSpecial(NamedIntrinsic intrinsic,
return gtNewSimdBinOpNode(GT_OR, retType, op1, op2, simdBaseJitType, simdSize);
}
- case NI_VectorT_Create:
- {
- assert(retType == TYP_VOID);
-
- copyBlkDst = op1;
- copyBlkSrc = gtNewSimdCreateBroadcastNode(simdType, op2, simdBaseJitType, simdSize);
- break;
- }
-
case NI_VectorT_CreateSequence:
{
return gtNewSimdCreateSequenceNode(simdType, op1, op2, simdBaseJitType, simdSize);
diff --git a/src/coreclr/jit/simdashwintrinsiclistarm64.h b/src/coreclr/jit/simdashwintrinsiclistarm64.h
index 6bbea32494f315..2ca159110dc4c7 100644
--- a/src/coreclr/jit/simdashwintrinsiclistarm64.h
+++ b/src/coreclr/jit/simdashwintrinsiclistarm64.h
@@ -64,8 +64,8 @@ SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt32,
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt32Native, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt32Native, NI_Illegal}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt64, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt64}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt64Native, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt64Native}, SimdAsHWIntrinsicFlag::None)
-SIMD_AS_HWINTRINSIC_ID(VectorT, Create, 1, {NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create}, SimdAsHWIntrinsicFlag::None)
-SIMD_AS_HWINTRINSIC_ID(VectorT, CreateSequence, 2, {NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence}, SimdAsHWIntrinsicFlag::SpillSideEffectsOp1)
+SIMD_AS_HWINTRINSIC_ID(VectorT, Create, 1, {NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create}, SimdAsHWIntrinsicFlag::KeepBaseTypeFromRet)
+SIMD_AS_HWINTRINSIC_ID(VectorT, CreateSequence, 2, {NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence}, SimdAsHWIntrinsicFlag::KeepBaseTypeFromRet | SimdAsHWIntrinsicFlag::SpillSideEffectsOp1)
SIMD_AS_HWINTRINSIC_ID(VectorT, Dot, 2, {NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_Illegal, NI_Illegal, NI_VectorT_Dot, NI_VectorT_Dot}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, Equals, 2, {NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, EqualsAny, 2, {NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny}, SimdAsHWIntrinsicFlag::None)
diff --git a/src/coreclr/jit/simdashwintrinsiclistxarch.h b/src/coreclr/jit/simdashwintrinsiclistxarch.h
index 1d769f27e4f97d..6baf3143cd02d3 100644
--- a/src/coreclr/jit/simdashwintrinsiclistxarch.h
+++ b/src/coreclr/jit/simdashwintrinsiclistxarch.h
@@ -64,8 +64,8 @@ SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt32,
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt32Native, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt32Native, NI_Illegal}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt64, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt64}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, ConvertToUInt64Native, 1, {NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_Illegal, NI_VectorT_ConvertToUInt64Native}, SimdAsHWIntrinsicFlag::None)
-SIMD_AS_HWINTRINSIC_ID(VectorT, Create, 1, {NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create}, SimdAsHWIntrinsicFlag::None)
-SIMD_AS_HWINTRINSIC_ID(VectorT, CreateSequence, 2, {NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence}, SimdAsHWIntrinsicFlag::SpillSideEffectsOp1)
+SIMD_AS_HWINTRINSIC_ID(VectorT, Create, 1, {NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create, NI_VectorT_Create}, SimdAsHWIntrinsicFlag::KeepBaseTypeFromRet)
+SIMD_AS_HWINTRINSIC_ID(VectorT, CreateSequence, 2, {NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence, NI_VectorT_CreateSequence}, SimdAsHWIntrinsicFlag::KeepBaseTypeFromRet | SimdAsHWIntrinsicFlag::SpillSideEffectsOp1)
SIMD_AS_HWINTRINSIC_ID(VectorT, Dot, 2, {NI_Illegal, NI_Illegal, NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_VectorT_Dot, NI_Illegal, NI_Illegal, NI_VectorT_Dot, NI_VectorT_Dot}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, Equals, 2, {NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals, NI_VectorT_Equals}, SimdAsHWIntrinsicFlag::None)
SIMD_AS_HWINTRINSIC_ID(VectorT, EqualsAny, 2, {NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny, NI_VectorT_EqualsAny}, SimdAsHWIntrinsicFlag::None)
diff --git a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CachedInterfaceDispatch.cs b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CachedInterfaceDispatch.cs
index 7a242497f30826..9a1b1ad7ef985a 100644
--- a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CachedInterfaceDispatch.cs
+++ b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CachedInterfaceDispatch.cs
@@ -82,14 +82,46 @@ private static IntPtr RhResolveDispatch(object pObject, MethodTable* interfaceTy
}
[RuntimeExport("RhResolveDispatchOnType")]
- private static IntPtr RhResolveDispatchOnType(MethodTable* pInstanceType, MethodTable* pInterfaceType, ushort slot, MethodTable** ppGenericContext)
+ private static IntPtr RhResolveDispatchOnType(MethodTable* pInstanceType, MethodTable* pInterfaceType, ushort slot)
{
return DispatchResolve.FindInterfaceMethodImplementationTarget(pInstanceType,
pInterfaceType,
slot,
+ flags: default,
+ ppGenericContext: null);
+ }
+
+ [RuntimeExport("RhResolveStaticDispatchOnType")]
+ private static IntPtr RhResolveStaticDispatchOnType(MethodTable* pInstanceType, MethodTable* pInterfaceType, ushort slot, MethodTable** ppGenericContext)
+ {
+ return DispatchResolve.FindInterfaceMethodImplementationTarget(pInstanceType,
+ pInterfaceType,
+ slot,
+ DispatchResolve.ResolveFlags.Static,
ppGenericContext);
}
+ [RuntimeExport("RhResolveDynamicInterfaceCastableDispatchOnType")]
+ private static IntPtr RhResolveDynamicInterfaceCastableDispatchOnType(MethodTable* pInstanceType, MethodTable* pInterfaceType, ushort slot, MethodTable** ppGenericContext)
+ {
+ IntPtr result = DispatchResolve.FindInterfaceMethodImplementationTarget(pInstanceType,
+ pInterfaceType,
+ slot,
+ DispatchResolve.ResolveFlags.IDynamicInterfaceCastable,
+ ppGenericContext);
+
+ if ((result & (nint)DispatchMapCodePointerFlags.RequiresInstantiatingThunkFlag) != 0)
+ {
+ result &= ~(nint)DispatchMapCodePointerFlags.RequiresInstantiatingThunkFlag;
+ }
+ else
+ {
+ *ppGenericContext = null;
+ }
+
+ return result;
+ }
+
private static unsafe IntPtr RhResolveDispatchWorker(object pObject, void* cell, ref DispatchCellInfo cellInfo)
{
// Type of object we're dispatching on.
@@ -97,13 +129,10 @@ private static unsafe IntPtr RhResolveDispatchWorker(object pObject, void* cell,
if (cellInfo.CellType == DispatchCellType.InterfaceAndSlot)
{
- // Type whose DispatchMap is used. Usually the same as the above but for types which implement IDynamicInterfaceCastable
- // we may repeat this process with an alternate type.
- MethodTable* pResolvingInstanceType = pInstanceType;
-
- IntPtr pTargetCode = DispatchResolve.FindInterfaceMethodImplementationTarget(pResolvingInstanceType,
+ IntPtr pTargetCode = DispatchResolve.FindInterfaceMethodImplementationTarget(pInstanceType,
cellInfo.InterfaceType,
cellInfo.InterfaceSlot,
+ flags: default,
ppGenericContext: null);
if (pTargetCode == IntPtr.Zero && pInstanceType->IsIDynamicInterfaceCastable)
{
diff --git a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/DispatchResolve.cs b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/DispatchResolve.cs
index 349415c743aa9a..271fdd231c611a 100644
--- a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/DispatchResolve.cs
+++ b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/DispatchResolve.cs
@@ -13,21 +13,21 @@ internal static unsafe class DispatchResolve
public static IntPtr FindInterfaceMethodImplementationTarget(MethodTable* pTgtType,
MethodTable* pItfType,
ushort itfSlotNumber,
+ ResolveFlags flags,
/* out */ MethodTable** ppGenericContext)
{
+ // We set this bit below during second pass, callers should not set it.
+ Debug.Assert((flags & ResolveFlags.DefaultInterfaceImplementation) == 0);
+
// Start at the current type and work up the inheritance chain
MethodTable* pCur = pTgtType;
- // We first look at non-default implementation. Default implementations are only considered
- // if the "old algorithm" didn't come up with an answer.
- bool fDoDefaultImplementationLookup = false;
-
again:
while (pCur != null)
{
ushort implSlotNumber;
if (FindImplSlotForCurrentType(
- pCur, pItfType, itfSlotNumber, fDoDefaultImplementationLookup, &implSlotNumber, ppGenericContext))
+ pCur, pItfType, itfSlotNumber, flags, &implSlotNumber, ppGenericContext))
{
IntPtr targetMethod;
if (implSlotNumber < pCur->NumVtableSlots)
@@ -58,9 +58,9 @@ public static IntPtr FindInterfaceMethodImplementationTarget(MethodTable* pTgtTy
}
// If we haven't found an implementation, do a second pass looking for a default implementation.
- if (!fDoDefaultImplementationLookup)
+ if ((flags & ResolveFlags.DefaultInterfaceImplementation) == 0)
{
- fDoDefaultImplementationLookup = true;
+ flags |= ResolveFlags.DefaultInterfaceImplementation;
pCur = pTgtType;
goto again;
}
@@ -72,10 +72,13 @@ public static IntPtr FindInterfaceMethodImplementationTarget(MethodTable* pTgtTy
private static bool FindImplSlotForCurrentType(MethodTable* pTgtType,
MethodTable* pItfType,
ushort itfSlotNumber,
- bool fDoDefaultImplementationLookup,
+ ResolveFlags flags,
ushort* pImplSlotNumber,
MethodTable** ppGenericContext)
{
+ // We set this below during second pass, callers should not set this.
+ Debug.Assert((flags & ResolveFlags.Variant) == 0);
+
bool fRes = false;
// If making a call and doing virtual resolution don't look into the dispatch map,
@@ -96,16 +99,14 @@ private static bool FindImplSlotForCurrentType(MethodTable* pTgtType,
// result in interesting behavior such as a derived type only overriding one particular instantiation
// and funneling all the dispatches to it, but its the algorithm.
- bool fDoVariantLookup = false; // do not check variance for first scan of dispatch map
-
fRes = FindImplSlotInSimpleMap(
- pTgtType, pItfType, itfSlotNumber, pImplSlotNumber, ppGenericContext, fDoVariantLookup, fDoDefaultImplementationLookup);
+ pTgtType, pItfType, itfSlotNumber, pImplSlotNumber, ppGenericContext, flags);
if (!fRes)
{
- fDoVariantLookup = true; // check variance for second scan of dispatch map
+ flags |= ResolveFlags.Variant; // check variance for second scan of dispatch map
fRes = FindImplSlotInSimpleMap(
- pTgtType, pItfType, itfSlotNumber, pImplSlotNumber, ppGenericContext, fDoVariantLookup, fDoDefaultImplementationLookup);
+ pTgtType, pItfType, itfSlotNumber, pImplSlotNumber, ppGenericContext, flags);
}
}
@@ -117,8 +118,7 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
uint itfSlotNumber,
ushort* pImplSlotNumber,
MethodTable** ppGenericContext,
- bool actuallyCheckVariance,
- bool checkDefaultImplementations)
+ ResolveFlags flags)
{
Debug.Assert(pTgtType->HasDispatchMap, "Missing dispatch map");
@@ -130,7 +130,7 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
bool fCheckVariance = false;
bool fArrayCovariance = false;
- if (actuallyCheckVariance)
+ if ((flags & ResolveFlags.Variant) != 0)
{
fCheckVariance = pItfType->HasGenericVariance;
fArrayCovariance = pTgtType->IsArray;
@@ -166,8 +166,8 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
}
}
- // It only makes sense to ask for generic context if we're asking about a static method
- bool fStaticDispatch = ppGenericContext != null;
+ bool fStaticDispatch = (flags & ResolveFlags.Static) != 0;
+ bool checkDefaultImplementations = (flags & ResolveFlags.DefaultInterfaceImplementation) != 0;
// We either scan the instance or static portion of the dispatch map. Depends on what the caller wants.
DispatchMap* pMap = pTgtType->DispatchMap;
@@ -190,8 +190,11 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
// If this is a static method, the entry point is not usable without generic context.
// (Instance methods acquire the generic context from their `this`.)
+ // Same for IDynamicInterfaceCastable (that has a `this` but it's not useful)
if (fStaticDispatch)
*ppGenericContext = GetGenericContextSource(pTgtType, i);
+ else if ((flags & ResolveFlags.IDynamicInterfaceCastable) != 0)
+ *ppGenericContext = pTgtType;
return true;
}
@@ -231,8 +234,11 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
// If this is a static method, the entry point is not usable without generic context.
// (Instance methods acquire the generic context from their `this`.)
+ // Same for IDynamicInterfaceCastable (that has a `this` but it's not useful)
if (fStaticDispatch)
*ppGenericContext = GetGenericContextSource(pTgtType, i);
+ else if ((flags & ResolveFlags.IDynamicInterfaceCastable) != 0)
+ *ppGenericContext = pTgtType;
return true;
}
@@ -253,5 +259,13 @@ private static bool FindImplSlotInSimpleMap(MethodTable* pTgtType,
_ => pTgtType->InterfaceMap[usEncodedValue - StaticVirtualMethodContextSource.ContextFromFirstInterface]
};
}
+
+ public enum ResolveFlags
+ {
+ Variant = 0x1,
+ DefaultInterfaceImplementation = 0x2,
+ Static = 0x4,
+ IDynamicInterfaceCastable = 0x8,
+ }
}
}
diff --git a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs
index c3f92d067dd243..20427987539c39 100644
--- a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs
+++ b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs
@@ -1066,10 +1066,14 @@ private static unsafe bool CacheMiss(MethodTable* pSourceType, MethodTable* pTar
bool result = TypeCast.AreTypesAssignableInternalUncached(pSourceType, pTargetType, variation, &newList);
//
- // Update the cache
+ // Update the cache. We only consider type-based conversion rules here.
+ // Therefore a negative result cannot rule out convertibility for IDynamicInterfaceCastable.
//
- nuint sourceAndVariation = (nuint)pSourceType + (uint)variation;
- s_castCache.TrySet(sourceAndVariation, (nuint)pTargetType, result);
+ if (result || !(pTargetType->IsInterface && pSourceType->IsIDynamicInterfaceCastable))
+ {
+ nuint sourceAndVariation = (nuint)pSourceType + (uint)variation;
+ s_castCache.TrySet(sourceAndVariation, (nuint)pTargetType, result);
+ }
return result;
}
@@ -1252,13 +1256,11 @@ internal static unsafe bool AreTypesAssignableInternalUncached(MethodTable* pSou
}
//
- // Update the cache
+ // Update the cache. We only consider type-based conversion rules here.
+ // Therefore a negative result cannot rule out convertibility for IDynamicInterfaceCastable.
//
- if (!pSourceType->IsIDynamicInterfaceCastable)
+ if (retObj != null || !(pTargetType->IsInterface && pSourceType->IsIDynamicInterfaceCastable))
{
- //
- // Update the cache
- //
nuint sourceAndVariation = (nuint)pSourceType + (uint)AssignmentVariation.BoxedSource;
s_castCache.TrySet(sourceAndVariation, (nuint)pTargetType, retObj != null);
}
@@ -1293,14 +1295,11 @@ private static unsafe object CheckCastAny_NoCacheLookup(MethodTable* pTargetType
obj = CheckCastClass(pTargetType, obj);
}
- if (!pSourceType->IsIDynamicInterfaceCastable)
- {
- //
- // Update the cache
- //
- nuint sourceAndVariation = (nuint)pSourceType + (uint)AssignmentVariation.BoxedSource;
- s_castCache.TrySet(sourceAndVariation, (nuint)pTargetType, true);
- }
+ //
+ // Update the cache
+ //
+ nuint sourceAndVariation = (nuint)pSourceType + (uint)AssignmentVariation.BoxedSource;
+ s_castCache.TrySet(sourceAndVariation, (nuint)pTargetType, true);
return obj;
}
diff --git a/src/coreclr/nativeaot/Runtime/EHHelpers.cpp b/src/coreclr/nativeaot/Runtime/EHHelpers.cpp
index 060e19f3c525e2..569cf36e84fa50 100644
--- a/src/coreclr/nativeaot/Runtime/EHHelpers.cpp
+++ b/src/coreclr/nativeaot/Runtime/EHHelpers.cpp
@@ -485,6 +485,9 @@ int32_t __stdcall RhpHardwareExceptionHandler(uintptr_t faultCode, uintptr_t fau
#else // TARGET_UNIX
+uintptr_t GetSSP(CONTEXT *pContext);
+void SetSSP(CONTEXT *pContext, uintptr_t ssp);
+
static bool g_ContinueOnFatalErrors = false;
// Set the runtime to continue search when encountering an unhandled runtime exception. Once done it is forever.
@@ -539,22 +542,16 @@ int32_t __stdcall RhpVectoredExceptionHandler(PEXCEPTION_POINTERS pExPtrs)
// When the CET is enabled, the interruption happens on the ret instruction in the calee.
// We need to "pop" rsp to the caller, as if the ret has consumed it.
interruptedContext->SetSp(interruptedContext->GetSp() + 8);
+ uintptr_t ssp = GetSSP(interruptedContext);
+ SetSSP(interruptedContext, ssp + 8);
}
// Change the IP to be at the original return site, as if we have returned to the caller.
// That IP is an interruptible safe point, so we can suspend right there.
- uintptr_t origIp = interruptedContext->GetIp();
interruptedContext->SetIp((uintptr_t)pThread->GetHijackedReturnAddress());
pThread->InlineSuspend(interruptedContext);
- if (areShadowStacksEnabled)
- {
- // Undo the "pop", so that the ret could now succeed.
- interruptedContext->SetSp(interruptedContext->GetSp() - 8);
- interruptedContext->SetIp(origIp);
- }
-
ASSERT(!pThread->IsHijacked());
return EXCEPTION_CONTINUE_EXECUTION;
}
diff --git a/src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp b/src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
index 23e985357d343a..8eddc1d3440d26 100644
--- a/src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
+++ b/src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
@@ -70,3 +70,57 @@ FCIMPL2(void, RhUnregisterRefCountedHandleCallback, void * pCallout, MethodTable
RestrictedCallouts::UnregisterRefCountedHandleCallback(pCallout, pTypeFilter);
}
FCIMPLEND
+
+// This structure mirrors the managed type System.Runtime.InteropServices.ComWrappers.ManagedObjectWrapper.
+struct ManagedObjectWrapper
+{
+ intptr_t HolderHandle;
+ uint64_t RefCount;
+
+ int32_t UserDefinedCount;
+ void* /* ComInterfaceEntry */ UserDefined;
+ void* /* InternalComInterfaceDispatch* */ Dispatches;
+
+ int32_t /* CreateComInterfaceFlagsEx */ Flags;
+
+ uint32_t AddRef()
+ {
+ return GetComCount((uint64_t)PalInterlockedIncrement64((int64_t*)&RefCount));
+ }
+
+ static const uint64_t ComRefCountMask = 0x000000007fffffffUL;
+
+ static uint32_t GetComCount(uint64_t c)
+ {
+ return (uint32_t)(c & ComRefCountMask);
+ }
+};
+
+// This structure mirrors the managed type System.Runtime.InteropServices.ComWrappers.InternalComInterfaceDispatch.
+struct InternalComInterfaceDispatch
+{
+ void* Vtable;
+ ManagedObjectWrapper* _thisPtr;
+};
+
+static ManagedObjectWrapper* ToManagedObjectWrapper(void* dispatchPtr)
+{
+ return ((InternalComInterfaceDispatch*)dispatchPtr)->_thisPtr;
+}
+
+//
+// AddRef is implemented in native code so that it does not need to synchronize with the GC. This is important because Xaml
+// invokes AddRef while holding a lock that it *also* holds while a GC is in progress. If AddRef was managed, we would have
+// to synchronize with the GC before entering AddRef, which would deadlock with the other thread holding Xaml's lock.
+//
+static uint32_t __stdcall IUnknown_AddRef(void* pComThis)
+{
+ ManagedObjectWrapper* wrapper = ToManagedObjectWrapper(pComThis);
+ return wrapper->AddRef();
+}
+
+FCIMPL0(void*, RhGetIUnknownAddRef)
+{
+ return (void*)&IUnknown_AddRef;
+}
+FCIMPLEND
diff --git a/src/coreclr/nativeaot/Runtime/RestrictedCallouts.h b/src/coreclr/nativeaot/Runtime/RestrictedCallouts.h
index 2c1a2e61e0951b..cf0295db456038 100644
--- a/src/coreclr/nativeaot/Runtime/RestrictedCallouts.h
+++ b/src/coreclr/nativeaot/Runtime/RestrictedCallouts.h
@@ -97,6 +97,6 @@ class RestrictedCallouts
static CrstStatic s_sLock;
// Prototypes for the callouts.
- typedef void (F_CALL_CONV * GcRestrictedCallbackFunction)(uint32_t uiCondemnedGeneration);
+ typedef void (* GcRestrictedCallbackFunction)(uint32_t uiCondemnedGeneration);
typedef CLR_BOOL (* HandleTableRestrictedCallbackFunction)(Object * pObject);
};
diff --git a/src/coreclr/nativeaot/Runtime/threadstore.cpp b/src/coreclr/nativeaot/Runtime/threadstore.cpp
index c2b42491a387d9..c03907e4eed665 100644
--- a/src/coreclr/nativeaot/Runtime/threadstore.cpp
+++ b/src/coreclr/nativeaot/Runtime/threadstore.cpp
@@ -162,7 +162,7 @@ void ThreadStore::DetachCurrentThread()
}
// Unregister from OS notifications
- // This can return false if detach notification is spurious and does not belong to this thread.
+ // This can return false if a thread did not register for OS notification.
if (!PalDetachThread(pDetachingThread))
{
return;
diff --git a/src/coreclr/nativeaot/Runtime/unix/PalRedhawkInline.h b/src/coreclr/nativeaot/Runtime/unix/PalRedhawkInline.h
index 983f17a36aba0a..2380bacdf02a1b 100644
--- a/src/coreclr/nativeaot/Runtime/unix/PalRedhawkInline.h
+++ b/src/coreclr/nativeaot/Runtime/unix/PalRedhawkInline.h
@@ -30,6 +30,13 @@ FORCEINLINE int32_t PalInterlockedIncrement(_Inout_ int32_t volatile *pDst)
return result;
}
+FORCEINLINE int64_t PalInterlockedIncrement64(_Inout_ int64_t volatile *pDst)
+{
+ int64_t result = __sync_add_and_fetch(pDst, 1);
+ PalInterlockedOperationBarrier();
+ return result;
+}
+
FORCEINLINE int32_t PalInterlockedDecrement(_Inout_ int32_t volatile *pDst)
{
int32_t result = __sync_sub_and_fetch(pDst, 1);
diff --git a/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc b/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
index b1a437d8b57ead..b12b4071593ab4 100644
--- a/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
+++ b/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
@@ -16,15 +16,6 @@
.macro NESTED_END Name, Section
LEAF_END \Name, \Section
-#if defined(__APPLE__)
- .set LOCAL_LABEL(\Name\()_Size), . - C_FUNC(\Name)
- .section __LD,__compact_unwind,regular,debug
- .quad C_FUNC(\Name)
- .long LOCAL_LABEL(\Name\()_Size)
- .long 0x04000000 # DWARF
- .quad 0
- .quad 0
-#endif
.endm
.macro PATCH_LABEL Name
diff --git a/src/coreclr/nativeaot/Runtime/windows/PalRedhawkInline.h b/src/coreclr/nativeaot/Runtime/windows/PalRedhawkInline.h
index 1f2a74dcd15100..595c7f663b9d13 100644
--- a/src/coreclr/nativeaot/Runtime/windows/PalRedhawkInline.h
+++ b/src/coreclr/nativeaot/Runtime/windows/PalRedhawkInline.h
@@ -67,6 +67,17 @@ FORCEINLINE int64_t PalInterlockedExchange64(_Inout_ int64_t volatile *pDst, int
iOldValue) != iOldValue);
return iOldValue;
}
+
+FORCEINLINE int64_t PalInterlockedIncrement64(_Inout_ int64_t volatile *Addend)
+{
+ int64_t Old;
+ do {
+ Old = *Addend;
+ } while (PalInterlockedCompareExchange64(Addend,
+ Old + 1,
+ Old) != Old);
+ return Old + 1;
+}
#else // HOST_X86
EXTERN_C int64_t _InterlockedExchange64(int64_t volatile *, int64_t);
#pragma intrinsic(_InterlockedExchange64)
@@ -74,6 +85,13 @@ FORCEINLINE int64_t PalInterlockedExchange64(_Inout_ int64_t volatile *pDst, int
{
return _InterlockedExchange64(pDst, iValue);
}
+
+EXTERN_C int64_t _InterlockedIncrement64(int64_t volatile *);
+#pragma intrinsic(_InterlockedIncrement64)
+FORCEINLINE int64_t PalInterlockedIncrement64(_Inout_ int64_t volatile *pDst)
+{
+ return _InterlockedIncrement64(pDst);
+}
#endif // HOST_X86
#if defined(HOST_AMD64) || defined(HOST_ARM64)
diff --git a/src/coreclr/nativeaot/Runtime/windows/PalRedhawkMinWin.cpp b/src/coreclr/nativeaot/Runtime/windows/PalRedhawkMinWin.cpp
index 86013f7a964d28..f7bfcd68bdad75 100644
--- a/src/coreclr/nativeaot/Runtime/windows/PalRedhawkMinWin.cpp
+++ b/src/coreclr/nativeaot/Runtime/windows/PalRedhawkMinWin.cpp
@@ -1006,3 +1006,25 @@ REDHAWK_PALEXPORT void PalFlushInstructionCache(_In_ void* pAddress, size_t size
FlushInstructionCache(GetCurrentProcess(), pAddress, size);
}
+#ifdef TARGET_AMD64
+uintptr_t GetSSP(CONTEXT *pContext)
+{
+ XSAVE_CET_U_FORMAT* pCET = (XSAVE_CET_U_FORMAT*)LocateXStateFeature(pContext, XSTATE_CET_U, NULL);
+ if ((pCET != NULL) && (pCET->Ia32CetUMsr != 0))
+ {
+ return pCET->Ia32Pl3SspMsr;
+ }
+
+ return 0;
+}
+
+void SetSSP(CONTEXT *pContext, uintptr_t ssp)
+{
+ XSAVE_CET_U_FORMAT* pCET = (XSAVE_CET_U_FORMAT*)LocateXStateFeature(pContext, XSTATE_CET_U, NULL);
+ if (pCET != NULL)
+ {
+ pCET->Ia32Pl3SspMsr = ssp;
+ pCET->Ia32CetUMsr = 1;
+ }
+}
+#endif // TARGET_AMD64
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/CompatibilitySuppressions.xml b/src/coreclr/nativeaot/System.Private.CoreLib/src/CompatibilitySuppressions.xml
index 507b4c14936921..6bfe8b6b9ffdda 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/CompatibilitySuppressions.xml
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/CompatibilitySuppressions.xml
@@ -825,6 +825,10 @@
CP0001
T:System.Runtime.CompilerServices.StaticClassConstructionContext
+
+ CP0001
+ T:Internal.TypeSystem.LockFreeReaderHashtableOfPointers`2
+
CP0002
M:System.Reflection.MethodBase.GetParametersAsSpan
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs
index 7db11a82041778..4e376c5b803922 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs
@@ -493,7 +493,7 @@ public static bool IsDynamicType(RuntimeTypeHandle typeHandle)
public static unsafe IntPtr ResolveStaticDispatchOnType(RuntimeTypeHandle instanceType, RuntimeTypeHandle interfaceType, int slot, out RuntimeTypeHandle genericContext)
{
MethodTable* genericContextPtr = default;
- IntPtr result = RuntimeImports.RhResolveDispatchOnType(instanceType.ToMethodTable(), interfaceType.ToMethodTable(), checked((ushort)slot), &genericContextPtr);
+ IntPtr result = RuntimeImports.RhResolveStaticDispatchOnType(instanceType.ToMethodTable(), interfaceType.ToMethodTable(), checked((ushort)slot), &genericContextPtr);
if (result != IntPtr.Zero)
genericContext = new RuntimeTypeHandle(genericContextPtr);
else
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/SharedCodeHelpers.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/SharedCodeHelpers.cs
index 482a9a7b357a7e..172f7a6590e35d 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/SharedCodeHelpers.cs
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/SharedCodeHelpers.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Runtime;
+
using Debug = System.Diagnostics.Debug;
namespace Internal.Runtime.CompilerHelpers
@@ -12,15 +14,13 @@ internal static class SharedCodeHelpers
{
public static unsafe MethodTable* GetOrdinalInterface(MethodTable* pType, ushort interfaceIndex)
{
- Debug.Assert(interfaceIndex <= pType->NumInterfaces);
+ Debug.Assert(interfaceIndex < pType->NumInterfaces);
return pType->InterfaceMap[interfaceIndex];
}
public static unsafe MethodTable* GetCurrentSharedThunkContext()
{
- // TODO: We should return the current context from the ThunkPool
- // https://github.com/dotnet/runtimelab/issues/1442
- return null;
+ return (MethodTable*)RuntimeImports.GetCurrentInteropThunkContext();
}
}
}
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/IDynamicInterfaceCastableSupport.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/IDynamicInterfaceCastableSupport.cs
index 54878128ff9823..a1e146fb1b0a8c 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/IDynamicInterfaceCastableSupport.cs
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/IDynamicInterfaceCastableSupport.cs
@@ -4,6 +4,12 @@
using System;
using System.Runtime;
using System.Runtime.InteropServices;
+using System.Threading;
+
+using Internal.Runtime.Augments;
+using Internal.TypeSystem;
+
+using Debug = System.Diagnostics.Debug;
namespace Internal.Runtime
{
@@ -15,6 +21,8 @@ internal static bool IDynamicCastableIsInterfaceImplemented(IDynamicInterfaceCas
return instance.IsInterfaceImplemented(new RuntimeTypeHandle(interfaceType), throwIfNotImplemented);
}
+ private static readonly object s_thunkPoolHeap = RuntimeAugments.CreateThunksHeap(RuntimeImports.GetInteropCommonStubAddress());
+
[RuntimeExport("IDynamicCastableGetInterfaceImplementation")]
internal static IntPtr IDynamicCastableGetInterfaceImplementation(IDynamicInterfaceCastable instance, MethodTable* interfaceType, ushort slot)
{
@@ -28,11 +36,30 @@ internal static IntPtr IDynamicCastableGetInterfaceImplementation(IDynamicInterf
{
ThrowInvalidOperationException(implType);
}
- IntPtr result = RuntimeImports.RhResolveDispatchOnType(implType, interfaceType, slot);
+
+ MethodTable* genericContext = null;
+ IntPtr result = RuntimeImports.RhResolveDynamicInterfaceCastableDispatchOnType(implType, interfaceType, slot, &genericContext);
if (result == IntPtr.Zero)
{
IDynamicCastableGetInterfaceImplementationFailure(instance, interfaceType, implType);
}
+
+ if (genericContext != null)
+ {
+ if (!s_thunkHashtable.TryGetValue(new InstantiatingThunkKey(result, (nint)genericContext), out nint thunk))
+ {
+ thunk = RuntimeAugments.AllocateThunk(s_thunkPoolHeap);
+ RuntimeAugments.SetThunkData(s_thunkPoolHeap, thunk, (nint)genericContext, result);
+ nint thunkInHashtable = s_thunkHashtable.AddOrGetExisting(thunk);
+ if (thunkInHashtable != thunk)
+ {
+ RuntimeAugments.FreeThunk(s_thunkPoolHeap, thunk);
+ thunk = thunkInHashtable;
+ }
+ }
+
+ result = thunk;
+ }
return result;
}
@@ -67,5 +94,46 @@ private static void IDynamicCastableGetInterfaceImplementationFailure(object ins
throw new EntryPointNotFoundException();
}
+
+ private static readonly InstantiatingThunkHashtable s_thunkHashtable = new InstantiatingThunkHashtable();
+
+ private class InstantiatingThunkHashtable : LockFreeReaderHashtableOfPointers
+ {
+ protected override bool CompareKeyToValue(InstantiatingThunkKey key, nint value)
+ {
+ bool result = RuntimeAugments.TryGetThunkData(s_thunkPoolHeap, value, out nint context, out nint target);
+ Debug.Assert(result);
+ return key.Target == target && key.Context == context;
+ }
+
+ protected override bool CompareValueToValue(nint value1, nint value2)
+ {
+ bool result1 = RuntimeAugments.TryGetThunkData(s_thunkPoolHeap, value1, out nint context1, out nint target1);
+ Debug.Assert(result1);
+
+ bool result2 = RuntimeAugments.TryGetThunkData(s_thunkPoolHeap, value2, out nint context2, out nint target2);
+ Debug.Assert(result2);
+ return context1 == context2 && target1 == target2;
+ }
+
+ protected override nint ConvertIntPtrToValue(nint pointer) => pointer;
+ protected override nint ConvertValueToIntPtr(nint value) => value;
+ protected override nint CreateValueFromKey(InstantiatingThunkKey key) => throw new NotImplementedException();
+ protected override int GetKeyHashCode(InstantiatingThunkKey key) => HashCode.Combine(key.Target, key.Context);
+
+ protected override int GetValueHashCode(nint value)
+ {
+ bool result = RuntimeAugments.TryGetThunkData(s_thunkPoolHeap, value, out nint context, out nint target);
+ Debug.Assert(result);
+ return HashCode.Combine(target, context);
+ }
+ }
+
+ private struct InstantiatingThunkKey
+ {
+ public readonly nint Target;
+ public readonly nint Context;
+ public InstantiatingThunkKey(nint target, nint context) => (Target, Context) = (target, context);
+ }
}
}
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj b/src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj
index fc97632716fd2a..06d92c3b8b5d5e 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj
@@ -332,6 +332,9 @@
Utilities\LockFreeReaderHashtable.cs
+
+ Utilities\LockFreeReaderHashtableOfPointers.cs
+
System\Collections\Generic\LowLevelList.cs
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs
index cc33e85d73917c..87eb31d58022fe 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs
@@ -40,37 +40,36 @@ public abstract partial class ComWrappers
private static readonly Guid IID_IInspectable = new Guid(0xAF86E2E0, 0xB12D, 0x4c6a, 0x9C, 0x5A, 0xD7, 0xAA, 0x65, 0x10, 0x1E, 0x90);
private static readonly Guid IID_IWeakReferenceSource = new Guid(0x00000038, 0, 0, 0xC0, 0, 0, 0, 0, 0, 0, 0x46);
- private static readonly ConditionalWeakTable
-
+
\ No newline at end of file
diff --git a/src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.proj b/src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.proj
index 912692f5d7f26f..f007b2acb63ee8 100644
--- a/src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.proj
+++ b/src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.proj
@@ -5,6 +5,6 @@
-
+
\ No newline at end of file
diff --git a/src/installer/tests/HostActivation.Tests/FrameworkDependentAppLaunch.cs b/src/installer/tests/HostActivation.Tests/FrameworkDependentAppLaunch.cs
index 2f486fda3bd327..57e7172faf0e43 100644
--- a/src/installer/tests/HostActivation.Tests/FrameworkDependentAppLaunch.cs
+++ b/src/installer/tests/HostActivation.Tests/FrameworkDependentAppLaunch.cs
@@ -191,6 +191,33 @@ public void AppHost_DisableCetCompat()
.And.HaveStdOutContaining(TestContext.MicrosoftNETCoreAppVersion);
}
+ [Fact]
+ [PlatformSpecific(TestPlatforms.Windows)]
+ public void AppHost_DotNetRoot_DevicePath()
+ {
+ string appExe = sharedTestState.App.AppExe;
+
+ string dotnetPath = $@"\\?\{TestContext.BuiltDotNet.BinPath}";
+ Command.Create(appExe)
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .DotNetRoot(dotnetPath, TestContext.BuildArchitecture)
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World")
+ .And.HaveStdOutContaining(TestContext.MicrosoftNETCoreAppVersion);
+
+ dotnetPath = $@"\\.\{TestContext.BuiltDotNet.BinPath}";
+ Command.Create(appExe)
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .DotNetRoot(dotnetPath, TestContext.BuildArchitecture)
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World")
+ .And.HaveStdOutContaining(TestContext.MicrosoftNETCoreAppVersion);
+ }
+
[Fact]
public void RuntimeConfig_FilePath_Breaks_MAX_PATH_Threshold()
{
diff --git a/src/installer/tests/HostActivation.Tests/NativeHosting/Comhost.cs b/src/installer/tests/HostActivation.Tests/NativeHosting/Comhost.cs
index 3d5b902ff1ad4f..f16e4e1d0e8e7a 100644
--- a/src/installer/tests/HostActivation.Tests/NativeHosting/Comhost.cs
+++ b/src/installer/tests/HostActivation.Tests/NativeHosting/Comhost.cs
@@ -111,6 +111,35 @@ public void ActivateClass_IgnoreAppLocalHostFxr()
}
}
+ [Fact]
+ public void ActivateClass_IgnoreWorkingDirectory()
+ {
+ using (TestArtifact cwd = TestArtifact.Create("cwd"))
+ {
+ // Validate that hosting components in the working directory will not be used
+ File.Copy(Binaries.CoreClr.MockPath, Path.Combine(cwd.Location, Binaries.CoreClr.FileName));
+ File.Copy(Binaries.HostFxr.MockPath_5_0, Path.Combine(cwd.Location, Binaries.HostFxr.FileName));
+ File.Copy(Binaries.HostPolicy.MockPath, Path.Combine(cwd.Location, Binaries.HostPolicy.FileName));
+
+ string[] args = {
+ "comhost",
+ "synchronous",
+ "1",
+ sharedState.ComHostPath,
+ sharedState.ClsidString
+ };
+ sharedState.CreateNativeHostCommand(args, TestContext.BuiltDotNet.BinPath)
+ .WorkingDirectory(cwd.Location)
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("New instance of Server created")
+ .And.HaveStdOutContaining($"Activation of {sharedState.ClsidString} succeeded.")
+ .And.ResolveHostFxr(TestContext.BuiltDotNet)
+ .And.ResolveHostPolicy(TestContext.BuiltDotNet)
+ .And.ResolveCoreClr(TestContext.BuiltDotNet);
+ }
+ }
+
[Fact]
public void ActivateClass_ValidateIErrorInfoResult()
{
diff --git a/src/installer/tests/HostActivation.Tests/NativeHosting/Ijwhost.cs b/src/installer/tests/HostActivation.Tests/NativeHosting/Ijwhost.cs
index fa00b0419a85ef..35d6e2af1298e4 100644
--- a/src/installer/tests/HostActivation.Tests/NativeHosting/Ijwhost.cs
+++ b/src/installer/tests/HostActivation.Tests/NativeHosting/Ijwhost.cs
@@ -89,6 +89,32 @@ public void LoadLibrary_ContextConfig(bool load_isolated)
}
}
+ [Fact]
+ public void LoadLibrary_IgnoreWorkingDirectory()
+ {
+ using (TestArtifact cwd = TestArtifact.Create("cwd"))
+ {
+ // Validate that hosting components in the working directory will not be used
+ File.Copy(Binaries.CoreClr.MockPath, Path.Combine(cwd.Location, Binaries.CoreClr.FileName));
+ File.Copy(Binaries.HostFxr.MockPath_5_0, Path.Combine(cwd.Location, Binaries.HostFxr.FileName));
+ File.Copy(Binaries.HostPolicy.MockPath, Path.Combine(cwd.Location, Binaries.HostPolicy.FileName));
+
+ string [] args = {
+ "ijwhost",
+ sharedState.IjwApp.AppDll,
+ "NativeEntryPoint"
+ };
+ sharedState.CreateNativeHostCommand(args, TestContext.BuiltDotNet.BinPath)
+ .WorkingDirectory(cwd.Location)
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("[C++/CLI] NativeEntryPoint: calling managed class")
+ .And.HaveStdOutContaining("[C++/CLI] ManagedClass: AssemblyLoadContext = \"Default\" System.Runtime.Loader.DefaultAssemblyLoadContext")
+ .And.ResolveHostFxr(TestContext.BuiltDotNet)
+ .And.ResolveHostPolicy(TestContext.BuiltDotNet)
+ .And.ResolveCoreClr(TestContext.BuiltDotNet);
+ }
+ }
[Fact]
public void LoadLibraryWithoutRuntimeConfigButActiveRuntime()
diff --git a/src/installer/tests/HostActivation.Tests/NativeHosting/LoadAssemblyAndGetFunctionPointer.cs b/src/installer/tests/HostActivation.Tests/NativeHosting/LoadAssemblyAndGetFunctionPointer.cs
index 39cdc5edb4ca35..6f7cae81047915 100644
--- a/src/installer/tests/HostActivation.Tests/NativeHosting/LoadAssemblyAndGetFunctionPointer.cs
+++ b/src/installer/tests/HostActivation.Tests/NativeHosting/LoadAssemblyAndGetFunctionPointer.cs
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using Microsoft.DotNet.Cli.Build.Framework;
@@ -231,6 +232,37 @@ public void CallDelegateOnComponentContext_UnhandledException()
.And.ExecuteFunctionPointerWithException(entryPoint, 1);
}
+ [Fact]
+ public void CallDelegateOnComponentContext_IgnoreWorkingDirectory()
+ {
+ using (TestArtifact cwd = TestArtifact.Create("cwd"))
+ {
+ // Validate that hosting components in the working directory will not be used
+ File.Copy(Binaries.CoreClr.MockPath, Path.Combine(cwd.Location, Binaries.CoreClr.FileName));
+ File.Copy(Binaries.HostPolicy.MockPath, Path.Combine(cwd.Location, Binaries.HostPolicy.FileName));
+
+ var component = sharedState.Component;
+ string[] args =
+ {
+ ComponentLoadAssemblyAndGetFunctionPointerArg,
+ sharedState.HostFxrPath,
+ component.RuntimeConfigJson,
+ component.AppDll,
+ sharedState.ComponentTypeName,
+ sharedState.ComponentEntryPoint1,
+ };
+
+ sharedState.CreateNativeHostCommand(args, sharedState.DotNetRoot)
+ .WorkingDirectory(cwd.Location)
+ .Execute()
+ .Should().Pass()
+ .And.InitializeContextForConfig(component.RuntimeConfigJson)
+ .And.ExecuteFunctionPointer(sharedState.ComponentEntryPoint1, 1, 1)
+ .And.ResolveHostPolicy(TestContext.BuiltDotNet)
+ .And.ResolveCoreClr(TestContext.BuiltDotNet);
+ }
+ }
+
public class SharedTestState : SharedTestStateBase
{
public string HostFxrPath { get; }
diff --git a/src/installer/tests/HostActivation.Tests/NativeHosting/FunctionPointerResultExtensions.cs b/src/installer/tests/HostActivation.Tests/NativeHosting/NativeHostingResultExtensions.cs
similarity index 69%
rename from src/installer/tests/HostActivation.Tests/NativeHosting/FunctionPointerResultExtensions.cs
rename to src/installer/tests/HostActivation.Tests/NativeHosting/NativeHostingResultExtensions.cs
index 09fdc52bc186bf..9a0447a219dcb9 100644
--- a/src/installer/tests/HostActivation.Tests/NativeHosting/FunctionPointerResultExtensions.cs
+++ b/src/installer/tests/HostActivation.Tests/NativeHosting/NativeHostingResultExtensions.cs
@@ -2,10 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
+using System.IO;
namespace Microsoft.DotNet.CoreSetup.Test.HostActivation.NativeHosting
{
- internal static class FunctionPointerResultExtensions
+ internal static class NativeHostingResultExtensions
{
public static FluentAssertions.AndConstraint ExecuteFunctionPointer(this CommandResultAssertions assertion, string methodName, int callCount, int returnValue)
{
@@ -47,5 +48,21 @@ public static FluentAssertions.AndConstraint ExecuteWit
{
return assertion.HaveStdOutContaining($"{assemblyName}: Location = '{location}'");
}
+
+ public static FluentAssertions.AndConstraint ResolveHostFxr(this CommandResultAssertions assertion, Microsoft.DotNet.Cli.Build.DotNetCli dotnet)
+ {
+ return assertion.HaveStdErrContaining($"Resolved fxr [{dotnet.GreatestVersionHostFxrFilePath}]");
+ }
+
+ public static FluentAssertions.AndConstraint ResolveHostPolicy(this CommandResultAssertions assertion, Microsoft.DotNet.Cli.Build.DotNetCli dotnet)
+ {
+ return assertion.HaveStdErrContaining($"{Binaries.HostPolicy.FileName} directory is [{dotnet.GreatestVersionSharedFxPath}]");
+ }
+
+ public static FluentAssertions.AndConstraint ResolveCoreClr(this CommandResultAssertions assertion, Microsoft.DotNet.Cli.Build.DotNetCli dotnet)
+ {
+ return assertion.HaveStdErrContaining($"CoreCLR path = '{Path.Combine(dotnet.GreatestVersionSharedFxPath, Binaries.CoreClr.FileName)}'")
+ .And.HaveStdErrContaining($"CoreCLR dir = '{dotnet.GreatestVersionSharedFxPath}{Path.DirectorySeparatorChar}'");
+ }
}
}
diff --git a/src/installer/tests/HostActivation.Tests/SelfContainedAppLaunch.cs b/src/installer/tests/HostActivation.Tests/SelfContainedAppLaunch.cs
index 0ebb0912af4f3f..fe18bf10fdd73c 100644
--- a/src/installer/tests/HostActivation.Tests/SelfContainedAppLaunch.cs
+++ b/src/installer/tests/HostActivation.Tests/SelfContainedAppLaunch.cs
@@ -156,6 +156,29 @@ public void DotNetRoot_IncorrectLayout_Fails()
.And.HaveStdErrContaining($"The required library {Binaries.HostFxr.FileName} could not be found.");
}
+ [Fact]
+ [PlatformSpecific(TestPlatforms.Windows)]
+ public void DevicePath()
+ {
+ string appExe = $@"\\?\{sharedTestState.App.AppExe}";
+ Command.Create(appExe)
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World")
+ .And.HaveStdOutContaining(TestContext.MicrosoftNETCoreAppVersion);
+
+ appExe = $@"\\.\{sharedTestState.App.AppExe}";
+ Command.Create(appExe)
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .Execute()
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World")
+ .And.HaveStdOutContaining(TestContext.MicrosoftNETCoreAppVersion);
+ }
+
public class SharedTestState : IDisposable
{
public TestApp App { get; }
diff --git a/src/installer/tests/HostActivation.Tests/SymbolicLinks.cs b/src/installer/tests/HostActivation.Tests/SymbolicLinks.cs
index d440d3eae2caa2..5afab32a0881d2 100644
--- a/src/installer/tests/HostActivation.Tests/SymbolicLinks.cs
+++ b/src/installer/tests/HostActivation.Tests/SymbolicLinks.cs
@@ -2,8 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
+using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Runtime.InteropServices;
using FluentAssertions;
using Microsoft.DotNet.Cli.Build.Framework;
@@ -21,6 +23,165 @@ public SymbolicLinks(SymbolicLinks.SharedTestState fixture)
sharedTestState = fixture;
}
+ [Theory]
+ [InlineData("a/b/SymlinkToFrameworkDependentApp")]
+ [InlineData("a/SymlinkToFrameworkDependentApp")]
+ public void Symlink_all_files_fx(string symlinkRelativePath)
+ {
+ using var testDir = TestArtifact.Create("symlink");
+ Directory.CreateDirectory(Path.Combine(testDir.Location, Path.GetDirectoryName(symlinkRelativePath)));
+
+ // Symlink every file in the app directory
+ var symlinks = new List();
+ try
+ {
+ foreach (var file in Directory.EnumerateFiles(sharedTestState.FrameworkDependentApp.Location))
+ {
+ var fileName = Path.GetFileName(file);
+ var symlinkPath = Path.Combine(testDir.Location, symlinkRelativePath, fileName);
+ Directory.CreateDirectory(Path.GetDirectoryName(symlinkPath));
+ symlinks.Add(new SymLink(symlinkPath, file));
+ }
+
+ var result = Command.Create(Path.Combine(testDir.Location, symlinkRelativePath, Path.GetFileName(sharedTestState.FrameworkDependentApp.AppExe)))
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .DotNetRoot(TestContext.BuiltDotNet.BinPath)
+ .Execute();
+
+ // This should succeed on all platforms, but for different reasons:
+ // * Windows: The apphost will look next to the symlink for the app dll and find the symlinked dll
+ // * Unix: The apphost will look next to the resolved apphost for the app dll and find the real thing
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
+ finally
+ {
+ foreach (var symlink in symlinks)
+ {
+ symlink.Dispose();
+ }
+ }
+ }
+
+ [Theory]
+ [InlineData("a/b/SymlinkToFrameworkDependentApp")]
+ [InlineData("a/SymlinkToFrameworkDependentApp")]
+ public void Symlink_split_files_fx(string symlinkRelativePath)
+ {
+ using var testDir = TestArtifact.Create("symlink");
+
+ // Split the app into two directories, one for the apphost and one for the rest of the files
+ var appHostDir = Path.Combine(testDir.Location, "apphost");
+ var appFilesDir = Path.Combine(testDir.Location, "appfiles");
+ Directory.CreateDirectory(appHostDir);
+ Directory.CreateDirectory(appFilesDir);
+
+ var appHostName = Path.GetFileName(sharedTestState.FrameworkDependentApp.AppExe);
+
+ File.Copy(
+ sharedTestState.FrameworkDependentApp.AppExe,
+ Path.Combine(appHostDir, appHostName));
+
+ foreach (var file in Directory.EnumerateFiles(sharedTestState.FrameworkDependentApp.Location))
+ {
+ var fileName = Path.GetFileName(file);
+ if (fileName != appHostName)
+ {
+ File.Copy(file, Path.Combine(appFilesDir, fileName));
+ }
+ }
+
+ // Symlink all of the above into a single directory
+ var targetPath = Path.Combine(testDir.Location, symlinkRelativePath);
+ Directory.CreateDirectory(targetPath);
+ var symlinks = new List();
+ try
+ {
+ foreach (var file in Directory.EnumerateFiles(appFilesDir))
+ {
+ var fileName = Path.GetFileName(file);
+ var symlinkPath = Path.Combine(targetPath, fileName);
+ Directory.CreateDirectory(Path.GetDirectoryName(symlinkPath));
+ symlinks.Add(new SymLink(symlinkPath, file));
+ }
+ symlinks.Add(new SymLink(
+ Path.Combine(targetPath, appHostName),
+ Path.Combine(appHostDir, appHostName)));
+
+ var result = Command.Create(Path.Combine(targetPath, appHostName))
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .DotNetRoot(TestContext.BuiltDotNet.BinPath)
+ .Execute();
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ // On Windows, the apphost will look next to the symlink for the app dll and find the symlinks
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
+ else
+ {
+ // On Unix, the apphost will not find the app files next to the symlink
+ result
+ .Should().Fail()
+ .And.HaveStdErrContaining("The application to execute does not exist");
+ }
+ }
+ finally
+ {
+ foreach (var symlink in symlinks)
+ {
+ symlink.Dispose();
+ }
+ }
+ }
+
+ [Theory]
+ [InlineData("a/b/SymlinkToFrameworkDependentApp")]
+ [InlineData("a/SymlinkToFrameworkDependentApp")]
+ public void Symlink_all_files_self_contained(string symlinkRelativePath)
+ {
+ using var testDir = TestArtifact.Create("symlink");
+ Directory.CreateDirectory(Path.Combine(testDir.Location, Path.GetDirectoryName(symlinkRelativePath)));
+
+ // Symlink every file in the app directory
+ var symlinks = new List();
+ try
+ {
+ foreach (var file in Directory.EnumerateFiles(sharedTestState.SelfContainedApp.Location))
+ {
+ var fileName = Path.GetFileName(file);
+ var symlinkPath = Path.Combine(testDir.Location, symlinkRelativePath, fileName);
+ Directory.CreateDirectory(Path.GetDirectoryName(symlinkPath));
+ symlinks.Add(new SymLink(symlinkPath, file));
+ }
+
+ var result = Command.Create(Path.Combine(testDir.Location, symlinkRelativePath, Path.GetFileName(sharedTestState.FrameworkDependentApp.AppExe)))
+ .CaptureStdErr()
+ .CaptureStdOut()
+ .DotNetRoot(TestContext.BuiltDotNet.BinPath)
+ .Execute();
+
+ // This should succeed on all platforms, but for different reasons:
+ // * Windows: The apphost will look next to the symlink for the files and find the symlinks
+ // * Unix: The apphost will look next to the resolved apphost for the files and find the real thing
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
+ finally
+ {
+ foreach (var symlink in symlinks)
+ {
+ symlink.Dispose();
+ }
+ }
+ }
+
[Theory]
[InlineData ("a/b/SymlinkToApphost")]
[InlineData ("a/SymlinkToApphost")]
@@ -33,12 +194,23 @@ public void Run_apphost_behind_symlink(string symlinkRelativePath)
var symlinkFullPath = Path.Combine(testDir.Location, symlinkRelativePath);
using var symlink = new SymLink(symlinkFullPath, sharedTestState.SelfContainedApp.AppExe);
- Command.Create(symlinkFullPath)
+ var result = Command.Create(symlinkFullPath)
.CaptureStdErr()
.CaptureStdOut()
- .Execute()
- .Should().Pass()
- .And.HaveStdOutContaining("Hello World");
+ .Execute();
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ result
+ .Should().Fail()
+ .And.HaveStdErrContaining("The application to execute does not exist");
+ }
+ else
+ {
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
}
}
@@ -63,12 +235,23 @@ public void Run_apphost_behind_transitive_symlinks(string firstSymlinkRelativePa
Directory.CreateDirectory(Path.GetDirectoryName(symlink1Path));
using var symlink1 = new SymLink(symlink1Path, symlink2Path);
- Command.Create(symlink1.SrcPath)
+ var result = Command.Create(symlink1.SrcPath)
.CaptureStdErr()
.CaptureStdOut()
- .Execute()
- .Should().Pass()
- .And.HaveStdOutContaining("Hello World");
+ .Execute();
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ result
+ .Should().Fail()
+ .And.HaveStdErrContaining("The application to execute does not exist");
+ }
+ else
+ {
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
}
}
@@ -86,13 +269,24 @@ public void Run_framework_dependent_app_behind_symlink(string symlinkRelativePat
Directory.CreateDirectory(Path.Combine(testDir.Location, Path.GetDirectoryName(symlinkRelativePath)));
using var symlink = new SymLink(Path.Combine(testDir.Location, symlinkRelativePath), sharedTestState.FrameworkDependentApp.AppExe);
- Command.Create(symlink.SrcPath)
+ var result = Command.Create(symlink.SrcPath)
.CaptureStdErr()
.CaptureStdOut()
.DotNetRoot(TestContext.BuiltDotNet.BinPath)
- .Execute()
- .Should().Pass()
- .And.HaveStdOutContaining("Hello World");
+ .Execute();
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ result
+ .Should().Fail()
+ .And.HaveStdErrContaining("The application to execute does not exist");
+ }
+ else
+ {
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
}
}
@@ -144,12 +338,23 @@ public void Put_dotnet_behind_symlink()
var dotnetSymlink = Path.Combine(testDir.Location, Binaries.DotNet.FileName);
using var symlink = new SymLink(dotnetSymlink, TestContext.BuiltDotNet.DotnetExecutablePath);
- Command.Create(symlink.SrcPath, sharedTestState.SelfContainedApp.AppDll)
+ var result = Command.Create(symlink.SrcPath, sharedTestState.SelfContainedApp.AppDll)
.CaptureStdErr()
.CaptureStdOut()
- .Execute()
- .Should().Pass()
- .And.HaveStdOutContaining("Hello World");
+ .Execute();
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ result
+ .Should().Fail()
+ .And.HaveStdErrContaining($"[{Path.Combine(testDir.Location, "host", "fxr")}] does not exist");
+ }
+ else
+ {
+ result
+ .Should().Pass()
+ .And.HaveStdOutContaining("Hello World");
+ }
}
}
diff --git a/src/libraries/Common/src/Interop/Interop.Ldap.cs b/src/libraries/Common/src/Interop/Interop.Ldap.cs
index 90c0ba997cd962..512242230093ff 100644
--- a/src/libraries/Common/src/Interop/Interop.Ldap.cs
+++ b/src/libraries/Common/src/Interop/Interop.Ldap.cs
@@ -157,6 +157,8 @@ internal enum LdapOption
LDAP_OPT_ROOTDSE_CACHE = 0x9a, // Not Supported in Linux
LDAP_OPT_DEBUG_LEVEL = 0x5001,
LDAP_OPT_URI = 0x5006, // Not Supported in Windows
+ LDAP_OPT_X_TLS_CACERTDIR = 0x6003, // Not Supported in Windows
+ LDAP_OPT_X_TLS_NEWCTX = 0x600F, // Not Supported in Windows
LDAP_OPT_X_SASL_REALM = 0x6101,
LDAP_OPT_X_SASL_AUTHCID = 0x6102,
LDAP_OPT_X_SASL_AUTHZID = 0x6103
diff --git a/src/libraries/Common/src/Interop/OSX/Interop.libobjc.cs b/src/libraries/Common/src/Interop/OSX/Interop.libobjc.cs
index 7274cb569051d7..73c57af7ec249c 100644
--- a/src/libraries/Common/src/Interop/OSX/Interop.libobjc.cs
+++ b/src/libraries/Common/src/Interop/OSX/Interop.libobjc.cs
@@ -46,14 +46,17 @@ internal static Version GetOperatingSystemVersion()
}
}
- if (major == 10 && minor == 16)
+#if TARGET_OSX
+ if (major == 16)
{
- // We get "compat" version for 11.0 unless we build with updated SDK.
- // Hopefully that will be before 11.x comes out
- // For now, this maps 10.16 to 11.0.
- major = 11;
- minor = 0;
+ // MacOS Tahoe returns a compatibility version unless it is built with a new SDK. Map the compatibility
+ // version to the "correct" version. This assumes the minor versions will map unchanged.
+ // 16.0 => 26.0
+ // 16.1 => 26.1
+ // etc
+ major = 26;
}
+#endif
return new Version(major, minor, patch);
}
diff --git a/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.cs b/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.cs
index 9f3d05e43e96af..b9d755d988203f 100644
--- a/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.cs
+++ b/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.cs
@@ -123,7 +123,14 @@ internal static unsafe ReadOnlySpan SslGetAlpnSelected(SafeSslHandle ssl)
internal static partial IntPtr SslGetCertificate(IntPtr ssl);
[LibraryImport(Libraries.CryptoNative, EntryPoint = "CryptoNative_SslGetPeerCertChain")]
- internal static partial SafeSharedX509StackHandle SslGetPeerCertChain(SafeSslHandle ssl);
+ private static partial SafeSharedX509StackHandle SslGetPeerCertChain_private(SafeSslHandle ssl);
+
+ internal static SafeSharedX509StackHandle SslGetPeerCertChain(SafeSslHandle ssl)
+ {
+ return SafeInteriorHandle.OpenInteriorHandle(
+ SslGetPeerCertChain_private,
+ ssl);
+ }
[LibraryImport(Libraries.CryptoNative, EntryPoint = "CryptoNative_SslGetPeerFinished")]
internal static partial int SslGetPeerFinished(SafeSslHandle ssl, IntPtr buf, int count);
diff --git a/src/libraries/Common/src/Interop/Windows/WinHttp/Interop.winhttp_types.cs b/src/libraries/Common/src/Interop/Windows/WinHttp/Interop.winhttp_types.cs
index e76fa9b67e5bcb..42b58b7df198d7 100644
--- a/src/libraries/Common/src/Interop/Windows/WinHttp/Interop.winhttp_types.cs
+++ b/src/libraries/Common/src/Interop/Windows/WinHttp/Interop.winhttp_types.cs
@@ -336,6 +336,16 @@ public struct WINHTTP_ASYNC_RESULT
public uint dwError;
}
+ [StructLayout(LayoutKind.Sequential)]
+ public unsafe struct WINHTTP_CONNECTION_INFO
+ {
+ // This field is actually 4 bytes, but we use nuint to avoid alignment issues for x64.
+ // If we want to read this field in the future, we need to change type and make sure
+ // alignment is correct for necessary archs.
+ public nuint cbSize;
+ public fixed byte LocalAddress[128];
+ public fixed byte RemoteAddress[128];
+ }
[StructLayout(LayoutKind.Sequential)]
public struct tcp_keepalive
diff --git a/src/libraries/Common/src/Microsoft/Win32/SafeHandles/SafeCertContextHandleWithKeyContainerDeletion.cs b/src/libraries/Common/src/Microsoft/Win32/SafeHandles/SafeCertContextHandleWithKeyContainerDeletion.cs
index 7488f624b90c47..59a84bc923097c 100644
--- a/src/libraries/Common/src/Microsoft/Win32/SafeHandles/SafeCertContextHandleWithKeyContainerDeletion.cs
+++ b/src/libraries/Common/src/Microsoft/Win32/SafeHandles/SafeCertContextHandleWithKeyContainerDeletion.cs
@@ -50,10 +50,16 @@ internal static void DeleteKeyContainer(SafeCertContextHandle pCertContext)
string providerName = Marshal.PtrToStringUni((IntPtr)(pProvInfo->pwszProvName))!;
string keyContainerName = Marshal.PtrToStringUni((IntPtr)(pProvInfo->pwszContainerName))!;
+ CngKeyOpenOptions openOpts = CngKeyOpenOptions.None;
+
+ if ((pProvInfo->dwFlags & Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) != 0)
+ {
+ openOpts = CngKeyOpenOptions.MachineKey;
+ }
try
{
- using (CngKey cngKey = CngKey.Open(keyContainerName, new CngProvider(providerName)))
+ using (CngKey cngKey = CngKey.Open(keyContainerName, new CngProvider(providerName), openOpts))
{
cngKey.Delete();
}
diff --git a/src/libraries/Common/tests/System/DirectoryServices/LDAP.Configuration.xml b/src/libraries/Common/tests/System/DirectoryServices/LDAP.Configuration.xml
index 3523d7762232af..1a7f36e6f047bd 100644
--- a/src/libraries/Common/tests/System/DirectoryServices/LDAP.Configuration.xml
+++ b/src/libraries/Common/tests/System/DirectoryServices/LDAP.Configuration.xml
@@ -1,6 +1,6 @@
-To enable the tests marked with [ConditionalFact(nameof(IsLdapConfigurationExist))], you need to setup an LDAP server and provide the needed server info here.
+To enable the tests marked with [ConditionalFact(nameof(IsLdapConfigurationExist))], you need to setup an LDAP server as described below and set the environment variable LDAP_TEST_SERVER_INDEX to the appropriate offset into the XML section found at the end of this file.
To ship, we should test on both an Active Directory LDAP server, and at least one other server, as behaviors are a little different. However for local testing, it is easiest to connect to an OpenDJ LDAP server in a docker container (eg., in WSL2).
@@ -11,7 +11,7 @@ OPENDJ SERVER
test it with this command - it should return some results in WSL2
- ldapsearch -h localhost -p 1389 -D 'cn=admin,dc=example,dc=com' -x -w password
+ ldapsearch -H ldap://localhost:1389 -D 'cn=admin,dc=example,dc=com' -x -w password
this command views the status
@@ -24,16 +24,16 @@ SLAPD OPENLDAP SERVER
and to test and view status
- ldapsearch -h localhost -p 390 -D 'cn=admin,dc=example,dc=com' -x -w password
+ ldapsearch -H ldap://localhost:390 -D 'cn=admin,dc=example,dc=com' -x -w password
docker exec -it slapd01 slapcat
SLAPD OPENLDAP SERVER WITH TLS
==============================
-The osixia/openldap container image automatically creates a TLS lisener with a self-signed certificate. This can be used to test TLS.
+The osixia/openldap container image automatically creates a TLS listener with a self-signed certificate. This can be used to test TLS.
-Start the container, with TLS on port 1636, without client certificate verification:
+Start the container, with TLS on port 1636, but without client certificate verification:
docker run --publish 1389:389 --publish 1636:636 --name ldap --hostname ldap.local --detach --rm --env LDAP_TLS_VERIFY_CLIENT=never --env LDAP_ADMIN_PASSWORD=password osixia/openldap --loglevel debug
@@ -56,6 +56,8 @@ To test and view the status:
ldapsearch -H ldaps://ldap.local:1636 -b dc=example,dc=org -x -D cn=admin,dc=example,dc=org -w password
+use '-d 1' or '-d 2' for debugging.
+
ACTIVE DIRECTORY
================
@@ -65,7 +67,7 @@ When running against Active Directory from a Windows client, you should not see
If you are running your AD server as a VM on the same machine that you are running WSL2, you must execute this command on the host to bridge the two Hyper-V networks so that it is visible from WSL2:
- Get-NetIPInterface | where {$_.InterfaceAlias -eq 'vEthernet (WSL)' -or $_.InterfaceAlias -eq 'vEthernet (Default Switch)'} | Set-NetIPInterface -Forwarding Enabled
+ Get-NetIPInterface | where {$_.InterfaceAlias -eq 'vEthernet (WSL)' -or $_.InterfaceAlias -eq 'vEthernet (Default Switch)'} | Set-NetIPInterface -Forwarding Enabled
The WSL2 VM should now be able to see the AD VM by IP address. To make it visible by host name, it's probably easiest to just add it to /etc/hosts.
@@ -82,7 +84,7 @@ Note:
@@ -105,15 +107,6 @@ Note:
ServerBind,None
False
-
- danmose-ldap.danmose-domain.com
- DC=danmose-domain,DC=com
- 389
- danmose-domain\Administrator
- %TESTPASSWORD%
- ServerBind,None
- True
-
ldap.local
DC=example,DC=org
@@ -124,5 +117,14 @@ Note:
true
False
+
+ danmose-ldap.danmose-domain.com
+ DC=danmose-domain,DC=com
+ 389
+ danmose-domain\Administrator
+ %TESTPASSWORD%
+ ServerBind,None
+ True
+
diff --git a/src/libraries/Common/tests/System/Net/Configuration.Http.cs b/src/libraries/Common/tests/System/Net/Configuration.Http.cs
index f568e54f261d22..15d426ce9bab42 100644
--- a/src/libraries/Common/tests/System/Net/Configuration.Http.cs
+++ b/src/libraries/Common/tests/System/Net/Configuration.Http.cs
@@ -21,7 +21,7 @@ public static partial class Http
// This server doesn't use HTTP/2 server push (push promise) feature. Some HttpClient implementations
// don't support servers that use push right now.
- public static string Http2NoPushHost => GetValue("DOTNET_TEST_HTTP2NOPUSHHOST", "www.microsoft.com");
+ public static string Http2NoPushHost => GetValue("DOTNET_TEST_HTTP2NOPUSHHOST", "httpbin.org");
// Domain server environment.
public static string DomainJoinedHttpHost => GetValue("DOTNET_TEST_DOMAINJOINED_HTTPHOST");
@@ -87,6 +87,7 @@ public static Uri[] GetEchoServerList()
public static readonly object[][] Http2Servers = { new object[] { new Uri("https://" + Http2Host) } };
public static readonly object[][] Http2NoPushServers = { new object[] { new Uri("https://" + Http2NoPushHost) } };
+ public static readonly object[][] Http2NoPushGetUris = { new object[] { new Uri("https://" + Http2NoPushHost + "/get") } };
public static readonly RemoteServer RemoteHttp11Server = new RemoteServer(new Uri("http://" + Host + "/"), HttpVersion.Version11);
public static readonly RemoteServer RemoteSecureHttp11Server = new RemoteServer(new Uri("https://" + SecureHost + "/"), HttpVersion.Version11);
diff --git a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.RemoteServer.cs b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.RemoteServer.cs
index dd9db9bbe1f087..c9cdd591bb4016 100644
--- a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.RemoteServer.cs
+++ b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.RemoteServer.cs
@@ -31,6 +31,7 @@ public sealed class HttpClientHandler_RemoteServerTest : HttpClientHandlerTestBa
public static readonly object[][] Http2Servers = Configuration.Http.Http2Servers;
public static readonly object[][] Http2NoPushServers = Configuration.Http.Http2NoPushServers;
+ public static readonly object[][] Http2NoPushGetUris = Configuration.Http.Http2NoPushGetUris;
// Standard HTTP methods defined in RFC7231: http://tools.ietf.org/html/rfc7231#section-4.3
// "GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "TRACE"
@@ -1361,7 +1362,7 @@ public async Task SendAsync_RequestVersion20_ResponseVersion20IfHttp2Supported(U
}
[OuterLoop("Uses external servers")]
- [ConditionalTheory(nameof(IsWindows10Version1607OrGreater)), MemberData(nameof(Http2NoPushServers))]
+ [ConditionalTheory(nameof(IsWindows10Version1607OrGreater)), MemberData(nameof(Http2NoPushGetUris))]
public async Task SendAsync_RequestVersion20_ResponseVersion20(Uri server)
{
// Sync API supported only up to HTTP/1.1
diff --git a/src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs b/src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs
index 7f58fd5b2424e8..61958c04a26b0c 100644
--- a/src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs
+++ b/src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs
@@ -230,6 +230,99 @@ await client.GetAsync(remoteServer.EchoUri, HttpCompletionOption.ResponseHeaders
#if NET
+ public static IEnumerable HttpMethods => new object[][]
+ {
+ new [] { HttpMethod.Get },
+ new [] { HttpMethod.Head },
+ new [] { HttpMethod.Post },
+ new [] { HttpMethod.Put },
+ new [] { HttpMethod.Delete },
+ new [] { HttpMethod.Options },
+ new [] { HttpMethod.Patch },
+ };
+
+ public static IEnumerable HttpMethodsAndAbort => new object[][]
+ {
+ new object[] { HttpMethod.Get, "abortBeforeHeaders" },
+ new object[] { HttpMethod.Head , "abortBeforeHeaders"},
+ new object[] { HttpMethod.Post , "abortBeforeHeaders"},
+ new object[] { HttpMethod.Put , "abortBeforeHeaders"},
+ new object[] { HttpMethod.Delete , "abortBeforeHeaders"},
+ new object[] { HttpMethod.Options , "abortBeforeHeaders"},
+ new object[] { HttpMethod.Patch , "abortBeforeHeaders"},
+
+ new object[] { HttpMethod.Get, "abortAfterHeaders" },
+ new object[] { HttpMethod.Post , "abortAfterHeaders"},
+ new object[] { HttpMethod.Put , "abortAfterHeaders"},
+ new object[] { HttpMethod.Delete , "abortAfterHeaders"},
+ new object[] { HttpMethod.Options , "abortAfterHeaders"},
+ new object[] { HttpMethod.Patch , "abortAfterHeaders"},
+
+ new object[] { HttpMethod.Get, "abortDuringBody" },
+ new object[] { HttpMethod.Post , "abortDuringBody"},
+ new object[] { HttpMethod.Put , "abortDuringBody"},
+ new object[] { HttpMethod.Delete , "abortDuringBody"},
+ new object[] { HttpMethod.Options , "abortDuringBody"},
+ new object[] { HttpMethod.Patch , "abortDuringBody"},
+
+ };
+
+ [MemberData(nameof(HttpMethods))]
+ [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser))]
+ public async Task BrowserHttpHandler_StreamingResponse(HttpMethod method)
+ {
+ var WebAssemblyEnableStreamingResponseKey = new HttpRequestOptionsKey("WebAssemblyEnableStreamingResponse");
+
+ var req = new HttpRequestMessage(method, Configuration.Http.RemoteHttp11Server.BaseUri + "echo.ashx");
+ req.Options.Set(WebAssemblyEnableStreamingResponseKey, true);
+
+ if (method == HttpMethod.Post)
+ {
+ req.Content = new StringContent("hello world");
+ }
+
+ using (HttpClient client = CreateHttpClientForRemoteServer(Configuration.Http.RemoteHttp11Server))
+ // we need to switch off Response buffering of default ResponseContentRead option
+ using (HttpResponseMessage response = await client.SendAsync(req, HttpCompletionOption.ResponseHeadersRead))
+ {
+ using var content = response.Content;
+ Assert.Equal(HttpStatusCode.OK, response.StatusCode);
+ Assert.Equal(typeof(StreamContent), content.GetType());
+ Assert.NotEqual(0, content.Headers.ContentLength);
+ if (method != HttpMethod.Head)
+ {
+ var data = await content.ReadAsByteArrayAsync();
+ Assert.NotEqual(0, data.Length);
+ }
+ }
+ }
+
+ [MemberData(nameof(HttpMethodsAndAbort))]
+ [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser))]
+ public async Task BrowserHttpHandler_StreamingResponseAbort(HttpMethod method, string abort)
+ {
+ var WebAssemblyEnableStreamingResponseKey = new HttpRequestOptionsKey("WebAssemblyEnableStreamingResponse");
+
+ var req = new HttpRequestMessage(method, Configuration.Http.RemoteHttp11Server.BaseUri + "echo.ashx?" + abort + "=true");
+ req.Options.Set(WebAssemblyEnableStreamingResponseKey, true);
+
+ if (method == HttpMethod.Post || method == HttpMethod.Put || method == HttpMethod.Patch)
+ {
+ req.Content = new StringContent("hello world");
+ }
+
+ using HttpClient client = CreateHttpClientForRemoteServer(Configuration.Http.RemoteHttp11Server);
+ if (abort == "abortDuringBody")
+ {
+ using var res = await client.SendAsync(req, HttpCompletionOption.ResponseHeadersRead);
+ await Assert.ThrowsAsync(() => res.Content.ReadAsByteArrayAsync());
+ }
+ else
+ {
+ await Assert.ThrowsAsync(() => client.SendAsync(req, HttpCompletionOption.ResponseHeadersRead));
+ }
+ }
+
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsChromium))]
public async Task BrowserHttpHandler_Streaming()
{
@@ -486,7 +579,7 @@ public async Task BrowserHttpHandler_StreamingRequest_Http1Fails()
[OuterLoop]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsChromium))]
- public async Task BrowserHttpHandler_StreamingResponse()
+ public async Task BrowserHttpHandler_StreamingResponseLarge()
{
var WebAssemblyEnableStreamingResponseKey = new HttpRequestOptionsKey("WebAssemblyEnableStreamingResponse");
diff --git a/src/libraries/Common/tests/System/Net/Prerequisites/NetCoreServer/Handlers/EchoHandler.cs b/src/libraries/Common/tests/System/Net/Prerequisites/NetCoreServer/Handlers/EchoHandler.cs
index 667e99c29dc398..f9f8b0c24f2e01 100644
--- a/src/libraries/Common/tests/System/Net/Prerequisites/NetCoreServer/Handlers/EchoHandler.cs
+++ b/src/libraries/Common/tests/System/Net/Prerequisites/NetCoreServer/Handlers/EchoHandler.cs
@@ -22,26 +22,22 @@ public static async Task InvokeAsync(HttpContext context)
return;
}
- // Add original request method verb as a custom response header.
- context.Response.Headers["X-HttpRequest-Method"] = context.Request.Method;
-
- // Echo back JSON encoded payload.
- RequestInformation info = await RequestInformation.CreateAsync(context.Request);
- string echoJson = info.SerializeToJson();
-
- byte[] bytes = Encoding.UTF8.GetBytes(echoJson);
+ var qs = context.Request.QueryString.HasValue ? context.Request.QueryString.Value : "";
var delay = 0;
- if (context.Request.QueryString.HasValue)
+ if (qs.Contains("delay1sec"))
{
- if (context.Request.QueryString.Value.Contains("delay1sec"))
- {
- delay = 1000;
- }
- else if (context.Request.QueryString.Value.Contains("delay10sec"))
- {
- delay = 10000;
- }
+ delay = 1000;
+ }
+ else if (qs.Contains("delay10sec"))
+ {
+ delay = 10000;
+ }
+
+ if (qs.Contains("abortBeforeHeaders"))
+ {
+ context.Abort();
+ return;
}
if (delay > 0)
@@ -49,6 +45,14 @@ public static async Task InvokeAsync(HttpContext context)
context.Features.Get().DisableBuffering();
}
+ // Echo back JSON encoded payload.
+ RequestInformation info = await RequestInformation.CreateAsync(context.Request);
+ string echoJson = info.SerializeToJson();
+ byte[] bytes = Encoding.UTF8.GetBytes(echoJson);
+
+ // Add original request method verb as a custom response header.
+ context.Response.Headers["X-HttpRequest-Method"] = context.Request.Method;
+
// Compute MD5 hash so that clients can verify the received data.
using (MD5 md5 = MD5.Create())
{
@@ -60,11 +64,32 @@ public static async Task InvokeAsync(HttpContext context)
context.Response.ContentLength = bytes.Length;
}
- if (delay > 0)
+ await context.Response.StartAsync(CancellationToken.None);
+
+ if (qs.Contains("abortAfterHeaders"))
+ {
+ await Task.Delay(10);
+ context.Abort();
+ return;
+ }
+
+ if (HttpMethods.IsHead(context.Request.Method))
+ {
+ return;
+ }
+
+ if (delay > 0 || qs.Contains("abortDuringBody"))
{
- await context.Response.StartAsync(CancellationToken.None);
await context.Response.Body.WriteAsync(bytes, 0, 10);
await context.Response.Body.FlushAsync();
+ if (qs.Contains("abortDuringBody"))
+ {
+ await context.Response.Body.FlushAsync();
+ await Task.Delay(10);
+ context.Abort();
+ return;
+ }
+
await Task.Delay(delay);
await context.Response.Body.WriteAsync(bytes, 10, bytes.Length-10);
await context.Response.Body.FlushAsync();
diff --git a/src/libraries/Common/tests/System/TimeProviderTests.cs b/src/libraries/Common/tests/System/TimeProviderTests.cs
index 119a35610f1f51..e0840f09d1cdbb 100644
--- a/src/libraries/Common/tests/System/TimeProviderTests.cs
+++ b/src/libraries/Common/tests/System/TimeProviderTests.cs
@@ -143,7 +143,9 @@ public void TestProviderTimer(TimeProvider provider, int minMilliseconds)
state.TokenSource.Token.WaitHandle.WaitOne(Timeout.InfiniteTimeSpan);
state.TokenSource.Dispose();
- Assert.Equal(4, state.Counter);
+ // In normal conditions, the timer callback should be called 4 times. Sometimes the timer callback could be queued and fired after the timer was disposed.
+ Assert.True(state.Counter >= 4, $"The timer callback was expected to be called at least 4 times, but was called {state.Counter} times");
+
Assert.Equal(400, state.Period);
Assert.True(minMilliseconds <= state.Stopwatch.ElapsedMilliseconds, $"The total fired periods {state.Stopwatch.ElapsedMilliseconds}ms expected to be greater then the expected min {minMilliseconds}ms");
}
diff --git a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs
index 8681d16fd9fb4b..db6f7b863a0891 100644
--- a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs
+++ b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs
@@ -50,9 +50,12 @@ public static partial class PlatformDetection
throw new PlatformNotSupportedException();
private static readonly Version s_openssl3Version = new Version(3, 0, 0);
- public static bool IsOpenSsl3 => !IsApplePlatform && !IsWindows && !IsAndroid && !IsBrowser ?
- GetOpenSslVersion() >= s_openssl3Version :
- false;
+ private static readonly Version s_openssl3_4Version = new Version(3, 4, 0);
+ private static readonly Version s_openssl3_5Version = new Version(3, 5, 0);
+
+ public static bool IsOpenSsl3 => IsOpenSslVersionAtLeast(s_openssl3Version);
+ public static bool IsOpenSsl3_4 => IsOpenSslVersionAtLeast(s_openssl3_4Version);
+ public static bool IsOpenSsl3_5 => IsOpenSslVersionAtLeast(s_openssl3_5Version);
///
/// If gnulibc is available, returns the release, such as "stable".
@@ -139,6 +142,18 @@ private static Version GetOpenSslVersion()
return s_opensslVersion;
}
+ // The "IsOpenSsl" properties answer false on Apple, even if OpenSSL is present for lightup,
+ // as they are answering the question "is OpenSSL the primary crypto provider".
+ private static bool IsOpenSslVersionAtLeast(Version minVersion)
+ {
+ if (IsApplePlatform || IsWindows || IsAndroid || IsBrowser)
+ {
+ return false;
+ }
+
+ return GetOpenSslVersion() >= minVersion;
+ }
+
private static Version ToVersion(string versionString)
{
// In some distros/versions we cannot discover the distro version; return something valid.
diff --git a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Windows.cs b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Windows.cs
index 6a166b298cd517..1cd57d147a77ed 100644
--- a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Windows.cs
+++ b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Windows.cs
@@ -26,6 +26,7 @@ public static partial class PlatformDetection
public static bool IsWindows10OrLater => IsWindowsVersionOrLater(10, 0);
public static bool IsWindowsServer2019 => IsWindows && IsNotWindowsNanoServer && GetWindowsVersion() == 10 && GetWindowsMinorVersion() == 0 && GetWindowsBuildVersion() == 17763;
public static bool IsWindowsServer2022 => IsWindows && IsNotWindowsNanoServer && GetWindowsVersion() == 10 && GetWindowsMinorVersion() == 0 && GetWindowsBuildVersion() == 20348;
+ public static bool IsWindowsServer2025 => IsWindows && IsNotWindowsNanoServer && GetWindowsVersion() == 10 && GetWindowsMinorVersion() == 0 && GetWindowsBuildVersion() == 26100;
public static bool IsWindowsNanoServer => IsWindows && (IsNotWindowsIoTCore && GetWindowsInstallationType().Equals("Nano Server", StringComparison.OrdinalIgnoreCase));
public static bool IsWindowsServerCore => IsWindows && GetWindowsInstallationType().Equals("Server Core", StringComparison.OrdinalIgnoreCase);
public static int WindowsVersion => IsWindows ? (int)GetWindowsVersion() : -1;
diff --git a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
index 67cde84c48389b..d8e81fd4d9a7c6 100644
--- a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
+++ b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
@@ -168,8 +168,8 @@ private static bool GetLinqExpressionsBuiltWithIsInterpretingOnly()
return !(bool)typeof(LambdaExpression).GetMethod("get_CanCompileToIL").Invoke(null, Array.Empty());
}
- // Drawing is not supported on non windows platforms in .NET 7.0+.
- public static bool IsDrawingSupported => IsWindows && IsNotWindowsNanoServer && IsNotWindowsServerCore;
+ // Drawing is not supported on non windows platforms in .NET 7.0+ and on Mono.
+ public static bool IsDrawingSupported => IsWindows && IsNotWindowsNanoServer && IsNotWindowsServerCore && IsNotMonoRuntime;
public static bool IsAsyncFileIOSupported => !IsBrowser && !IsWasi;
@@ -288,6 +288,12 @@ public static bool IsMetadataTokenSupported
public static bool IsNotBuiltWithAggressiveTrimming => !IsBuiltWithAggressiveTrimming;
public static bool IsTrimmedWithILLink => IsBuiltWithAggressiveTrimming && !IsNativeAot;
+#if NET
+ public static bool DataSetXmlSerializationIsSupported => AppContext.TryGetSwitch("System.Data.DataSet.XmlSerializationIsSupported", out bool isSupported) ? isSupported : true;
+#else
+ public static bool DataSetXmlSerializationIsSupported => true;
+#endif
+
// Windows - Schannel supports alpn from win8.1/2012 R2 and higher.
// Linux - OpenSsl supports alpn from openssl 1.0.2 and higher.
// Android - Platform supports alpn from API level 29 and higher
diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
index 7ccc19377a2efb..77b995afb43bef 100644
--- a/src/libraries/Directory.Build.props
+++ b/src/libraries/Directory.Build.props
@@ -35,8 +35,6 @@
false
false
-
- true
diff --git a/src/libraries/Directory.Build.targets b/src/libraries/Directory.Build.targets
index 5a3fff449e7bba..631ee908d4723e 100644
--- a/src/libraries/Directory.Build.targets
+++ b/src/libraries/Directory.Build.targets
@@ -72,12 +72,11 @@
+ '$(IsPackable)' == 'true'">
<_IsWindowsDesktopApp Condition="$(WindowsDesktopCoreAppLibrary.Contains('$(AssemblyName);'))">true
<_IsAspNetCoreApp Condition="$(AspNetCoreAppLibrary.Contains('$(AssemblyName);'))">true
<_AssemblyInTargetingPack Condition="('$(IsNETCoreAppSrc)' == 'true' or '$(IsNetCoreAppRef)' == 'true' or '$(_IsAspNetCoreApp)' == 'true' or '$(_IsWindowsDesktopApp)' == 'true') and '$(TargetFrameworkIdentifier)' != '.NETFramework'">true
- $(MajorVersion).$(MinorVersion).0.$(ServicingVersion)
+ $(MajorVersion).$(MinorVersion).0.$(PatchVersion)
diff --git a/src/libraries/Microsoft.Bcl.Cryptography/src/System/Security/Cryptography/NetStandardShims.cs b/src/libraries/Microsoft.Bcl.Cryptography/src/System/Security/Cryptography/NetStandardShims.cs
index 1e81d7a01b023c..d35c4738c5cb6e 100644
--- a/src/libraries/Microsoft.Bcl.Cryptography/src/System/Security/Cryptography/NetStandardShims.cs
+++ b/src/libraries/Microsoft.Bcl.Cryptography/src/System/Security/Cryptography/NetStandardShims.cs
@@ -100,25 +100,14 @@ internal static bool TryGetHashAndReset(
Span destination,
out int bytesWritten)
{
- int hashSize = hash.AlgorithmName.Name switch
- {
- nameof(HashAlgorithmName.MD5) => 128 >> 3,
- nameof(HashAlgorithmName.SHA1) => 160 >> 3,
- nameof(HashAlgorithmName.SHA256) => 256 >> 3,
- nameof(HashAlgorithmName.SHA384) => 384 >> 3,
- nameof(HashAlgorithmName.SHA512) => 512 >> 3,
- _ => throw new CryptographicException(),
- };
-
- if (destination.Length < hashSize)
+ byte[] actual = hash.GetHashAndReset();
+
+ if (destination.Length < actual.Length)
{
bytesWritten = 0;
return false;
}
- byte[] actual = hash.GetHashAndReset();
- Debug.Assert(actual.Length == hashSize);
-
actual.AsSpan().CopyTo(destination);
bytesWritten = actual.Length;
return true;
diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
index 7717367bbbbe14..70fd9e556fb285 100644
--- a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj
@@ -18,4 +18,7 @@
+
+
+
diff --git a/src/libraries/Microsoft.Extensions.Logging.Console/tests/Microsoft.Extensions.Logging.Console.Tests/Microsoft.Extensions.Logging.Console.Tests.csproj b/src/libraries/Microsoft.Extensions.Logging.Console/tests/Microsoft.Extensions.Logging.Console.Tests/Microsoft.Extensions.Logging.Console.Tests.csproj
index 2beeab918e6969..6c3acbcaeb4f43 100644
--- a/src/libraries/Microsoft.Extensions.Logging.Console/tests/Microsoft.Extensions.Logging.Console.Tests/Microsoft.Extensions.Logging.Console.Tests.csproj
+++ b/src/libraries/Microsoft.Extensions.Logging.Console/tests/Microsoft.Extensions.Logging.Console.Tests/Microsoft.Extensions.Logging.Console.Tests.csproj
@@ -10,6 +10,6 @@
-
+
diff --git a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml b/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml
deleted file mode 100644
index 8af156c8764265..00000000000000
--- a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- PKV006
- net8.0
-
-
\ No newline at end of file
diff --git a/src/libraries/Microsoft.XmlSerializer.Generator/tests/Expected.SerializableAssembly.XmlSerializers.cs b/src/libraries/Microsoft.XmlSerializer.Generator/tests/Expected.SerializableAssembly.XmlSerializers.cs
index 593096b7a7a35a..5a4382b34bb960 100644
--- a/src/libraries/Microsoft.XmlSerializer.Generator/tests/Expected.SerializableAssembly.XmlSerializers.cs
+++ b/src/libraries/Microsoft.XmlSerializer.Generator/tests/Expected.SerializableAssembly.XmlSerializers.cs
@@ -6,7 +6,7 @@ namespace Microsoft.Xml.Serialization.GeneratedAssembly {
public class XmlSerializationWriter1 : System.Xml.Serialization.XmlSerializationWriter {
- public void Write107_TypeWithXmlElementProperty(object o) {
+ public void Write111_TypeWithXmlElementProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithXmlElementProperty", @"");
@@ -16,7 +16,7 @@ public void Write107_TypeWithXmlElementProperty(object o) {
Write2_TypeWithXmlElementProperty(@"TypeWithXmlElementProperty", @"", ((global::TypeWithXmlElementProperty)o), true, false);
}
- public void Write108_TypeWithXmlDocumentProperty(object o) {
+ public void Write112_TypeWithXmlDocumentProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithXmlDocumentProperty", @"");
@@ -26,7 +26,7 @@ public void Write108_TypeWithXmlDocumentProperty(object o) {
Write3_TypeWithXmlDocumentProperty(@"TypeWithXmlDocumentProperty", @"", ((global::TypeWithXmlDocumentProperty)o), true, false);
}
- public void Write109_TypeWithBinaryProperty(object o) {
+ public void Write113_TypeWithBinaryProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithBinaryProperty", @"");
@@ -36,7 +36,7 @@ public void Write109_TypeWithBinaryProperty(object o) {
Write4_TypeWithBinaryProperty(@"TypeWithBinaryProperty", @"", ((global::TypeWithBinaryProperty)o), true, false);
}
- public void Write110_Item(object o) {
+ public void Write114_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithDateTimeOffsetProperties", @"");
@@ -46,7 +46,7 @@ public void Write110_Item(object o) {
Write5_Item(@"TypeWithDateTimeOffsetProperties", @"", ((global::TypeWithDateTimeOffsetProperties)o), true, false);
}
- public void Write111_TypeWithTimeSpanProperty(object o) {
+ public void Write115_TypeWithTimeSpanProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithTimeSpanProperty", @"");
@@ -56,7 +56,7 @@ public void Write111_TypeWithTimeSpanProperty(object o) {
Write6_TypeWithTimeSpanProperty(@"TypeWithTimeSpanProperty", @"", ((global::TypeWithTimeSpanProperty)o), true, false);
}
- public void Write112_Item(object o) {
+ public void Write116_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithDefaultTimeSpanProperty", @"");
@@ -66,7 +66,7 @@ public void Write112_Item(object o) {
Write7_Item(@"TypeWithDefaultTimeSpanProperty", @"", ((global::TypeWithDefaultTimeSpanProperty)o), true, false);
}
- public void Write113_TypeWithByteProperty(object o) {
+ public void Write117_TypeWithByteProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithByteProperty", @"");
@@ -76,7 +76,7 @@ public void Write113_TypeWithByteProperty(object o) {
Write8_TypeWithByteProperty(@"TypeWithByteProperty", @"", ((global::TypeWithByteProperty)o), true, false);
}
- public void Write114_TypeWithXmlNodeArrayProperty(object o) {
+ public void Write118_TypeWithXmlNodeArrayProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithXmlNodeArrayProperty", @"");
@@ -86,7 +86,7 @@ public void Write114_TypeWithXmlNodeArrayProperty(object o) {
Write9_TypeWithXmlNodeArrayProperty(@"TypeWithXmlNodeArrayProperty", @"", ((global::TypeWithXmlNodeArrayProperty)o), true, false);
}
- public void Write115_Animal(object o) {
+ public void Write119_Animal(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Animal", @"");
@@ -96,7 +96,7 @@ public void Write115_Animal(object o) {
Write10_Animal(@"Animal", @"", ((global::Animal)o), true, false);
}
- public void Write116_Dog(object o) {
+ public void Write120_Dog(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Dog", @"");
@@ -106,7 +106,7 @@ public void Write116_Dog(object o) {
Write12_Dog(@"Dog", @"", ((global::Dog)o), true, false);
}
- public void Write117_DogBreed(object o) {
+ public void Write121_DogBreed(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"DogBreed", @"");
@@ -115,7 +115,7 @@ public void Write117_DogBreed(object o) {
WriteElementString(@"DogBreed", @"", Write11_DogBreed(((global::DogBreed)o)));
}
- public void Write118_Group(object o) {
+ public void Write122_Group(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Group", @"");
@@ -125,7 +125,7 @@ public void Write118_Group(object o) {
Write14_Group(@"Group", @"", ((global::Group)o), true, false);
}
- public void Write119_Vehicle(object o) {
+ public void Write123_Vehicle(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Vehicle", @"");
@@ -135,7 +135,7 @@ public void Write119_Vehicle(object o) {
Write13_Vehicle(@"Vehicle", @"", ((global::Vehicle)o), true, false);
}
- public void Write120_Employee(object o) {
+ public void Write124_Employee(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Employee", @"");
@@ -145,7 +145,7 @@ public void Write120_Employee(object o) {
Write15_Employee(@"Employee", @"", ((global::Employee)o), true, false);
}
- public void Write121_BaseClass(object o) {
+ public void Write125_BaseClass(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"BaseClass", @"");
@@ -155,7 +155,7 @@ public void Write121_BaseClass(object o) {
Write17_BaseClass(@"BaseClass", @"", ((global::BaseClass)o), true, false);
}
- public void Write122_DerivedClass(object o) {
+ public void Write126_DerivedClass(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DerivedClass", @"");
@@ -165,7 +165,7 @@ public void Write122_DerivedClass(object o) {
Write16_DerivedClass(@"DerivedClass", @"", ((global::DerivedClass)o), true, false);
}
- public void Write123_PurchaseOrder(object o) {
+ public void Write127_PurchaseOrder(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"PurchaseOrder", @"http://www.contoso1.com");
@@ -175,7 +175,7 @@ public void Write123_PurchaseOrder(object o) {
Write20_PurchaseOrder(@"PurchaseOrder", @"http://www.contoso1.com", ((global::PurchaseOrder)o), false, false);
}
- public void Write124_Address(object o) {
+ public void Write128_Address(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Address", @"");
@@ -185,7 +185,7 @@ public void Write124_Address(object o) {
Write21_Address(@"Address", @"", ((global::Address)o), true, false);
}
- public void Write125_OrderedItem(object o) {
+ public void Write129_OrderedItem(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"OrderedItem", @"");
@@ -195,7 +195,7 @@ public void Write125_OrderedItem(object o) {
Write22_OrderedItem(@"OrderedItem", @"", ((global::OrderedItem)o), true, false);
}
- public void Write126_AliasedTestType(object o) {
+ public void Write130_AliasedTestType(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"AliasedTestType", @"");
@@ -205,7 +205,7 @@ public void Write126_AliasedTestType(object o) {
Write23_AliasedTestType(@"AliasedTestType", @"", ((global::AliasedTestType)o), true, false);
}
- public void Write127_BaseClass1(object o) {
+ public void Write131_BaseClass1(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"BaseClass1", @"");
@@ -215,7 +215,7 @@ public void Write127_BaseClass1(object o) {
Write24_BaseClass1(@"BaseClass1", @"", ((global::BaseClass1)o), true, false);
}
- public void Write128_DerivedClass1(object o) {
+ public void Write132_DerivedClass1(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DerivedClass1", @"");
@@ -225,7 +225,7 @@ public void Write128_DerivedClass1(object o) {
Write25_DerivedClass1(@"DerivedClass1", @"", ((global::DerivedClass1)o), true, false);
}
- public void Write129_ArrayOfDateTime(object o) {
+ public void Write133_ArrayOfDateTime(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"ArrayOfDateTime", @"");
@@ -250,7 +250,7 @@ public void Write129_ArrayOfDateTime(object o) {
}
}
- public void Write130_Orchestra(object o) {
+ public void Write134_Orchestra(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Orchestra", @"");
@@ -260,7 +260,7 @@ public void Write130_Orchestra(object o) {
Write27_Orchestra(@"Orchestra", @"", ((global::Orchestra)o), true, false);
}
- public void Write131_Instrument(object o) {
+ public void Write135_Instrument(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Instrument", @"");
@@ -270,7 +270,7 @@ public void Write131_Instrument(object o) {
Write26_Instrument(@"Instrument", @"", ((global::Instrument)o), true, false);
}
- public void Write132_Brass(object o) {
+ public void Write136_Brass(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Brass", @"");
@@ -280,7 +280,7 @@ public void Write132_Brass(object o) {
Write28_Brass(@"Brass", @"", ((global::Brass)o), true, false);
}
- public void Write133_Trumpet(object o) {
+ public void Write137_Trumpet(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Trumpet", @"");
@@ -290,7 +290,7 @@ public void Write133_Trumpet(object o) {
Write29_Trumpet(@"Trumpet", @"", ((global::Trumpet)o), true, false);
}
- public void Write134_Pet(object o) {
+ public void Write138_Pet(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Pet", @"");
@@ -300,7 +300,7 @@ public void Write134_Pet(object o) {
Write30_Pet(@"Pet", @"", ((global::Pet)o), true, false);
}
- public void Write135_DefaultValuesSetToNaN(object o) {
+ public void Write139_DefaultValuesSetToNaN(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DefaultValuesSetToNaN", @"");
@@ -310,7 +310,7 @@ public void Write135_DefaultValuesSetToNaN(object o) {
Write31_DefaultValuesSetToNaN(@"DefaultValuesSetToNaN", @"", ((global::DefaultValuesSetToNaN)o), true, false);
}
- public void Write136_Item(object o) {
+ public void Write140_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DefaultValuesSetToPositiveInfinity", @"");
@@ -320,7 +320,7 @@ public void Write136_Item(object o) {
Write32_Item(@"DefaultValuesSetToPositiveInfinity", @"", ((global::DefaultValuesSetToPositiveInfinity)o), true, false);
}
- public void Write137_Item(object o) {
+ public void Write141_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DefaultValuesSetToNegativeInfinity", @"");
@@ -330,7 +330,7 @@ public void Write137_Item(object o) {
Write33_Item(@"DefaultValuesSetToNegativeInfinity", @"", ((global::DefaultValuesSetToNegativeInfinity)o), true, false);
}
- public void Write138_RootElement(object o) {
+ public void Write142_RootElement(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"RootElement", @"");
@@ -340,7 +340,7 @@ public void Write138_RootElement(object o) {
Write34_Item(@"RootElement", @"", ((global::TypeWithMismatchBetweenAttributeAndPropertyType)o), true, false);
}
- public void Write139_TypeWithLinkedProperty(object o) {
+ public void Write143_TypeWithLinkedProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithLinkedProperty", @"");
@@ -350,7 +350,7 @@ public void Write139_TypeWithLinkedProperty(object o) {
Write35_TypeWithLinkedProperty(@"TypeWithLinkedProperty", @"", ((global::TypeWithLinkedProperty)o), true, false);
}
- public void Write140_Document(object o) {
+ public void Write144_Document(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Document", @"http://example.com");
@@ -360,7 +360,7 @@ public void Write140_Document(object o) {
Write36_MsgDocumentType(@"Document", @"http://example.com", ((global::MsgDocumentType)o), true, false);
}
- public void Write141_RootClass(object o) {
+ public void Write145_RootClass(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"RootClass", @"");
@@ -370,7 +370,7 @@ public void Write141_RootClass(object o) {
Write39_RootClass(@"RootClass", @"", ((global::RootClass)o), true, false);
}
- public void Write142_Parameter(object o) {
+ public void Write146_Parameter(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Parameter", @"");
@@ -380,7 +380,7 @@ public void Write142_Parameter(object o) {
Write38_Parameter(@"Parameter", @"", ((global::Parameter)o), true, false);
}
- public void Write143_XElementWrapper(object o) {
+ public void Write147_XElementWrapper(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"XElementWrapper", @"");
@@ -390,7 +390,7 @@ public void Write143_XElementWrapper(object o) {
Write40_XElementWrapper(@"XElementWrapper", @"", ((global::XElementWrapper)o), true, false);
}
- public void Write144_XElementStruct(object o) {
+ public void Write148_XElementStruct(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"XElementStruct", @"");
@@ -399,7 +399,7 @@ public void Write144_XElementStruct(object o) {
Write41_XElementStruct(@"XElementStruct", @"", ((global::XElementStruct)o), false);
}
- public void Write145_XElementArrayWrapper(object o) {
+ public void Write149_XElementArrayWrapper(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"XElementArrayWrapper", @"");
@@ -409,7 +409,7 @@ public void Write145_XElementArrayWrapper(object o) {
Write42_XElementArrayWrapper(@"XElementArrayWrapper", @"", ((global::XElementArrayWrapper)o), true, false);
}
- public void Write146_TypeWithDateTimeStringProperty(object o) {
+ public void Write150_TypeWithDateTimeStringProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithDateTimeStringProperty", @"");
@@ -419,7 +419,7 @@ public void Write146_TypeWithDateTimeStringProperty(object o) {
Write43_TypeWithDateTimeStringProperty(@"TypeWithDateTimeStringProperty", @"", ((global::SerializationTypes.TypeWithDateTimeStringProperty)o), true, false);
}
- public void Write147_SimpleType(object o) {
+ public void Write151_SimpleType(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"SimpleType", @"");
@@ -429,7 +429,7 @@ public void Write147_SimpleType(object o) {
Write44_SimpleType(@"SimpleType", @"", ((global::SerializationTypes.SimpleType)o), true, false);
}
- public void Write148_TypeWithGetSetArrayMembers(object o) {
+ public void Write152_TypeWithGetSetArrayMembers(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithGetSetArrayMembers", @"");
@@ -439,7 +439,7 @@ public void Write148_TypeWithGetSetArrayMembers(object o) {
Write45_TypeWithGetSetArrayMembers(@"TypeWithGetSetArrayMembers", @"", ((global::SerializationTypes.TypeWithGetSetArrayMembers)o), true, false);
}
- public void Write149_TypeWithGetOnlyArrayProperties(object o) {
+ public void Write153_TypeWithGetOnlyArrayProperties(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithGetOnlyArrayProperties", @"");
@@ -449,36 +449,46 @@ public void Write149_TypeWithGetOnlyArrayProperties(object o) {
Write46_TypeWithGetOnlyArrayProperties(@"TypeWithGetOnlyArrayProperties", @"", ((global::SerializationTypes.TypeWithGetOnlyArrayProperties)o), true, false);
}
- public void Write150_StructNotSerializable(object o) {
+ public void Write154_TypeWithArraylikeMembers(object o) {
+ WriteStartDocument();
+ if (o == null) {
+ WriteNullTagLiteral(@"TypeWithArraylikeMembers", @"");
+ return;
+ }
+ TopLevelElement();
+ Write47_TypeWithArraylikeMembers(@"TypeWithArraylikeMembers", @"", ((global::SerializationTypes.TypeWithArraylikeMembers)o), true, false);
+ }
+
+ public void Write155_StructNotSerializable(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"StructNotSerializable", @"");
return;
}
- Write47_StructNotSerializable(@"StructNotSerializable", @"", ((global::SerializationTypes.StructNotSerializable)o), false);
+ Write48_StructNotSerializable(@"StructNotSerializable", @"", ((global::SerializationTypes.StructNotSerializable)o), false);
}
- public void Write151_TypeWithMyCollectionField(object o) {
+ public void Write156_TypeWithMyCollectionField(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithMyCollectionField", @"");
return;
}
TopLevelElement();
- Write48_TypeWithMyCollectionField(@"TypeWithMyCollectionField", @"", ((global::SerializationTypes.TypeWithMyCollectionField)o), true, false);
+ Write49_TypeWithMyCollectionField(@"TypeWithMyCollectionField", @"", ((global::SerializationTypes.TypeWithMyCollectionField)o), true, false);
}
- public void Write152_Item(object o) {
+ public void Write157_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithReadOnlyMyCollectionProperty", @"");
return;
}
TopLevelElement();
- Write49_Item(@"TypeWithReadOnlyMyCollectionProperty", @"", ((global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)o), true, false);
+ Write50_Item(@"TypeWithReadOnlyMyCollectionProperty", @"", ((global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)o), true, false);
}
- public void Write153_ArrayOfAnyType(object o) {
+ public void Write158_ArrayOfAnyType(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"ArrayOfAnyType", @"");
@@ -500,335 +510,335 @@ public void Write153_ArrayOfAnyType(object o) {
}
}
- public void Write154_MyEnum(object o) {
+ public void Write159_MyEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"MyEnum", @"");
return;
}
- WriteElementString(@"MyEnum", @"", Write50_MyEnum(((global::SerializationTypes.MyEnum)o)));
+ WriteElementString(@"MyEnum", @"", Write51_MyEnum(((global::SerializationTypes.MyEnum)o)));
}
- public void Write155_TypeWithEnumMembers(object o) {
+ public void Write160_TypeWithEnumMembers(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithEnumMembers", @"");
return;
}
TopLevelElement();
- Write51_TypeWithEnumMembers(@"TypeWithEnumMembers", @"", ((global::SerializationTypes.TypeWithEnumMembers)o), true, false);
+ Write52_TypeWithEnumMembers(@"TypeWithEnumMembers", @"", ((global::SerializationTypes.TypeWithEnumMembers)o), true, false);
}
- public void Write156_DCStruct(object o) {
+ public void Write161_DCStruct(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"DCStruct", @"");
return;
}
- Write52_DCStruct(@"DCStruct", @"", ((global::SerializationTypes.DCStruct)o), false);
+ Write53_DCStruct(@"DCStruct", @"", ((global::SerializationTypes.DCStruct)o), false);
}
- public void Write157_DCClassWithEnumAndStruct(object o) {
+ public void Write162_DCClassWithEnumAndStruct(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DCClassWithEnumAndStruct", @"");
return;
}
TopLevelElement();
- Write53_DCClassWithEnumAndStruct(@"DCClassWithEnumAndStruct", @"", ((global::SerializationTypes.DCClassWithEnumAndStruct)o), true, false);
+ Write54_DCClassWithEnumAndStruct(@"DCClassWithEnumAndStruct", @"", ((global::SerializationTypes.DCClassWithEnumAndStruct)o), true, false);
}
- public void Write158_BuiltInTypes(object o) {
+ public void Write163_BuiltInTypes(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"BuiltInTypes", @"");
return;
}
TopLevelElement();
- Write54_BuiltInTypes(@"BuiltInTypes", @"", ((global::SerializationTypes.BuiltInTypes)o), true, false);
+ Write55_BuiltInTypes(@"BuiltInTypes", @"", ((global::SerializationTypes.BuiltInTypes)o), true, false);
}
- public void Write159_TypeA(object o) {
+ public void Write164_TypeA(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeA", @"");
return;
}
TopLevelElement();
- Write55_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)o), true, false);
+ Write56_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)o), true, false);
}
- public void Write160_TypeB(object o) {
+ public void Write165_TypeB(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeB", @"");
return;
}
TopLevelElement();
- Write56_TypeB(@"TypeB", @"", ((global::SerializationTypes.TypeB)o), true, false);
+ Write57_TypeB(@"TypeB", @"", ((global::SerializationTypes.TypeB)o), true, false);
}
- public void Write161_TypeHasArrayOfASerializedAsB(object o) {
+ public void Write166_TypeHasArrayOfASerializedAsB(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeHasArrayOfASerializedAsB", @"");
return;
}
TopLevelElement();
- Write57_TypeHasArrayOfASerializedAsB(@"TypeHasArrayOfASerializedAsB", @"", ((global::SerializationTypes.TypeHasArrayOfASerializedAsB)o), true, false);
+ Write58_TypeHasArrayOfASerializedAsB(@"TypeHasArrayOfASerializedAsB", @"", ((global::SerializationTypes.TypeHasArrayOfASerializedAsB)o), true, false);
}
- public void Write162_Item(object o) {
+ public void Write167_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"__TypeNameWithSpecialCharacters漢ñ", @"");
return;
}
TopLevelElement();
- Write58_Item(@"__TypeNameWithSpecialCharacters漢ñ", @"", ((global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ)o), true, false);
+ Write59_Item(@"__TypeNameWithSpecialCharacters漢ñ", @"", ((global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ)o), true, false);
}
- public void Write163_BaseClassWithSamePropertyName(object o) {
+ public void Write168_BaseClassWithSamePropertyName(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"BaseClassWithSamePropertyName", @"");
return;
}
TopLevelElement();
- Write59_BaseClassWithSamePropertyName(@"BaseClassWithSamePropertyName", @"", ((global::SerializationTypes.BaseClassWithSamePropertyName)o), true, false);
+ Write60_BaseClassWithSamePropertyName(@"BaseClassWithSamePropertyName", @"", ((global::SerializationTypes.BaseClassWithSamePropertyName)o), true, false);
}
- public void Write164_DerivedClassWithSameProperty(object o) {
+ public void Write169_DerivedClassWithSameProperty(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DerivedClassWithSameProperty", @"");
return;
}
TopLevelElement();
- Write60_DerivedClassWithSameProperty(@"DerivedClassWithSameProperty", @"", ((global::SerializationTypes.DerivedClassWithSameProperty)o), true, false);
+ Write61_DerivedClassWithSameProperty(@"DerivedClassWithSameProperty", @"", ((global::SerializationTypes.DerivedClassWithSameProperty)o), true, false);
}
- public void Write165_DerivedClassWithSameProperty2(object o) {
+ public void Write170_DerivedClassWithSameProperty2(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"DerivedClassWithSameProperty2", @"");
return;
}
TopLevelElement();
- Write61_DerivedClassWithSameProperty2(@"DerivedClassWithSameProperty2", @"", ((global::SerializationTypes.DerivedClassWithSameProperty2)o), true, false);
+ Write62_DerivedClassWithSameProperty2(@"DerivedClassWithSameProperty2", @"", ((global::SerializationTypes.DerivedClassWithSameProperty2)o), true, false);
}
- public void Write166_Item(object o) {
+ public void Write171_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithDateTimePropertyAsXmlTime", @"");
return;
}
TopLevelElement();
- Write62_Item(@"TypeWithDateTimePropertyAsXmlTime", @"", ((global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime)o), true, false);
+ Write63_Item(@"TypeWithDateTimePropertyAsXmlTime", @"", ((global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime)o), true, false);
}
- public void Write167_TypeWithByteArrayAsXmlText(object o) {
+ public void Write172_TypeWithByteArrayAsXmlText(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithByteArrayAsXmlText", @"");
return;
}
TopLevelElement();
- Write63_TypeWithByteArrayAsXmlText(@"TypeWithByteArrayAsXmlText", @"", ((global::SerializationTypes.TypeWithByteArrayAsXmlText)o), true, false);
+ Write64_TypeWithByteArrayAsXmlText(@"TypeWithByteArrayAsXmlText", @"", ((global::SerializationTypes.TypeWithByteArrayAsXmlText)o), true, false);
}
- public void Write168_SimpleDC(object o) {
+ public void Write173_SimpleDC(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"SimpleDC", @"");
return;
}
TopLevelElement();
- Write64_SimpleDC(@"SimpleDC", @"", ((global::SerializationTypes.SimpleDC)o), true, false);
+ Write65_SimpleDC(@"SimpleDC", @"", ((global::SerializationTypes.SimpleDC)o), true, false);
}
- public void Write169_Item(object o) {
+ public void Write174_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"TypeWithXmlTextAttributeOnArray", @"http://schemas.xmlsoap.org/ws/2005/04/discovery");
return;
}
TopLevelElement();
- Write65_Item(@"TypeWithXmlTextAttributeOnArray", @"http://schemas.xmlsoap.org/ws/2005/04/discovery", ((global::SerializationTypes.TypeWithXmlTextAttributeOnArray)o), false, false);
+ Write66_Item(@"TypeWithXmlTextAttributeOnArray", @"http://schemas.xmlsoap.org/ws/2005/04/discovery", ((global::SerializationTypes.TypeWithXmlTextAttributeOnArray)o), false, false);
}
- public void Write170_EnumFlags(object o) {
+ public void Write175_EnumFlags(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"EnumFlags", @"");
return;
}
- WriteElementString(@"EnumFlags", @"", Write66_EnumFlags(((global::SerializationTypes.EnumFlags)o)));
+ WriteElementString(@"EnumFlags", @"", Write67_EnumFlags(((global::SerializationTypes.EnumFlags)o)));
}
- public void Write171_ClassImplementsInterface(object o) {
+ public void Write176_ClassImplementsInterface(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"ClassImplementsInterface", @"");
return;
}
TopLevelElement();
- Write67_ClassImplementsInterface(@"ClassImplementsInterface", @"", ((global::SerializationTypes.ClassImplementsInterface)o), true, false);
+ Write68_ClassImplementsInterface(@"ClassImplementsInterface", @"", ((global::SerializationTypes.ClassImplementsInterface)o), true, false);
}
- public void Write172_WithStruct(object o) {
+ public void Write177_WithStruct(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"WithStruct", @"");
return;
}
TopLevelElement();
- Write69_WithStruct(@"WithStruct", @"", ((global::SerializationTypes.WithStruct)o), true, false);
+ Write70_WithStruct(@"WithStruct", @"", ((global::SerializationTypes.WithStruct)o), true, false);
}
- public void Write173_SomeStruct(object o) {
+ public void Write178_SomeStruct(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"SomeStruct", @"");
return;
}
- Write68_SomeStruct(@"SomeStruct", @"", ((global::SerializationTypes.SomeStruct)o), false);
+ Write69_SomeStruct(@"SomeStruct", @"", ((global::SerializationTypes.SomeStruct)o), false);
}
- public void Write174_WithEnums(object o) {
+ public void Write179_WithEnums(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"WithEnums", @"");
return;
}
TopLevelElement();
- Write72_WithEnums(@"WithEnums", @"", ((global::SerializationTypes.WithEnums)o), true, false);
+ Write73_WithEnums(@"WithEnums", @"", ((global::SerializationTypes.WithEnums)o), true, false);
}
- public void Write175_WithNullables(object o) {
+ public void Write180_WithNullables(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"WithNullables", @"");
return;
}
TopLevelElement();
- Write73_WithNullables(@"WithNullables", @"", ((global::SerializationTypes.WithNullables)o), true, false);
+ Write74_WithNullables(@"WithNullables", @"", ((global::SerializationTypes.WithNullables)o), true, false);
}
- public void Write176_ByteEnum(object o) {
+ public void Write181_ByteEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"ByteEnum", @"");
return;
}
- WriteElementString(@"ByteEnum", @"", Write74_ByteEnum(((global::SerializationTypes.ByteEnum)o)));
+ WriteElementString(@"ByteEnum", @"", Write75_ByteEnum(((global::SerializationTypes.ByteEnum)o)));
}
- public void Write177_SByteEnum(object o) {
+ public void Write182_SByteEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"SByteEnum", @"");
return;
}
- WriteElementString(@"SByteEnum", @"", Write75_SByteEnum(((global::SerializationTypes.SByteEnum)o)));
+ WriteElementString(@"SByteEnum", @"", Write76_SByteEnum(((global::SerializationTypes.SByteEnum)o)));
}
- public void Write178_ShortEnum(object o) {
+ public void Write183_ShortEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"ShortEnum", @"");
return;
}
- WriteElementString(@"ShortEnum", @"", Write71_ShortEnum(((global::SerializationTypes.ShortEnum)o)));
+ WriteElementString(@"ShortEnum", @"", Write72_ShortEnum(((global::SerializationTypes.ShortEnum)o)));
}
- public void Write179_IntEnum(object o) {
+ public void Write184_IntEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"IntEnum", @"");
return;
}
- WriteElementString(@"IntEnum", @"", Write70_IntEnum(((global::SerializationTypes.IntEnum)o)));
+ WriteElementString(@"IntEnum", @"", Write71_IntEnum(((global::SerializationTypes.IntEnum)o)));
}
- public void Write180_UIntEnum(object o) {
+ public void Write185_UIntEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"UIntEnum", @"");
return;
}
- WriteElementString(@"UIntEnum", @"", Write76_UIntEnum(((global::SerializationTypes.UIntEnum)o)));
+ WriteElementString(@"UIntEnum", @"", Write77_UIntEnum(((global::SerializationTypes.UIntEnum)o)));
}
- public void Write181_LongEnum(object o) {
+ public void Write186_LongEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"LongEnum", @"");
return;
}
- WriteElementString(@"LongEnum", @"", Write77_LongEnum(((global::SerializationTypes.LongEnum)o)));
+ WriteElementString(@"LongEnum", @"", Write78_LongEnum(((global::SerializationTypes.LongEnum)o)));
}
- public void Write182_ULongEnum(object o) {
+ public void Write187_ULongEnum(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"ULongEnum", @"");
return;
}
- WriteElementString(@"ULongEnum", @"", Write78_ULongEnum(((global::SerializationTypes.ULongEnum)o)));
+ WriteElementString(@"ULongEnum", @"", Write79_ULongEnum(((global::SerializationTypes.ULongEnum)o)));
}
- public void Write183_AttributeTesting(object o) {
+ public void Write188_AttributeTesting(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"AttributeTesting", @"");
return;
}
TopLevelElement();
- Write80_XmlSerializerAttributes(@"AttributeTesting", @"", ((global::SerializationTypes.XmlSerializerAttributes)o), false, false);
+ Write81_XmlSerializerAttributes(@"AttributeTesting", @"", ((global::SerializationTypes.XmlSerializerAttributes)o), false, false);
}
- public void Write184_ItemChoiceType(object o) {
+ public void Write189_ItemChoiceType(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"ItemChoiceType", @"");
return;
}
- WriteElementString(@"ItemChoiceType", @"", Write79_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)o)));
+ WriteElementString(@"ItemChoiceType", @"", Write80_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)o)));
}
- public void Write185_TypeWithAnyAttribute(object o) {
+ public void Write190_TypeWithAnyAttribute(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithAnyAttribute", @"");
return;
}
TopLevelElement();
- Write81_TypeWithAnyAttribute(@"TypeWithAnyAttribute", @"", ((global::SerializationTypes.TypeWithAnyAttribute)o), true, false);
+ Write82_TypeWithAnyAttribute(@"TypeWithAnyAttribute", @"", ((global::SerializationTypes.TypeWithAnyAttribute)o), true, false);
}
- public void Write186_KnownTypesThroughConstructor(object o) {
+ public void Write191_KnownTypesThroughConstructor(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"KnownTypesThroughConstructor", @"");
return;
}
TopLevelElement();
- Write82_KnownTypesThroughConstructor(@"KnownTypesThroughConstructor", @"", ((global::SerializationTypes.KnownTypesThroughConstructor)o), true, false);
+ Write83_KnownTypesThroughConstructor(@"KnownTypesThroughConstructor", @"", ((global::SerializationTypes.KnownTypesThroughConstructor)o), true, false);
}
- public void Write187_SimpleKnownTypeValue(object o) {
+ public void Write192_SimpleKnownTypeValue(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"SimpleKnownTypeValue", @"");
return;
}
TopLevelElement();
- Write83_SimpleKnownTypeValue(@"SimpleKnownTypeValue", @"", ((global::SerializationTypes.SimpleKnownTypeValue)o), true, false);
+ Write84_SimpleKnownTypeValue(@"SimpleKnownTypeValue", @"", ((global::SerializationTypes.SimpleKnownTypeValue)o), true, false);
}
- public void Write188_Item(object o) {
+ public void Write193_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"ClassImplementingIXmlSerialiable", @"");
@@ -838,236 +848,266 @@ public void Write188_Item(object o) {
WriteSerializable((System.Xml.Serialization.IXmlSerializable)((global::SerializationTypes.ClassImplementingIXmlSerialiable)o), @"ClassImplementingIXmlSerialiable", @"", true, true);
}
- public void Write189_TypeWithPropertyNameSpecified(object o) {
+ public void Write194_TypeWithPropertyNameSpecified(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithPropertyNameSpecified", @"");
return;
}
TopLevelElement();
- Write84_TypeWithPropertyNameSpecified(@"TypeWithPropertyNameSpecified", @"", ((global::SerializationTypes.TypeWithPropertyNameSpecified)o), true, false);
+ Write85_TypeWithPropertyNameSpecified(@"TypeWithPropertyNameSpecified", @"", ((global::SerializationTypes.TypeWithPropertyNameSpecified)o), true, false);
}
- public void Write190_TypeWithXmlSchemaFormAttribute(object o) {
+ public void Write195_TypeWithXmlSchemaFormAttribute(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithXmlSchemaFormAttribute", @"");
return;
}
TopLevelElement();
- Write85_TypeWithXmlSchemaFormAttribute(@"TypeWithXmlSchemaFormAttribute", @"", ((global::SerializationTypes.TypeWithXmlSchemaFormAttribute)o), true, false);
+ Write86_TypeWithXmlSchemaFormAttribute(@"TypeWithXmlSchemaFormAttribute", @"", ((global::SerializationTypes.TypeWithXmlSchemaFormAttribute)o), true, false);
}
- public void Write191_MyXmlType(object o) {
+ public void Write196_MyXmlType(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"MyXmlType", @"");
return;
}
TopLevelElement();
- Write86_Item(@"MyXmlType", @"", ((global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute)o), true, false);
+ Write87_Item(@"MyXmlType", @"", ((global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute)o), true, false);
}
- public void Write192_Item(object o) {
+ public void Write197_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithSchemaFormInXmlAttribute", @"");
return;
}
TopLevelElement();
- Write87_Item(@"TypeWithSchemaFormInXmlAttribute", @"", ((global::SerializationTypes.TypeWithSchemaFormInXmlAttribute)o), true, false);
+ Write88_Item(@"TypeWithSchemaFormInXmlAttribute", @"", ((global::SerializationTypes.TypeWithSchemaFormInXmlAttribute)o), true, false);
}
- public void Write193_Item(object o) {
+ public void Write198_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithNonPublicDefaultConstructor", @"");
return;
}
TopLevelElement();
- Write88_Item(@"TypeWithNonPublicDefaultConstructor", @"", ((global::SerializationTypes.TypeWithNonPublicDefaultConstructor)o), true, false);
+ Write89_Item(@"TypeWithNonPublicDefaultConstructor", @"", ((global::SerializationTypes.TypeWithNonPublicDefaultConstructor)o), true, false);
}
- public void Write194_ServerSettings(object o) {
+ public void Write199_ServerSettings(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"ServerSettings", @"");
return;
}
TopLevelElement();
- Write89_ServerSettings(@"ServerSettings", @"", ((global::SerializationTypes.ServerSettings)o), true, false);
+ Write90_ServerSettings(@"ServerSettings", @"", ((global::SerializationTypes.ServerSettings)o), true, false);
}
- public void Write195_TypeWithXmlQualifiedName(object o) {
+ public void Write200_TypeWithXmlQualifiedName(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithXmlQualifiedName", @"");
return;
}
TopLevelElement();
- Write90_TypeWithXmlQualifiedName(@"TypeWithXmlQualifiedName", @"", ((global::SerializationTypes.TypeWithXmlQualifiedName)o), true, false);
+ Write91_TypeWithXmlQualifiedName(@"TypeWithXmlQualifiedName", @"", ((global::SerializationTypes.TypeWithXmlQualifiedName)o), true, false);
}
- public void Write196_TypeWith2DArrayProperty2(object o) {
+ public void Write201_TypeWith2DArrayProperty2(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWith2DArrayProperty2", @"");
return;
}
TopLevelElement();
- Write91_TypeWith2DArrayProperty2(@"TypeWith2DArrayProperty2", @"", ((global::SerializationTypes.TypeWith2DArrayProperty2)o), true, false);
+ Write92_TypeWith2DArrayProperty2(@"TypeWith2DArrayProperty2", @"", ((global::SerializationTypes.TypeWith2DArrayProperty2)o), true, false);
}
- public void Write197_Item(object o) {
+ public void Write202_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithPropertiesHavingDefaultValue", @"");
return;
}
TopLevelElement();
- Write92_Item(@"TypeWithPropertiesHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithPropertiesHavingDefaultValue)o), true, false);
+ Write93_Item(@"TypeWithPropertiesHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithPropertiesHavingDefaultValue)o), true, false);
}
- public void Write198_Item(object o) {
+ public void Write203_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithEnumPropertyHavingDefaultValue", @"");
return;
}
TopLevelElement();
- Write93_Item(@"TypeWithEnumPropertyHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue)o), true, false);
+ Write94_Item(@"TypeWithEnumPropertyHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue)o), true, false);
}
- public void Write199_Item(object o) {
+ public void Write204_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithEnumFlagPropertyHavingDefaultValue", @"");
return;
}
TopLevelElement();
- Write94_Item(@"TypeWithEnumFlagPropertyHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue)o), true, false);
+ Write95_Item(@"TypeWithEnumFlagPropertyHavingDefaultValue", @"", ((global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue)o), true, false);
}
- public void Write200_TypeWithShouldSerializeMethod(object o) {
+ public void Write205_TypeWithShouldSerializeMethod(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithShouldSerializeMethod", @"");
return;
}
TopLevelElement();
- Write95_TypeWithShouldSerializeMethod(@"TypeWithShouldSerializeMethod", @"", ((global::SerializationTypes.TypeWithShouldSerializeMethod)o), true, false);
+ Write96_TypeWithShouldSerializeMethod(@"TypeWithShouldSerializeMethod", @"", ((global::SerializationTypes.TypeWithShouldSerializeMethod)o), true, false);
}
- public void Write201_Item(object o) {
+ public void Write206_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"KnownTypesThroughConstructorWithArrayProperties", @"");
return;
}
TopLevelElement();
- Write96_Item(@"KnownTypesThroughConstructorWithArrayProperties", @"", ((global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties)o), true, false);
+ Write97_Item(@"KnownTypesThroughConstructorWithArrayProperties", @"", ((global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties)o), true, false);
}
- public void Write202_Item(object o) {
+ public void Write207_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"KnownTypesThroughConstructorWithValue", @"");
return;
}
TopLevelElement();
- Write97_Item(@"KnownTypesThroughConstructorWithValue", @"", ((global::SerializationTypes.KnownTypesThroughConstructorWithValue)o), true, false);
+ Write98_Item(@"KnownTypesThroughConstructorWithValue", @"", ((global::SerializationTypes.KnownTypesThroughConstructorWithValue)o), true, false);
}
- public void Write203_Item(object o) {
+ public void Write208_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithTypesHavingCustomFormatter", @"");
return;
}
TopLevelElement();
- Write98_Item(@"TypeWithTypesHavingCustomFormatter", @"", ((global::SerializationTypes.TypeWithTypesHavingCustomFormatter)o), true, false);
+ Write99_Item(@"TypeWithTypesHavingCustomFormatter", @"", ((global::SerializationTypes.TypeWithTypesHavingCustomFormatter)o), true, false);
}
- public void Write204_Item(object o) {
+ public void Write209_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithArrayPropertyHavingChoice", @"");
return;
}
TopLevelElement();
- Write100_Item(@"TypeWithArrayPropertyHavingChoice", @"", ((global::SerializationTypes.TypeWithArrayPropertyHavingChoice)o), true, false);
+ Write101_Item(@"TypeWithArrayPropertyHavingChoice", @"", ((global::SerializationTypes.TypeWithArrayPropertyHavingChoice)o), true, false);
+ }
+
+ public void Write210_Item(object o) {
+ WriteStartDocument();
+ if (o == null) {
+ WriteNullTagLiteral(@"TypeWithPropertyHavingComplexChoice", @"");
+ return;
+ }
+ TopLevelElement();
+ Write104_Item(@"TypeWithPropertyHavingComplexChoice", @"", ((global::SerializationTypes.TypeWithPropertyHavingComplexChoice)o), true, false);
}
- public void Write205_MoreChoices(object o) {
+ public void Write211_MoreChoices(object o) {
WriteStartDocument();
if (o == null) {
WriteEmptyTag(@"MoreChoices", @"");
return;
}
- WriteElementString(@"MoreChoices", @"", Write99_MoreChoices(((global::SerializationTypes.MoreChoices)o)));
+ WriteElementString(@"MoreChoices", @"", Write100_MoreChoices(((global::SerializationTypes.MoreChoices)o)));
+ }
+
+ public void Write212_ComplexChoiceA(object o) {
+ WriteStartDocument();
+ if (o == null) {
+ WriteNullTagLiteral(@"ComplexChoiceA", @"");
+ return;
+ }
+ TopLevelElement();
+ Write103_ComplexChoiceA(@"ComplexChoiceA", @"", ((global::SerializationTypes.ComplexChoiceA)o), true, false);
+ }
+
+ public void Write213_ComplexChoiceB(object o) {
+ WriteStartDocument();
+ if (o == null) {
+ WriteNullTagLiteral(@"ComplexChoiceB", @"");
+ return;
+ }
+ TopLevelElement();
+ Write102_ComplexChoiceB(@"ComplexChoiceB", @"", ((global::SerializationTypes.ComplexChoiceB)o), true, false);
}
- public void Write206_TypeWithFieldsOrdered(object o) {
+ public void Write214_TypeWithFieldsOrdered(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithFieldsOrdered", @"");
return;
}
TopLevelElement();
- Write101_TypeWithFieldsOrdered(@"TypeWithFieldsOrdered", @"", ((global::SerializationTypes.TypeWithFieldsOrdered)o), true, false);
+ Write105_TypeWithFieldsOrdered(@"TypeWithFieldsOrdered", @"", ((global::SerializationTypes.TypeWithFieldsOrdered)o), true, false);
}
- public void Write207_Item(object o) {
+ public void Write215_Item(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeWithKnownTypesOfCollectionsWithConflictingXmlName", @"");
return;
}
TopLevelElement();
- Write102_Item(@"TypeWithKnownTypesOfCollectionsWithConflictingXmlName", @"", ((global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)o), true, false);
+ Write106_Item(@"TypeWithKnownTypesOfCollectionsWithConflictingXmlName", @"", ((global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)o), true, false);
}
- public void Write208_Root(object o) {
+ public void Write216_Root(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Root", @"");
return;
}
TopLevelElement();
- Write105_Item(@"Root", @"", ((global::SerializationTypes.NamespaceTypeNameClashContainer)o), true, false);
+ Write109_Item(@"Root", @"", ((global::SerializationTypes.NamespaceTypeNameClashContainer)o), true, false);
}
- public void Write209_TypeClashB(object o) {
+ public void Write217_TypeClashB(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeClashB", @"");
return;
}
TopLevelElement();
- Write104_TypeNameClash(@"TypeClashB", @"", ((global::SerializationTypes.TypeNameClashB.TypeNameClash)o), true, false);
+ Write108_TypeNameClash(@"TypeClashB", @"", ((global::SerializationTypes.TypeNameClashB.TypeNameClash)o), true, false);
}
- public void Write210_TypeClashA(object o) {
+ public void Write218_TypeClashA(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"TypeClashA", @"");
return;
}
TopLevelElement();
- Write103_TypeNameClash(@"TypeClashA", @"", ((global::SerializationTypes.TypeNameClashA.TypeNameClash)o), true, false);
+ Write107_TypeNameClash(@"TypeClashA", @"", ((global::SerializationTypes.TypeNameClashA.TypeNameClash)o), true, false);
}
- public void Write211_Person(object o) {
+ public void Write219_Person(object o) {
WriteStartDocument();
if (o == null) {
WriteNullTagLiteral(@"Person", @"");
return;
}
TopLevelElement();
- Write106_Person(@"Person", @"", ((global::Outer.Person)o), true, false);
+ Write110_Person(@"Person", @"", ((global::Outer.Person)o), true, false);
}
- void Write106_Person(string n, string ns, global::Outer.Person o, bool isNullable, bool needType) {
+ void Write110_Person(string n, string ns, global::Outer.Person o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -1088,7 +1128,7 @@ void Write106_Person(string n, string ns, global::Outer.Person o, bool isNullabl
WriteEndElement(o);
}
- void Write103_TypeNameClash(string n, string ns, global::SerializationTypes.TypeNameClashA.TypeNameClash o, bool isNullable, bool needType) {
+ void Write107_TypeNameClash(string n, string ns, global::SerializationTypes.TypeNameClashA.TypeNameClash o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -1107,7 +1147,7 @@ void Write103_TypeNameClash(string n, string ns, global::SerializationTypes.Type
WriteEndElement(o);
}
- void Write104_TypeNameClash(string n, string ns, global::SerializationTypes.TypeNameClashB.TypeNameClash o, bool isNullable, bool needType) {
+ void Write108_TypeNameClash(string n, string ns, global::SerializationTypes.TypeNameClashB.TypeNameClash o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -1126,7 +1166,7 @@ void Write104_TypeNameClash(string n, string ns, global::SerializationTypes.Type
WriteEndElement(o);
}
- void Write105_Item(string n, string ns, global::SerializationTypes.NamespaceTypeNameClashContainer o, bool isNullable, bool needType) {
+ void Write109_Item(string n, string ns, global::SerializationTypes.NamespaceTypeNameClashContainer o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -1145,7 +1185,7 @@ void Write105_Item(string n, string ns, global::SerializationTypes.NamespaceType
global::SerializationTypes.TypeNameClashA.TypeNameClash[] a = (global::SerializationTypes.TypeNameClashA.TypeNameClash[])o.@A;
if (a != null) {
for (int ia = 0; ia < a.Length; ia++) {
- Write103_TypeNameClash(@"A", @"", ((global::SerializationTypes.TypeNameClashA.TypeNameClash)a[ia]), false, false);
+ Write107_TypeNameClash(@"A", @"", ((global::SerializationTypes.TypeNameClashA.TypeNameClash)a[ia]), false, false);
}
}
}
@@ -1153,14 +1193,14 @@ void Write105_Item(string n, string ns, global::SerializationTypes.NamespaceType
global::SerializationTypes.TypeNameClashB.TypeNameClash[] a = (global::SerializationTypes.TypeNameClashB.TypeNameClash[])o.@B;
if (a != null) {
for (int ia = 0; ia < a.Length; ia++) {
- Write104_TypeNameClash(@"B", @"", ((global::SerializationTypes.TypeNameClashB.TypeNameClash)a[ia]), false, false);
+ Write108_TypeNameClash(@"B", @"", ((global::SerializationTypes.TypeNameClashB.TypeNameClash)a[ia]), false, false);
}
}
}
WriteEndElement(o);
}
- void Write102_Item(string n, string ns, global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName o, bool isNullable, bool needType) {
+ void Write106_Item(string n, string ns, global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -1191,195 +1231,211 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
}
else {
if (t == typeof(global::Outer.Person)) {
- Write106_Person(n, ns,(global::Outer.Person)o, isNullable, true);
+ Write110_Person(n, ns,(global::Outer.Person)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.NamespaceTypeNameClashContainer)) {
- Write105_Item(n, ns,(global::SerializationTypes.NamespaceTypeNameClashContainer)o, isNullable, true);
+ Write109_Item(n, ns,(global::SerializationTypes.NamespaceTypeNameClashContainer)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeNameClashB.TypeNameClash)) {
- Write104_TypeNameClash(n, ns,(global::SerializationTypes.TypeNameClashB.TypeNameClash)o, isNullable, true);
+ Write108_TypeNameClash(n, ns,(global::SerializationTypes.TypeNameClashB.TypeNameClash)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeNameClashA.TypeNameClash)) {
- Write103_TypeNameClash(n, ns,(global::SerializationTypes.TypeNameClashA.TypeNameClash)o, isNullable, true);
+ Write107_TypeNameClash(n, ns,(global::SerializationTypes.TypeNameClashA.TypeNameClash)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)) {
- Write102_Item(n, ns,(global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)o, isNullable, true);
+ Write106_Item(n, ns,(global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithFieldsOrdered)) {
- Write101_TypeWithFieldsOrdered(n, ns,(global::SerializationTypes.TypeWithFieldsOrdered)o, isNullable, true);
+ Write105_TypeWithFieldsOrdered(n, ns,(global::SerializationTypes.TypeWithFieldsOrdered)o, isNullable, true);
+ return;
+ }
+ if (t == typeof(global::SerializationTypes.TypeWithPropertyHavingComplexChoice)) {
+ Write104_Item(n, ns,(global::SerializationTypes.TypeWithPropertyHavingComplexChoice)o, isNullable, true);
+ return;
+ }
+ if (t == typeof(global::SerializationTypes.ComplexChoiceA)) {
+ Write103_ComplexChoiceA(n, ns,(global::SerializationTypes.ComplexChoiceA)o, isNullable, true);
+ return;
+ }
+ if (t == typeof(global::SerializationTypes.ComplexChoiceB)) {
+ Write102_ComplexChoiceB(n, ns,(global::SerializationTypes.ComplexChoiceB)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithArrayPropertyHavingChoice)) {
- Write100_Item(n, ns,(global::SerializationTypes.TypeWithArrayPropertyHavingChoice)o, isNullable, true);
+ Write101_Item(n, ns,(global::SerializationTypes.TypeWithArrayPropertyHavingChoice)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithTypesHavingCustomFormatter)) {
- Write98_Item(n, ns,(global::SerializationTypes.TypeWithTypesHavingCustomFormatter)o, isNullable, true);
+ Write99_Item(n, ns,(global::SerializationTypes.TypeWithTypesHavingCustomFormatter)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.KnownTypesThroughConstructorWithValue)) {
- Write97_Item(n, ns,(global::SerializationTypes.KnownTypesThroughConstructorWithValue)o, isNullable, true);
+ Write98_Item(n, ns,(global::SerializationTypes.KnownTypesThroughConstructorWithValue)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties)) {
- Write96_Item(n, ns,(global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties)o, isNullable, true);
+ Write97_Item(n, ns,(global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithShouldSerializeMethod)) {
- Write95_TypeWithShouldSerializeMethod(n, ns,(global::SerializationTypes.TypeWithShouldSerializeMethod)o, isNullable, true);
+ Write96_TypeWithShouldSerializeMethod(n, ns,(global::SerializationTypes.TypeWithShouldSerializeMethod)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue)) {
- Write94_Item(n, ns,(global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue)o, isNullable, true);
+ Write95_Item(n, ns,(global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue)) {
- Write93_Item(n, ns,(global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue)o, isNullable, true);
+ Write94_Item(n, ns,(global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithPropertiesHavingDefaultValue)) {
- Write92_Item(n, ns,(global::SerializationTypes.TypeWithPropertiesHavingDefaultValue)o, isNullable, true);
+ Write93_Item(n, ns,(global::SerializationTypes.TypeWithPropertiesHavingDefaultValue)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWith2DArrayProperty2)) {
- Write91_TypeWith2DArrayProperty2(n, ns,(global::SerializationTypes.TypeWith2DArrayProperty2)o, isNullable, true);
+ Write92_TypeWith2DArrayProperty2(n, ns,(global::SerializationTypes.TypeWith2DArrayProperty2)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithXmlQualifiedName)) {
- Write90_TypeWithXmlQualifiedName(n, ns,(global::SerializationTypes.TypeWithXmlQualifiedName)o, isNullable, true);
+ Write91_TypeWithXmlQualifiedName(n, ns,(global::SerializationTypes.TypeWithXmlQualifiedName)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.ServerSettings)) {
- Write89_ServerSettings(n, ns,(global::SerializationTypes.ServerSettings)o, isNullable, true);
+ Write90_ServerSettings(n, ns,(global::SerializationTypes.ServerSettings)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithNonPublicDefaultConstructor)) {
- Write88_Item(n, ns,(global::SerializationTypes.TypeWithNonPublicDefaultConstructor)o, isNullable, true);
+ Write89_Item(n, ns,(global::SerializationTypes.TypeWithNonPublicDefaultConstructor)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute)) {
- Write86_Item(n, ns,(global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute)o, isNullable, true);
+ Write87_Item(n, ns,(global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithXmlSchemaFormAttribute)) {
- Write85_TypeWithXmlSchemaFormAttribute(n, ns,(global::SerializationTypes.TypeWithXmlSchemaFormAttribute)o, isNullable, true);
+ Write86_TypeWithXmlSchemaFormAttribute(n, ns,(global::SerializationTypes.TypeWithXmlSchemaFormAttribute)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithPropertyNameSpecified)) {
- Write84_TypeWithPropertyNameSpecified(n, ns,(global::SerializationTypes.TypeWithPropertyNameSpecified)o, isNullable, true);
+ Write85_TypeWithPropertyNameSpecified(n, ns,(global::SerializationTypes.TypeWithPropertyNameSpecified)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.SimpleKnownTypeValue)) {
- Write83_SimpleKnownTypeValue(n, ns,(global::SerializationTypes.SimpleKnownTypeValue)o, isNullable, true);
+ Write84_SimpleKnownTypeValue(n, ns,(global::SerializationTypes.SimpleKnownTypeValue)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.KnownTypesThroughConstructor)) {
- Write82_KnownTypesThroughConstructor(n, ns,(global::SerializationTypes.KnownTypesThroughConstructor)o, isNullable, true);
+ Write83_KnownTypesThroughConstructor(n, ns,(global::SerializationTypes.KnownTypesThroughConstructor)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithAnyAttribute)) {
- Write81_TypeWithAnyAttribute(n, ns,(global::SerializationTypes.TypeWithAnyAttribute)o, isNullable, true);
+ Write82_TypeWithAnyAttribute(n, ns,(global::SerializationTypes.TypeWithAnyAttribute)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.XmlSerializerAttributes)) {
- Write80_XmlSerializerAttributes(n, ns,(global::SerializationTypes.XmlSerializerAttributes)o, isNullable, true);
+ Write81_XmlSerializerAttributes(n, ns,(global::SerializationTypes.XmlSerializerAttributes)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.WithNullables)) {
- Write73_WithNullables(n, ns,(global::SerializationTypes.WithNullables)o, isNullable, true);
+ Write74_WithNullables(n, ns,(global::SerializationTypes.WithNullables)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.WithEnums)) {
- Write72_WithEnums(n, ns,(global::SerializationTypes.WithEnums)o, isNullable, true);
+ Write73_WithEnums(n, ns,(global::SerializationTypes.WithEnums)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.WithStruct)) {
- Write69_WithStruct(n, ns,(global::SerializationTypes.WithStruct)o, isNullable, true);
+ Write70_WithStruct(n, ns,(global::SerializationTypes.WithStruct)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.SomeStruct)) {
- Write68_SomeStruct(n, ns,(global::SerializationTypes.SomeStruct)o, true);
+ Write69_SomeStruct(n, ns,(global::SerializationTypes.SomeStruct)o, true);
return;
}
if (t == typeof(global::SerializationTypes.ClassImplementsInterface)) {
- Write67_ClassImplementsInterface(n, ns,(global::SerializationTypes.ClassImplementsInterface)o, isNullable, true);
+ Write68_ClassImplementsInterface(n, ns,(global::SerializationTypes.ClassImplementsInterface)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithXmlTextAttributeOnArray)) {
- Write65_Item(n, ns,(global::SerializationTypes.TypeWithXmlTextAttributeOnArray)o, isNullable, true);
+ Write66_Item(n, ns,(global::SerializationTypes.TypeWithXmlTextAttributeOnArray)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.SimpleDC)) {
- Write64_SimpleDC(n, ns,(global::SerializationTypes.SimpleDC)o, isNullable, true);
+ Write65_SimpleDC(n, ns,(global::SerializationTypes.SimpleDC)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithByteArrayAsXmlText)) {
- Write63_TypeWithByteArrayAsXmlText(n, ns,(global::SerializationTypes.TypeWithByteArrayAsXmlText)o, isNullable, true);
+ Write64_TypeWithByteArrayAsXmlText(n, ns,(global::SerializationTypes.TypeWithByteArrayAsXmlText)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime)) {
- Write62_Item(n, ns,(global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime)o, isNullable, true);
+ Write63_Item(n, ns,(global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.BaseClassWithSamePropertyName)) {
- Write59_BaseClassWithSamePropertyName(n, ns,(global::SerializationTypes.BaseClassWithSamePropertyName)o, isNullable, true);
+ Write60_BaseClassWithSamePropertyName(n, ns,(global::SerializationTypes.BaseClassWithSamePropertyName)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.DerivedClassWithSameProperty)) {
- Write60_DerivedClassWithSameProperty(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty)o, isNullable, true);
+ Write61_DerivedClassWithSameProperty(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.DerivedClassWithSameProperty2)) {
- Write61_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
+ Write62_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ)) {
- Write58_Item(n, ns,(global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ)o, isNullable, true);
+ Write59_Item(n, ns,(global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeHasArrayOfASerializedAsB)) {
- Write57_TypeHasArrayOfASerializedAsB(n, ns,(global::SerializationTypes.TypeHasArrayOfASerializedAsB)o, isNullable, true);
+ Write58_TypeHasArrayOfASerializedAsB(n, ns,(global::SerializationTypes.TypeHasArrayOfASerializedAsB)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeB)) {
- Write56_TypeB(n, ns,(global::SerializationTypes.TypeB)o, isNullable, true);
+ Write57_TypeB(n, ns,(global::SerializationTypes.TypeB)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeA)) {
- Write55_TypeA(n, ns,(global::SerializationTypes.TypeA)o, isNullable, true);
+ Write56_TypeA(n, ns,(global::SerializationTypes.TypeA)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.BuiltInTypes)) {
- Write54_BuiltInTypes(n, ns,(global::SerializationTypes.BuiltInTypes)o, isNullable, true);
+ Write55_BuiltInTypes(n, ns,(global::SerializationTypes.BuiltInTypes)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.DCClassWithEnumAndStruct)) {
- Write53_DCClassWithEnumAndStruct(n, ns,(global::SerializationTypes.DCClassWithEnumAndStruct)o, isNullable, true);
+ Write54_DCClassWithEnumAndStruct(n, ns,(global::SerializationTypes.DCClassWithEnumAndStruct)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.DCStruct)) {
- Write52_DCStruct(n, ns,(global::SerializationTypes.DCStruct)o, true);
+ Write53_DCStruct(n, ns,(global::SerializationTypes.DCStruct)o, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithEnumMembers)) {
- Write51_TypeWithEnumMembers(n, ns,(global::SerializationTypes.TypeWithEnumMembers)o, isNullable, true);
+ Write52_TypeWithEnumMembers(n, ns,(global::SerializationTypes.TypeWithEnumMembers)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)) {
- Write49_Item(n, ns,(global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)o, isNullable, true);
+ Write50_Item(n, ns,(global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithMyCollectionField)) {
- Write48_TypeWithMyCollectionField(n, ns,(global::SerializationTypes.TypeWithMyCollectionField)o, isNullable, true);
+ Write49_TypeWithMyCollectionField(n, ns,(global::SerializationTypes.TypeWithMyCollectionField)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.StructNotSerializable)) {
- Write47_StructNotSerializable(n, ns,(global::SerializationTypes.StructNotSerializable)o, true);
+ Write48_StructNotSerializable(n, ns,(global::SerializationTypes.StructNotSerializable)o, true);
+ return;
+ }
+ if (t == typeof(global::SerializationTypes.TypeWithArraylikeMembers)) {
+ Write47_TypeWithArraylikeMembers(n, ns,(global::SerializationTypes.TypeWithArraylikeMembers)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.TypeWithGetOnlyArrayProperties)) {
@@ -1725,7 +1781,7 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
if (t == typeof(global::SerializationTypes.MyEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"MyEnum", @"");
- Writer.WriteString(Write50_MyEnum((global::SerializationTypes.MyEnum)o));
+ Writer.WriteString(Write51_MyEnum((global::SerializationTypes.MyEnum)o));
Writer.WriteEndElement();
return;
}
@@ -1736,7 +1792,7 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
global::SerializationTypes.TypeA[] a = (global::SerializationTypes.TypeA[])o;
if (a != null) {
for (int ia = 0; ia < a.Length; ia++) {
- Write55_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)a[ia]), true, false);
+ Write56_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)a[ia]), true, false);
}
}
}
@@ -1746,63 +1802,63 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
if (t == typeof(global::SerializationTypes.EnumFlags)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"EnumFlags", @"");
- Writer.WriteString(Write66_EnumFlags((global::SerializationTypes.EnumFlags)o));
+ Writer.WriteString(Write67_EnumFlags((global::SerializationTypes.EnumFlags)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.IntEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"IntEnum", @"");
- Writer.WriteString(Write70_IntEnum((global::SerializationTypes.IntEnum)o));
+ Writer.WriteString(Write71_IntEnum((global::SerializationTypes.IntEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.ShortEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"ShortEnum", @"");
- Writer.WriteString(Write71_ShortEnum((global::SerializationTypes.ShortEnum)o));
+ Writer.WriteString(Write72_ShortEnum((global::SerializationTypes.ShortEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.ByteEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"ByteEnum", @"");
- Writer.WriteString(Write74_ByteEnum((global::SerializationTypes.ByteEnum)o));
+ Writer.WriteString(Write75_ByteEnum((global::SerializationTypes.ByteEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.SByteEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"SByteEnum", @"");
- Writer.WriteString(Write75_SByteEnum((global::SerializationTypes.SByteEnum)o));
+ Writer.WriteString(Write76_SByteEnum((global::SerializationTypes.SByteEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.UIntEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"UIntEnum", @"");
- Writer.WriteString(Write76_UIntEnum((global::SerializationTypes.UIntEnum)o));
+ Writer.WriteString(Write77_UIntEnum((global::SerializationTypes.UIntEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.LongEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"LongEnum", @"");
- Writer.WriteString(Write77_LongEnum((global::SerializationTypes.LongEnum)o));
+ Writer.WriteString(Write78_LongEnum((global::SerializationTypes.LongEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.ULongEnum)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"ULongEnum", @"");
- Writer.WriteString(Write78_ULongEnum((global::SerializationTypes.ULongEnum)o));
+ Writer.WriteString(Write79_ULongEnum((global::SerializationTypes.ULongEnum)o));
Writer.WriteEndElement();
return;
}
if (t == typeof(global::SerializationTypes.ItemChoiceType)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"ItemChoiceType", @"");
- Writer.WriteString(Write79_ItemChoiceType((global::SerializationTypes.ItemChoiceType)o));
+ Writer.WriteString(Write80_ItemChoiceType((global::SerializationTypes.ItemChoiceType)o));
Writer.WriteEndElement();
return;
}
@@ -1813,7 +1869,7 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
global::SerializationTypes.ItemChoiceType[] a = (global::SerializationTypes.ItemChoiceType[])o;
if (a != null) {
for (int ia = 0; ia < a.Length; ia++) {
- WriteElementString(@"ItemChoiceType", @"", Write79_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)a[ia])));
+ WriteElementString(@"ItemChoiceType", @"", Write80_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)a[ia])));
}
}
}
@@ -1881,7 +1937,7 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
if (t == typeof(global::SerializationTypes.MoreChoices)) {
Writer.WriteStartElement(n, ns);
WriteXsiType(@"MoreChoices", @"");
- Writer.WriteString(Write99_MoreChoices((global::SerializationTypes.MoreChoices)o));
+ Writer.WriteString(Write100_MoreChoices((global::SerializationTypes.MoreChoices)o));
Writer.WriteEndElement();
return;
}
@@ -1893,7 +1949,7 @@ void Write1_Object(string n, string ns, global::System.Object o, bool isNullable
WriteEndElement(o);
}
- string Write99_MoreChoices(global::SerializationTypes.MoreChoices v) {
+ string Write100_MoreChoices(global::SerializationTypes.MoreChoices v) {
string s = null;
switch (v) {
case global::SerializationTypes.MoreChoices.@None: s = @"None"; break;
@@ -1924,7 +1980,7 @@ void Write44_SimpleType(string n, string ns, global::SerializationTypes.SimpleTy
WriteEndElement(o);
}
- string Write79_ItemChoiceType(global::SerializationTypes.ItemChoiceType v) {
+ string Write80_ItemChoiceType(global::SerializationTypes.ItemChoiceType v) {
string s = null;
switch (v) {
case global::SerializationTypes.ItemChoiceType.@None: s = @"None"; break;
@@ -1936,7 +1992,7 @@ string Write79_ItemChoiceType(global::SerializationTypes.ItemChoiceType v) {
return s;
}
- string Write78_ULongEnum(global::SerializationTypes.ULongEnum v) {
+ string Write79_ULongEnum(global::SerializationTypes.ULongEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.ULongEnum.@Option0: s = @"Option0"; break;
@@ -1947,7 +2003,7 @@ string Write78_ULongEnum(global::SerializationTypes.ULongEnum v) {
return s;
}
- string Write77_LongEnum(global::SerializationTypes.LongEnum v) {
+ string Write78_LongEnum(global::SerializationTypes.LongEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.LongEnum.@Option0: s = @"Option0"; break;
@@ -1958,7 +2014,7 @@ string Write77_LongEnum(global::SerializationTypes.LongEnum v) {
return s;
}
- string Write76_UIntEnum(global::SerializationTypes.UIntEnum v) {
+ string Write77_UIntEnum(global::SerializationTypes.UIntEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.UIntEnum.@Option0: s = @"Option0"; break;
@@ -1969,7 +2025,7 @@ string Write76_UIntEnum(global::SerializationTypes.UIntEnum v) {
return s;
}
- string Write75_SByteEnum(global::SerializationTypes.SByteEnum v) {
+ string Write76_SByteEnum(global::SerializationTypes.SByteEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.SByteEnum.@Option0: s = @"Option0"; break;
@@ -1980,7 +2036,7 @@ string Write75_SByteEnum(global::SerializationTypes.SByteEnum v) {
return s;
}
- string Write74_ByteEnum(global::SerializationTypes.ByteEnum v) {
+ string Write75_ByteEnum(global::SerializationTypes.ByteEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.ByteEnum.@Option0: s = @"Option0"; break;
@@ -1991,7 +2047,7 @@ string Write74_ByteEnum(global::SerializationTypes.ByteEnum v) {
return s;
}
- string Write71_ShortEnum(global::SerializationTypes.ShortEnum v) {
+ string Write72_ShortEnum(global::SerializationTypes.ShortEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.ShortEnum.@Option0: s = @"Option0"; break;
@@ -2002,7 +2058,7 @@ string Write71_ShortEnum(global::SerializationTypes.ShortEnum v) {
return s;
}
- string Write70_IntEnum(global::SerializationTypes.IntEnum v) {
+ string Write71_IntEnum(global::SerializationTypes.IntEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.IntEnum.@Option0: s = @"Option0"; break;
@@ -2013,7 +2069,7 @@ string Write70_IntEnum(global::SerializationTypes.IntEnum v) {
return s;
}
- string Write66_EnumFlags(global::SerializationTypes.EnumFlags v) {
+ string Write67_EnumFlags(global::SerializationTypes.EnumFlags v) {
string s = null;
switch (v) {
case global::SerializationTypes.EnumFlags.@One: s = @"One"; break;
@@ -2031,7 +2087,7 @@ string Write66_EnumFlags(global::SerializationTypes.EnumFlags v) {
return s;
}
- void Write55_TypeA(string n, string ns, global::SerializationTypes.TypeA o, bool isNullable, bool needType) {
+ void Write56_TypeA(string n, string ns, global::SerializationTypes.TypeA o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -2050,7 +2106,7 @@ void Write55_TypeA(string n, string ns, global::SerializationTypes.TypeA o, bool
WriteEndElement(o);
}
- string Write50_MyEnum(global::SerializationTypes.MyEnum v) {
+ string Write51_MyEnum(global::SerializationTypes.MyEnum v) {
string s = null;
switch (v) {
case global::SerializationTypes.MyEnum.@One: s = @"One"; break;
@@ -3186,7 +3242,111 @@ void Write46_TypeWithGetOnlyArrayProperties(string n, string ns, global::Seriali
WriteEndElement(o);
}
- void Write47_StructNotSerializable(string n, string ns, global::SerializationTypes.StructNotSerializable o, bool needType) {
+ void Write47_TypeWithArraylikeMembers(string n, string ns, global::SerializationTypes.TypeWithArraylikeMembers o, bool isNullable, bool needType) {
+ if ((object)o == null) {
+ if (isNullable) WriteNullTagLiteral(n, ns);
+ return;
+ }
+ if (!needType) {
+ System.Type t = o.GetType();
+ if (t == typeof(global::SerializationTypes.TypeWithArraylikeMembers)) {
+ }
+ else {
+ throw CreateUnknownTypeException(o);
+ }
+ }
+ WriteStartElement(n, ns, o, false, null);
+ if (needType) WriteXsiType(@"TypeWithArraylikeMembers", @"");
+ {
+ global::System.Int32[] a = (global::System.Int32[])((global::System.Int32[])o.@IntAField);
+ if (a != null){
+ WriteStartElement(@"IntAField", @"", null, false);
+ for (int ia = 0; ia < a.Length; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Int32[] a = (global::System.Int32[])((global::System.Int32[])o.@NIntAField);
+ if (a != null){
+ WriteStartElement(@"NIntAField", @"", null, false);
+ for (int ia = 0; ia < a.Length; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Collections.Generic.List a = (global::System.Collections.Generic.List)((global::System.Collections.Generic.List)o.@IntLField);
+ if (a != null){
+ WriteStartElement(@"IntLField", @"", null, false);
+ for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Collections.Generic.List a = (global::System.Collections.Generic.List)((global::System.Collections.Generic.List)o.@NIntLField);
+ if ((object)(a) == null) {
+ WriteNullTagLiteral(@"NIntLField", @"");
+ }
+ else {
+ WriteStartElement(@"NIntLField", @"", null, false);
+ for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Int32[] a = (global::System.Int32[])((global::System.Int32[])o.@IntAProp);
+ if (a != null){
+ WriteStartElement(@"IntAProp", @"", null, false);
+ for (int ia = 0; ia < a.Length; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Int32[] a = (global::System.Int32[])((global::System.Int32[])o.@NIntAProp);
+ if ((object)(a) == null) {
+ WriteNullTagLiteral(@"NIntAProp", @"");
+ }
+ else {
+ WriteStartElement(@"NIntAProp", @"", null, false);
+ for (int ia = 0; ia < a.Length; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Collections.Generic.List a = (global::System.Collections.Generic.List)((global::System.Collections.Generic.List)o.@IntLProp);
+ if (a != null){
+ WriteStartElement(@"IntLProp", @"", null, false);
+ for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ {
+ global::System.Collections.Generic.List a = (global::System.Collections.Generic.List)((global::System.Collections.Generic.List)o.@NIntLProp);
+ if (a != null){
+ WriteStartElement(@"NIntLProp", @"", null, false);
+ for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++) {
+ WriteElementStringRaw(@"int", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)a[ia])));
+ }
+ WriteEndElement();
+ }
+ }
+ WriteEndElement(o);
+ }
+
+ void Write48_StructNotSerializable(string n, string ns, global::SerializationTypes.StructNotSerializable o, bool needType) {
if (!needType) {
System.Type t = o.GetType();
if (t == typeof(global::SerializationTypes.StructNotSerializable)) {
@@ -3201,7 +3361,7 @@ void Write47_StructNotSerializable(string n, string ns, global::SerializationTyp
WriteEndElement(o);
}
- void Write48_TypeWithMyCollectionField(string n, string ns, global::SerializationTypes.TypeWithMyCollectionField o, bool isNullable, bool needType) {
+ void Write49_TypeWithMyCollectionField(string n, string ns, global::SerializationTypes.TypeWithMyCollectionField o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3232,7 +3392,7 @@ void Write48_TypeWithMyCollectionField(string n, string ns, global::Serializatio
WriteEndElement(o);
}
- void Write49_Item(string n, string ns, global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty o, bool isNullable, bool needType) {
+ void Write50_Item(string n, string ns, global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3263,7 +3423,7 @@ void Write49_Item(string n, string ns, global::SerializationTypes.TypeWithReadOn
WriteEndElement(o);
}
- void Write51_TypeWithEnumMembers(string n, string ns, global::SerializationTypes.TypeWithEnumMembers o, bool isNullable, bool needType) {
+ void Write52_TypeWithEnumMembers(string n, string ns, global::SerializationTypes.TypeWithEnumMembers o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3278,12 +3438,12 @@ void Write51_TypeWithEnumMembers(string n, string ns, global::SerializationTypes
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"TypeWithEnumMembers", @"");
- WriteElementString(@"F1", @"", Write50_MyEnum(((global::SerializationTypes.MyEnum)o.@F1)));
- WriteElementString(@"P1", @"", Write50_MyEnum(((global::SerializationTypes.MyEnum)o.@P1)));
+ WriteElementString(@"F1", @"", Write51_MyEnum(((global::SerializationTypes.MyEnum)o.@F1)));
+ WriteElementString(@"P1", @"", Write51_MyEnum(((global::SerializationTypes.MyEnum)o.@P1)));
WriteEndElement(o);
}
- void Write52_DCStruct(string n, string ns, global::SerializationTypes.DCStruct o, bool needType) {
+ void Write53_DCStruct(string n, string ns, global::SerializationTypes.DCStruct o, bool needType) {
if (!needType) {
System.Type t = o.GetType();
if (t == typeof(global::SerializationTypes.DCStruct)) {
@@ -3298,7 +3458,7 @@ void Write52_DCStruct(string n, string ns, global::SerializationTypes.DCStruct o
WriteEndElement(o);
}
- void Write53_DCClassWithEnumAndStruct(string n, string ns, global::SerializationTypes.DCClassWithEnumAndStruct o, bool isNullable, bool needType) {
+ void Write54_DCClassWithEnumAndStruct(string n, string ns, global::SerializationTypes.DCClassWithEnumAndStruct o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3313,12 +3473,12 @@ void Write53_DCClassWithEnumAndStruct(string n, string ns, global::Serialization
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"DCClassWithEnumAndStruct", @"");
- Write52_DCStruct(@"MyStruct", @"", ((global::SerializationTypes.DCStruct)o.@MyStruct), false);
- WriteElementString(@"MyEnum1", @"", Write50_MyEnum(((global::SerializationTypes.MyEnum)o.@MyEnum1)));
+ Write53_DCStruct(@"MyStruct", @"", ((global::SerializationTypes.DCStruct)o.@MyStruct), false);
+ WriteElementString(@"MyEnum1", @"", Write51_MyEnum(((global::SerializationTypes.MyEnum)o.@MyEnum1)));
WriteEndElement(o);
}
- void Write54_BuiltInTypes(string n, string ns, global::SerializationTypes.BuiltInTypes o, bool isNullable, bool needType) {
+ void Write55_BuiltInTypes(string n, string ns, global::SerializationTypes.BuiltInTypes o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3337,7 +3497,7 @@ void Write54_BuiltInTypes(string n, string ns, global::SerializationTypes.BuiltI
WriteEndElement(o);
}
- void Write56_TypeB(string n, string ns, global::SerializationTypes.TypeB o, bool isNullable, bool needType) {
+ void Write57_TypeB(string n, string ns, global::SerializationTypes.TypeB o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3356,7 +3516,7 @@ void Write56_TypeB(string n, string ns, global::SerializationTypes.TypeB o, bool
WriteEndElement(o);
}
- void Write57_TypeHasArrayOfASerializedAsB(string n, string ns, global::SerializationTypes.TypeHasArrayOfASerializedAsB o, bool isNullable, bool needType) {
+ void Write58_TypeHasArrayOfASerializedAsB(string n, string ns, global::SerializationTypes.TypeHasArrayOfASerializedAsB o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3376,7 +3536,7 @@ void Write57_TypeHasArrayOfASerializedAsB(string n, string ns, global::Serializa
if (a != null){
WriteStartElement(@"Items", @"", null, false);
for (int ia = 0; ia < a.Length; ia++) {
- Write55_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)a[ia]), true, false);
+ Write56_TypeA(@"TypeA", @"", ((global::SerializationTypes.TypeA)a[ia]), true, false);
}
WriteEndElement();
}
@@ -3384,7 +3544,7 @@ void Write57_TypeHasArrayOfASerializedAsB(string n, string ns, global::Serializa
WriteEndElement(o);
}
- void Write58_Item(string n, string ns, global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ o, bool isNullable, bool needType) {
+ void Write59_Item(string n, string ns, global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3403,7 +3563,7 @@ void Write58_Item(string n, string ns, global::SerializationTypes.@__TypeNameWit
WriteEndElement(o);
}
- void Write61_DerivedClassWithSameProperty2(string n, string ns, global::SerializationTypes.DerivedClassWithSameProperty2 o, bool isNullable, bool needType) {
+ void Write62_DerivedClassWithSameProperty2(string n, string ns, global::SerializationTypes.DerivedClassWithSameProperty2 o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3434,7 +3594,7 @@ void Write61_DerivedClassWithSameProperty2(string n, string ns, global::Serializ
WriteEndElement(o);
}
- void Write60_DerivedClassWithSameProperty(string n, string ns, global::SerializationTypes.DerivedClassWithSameProperty o, bool isNullable, bool needType) {
+ void Write61_DerivedClassWithSameProperty(string n, string ns, global::SerializationTypes.DerivedClassWithSameProperty o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3445,7 +3605,7 @@ void Write60_DerivedClassWithSameProperty(string n, string ns, global::Serializa
}
else {
if (t == typeof(global::SerializationTypes.DerivedClassWithSameProperty2)) {
- Write61_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
+ Write62_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
return;
}
throw CreateUnknownTypeException(o);
@@ -3469,7 +3629,7 @@ void Write60_DerivedClassWithSameProperty(string n, string ns, global::Serializa
WriteEndElement(o);
}
- void Write59_BaseClassWithSamePropertyName(string n, string ns, global::SerializationTypes.BaseClassWithSamePropertyName o, bool isNullable, bool needType) {
+ void Write60_BaseClassWithSamePropertyName(string n, string ns, global::SerializationTypes.BaseClassWithSamePropertyName o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3480,11 +3640,11 @@ void Write59_BaseClassWithSamePropertyName(string n, string ns, global::Serializ
}
else {
if (t == typeof(global::SerializationTypes.DerivedClassWithSameProperty)) {
- Write60_DerivedClassWithSameProperty(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty)o, isNullable, true);
+ Write61_DerivedClassWithSameProperty(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty)o, isNullable, true);
return;
}
if (t == typeof(global::SerializationTypes.DerivedClassWithSameProperty2)) {
- Write61_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
+ Write62_DerivedClassWithSameProperty2(n, ns,(global::SerializationTypes.DerivedClassWithSameProperty2)o, isNullable, true);
return;
}
throw CreateUnknownTypeException(o);
@@ -3508,7 +3668,7 @@ void Write59_BaseClassWithSamePropertyName(string n, string ns, global::Serializ
WriteEndElement(o);
}
- void Write62_Item(string n, string ns, global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime o, bool isNullable, bool needType) {
+ void Write63_Item(string n, string ns, global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3529,7 +3689,7 @@ void Write62_Item(string n, string ns, global::SerializationTypes.TypeWithDateTi
WriteEndElement(o);
}
- void Write63_TypeWithByteArrayAsXmlText(string n, string ns, global::SerializationTypes.TypeWithByteArrayAsXmlText o, bool isNullable, bool needType) {
+ void Write64_TypeWithByteArrayAsXmlText(string n, string ns, global::SerializationTypes.TypeWithByteArrayAsXmlText o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3550,7 +3710,7 @@ void Write63_TypeWithByteArrayAsXmlText(string n, string ns, global::Serializati
WriteEndElement(o);
}
- void Write64_SimpleDC(string n, string ns, global::SerializationTypes.SimpleDC o, bool isNullable, bool needType) {
+ void Write65_SimpleDC(string n, string ns, global::SerializationTypes.SimpleDC o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3569,7 +3729,7 @@ void Write64_SimpleDC(string n, string ns, global::SerializationTypes.SimpleDC o
WriteEndElement(o);
}
- void Write65_Item(string n, string ns, global::SerializationTypes.TypeWithXmlTextAttributeOnArray o, bool isNullable, bool needType) {
+ void Write66_Item(string n, string ns, global::SerializationTypes.TypeWithXmlTextAttributeOnArray o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3597,7 +3757,7 @@ void Write65_Item(string n, string ns, global::SerializationTypes.TypeWithXmlTex
WriteEndElement(o);
}
- void Write67_ClassImplementsInterface(string n, string ns, global::SerializationTypes.ClassImplementsInterface o, bool isNullable, bool needType) {
+ void Write68_ClassImplementsInterface(string n, string ns, global::SerializationTypes.ClassImplementsInterface o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3619,7 +3779,7 @@ void Write67_ClassImplementsInterface(string n, string ns, global::Serialization
WriteEndElement(o);
}
- void Write68_SomeStruct(string n, string ns, global::SerializationTypes.SomeStruct o, bool needType) {
+ void Write69_SomeStruct(string n, string ns, global::SerializationTypes.SomeStruct o, bool needType) {
if (!needType) {
System.Type t = o.GetType();
if (t == typeof(global::SerializationTypes.SomeStruct)) {
@@ -3635,7 +3795,7 @@ void Write68_SomeStruct(string n, string ns, global::SerializationTypes.SomeStru
WriteEndElement(o);
}
- void Write69_WithStruct(string n, string ns, global::SerializationTypes.WithStruct o, bool isNullable, bool needType) {
+ void Write70_WithStruct(string n, string ns, global::SerializationTypes.WithStruct o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3650,11 +3810,11 @@ void Write69_WithStruct(string n, string ns, global::SerializationTypes.WithStru
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"WithStruct", @"");
- Write68_SomeStruct(@"Some", @"", ((global::SerializationTypes.SomeStruct)o.@Some), false);
+ Write69_SomeStruct(@"Some", @"", ((global::SerializationTypes.SomeStruct)o.@Some), false);
WriteEndElement(o);
}
- void Write72_WithEnums(string n, string ns, global::SerializationTypes.WithEnums o, bool isNullable, bool needType) {
+ void Write73_WithEnums(string n, string ns, global::SerializationTypes.WithEnums o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3669,12 +3829,12 @@ void Write72_WithEnums(string n, string ns, global::SerializationTypes.WithEnums
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"WithEnums", @"");
- WriteElementString(@"Int", @"", Write70_IntEnum(((global::SerializationTypes.IntEnum)o.@Int)));
- WriteElementString(@"Short", @"", Write71_ShortEnum(((global::SerializationTypes.ShortEnum)o.@Short)));
+ WriteElementString(@"Int", @"", Write71_IntEnum(((global::SerializationTypes.IntEnum)o.@Int)));
+ WriteElementString(@"Short", @"", Write72_ShortEnum(((global::SerializationTypes.ShortEnum)o.@Short)));
WriteEndElement(o);
}
- void Write73_WithNullables(string n, string ns, global::SerializationTypes.WithNullables o, bool isNullable, bool needType) {
+ void Write74_WithNullables(string n, string ns, global::SerializationTypes.WithNullables o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3690,13 +3850,13 @@ void Write73_WithNullables(string n, string ns, global::SerializationTypes.WithN
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"WithNullables", @"");
if (o.@Optional != null) {
- WriteElementString(@"Optional", @"", Write70_IntEnum(((global::SerializationTypes.IntEnum)o.@Optional)));
+ WriteElementString(@"Optional", @"", Write71_IntEnum(((global::SerializationTypes.IntEnum)o.@Optional)));
}
else {
WriteNullTagLiteral(@"Optional", @"");
}
if (o.@Optionull != null) {
- WriteElementString(@"Optionull", @"", Write70_IntEnum(((global::SerializationTypes.IntEnum)o.@Optionull)));
+ WriteElementString(@"Optionull", @"", Write71_IntEnum(((global::SerializationTypes.IntEnum)o.@Optionull)));
}
else {
WriteNullTagLiteral(@"Optionull", @"");
@@ -3714,13 +3874,13 @@ void Write73_WithNullables(string n, string ns, global::SerializationTypes.WithN
WriteNullTagLiteral(@"OptionullInt", @"");
}
if (o.@Struct1 != null) {
- Write68_SomeStruct(@"Struct1", @"", ((global::SerializationTypes.SomeStruct)o.@Struct1), false);
+ Write69_SomeStruct(@"Struct1", @"", ((global::SerializationTypes.SomeStruct)o.@Struct1), false);
}
else {
WriteNullTagLiteral(@"Struct1", @"");
}
if (o.@Struct2 != null) {
- Write68_SomeStruct(@"Struct2", @"", ((global::SerializationTypes.SomeStruct)o.@Struct2), false);
+ Write69_SomeStruct(@"Struct2", @"", ((global::SerializationTypes.SomeStruct)o.@Struct2), false);
}
else {
WriteNullTagLiteral(@"Struct2", @"");
@@ -3728,7 +3888,7 @@ void Write73_WithNullables(string n, string ns, global::SerializationTypes.WithN
WriteEndElement(o);
}
- void Write80_XmlSerializerAttributes(string n, string ns, global::SerializationTypes.XmlSerializerAttributes o, bool isNullable, bool needType) {
+ void Write81_XmlSerializerAttributes(string n, string ns, global::SerializationTypes.XmlSerializerAttributes o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3767,7 +3927,7 @@ void Write80_XmlSerializerAttributes(string n, string ns, global::SerializationT
if (a != null){
WriteStartElement(@"XmlEnumProperty", @"", null, false);
for (int ia = 0; ia < a.Length; ia++) {
- WriteElementString(@"ItemChoiceType", @"", Write79_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)a[ia])));
+ WriteElementString(@"ItemChoiceType", @"", Write80_ItemChoiceType(((global::SerializationTypes.ItemChoiceType)a[ia])));
}
WriteEndElement();
}
@@ -3790,7 +3950,7 @@ void Write80_XmlSerializerAttributes(string n, string ns, global::SerializationT
WriteEndElement(o);
}
- void Write81_TypeWithAnyAttribute(string n, string ns, global::SerializationTypes.TypeWithAnyAttribute o, bool isNullable, bool needType) {
+ void Write82_TypeWithAnyAttribute(string n, string ns, global::SerializationTypes.TypeWithAnyAttribute o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3819,7 +3979,7 @@ void Write81_TypeWithAnyAttribute(string n, string ns, global::SerializationType
WriteEndElement(o);
}
- void Write82_KnownTypesThroughConstructor(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructor o, bool isNullable, bool needType) {
+ void Write83_KnownTypesThroughConstructor(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructor o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3839,7 +3999,7 @@ void Write82_KnownTypesThroughConstructor(string n, string ns, global::Serializa
WriteEndElement(o);
}
- void Write83_SimpleKnownTypeValue(string n, string ns, global::SerializationTypes.SimpleKnownTypeValue o, bool isNullable, bool needType) {
+ void Write84_SimpleKnownTypeValue(string n, string ns, global::SerializationTypes.SimpleKnownTypeValue o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3858,7 +4018,7 @@ void Write83_SimpleKnownTypeValue(string n, string ns, global::SerializationType
WriteEndElement(o);
}
- void Write84_TypeWithPropertyNameSpecified(string n, string ns, global::SerializationTypes.TypeWithPropertyNameSpecified o, bool isNullable, bool needType) {
+ void Write85_TypeWithPropertyNameSpecified(string n, string ns, global::SerializationTypes.TypeWithPropertyNameSpecified o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3882,7 +4042,7 @@ void Write84_TypeWithPropertyNameSpecified(string n, string ns, global::Serializ
WriteEndElement(o);
}
- void Write85_TypeWithXmlSchemaFormAttribute(string n, string ns, global::SerializationTypes.TypeWithXmlSchemaFormAttribute o, bool isNullable, bool needType) {
+ void Write86_TypeWithXmlSchemaFormAttribute(string n, string ns, global::SerializationTypes.TypeWithXmlSchemaFormAttribute o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3930,7 +4090,7 @@ void Write85_TypeWithXmlSchemaFormAttribute(string n, string ns, global::Seriali
WriteEndElement(o);
}
- void Write86_Item(string n, string ns, global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute o, bool isNullable, bool needType) {
+ void Write87_Item(string n, string ns, global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3949,7 +4109,7 @@ void Write86_Item(string n, string ns, global::SerializationTypes.TypeWithTypeNa
WriteEndElement(o);
}
- void Write88_Item(string n, string ns, global::SerializationTypes.TypeWithNonPublicDefaultConstructor o, bool isNullable, bool needType) {
+ void Write89_Item(string n, string ns, global::SerializationTypes.TypeWithNonPublicDefaultConstructor o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3968,7 +4128,7 @@ void Write88_Item(string n, string ns, global::SerializationTypes.TypeWithNonPub
WriteEndElement(o);
}
- void Write89_ServerSettings(string n, string ns, global::SerializationTypes.ServerSettings o, bool isNullable, bool needType) {
+ void Write90_ServerSettings(string n, string ns, global::SerializationTypes.ServerSettings o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -3988,7 +4148,7 @@ void Write89_ServerSettings(string n, string ns, global::SerializationTypes.Serv
WriteEndElement(o);
}
- void Write90_TypeWithXmlQualifiedName(string n, string ns, global::SerializationTypes.TypeWithXmlQualifiedName o, bool isNullable, bool needType) {
+ void Write91_TypeWithXmlQualifiedName(string n, string ns, global::SerializationTypes.TypeWithXmlQualifiedName o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4007,7 +4167,7 @@ void Write90_TypeWithXmlQualifiedName(string n, string ns, global::Serialization
WriteEndElement(o);
}
- void Write91_TypeWith2DArrayProperty2(string n, string ns, global::SerializationTypes.TypeWith2DArrayProperty2 o, bool isNullable, bool needType) {
+ void Write92_TypeWith2DArrayProperty2(string n, string ns, global::SerializationTypes.TypeWith2DArrayProperty2 o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4044,7 +4204,7 @@ void Write91_TypeWith2DArrayProperty2(string n, string ns, global::Serialization
WriteEndElement(o);
}
- void Write92_Item(string n, string ns, global::SerializationTypes.TypeWithPropertiesHavingDefaultValue o, bool isNullable, bool needType) {
+ void Write93_Item(string n, string ns, global::SerializationTypes.TypeWithPropertiesHavingDefaultValue o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4072,7 +4232,7 @@ void Write92_Item(string n, string ns, global::SerializationTypes.TypeWithProper
WriteEndElement(o);
}
- void Write93_Item(string n, string ns, global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue o, bool isNullable, bool needType) {
+ void Write94_Item(string n, string ns, global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4088,12 +4248,12 @@ void Write93_Item(string n, string ns, global::SerializationTypes.TypeWithEnumPr
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"TypeWithEnumPropertyHavingDefaultValue", @"");
if (((global::SerializationTypes.IntEnum)o.@EnumProperty) != global::SerializationTypes.IntEnum.@Option1) {
- WriteElementString(@"EnumProperty", @"", Write70_IntEnum(((global::SerializationTypes.IntEnum)o.@EnumProperty)));
+ WriteElementString(@"EnumProperty", @"", Write71_IntEnum(((global::SerializationTypes.IntEnum)o.@EnumProperty)));
}
WriteEndElement(o);
}
- void Write94_Item(string n, string ns, global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue o, bool isNullable, bool needType) {
+ void Write95_Item(string n, string ns, global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4110,12 +4270,12 @@ void Write94_Item(string n, string ns, global::SerializationTypes.TypeWithEnumFl
if (needType) WriteXsiType(@"TypeWithEnumFlagPropertyHavingDefaultValue", @"");
if (((global::SerializationTypes.EnumFlags)o.@EnumProperty) != (global::SerializationTypes.EnumFlags.@One |
global::SerializationTypes.EnumFlags.@Four)) {
- WriteElementString(@"EnumProperty", @"", Write66_EnumFlags(((global::SerializationTypes.EnumFlags)o.@EnumProperty)));
+ WriteElementString(@"EnumProperty", @"", Write67_EnumFlags(((global::SerializationTypes.EnumFlags)o.@EnumProperty)));
}
WriteEndElement(o);
}
- void Write95_TypeWithShouldSerializeMethod(string n, string ns, global::SerializationTypes.TypeWithShouldSerializeMethod o, bool isNullable, bool needType) {
+ void Write96_TypeWithShouldSerializeMethod(string n, string ns, global::SerializationTypes.TypeWithShouldSerializeMethod o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4136,7 +4296,7 @@ void Write95_TypeWithShouldSerializeMethod(string n, string ns, global::Serializ
WriteEndElement(o);
}
- void Write96_Item(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties o, bool isNullable, bool needType) {
+ void Write97_Item(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4156,7 +4316,7 @@ void Write96_Item(string n, string ns, global::SerializationTypes.KnownTypesThro
WriteEndElement(o);
}
- void Write97_Item(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructorWithValue o, bool isNullable, bool needType) {
+ void Write98_Item(string n, string ns, global::SerializationTypes.KnownTypesThroughConstructorWithValue o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4175,7 +4335,7 @@ void Write97_Item(string n, string ns, global::SerializationTypes.KnownTypesThro
WriteEndElement(o);
}
- void Write98_Item(string n, string ns, global::SerializationTypes.TypeWithTypesHavingCustomFormatter o, bool isNullable, bool needType) {
+ void Write99_Item(string n, string ns, global::SerializationTypes.TypeWithTypesHavingCustomFormatter o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4202,7 +4362,7 @@ void Write98_Item(string n, string ns, global::SerializationTypes.TypeWithTypesH
WriteEndElement(o);
}
- void Write100_Item(string n, string ns, global::SerializationTypes.TypeWithArrayPropertyHavingChoice o, bool isNullable, bool needType) {
+ void Write101_Item(string n, string ns, global::SerializationTypes.TypeWithArrayPropertyHavingChoice o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4245,7 +4405,92 @@ void Write100_Item(string n, string ns, global::SerializationTypes.TypeWithArray
WriteEndElement(o);
}
- void Write101_TypeWithFieldsOrdered(string n, string ns, global::SerializationTypes.TypeWithFieldsOrdered o, bool isNullable, bool needType) {
+ void Write102_ComplexChoiceB(string n, string ns, global::SerializationTypes.ComplexChoiceB o, bool isNullable, bool needType) {
+ if ((object)o == null) {
+ if (isNullable) WriteNullTagLiteral(n, ns);
+ return;
+ }
+ if (!needType) {
+ System.Type t = o.GetType();
+ if (t == typeof(global::SerializationTypes.ComplexChoiceB)) {
+ }
+ else {
+ throw CreateUnknownTypeException(o);
+ }
+ }
+ WriteStartElement(n, ns, o, false, null);
+ if (needType) WriteXsiType(@"ComplexChoiceB", @"");
+ WriteElementString(@"Name", @"", ((global::System.String)o.@Name));
+ WriteEndElement(o);
+ }
+
+ void Write103_ComplexChoiceA(string n, string ns, global::SerializationTypes.ComplexChoiceA o, bool isNullable, bool needType) {
+ if ((object)o == null) {
+ if (isNullable) WriteNullTagLiteral(n, ns);
+ return;
+ }
+ if (!needType) {
+ System.Type t = o.GetType();
+ if (t == typeof(global::SerializationTypes.ComplexChoiceA)) {
+ }
+ else {
+ if (t == typeof(global::SerializationTypes.ComplexChoiceB)) {
+ Write102_ComplexChoiceB(n, ns,(global::SerializationTypes.ComplexChoiceB)o, isNullable, true);
+ return;
+ }
+ throw CreateUnknownTypeException(o);
+ }
+ }
+ WriteStartElement(n, ns, o, false, null);
+ if (needType) WriteXsiType(@"ComplexChoiceA", @"");
+ WriteElementString(@"Name", @"", ((global::System.String)o.@Name));
+ WriteEndElement(o);
+ }
+
+ void Write104_Item(string n, string ns, global::SerializationTypes.TypeWithPropertyHavingComplexChoice o, bool isNullable, bool needType) {
+ if ((object)o == null) {
+ if (isNullable) WriteNullTagLiteral(n, ns);
+ return;
+ }
+ if (!needType) {
+ System.Type t = o.GetType();
+ if (t == typeof(global::SerializationTypes.TypeWithPropertyHavingComplexChoice)) {
+ }
+ else {
+ throw CreateUnknownTypeException(o);
+ }
+ }
+ WriteStartElement(n, ns, o, false, null);
+ if (needType) WriteXsiType(@"TypeWithPropertyHavingComplexChoice", @"");
+ {
+ global::System.Object[] a = (global::System.Object[])o.@ManyChoices;
+ if (a != null) {
+ global::SerializationTypes.MoreChoices[] c = (global::SerializationTypes.MoreChoices[])o.@ChoiceArray;
+ if (c == null || c.Length < a.Length) {
+ throw CreateInvalidChoiceIdentifierValueException(@"SerializationTypes.MoreChoices", @"ChoiceArray");}
+ for (int ia = 0; ia < a.Length; ia++) {
+ global::System.Object ai = (global::System.Object)a[ia];
+ global::SerializationTypes.MoreChoices ci = (global::SerializationTypes.MoreChoices)c[ia];
+ {
+ if (ci == SerializationTypes.MoreChoices.@Amount && ((object)(ai) != null)) {
+ if (((object)ai) != null && !(ai is global::System.Int32)) throw CreateMismatchChoiceException(@"System.Int32", @"ChoiceArray", @"SerializationTypes.MoreChoices.@Amount");
+ WriteElementStringRaw(@"Amount", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)ai)));
+ }
+ else if (ci == SerializationTypes.MoreChoices.@Item && ((object)(ai) != null)) {
+ if (((object)ai) != null && !(ai is global::SerializationTypes.ComplexChoiceA)) throw CreateMismatchChoiceException(@"SerializationTypes.ComplexChoiceA", @"ChoiceArray", @"SerializationTypes.MoreChoices.@Item");
+ Write103_ComplexChoiceA(@"Item", @"", ((global::SerializationTypes.ComplexChoiceA)ai), false, false);
+ }
+ else if ((object)(ai) != null){
+ throw CreateUnknownTypeException(ai);
+ }
+ }
+ }
+ }
+ }
+ WriteEndElement(o);
+ }
+
+ void Write105_TypeWithFieldsOrdered(string n, string ns, global::SerializationTypes.TypeWithFieldsOrdered o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4267,7 +4512,7 @@ void Write101_TypeWithFieldsOrdered(string n, string ns, global::SerializationTy
WriteEndElement(o);
}
- void Write87_Item(string n, string ns, global::SerializationTypes.TypeWithSchemaFormInXmlAttribute o, bool isNullable, bool needType) {
+ void Write88_Item(string n, string ns, global::SerializationTypes.TypeWithSchemaFormInXmlAttribute o, bool isNullable, bool needType) {
if ((object)o == null) {
if (isNullable) WriteNullTagLiteral(n, ns);
return;
@@ -4292,7 +4537,7 @@ protected override void InitCallbacks() {
public class XmlSerializationReader1 : System.Xml.Serialization.XmlSerializationReader {
- public object Read111_TypeWithXmlElementProperty() {
+ public object Read115_TypeWithXmlElementProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4310,7 +4555,7 @@ public object Read111_TypeWithXmlElementProperty() {
return (object)o;
}
- public object Read112_TypeWithXmlDocumentProperty() {
+ public object Read116_TypeWithXmlDocumentProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4328,7 +4573,7 @@ public object Read112_TypeWithXmlDocumentProperty() {
return (object)o;
}
- public object Read113_TypeWithBinaryProperty() {
+ public object Read117_TypeWithBinaryProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4346,7 +4591,7 @@ public object Read113_TypeWithBinaryProperty() {
return (object)o;
}
- public object Read114_Item() {
+ public object Read118_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4364,7 +4609,7 @@ public object Read114_Item() {
return (object)o;
}
- public object Read115_TypeWithTimeSpanProperty() {
+ public object Read119_TypeWithTimeSpanProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4382,7 +4627,7 @@ public object Read115_TypeWithTimeSpanProperty() {
return (object)o;
}
- public object Read116_Item() {
+ public object Read120_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4400,7 +4645,7 @@ public object Read116_Item() {
return (object)o;
}
- public object Read117_TypeWithByteProperty() {
+ public object Read121_TypeWithByteProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4418,7 +4663,7 @@ public object Read117_TypeWithByteProperty() {
return (object)o;
}
- public object Read118_TypeWithXmlNodeArrayProperty() {
+ public object Read122_TypeWithXmlNodeArrayProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4436,7 +4681,7 @@ public object Read118_TypeWithXmlNodeArrayProperty() {
return (object)o;
}
- public object Read119_Animal() {
+ public object Read123_Animal() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4454,7 +4699,7 @@ public object Read119_Animal() {
return (object)o;
}
- public object Read120_Dog() {
+ public object Read124_Dog() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4472,7 +4717,7 @@ public object Read120_Dog() {
return (object)o;
}
- public object Read121_DogBreed() {
+ public object Read125_DogBreed() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4492,7 +4737,7 @@ public object Read121_DogBreed() {
return (object)o;
}
- public object Read122_Group() {
+ public object Read126_Group() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4510,7 +4755,7 @@ public object Read122_Group() {
return (object)o;
}
- public object Read123_Vehicle() {
+ public object Read127_Vehicle() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4528,7 +4773,7 @@ public object Read123_Vehicle() {
return (object)o;
}
- public object Read124_Employee() {
+ public object Read128_Employee() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4546,7 +4791,7 @@ public object Read124_Employee() {
return (object)o;
}
- public object Read125_BaseClass() {
+ public object Read129_BaseClass() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4564,7 +4809,7 @@ public object Read125_BaseClass() {
return (object)o;
}
- public object Read126_DerivedClass() {
+ public object Read130_DerivedClass() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4582,7 +4827,7 @@ public object Read126_DerivedClass() {
return (object)o;
}
- public object Read127_PurchaseOrder() {
+ public object Read131_PurchaseOrder() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4600,7 +4845,7 @@ public object Read127_PurchaseOrder() {
return (object)o;
}
- public object Read128_Address() {
+ public object Read132_Address() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4618,7 +4863,7 @@ public object Read128_Address() {
return (object)o;
}
- public object Read129_OrderedItem() {
+ public object Read133_OrderedItem() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4636,7 +4881,7 @@ public object Read129_OrderedItem() {
return (object)o;
}
- public object Read130_AliasedTestType() {
+ public object Read134_AliasedTestType() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4654,7 +4899,7 @@ public object Read130_AliasedTestType() {
return (object)o;
}
- public object Read131_BaseClass1() {
+ public object Read135_BaseClass1() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4672,7 +4917,7 @@ public object Read131_BaseClass1() {
return (object)o;
}
- public object Read132_DerivedClass1() {
+ public object Read136_DerivedClass1() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4690,7 +4935,7 @@ public object Read132_DerivedClass1() {
return (object)o;
}
- public object Read133_ArrayOfDateTime() {
+ public object Read137_ArrayOfDateTime() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4740,7 +4985,7 @@ public object Read133_ArrayOfDateTime() {
return (object)o;
}
- public object Read134_Orchestra() {
+ public object Read138_Orchestra() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4758,7 +5003,7 @@ public object Read134_Orchestra() {
return (object)o;
}
- public object Read135_Instrument() {
+ public object Read139_Instrument() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4776,7 +5021,7 @@ public object Read135_Instrument() {
return (object)o;
}
- public object Read136_Brass() {
+ public object Read140_Brass() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4794,7 +5039,7 @@ public object Read136_Brass() {
return (object)o;
}
- public object Read137_Trumpet() {
+ public object Read141_Trumpet() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4812,7 +5057,7 @@ public object Read137_Trumpet() {
return (object)o;
}
- public object Read138_Pet() {
+ public object Read142_Pet() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4830,7 +5075,7 @@ public object Read138_Pet() {
return (object)o;
}
- public object Read139_DefaultValuesSetToNaN() {
+ public object Read143_DefaultValuesSetToNaN() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4848,7 +5093,7 @@ public object Read139_DefaultValuesSetToNaN() {
return (object)o;
}
- public object Read140_Item() {
+ public object Read144_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4866,7 +5111,7 @@ public object Read140_Item() {
return (object)o;
}
- public object Read141_Item() {
+ public object Read145_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4884,7 +5129,7 @@ public object Read141_Item() {
return (object)o;
}
- public object Read142_RootElement() {
+ public object Read146_RootElement() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4902,7 +5147,7 @@ public object Read142_RootElement() {
return (object)o;
}
- public object Read143_TypeWithLinkedProperty() {
+ public object Read147_TypeWithLinkedProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4920,7 +5165,7 @@ public object Read143_TypeWithLinkedProperty() {
return (object)o;
}
- public object Read144_Document() {
+ public object Read148_Document() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4938,7 +5183,7 @@ public object Read144_Document() {
return (object)o;
}
- public object Read145_RootClass() {
+ public object Read149_RootClass() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4956,7 +5201,7 @@ public object Read145_RootClass() {
return (object)o;
}
- public object Read146_Parameter() {
+ public object Read150_Parameter() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4974,7 +5219,7 @@ public object Read146_Parameter() {
return (object)o;
}
- public object Read147_XElementWrapper() {
+ public object Read151_XElementWrapper() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -4992,7 +5237,7 @@ public object Read147_XElementWrapper() {
return (object)o;
}
- public object Read148_XElementStruct() {
+ public object Read152_XElementStruct() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5010,7 +5255,7 @@ public object Read148_XElementStruct() {
return (object)o;
}
- public object Read149_XElementArrayWrapper() {
+ public object Read153_XElementArrayWrapper() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5028,7 +5273,7 @@ public object Read149_XElementArrayWrapper() {
return (object)o;
}
- public object Read150_TypeWithDateTimeStringProperty() {
+ public object Read154_TypeWithDateTimeStringProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5046,7 +5291,7 @@ public object Read150_TypeWithDateTimeStringProperty() {
return (object)o;
}
- public object Read151_SimpleType() {
+ public object Read155_SimpleType() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5064,7 +5309,7 @@ public object Read151_SimpleType() {
return (object)o;
}
- public object Read152_TypeWithGetSetArrayMembers() {
+ public object Read156_TypeWithGetSetArrayMembers() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5082,7 +5327,7 @@ public object Read152_TypeWithGetSetArrayMembers() {
return (object)o;
}
- public object Read153_TypeWithGetOnlyArrayProperties() {
+ public object Read157_TypeWithGetOnlyArrayProperties() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
@@ -5100,13 +5345,31 @@ public object Read153_TypeWithGetOnlyArrayProperties() {
return (object)o;
}
- public object Read154_StructNotSerializable() {
+ public object Read158_TypeWithArraylikeMembers() {
+ object o = null;
+ Reader.MoveToContent();
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id48_TypeWithArraylikeMembers && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read48_TypeWithArraylikeMembers(true, true);
+ break;
+ }
+ throw CreateUnknownNodeException();
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":TypeWithArraylikeMembers");
+ }
+ return (object)o;
+ }
+
+ public object Read159_StructNotSerializable() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id48_StructNotSerializable && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read48_StructNotSerializable(true);
+ if (((object) Reader.LocalName == (object)id49_StructNotSerializable && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read49_StructNotSerializable(true);
break;
}
throw CreateUnknownNodeException();
@@ -5118,13 +5381,13 @@ public object Read154_StructNotSerializable() {
return (object)o;
}
- public object Read155_TypeWithMyCollectionField() {
+ public object Read160_TypeWithMyCollectionField() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id49_TypeWithMyCollectionField && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read49_TypeWithMyCollectionField(true, true);
+ if (((object) Reader.LocalName == (object)id50_TypeWithMyCollectionField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read50_TypeWithMyCollectionField(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5136,13 +5399,13 @@ public object Read155_TypeWithMyCollectionField() {
return (object)o;
}
- public object Read156_Item() {
+ public object Read161_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id50_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read50_Item(true, true);
+ if (((object) Reader.LocalName == (object)id51_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read51_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5154,12 +5417,12 @@ public object Read156_Item() {
return (object)o;
}
- public object Read157_ArrayOfAnyType() {
+ public object Read162_ArrayOfAnyType() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id51_ArrayOfAnyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id52_ArrayOfAnyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o) == null) o = new global::SerializationTypes.MyList();
global::SerializationTypes.MyList a_0_0 = (global::SerializationTypes.MyList)o;
@@ -5172,7 +5435,7 @@ public object Read157_ArrayOfAnyType() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id52_anyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id53_anyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
if ((object)(a_0_0) == null) Reader.Skip(); else a_0_0.Add(Read1_Object(true, true));
break;
}
@@ -5202,14 +5465,14 @@ public object Read157_ArrayOfAnyType() {
return (object)o;
}
- public object Read158_MyEnum() {
+ public object Read163_MyEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id53_MyEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id54_MyEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read51_MyEnum(Reader.ReadElementString());
+ o = Read52_MyEnum(Reader.ReadElementString());
}
break;
}
@@ -5222,13 +5485,13 @@ public object Read158_MyEnum() {
return (object)o;
}
- public object Read159_TypeWithEnumMembers() {
+ public object Read164_TypeWithEnumMembers() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id54_TypeWithEnumMembers && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read52_TypeWithEnumMembers(true, true);
+ if (((object) Reader.LocalName == (object)id55_TypeWithEnumMembers && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read53_TypeWithEnumMembers(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5240,13 +5503,13 @@ public object Read159_TypeWithEnumMembers() {
return (object)o;
}
- public object Read160_DCStruct() {
+ public object Read165_DCStruct() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id55_DCStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read53_DCStruct(true);
+ if (((object) Reader.LocalName == (object)id56_DCStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read54_DCStruct(true);
break;
}
throw CreateUnknownNodeException();
@@ -5258,13 +5521,13 @@ public object Read160_DCStruct() {
return (object)o;
}
- public object Read161_DCClassWithEnumAndStruct() {
+ public object Read166_DCClassWithEnumAndStruct() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id56_DCClassWithEnumAndStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read54_DCClassWithEnumAndStruct(true, true);
+ if (((object) Reader.LocalName == (object)id57_DCClassWithEnumAndStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read55_DCClassWithEnumAndStruct(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5276,13 +5539,13 @@ public object Read161_DCClassWithEnumAndStruct() {
return (object)o;
}
- public object Read162_BuiltInTypes() {
+ public object Read167_BuiltInTypes() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id57_BuiltInTypes && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read55_BuiltInTypes(true, true);
+ if (((object) Reader.LocalName == (object)id58_BuiltInTypes && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read56_BuiltInTypes(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5294,13 +5557,13 @@ public object Read162_BuiltInTypes() {
return (object)o;
}
- public object Read163_TypeA() {
+ public object Read168_TypeA() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id58_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read56_TypeA(true, true);
+ if (((object) Reader.LocalName == (object)id59_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read57_TypeA(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5312,13 +5575,13 @@ public object Read163_TypeA() {
return (object)o;
}
- public object Read164_TypeB() {
+ public object Read169_TypeB() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id59_TypeB && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read57_TypeB(true, true);
+ if (((object) Reader.LocalName == (object)id60_TypeB && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read58_TypeB(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5330,13 +5593,13 @@ public object Read164_TypeB() {
return (object)o;
}
- public object Read165_TypeHasArrayOfASerializedAsB() {
+ public object Read170_TypeHasArrayOfASerializedAsB() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id60_TypeHasArrayOfASerializedAsB && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read58_TypeHasArrayOfASerializedAsB(true, true);
+ if (((object) Reader.LocalName == (object)id61_TypeHasArrayOfASerializedAsB && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read59_TypeHasArrayOfASerializedAsB(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5348,13 +5611,13 @@ public object Read165_TypeHasArrayOfASerializedAsB() {
return (object)o;
}
- public object Read166_Item() {
+ public object Read171_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id61_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read59_Item(true, true);
+ if (((object) Reader.LocalName == (object)id62_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read60_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5366,13 +5629,13 @@ public object Read166_Item() {
return (object)o;
}
- public object Read167_BaseClassWithSamePropertyName() {
+ public object Read172_BaseClassWithSamePropertyName() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id62_BaseClassWithSamePropertyName && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read60_BaseClassWithSamePropertyName(true, true);
+ if (((object) Reader.LocalName == (object)id63_BaseClassWithSamePropertyName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read61_BaseClassWithSamePropertyName(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5384,13 +5647,13 @@ public object Read167_BaseClassWithSamePropertyName() {
return (object)o;
}
- public object Read168_DerivedClassWithSameProperty() {
+ public object Read173_DerivedClassWithSameProperty() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id63_DerivedClassWithSameProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read61_DerivedClassWithSameProperty(true, true);
+ if (((object) Reader.LocalName == (object)id64_DerivedClassWithSameProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read62_DerivedClassWithSameProperty(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5402,13 +5665,13 @@ public object Read168_DerivedClassWithSameProperty() {
return (object)o;
}
- public object Read169_DerivedClassWithSameProperty2() {
+ public object Read174_DerivedClassWithSameProperty2() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id64_DerivedClassWithSameProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read62_DerivedClassWithSameProperty2(true, true);
+ if (((object) Reader.LocalName == (object)id65_DerivedClassWithSameProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read63_DerivedClassWithSameProperty2(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5420,13 +5683,13 @@ public object Read169_DerivedClassWithSameProperty2() {
return (object)o;
}
- public object Read170_Item() {
+ public object Read175_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id65_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read63_Item(true, true);
+ if (((object) Reader.LocalName == (object)id66_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read64_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5438,13 +5701,13 @@ public object Read170_Item() {
return (object)o;
}
- public object Read171_TypeWithByteArrayAsXmlText() {
+ public object Read176_TypeWithByteArrayAsXmlText() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id66_TypeWithByteArrayAsXmlText && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read64_TypeWithByteArrayAsXmlText(true, true);
+ if (((object) Reader.LocalName == (object)id67_TypeWithByteArrayAsXmlText && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read65_TypeWithByteArrayAsXmlText(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5456,13 +5719,13 @@ public object Read171_TypeWithByteArrayAsXmlText() {
return (object)o;
}
- public object Read172_SimpleDC() {
+ public object Read177_SimpleDC() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id67_SimpleDC && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read65_SimpleDC(true, true);
+ if (((object) Reader.LocalName == (object)id68_SimpleDC && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read66_SimpleDC(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5474,13 +5737,13 @@ public object Read172_SimpleDC() {
return (object)o;
}
- public object Read173_Item() {
+ public object Read178_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id68_Item && (object) Reader.NamespaceURI == (object)id69_Item)) {
- o = Read66_Item(false, true);
+ if (((object) Reader.LocalName == (object)id69_Item && (object) Reader.NamespaceURI == (object)id70_Item)) {
+ o = Read67_Item(false, true);
break;
}
throw CreateUnknownNodeException();
@@ -5492,14 +5755,14 @@ public object Read173_Item() {
return (object)o;
}
- public object Read174_EnumFlags() {
+ public object Read179_EnumFlags() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id70_EnumFlags && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id71_EnumFlags && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read67_EnumFlags(Reader.ReadElementString());
+ o = Read68_EnumFlags(Reader.ReadElementString());
}
break;
}
@@ -5512,13 +5775,13 @@ public object Read174_EnumFlags() {
return (object)o;
}
- public object Read175_ClassImplementsInterface() {
+ public object Read180_ClassImplementsInterface() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id71_ClassImplementsInterface && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read68_ClassImplementsInterface(true, true);
+ if (((object) Reader.LocalName == (object)id72_ClassImplementsInterface && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read69_ClassImplementsInterface(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5530,13 +5793,13 @@ public object Read175_ClassImplementsInterface() {
return (object)o;
}
- public object Read176_WithStruct() {
+ public object Read181_WithStruct() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id72_WithStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read70_WithStruct(true, true);
+ if (((object) Reader.LocalName == (object)id73_WithStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read71_WithStruct(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5548,13 +5811,13 @@ public object Read176_WithStruct() {
return (object)o;
}
- public object Read177_SomeStruct() {
+ public object Read182_SomeStruct() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id73_SomeStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read69_SomeStruct(true);
+ if (((object) Reader.LocalName == (object)id74_SomeStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read70_SomeStruct(true);
break;
}
throw CreateUnknownNodeException();
@@ -5566,13 +5829,13 @@ public object Read177_SomeStruct() {
return (object)o;
}
- public object Read178_WithEnums() {
+ public object Read183_WithEnums() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id74_WithEnums && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read73_WithEnums(true, true);
+ if (((object) Reader.LocalName == (object)id75_WithEnums && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read74_WithEnums(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5584,13 +5847,13 @@ public object Read178_WithEnums() {
return (object)o;
}
- public object Read179_WithNullables() {
+ public object Read184_WithNullables() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id75_WithNullables && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read77_WithNullables(true, true);
+ if (((object) Reader.LocalName == (object)id76_WithNullables && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read78_WithNullables(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5602,14 +5865,14 @@ public object Read179_WithNullables() {
return (object)o;
}
- public object Read180_ByteEnum() {
+ public object Read185_ByteEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id76_ByteEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id77_ByteEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read78_ByteEnum(Reader.ReadElementString());
+ o = Read79_ByteEnum(Reader.ReadElementString());
}
break;
}
@@ -5622,14 +5885,14 @@ public object Read180_ByteEnum() {
return (object)o;
}
- public object Read181_SByteEnum() {
+ public object Read186_SByteEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id77_SByteEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id78_SByteEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read79_SByteEnum(Reader.ReadElementString());
+ o = Read80_SByteEnum(Reader.ReadElementString());
}
break;
}
@@ -5642,14 +5905,14 @@ public object Read181_SByteEnum() {
return (object)o;
}
- public object Read182_ShortEnum() {
+ public object Read187_ShortEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id78_ShortEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id79_ShortEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read72_ShortEnum(Reader.ReadElementString());
+ o = Read73_ShortEnum(Reader.ReadElementString());
}
break;
}
@@ -5662,14 +5925,14 @@ public object Read182_ShortEnum() {
return (object)o;
}
- public object Read183_IntEnum() {
+ public object Read188_IntEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id79_IntEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id80_IntEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read71_IntEnum(Reader.ReadElementString());
+ o = Read72_IntEnum(Reader.ReadElementString());
}
break;
}
@@ -5682,14 +5945,14 @@ public object Read183_IntEnum() {
return (object)o;
}
- public object Read184_UIntEnum() {
+ public object Read189_UIntEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id80_UIntEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id81_UIntEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read80_UIntEnum(Reader.ReadElementString());
+ o = Read81_UIntEnum(Reader.ReadElementString());
}
break;
}
@@ -5702,14 +5965,14 @@ public object Read184_UIntEnum() {
return (object)o;
}
- public object Read185_LongEnum() {
+ public object Read190_LongEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id81_LongEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id82_LongEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read81_LongEnum(Reader.ReadElementString());
+ o = Read82_LongEnum(Reader.ReadElementString());
}
break;
}
@@ -5722,14 +5985,14 @@ public object Read185_LongEnum() {
return (object)o;
}
- public object Read186_ULongEnum() {
+ public object Read191_ULongEnum() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id82_ULongEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id83_ULongEnum && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read82_ULongEnum(Reader.ReadElementString());
+ o = Read83_ULongEnum(Reader.ReadElementString());
}
break;
}
@@ -5742,13 +6005,13 @@ public object Read186_ULongEnum() {
return (object)o;
}
- public object Read187_AttributeTesting() {
+ public object Read192_AttributeTesting() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id83_AttributeTesting && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read84_XmlSerializerAttributes(false, true);
+ if (((object) Reader.LocalName == (object)id84_AttributeTesting && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read85_XmlSerializerAttributes(false, true);
break;
}
throw CreateUnknownNodeException();
@@ -5760,14 +6023,14 @@ public object Read187_AttributeTesting() {
return (object)o;
}
- public object Read188_ItemChoiceType() {
+ public object Read193_ItemChoiceType() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id84_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id85_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o = Read83_ItemChoiceType(Reader.ReadElementString());
+ o = Read84_ItemChoiceType(Reader.ReadElementString());
}
break;
}
@@ -5780,13 +6043,13 @@ public object Read188_ItemChoiceType() {
return (object)o;
}
- public object Read189_TypeWithAnyAttribute() {
+ public object Read194_TypeWithAnyAttribute() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id85_TypeWithAnyAttribute && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read85_TypeWithAnyAttribute(true, true);
+ if (((object) Reader.LocalName == (object)id86_TypeWithAnyAttribute && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read86_TypeWithAnyAttribute(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5798,13 +6061,13 @@ public object Read189_TypeWithAnyAttribute() {
return (object)o;
}
- public object Read190_KnownTypesThroughConstructor() {
+ public object Read195_KnownTypesThroughConstructor() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id86_KnownTypesThroughConstructor && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read86_KnownTypesThroughConstructor(true, true);
+ if (((object) Reader.LocalName == (object)id87_KnownTypesThroughConstructor && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read87_KnownTypesThroughConstructor(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5816,13 +6079,13 @@ public object Read190_KnownTypesThroughConstructor() {
return (object)o;
}
- public object Read191_SimpleKnownTypeValue() {
+ public object Read196_SimpleKnownTypeValue() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id87_SimpleKnownTypeValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read87_SimpleKnownTypeValue(true, true);
+ if (((object) Reader.LocalName == (object)id88_SimpleKnownTypeValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read88_SimpleKnownTypeValue(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5834,12 +6097,12 @@ public object Read191_SimpleKnownTypeValue() {
return (object)o;
}
- public object Read192_Item() {
+ public object Read197_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id88_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id89_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
o = (global::SerializationTypes.ClassImplementingIXmlSerialiable)ReadSerializable(( System.Xml.Serialization.IXmlSerializable)new global::SerializationTypes.ClassImplementingIXmlSerialiable());
break;
}
@@ -5852,13 +6115,13 @@ public object Read192_Item() {
return (object)o;
}
- public object Read193_TypeWithPropertyNameSpecified() {
+ public object Read198_TypeWithPropertyNameSpecified() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id89_TypeWithPropertyNameSpecified && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read88_TypeWithPropertyNameSpecified(true, true);
+ if (((object) Reader.LocalName == (object)id90_TypeWithPropertyNameSpecified && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read89_TypeWithPropertyNameSpecified(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5870,13 +6133,13 @@ public object Read193_TypeWithPropertyNameSpecified() {
return (object)o;
}
- public object Read194_TypeWithXmlSchemaFormAttribute() {
+ public object Read199_TypeWithXmlSchemaFormAttribute() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id90_TypeWithXmlSchemaFormAttribute && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read89_TypeWithXmlSchemaFormAttribute(true, true);
+ if (((object) Reader.LocalName == (object)id91_TypeWithXmlSchemaFormAttribute && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read90_TypeWithXmlSchemaFormAttribute(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5888,13 +6151,13 @@ public object Read194_TypeWithXmlSchemaFormAttribute() {
return (object)o;
}
- public object Read195_MyXmlType() {
+ public object Read200_MyXmlType() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id91_MyXmlType && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read90_Item(true, true);
+ if (((object) Reader.LocalName == (object)id92_MyXmlType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read91_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5906,13 +6169,13 @@ public object Read195_MyXmlType() {
return (object)o;
}
- public object Read196_Item() {
+ public object Read201_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id92_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read91_Item(true, true);
+ if (((object) Reader.LocalName == (object)id93_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read92_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5924,13 +6187,13 @@ public object Read196_Item() {
return (object)o;
}
- public object Read197_Item() {
+ public object Read202_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id93_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read92_Item(true, true);
+ if (((object) Reader.LocalName == (object)id94_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read93_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5942,13 +6205,13 @@ public object Read197_Item() {
return (object)o;
}
- public object Read198_ServerSettings() {
+ public object Read203_ServerSettings() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id94_ServerSettings && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read93_ServerSettings(true, true);
+ if (((object) Reader.LocalName == (object)id95_ServerSettings && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read94_ServerSettings(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5960,13 +6223,13 @@ public object Read198_ServerSettings() {
return (object)o;
}
- public object Read199_TypeWithXmlQualifiedName() {
+ public object Read204_TypeWithXmlQualifiedName() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id95_TypeWithXmlQualifiedName && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read94_TypeWithXmlQualifiedName(true, true);
+ if (((object) Reader.LocalName == (object)id96_TypeWithXmlQualifiedName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read95_TypeWithXmlQualifiedName(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5978,13 +6241,13 @@ public object Read199_TypeWithXmlQualifiedName() {
return (object)o;
}
- public object Read200_TypeWith2DArrayProperty2() {
+ public object Read205_TypeWith2DArrayProperty2() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id96_TypeWith2DArrayProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read95_TypeWith2DArrayProperty2(true, true);
+ if (((object) Reader.LocalName == (object)id97_TypeWith2DArrayProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read96_TypeWith2DArrayProperty2(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -5996,13 +6259,13 @@ public object Read200_TypeWith2DArrayProperty2() {
return (object)o;
}
- public object Read201_Item() {
+ public object Read206_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id97_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read96_Item(true, true);
+ if (((object) Reader.LocalName == (object)id98_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read97_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6014,13 +6277,13 @@ public object Read201_Item() {
return (object)o;
}
- public object Read202_Item() {
+ public object Read207_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id98_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read97_Item(true, true);
+ if (((object) Reader.LocalName == (object)id99_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read98_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6032,13 +6295,13 @@ public object Read202_Item() {
return (object)o;
}
- public object Read203_Item() {
+ public object Read208_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id99_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read98_Item(true, true);
+ if (((object) Reader.LocalName == (object)id100_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read99_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6050,13 +6313,13 @@ public object Read203_Item() {
return (object)o;
}
- public object Read204_TypeWithShouldSerializeMethod() {
+ public object Read209_TypeWithShouldSerializeMethod() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id100_TypeWithShouldSerializeMethod && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read99_TypeWithShouldSerializeMethod(true, true);
+ if (((object) Reader.LocalName == (object)id101_TypeWithShouldSerializeMethod && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read100_TypeWithShouldSerializeMethod(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6068,13 +6331,13 @@ public object Read204_TypeWithShouldSerializeMethod() {
return (object)o;
}
- public object Read205_Item() {
+ public object Read210_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id101_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read100_Item(true, true);
+ if (((object) Reader.LocalName == (object)id102_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read101_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6086,13 +6349,13 @@ public object Read205_Item() {
return (object)o;
}
- public object Read206_Item() {
+ public object Read211_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id102_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read101_Item(true, true);
+ if (((object) Reader.LocalName == (object)id103_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read102_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6104,13 +6367,13 @@ public object Read206_Item() {
return (object)o;
}
- public object Read207_Item() {
+ public object Read212_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id103_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read102_Item(true, true);
+ if (((object) Reader.LocalName == (object)id104_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read103_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6122,13 +6385,13 @@ public object Read207_Item() {
return (object)o;
}
- public object Read208_Item() {
+ public object Read213_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id104_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read104_Item(true, true);
+ if (((object) Reader.LocalName == (object)id105_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read105_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6140,15 +6403,33 @@ public object Read208_Item() {
return (object)o;
}
- public object Read209_MoreChoices() {
+ public object Read214_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id105_MoreChoices && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o = Read103_MoreChoices(Reader.ReadElementString());
- }
+ if (((object) Reader.LocalName == (object)id106_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read108_Item(true, true);
+ break;
+ }
+ throw CreateUnknownNodeException();
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":TypeWithPropertyHavingComplexChoice");
+ }
+ return (object)o;
+ }
+
+ public object Read215_MoreChoices() {
+ object o = null;
+ Reader.MoveToContent();
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id107_MoreChoices && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o = Read104_MoreChoices(Reader.ReadElementString());
+ }
break;
}
throw CreateUnknownNodeException();
@@ -6160,13 +6441,49 @@ public object Read209_MoreChoices() {
return (object)o;
}
- public object Read210_TypeWithFieldsOrdered() {
+ public object Read216_ComplexChoiceA() {
+ object o = null;
+ Reader.MoveToContent();
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id108_ComplexChoiceA && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read107_ComplexChoiceA(true, true);
+ break;
+ }
+ throw CreateUnknownNodeException();
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":ComplexChoiceA");
+ }
+ return (object)o;
+ }
+
+ public object Read217_ComplexChoiceB() {
+ object o = null;
+ Reader.MoveToContent();
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id109_ComplexChoiceB && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read106_ComplexChoiceB(true, true);
+ break;
+ }
+ throw CreateUnknownNodeException();
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":ComplexChoiceB");
+ }
+ return (object)o;
+ }
+
+ public object Read218_TypeWithFieldsOrdered() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id106_TypeWithFieldsOrdered && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read105_TypeWithFieldsOrdered(true, true);
+ if (((object) Reader.LocalName == (object)id110_TypeWithFieldsOrdered && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read109_TypeWithFieldsOrdered(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6178,13 +6495,13 @@ public object Read210_TypeWithFieldsOrdered() {
return (object)o;
}
- public object Read211_Item() {
+ public object Read219_Item() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id107_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read106_Item(true, true);
+ if (((object) Reader.LocalName == (object)id111_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read110_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6196,13 +6513,13 @@ public object Read211_Item() {
return (object)o;
}
- public object Read212_Root() {
+ public object Read220_Root() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id108_Root && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read109_Item(true, true);
+ if (((object) Reader.LocalName == (object)id112_Root && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read113_Item(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6214,13 +6531,13 @@ public object Read212_Root() {
return (object)o;
}
- public object Read213_TypeClashB() {
+ public object Read221_TypeClashB() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id109_TypeClashB && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read108_TypeNameClash(true, true);
+ if (((object) Reader.LocalName == (object)id113_TypeClashB && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read112_TypeNameClash(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6232,13 +6549,13 @@ public object Read213_TypeClashB() {
return (object)o;
}
- public object Read214_TypeClashA() {
+ public object Read222_TypeClashA() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id110_TypeClashA && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read107_TypeNameClash(true, true);
+ if (((object) Reader.LocalName == (object)id114_TypeClashA && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read111_TypeNameClash(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6250,13 +6567,13 @@ public object Read214_TypeClashA() {
return (object)o;
}
- public object Read215_Person() {
+ public object Read223_Person() {
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id111_Person && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o = Read110_Person(true, true);
+ if (((object) Reader.LocalName == (object)id115_Person && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o = Read114_Person(true, true);
break;
}
throw CreateUnknownNodeException();
@@ -6268,12 +6585,12 @@ public object Read215_Person() {
return (object)o;
}
- global::Outer.Person Read110_Person(bool isNullable, bool checkType) {
+ global::Outer.Person Read114_Person(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id111_Person && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id115_Person && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -6298,21 +6615,21 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id112_FirstName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id116_FirstName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@FirstName = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id113_MiddleName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id117_MiddleName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@MiddleName = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id114_LastName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id118_LastName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@LastName = Reader.ReadElementString();
}
@@ -6331,12 +6648,12 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.TypeNameClashA.TypeNameClash Read107_TypeNameClash(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeNameClashA.TypeNameClash Read111_TypeNameClash(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id110_TypeClashA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id114_TypeClashA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -6361,7 +6678,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -6380,12 +6697,12 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.TypeNameClashB.TypeNameClash Read108_TypeNameClash(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeNameClashB.TypeNameClash Read112_TypeNameClash(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id109_TypeClashB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id113_TypeClashB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -6410,7 +6727,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -6429,12 +6746,12 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.NamespaceTypeNameClashContainer Read109_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.NamespaceTypeNameClashContainer Read113_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id116_ContainerType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id120_ContainerType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -6465,12 +6782,12 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id117_A && (object) Reader.NamespaceURI == (object)id2_Item)) {
- a_0 = (global::SerializationTypes.TypeNameClashA.TypeNameClash[])EnsureArrayIndex(a_0, ca_0, typeof(global::SerializationTypes.TypeNameClashA.TypeNameClash));a_0[ca_0++] = Read107_TypeNameClash(false, true);
+ if (((object) Reader.LocalName == (object)id121_A && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ a_0 = (global::SerializationTypes.TypeNameClashA.TypeNameClash[])EnsureArrayIndex(a_0, ca_0, typeof(global::SerializationTypes.TypeNameClashA.TypeNameClash));a_0[ca_0++] = Read111_TypeNameClash(false, true);
break;
}
- if (((object) Reader.LocalName == (object)id118_B && (object) Reader.NamespaceURI == (object)id2_Item)) {
- a_1 = (global::SerializationTypes.TypeNameClashB.TypeNameClash[])EnsureArrayIndex(a_1, ca_1, typeof(global::SerializationTypes.TypeNameClashB.TypeNameClash));a_1[ca_1++] = Read108_TypeNameClash(false, true);
+ if (((object) Reader.LocalName == (object)id122_B && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ a_1 = (global::SerializationTypes.TypeNameClashB.TypeNameClash[])EnsureArrayIndex(a_1, ca_1, typeof(global::SerializationTypes.TypeNameClashB.TypeNameClash));a_1[ca_1++] = Read112_TypeNameClash(false, true);
break;
}
UnknownNode((object)o, @":A, :B");
@@ -6487,12 +6804,12 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName Read106_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName Read110_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id107_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id111_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -6517,12 +6834,12 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Value1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id123_Value1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Value1 = Read1_Object(false, true);
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id120_Value2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id124_Value2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Value2 = Read1_Object(false, true);
paramsRead[1] = true;
break;
@@ -6552,102 +6869,110 @@ public object Read215_Person() {
return ReadTypedPrimitive(new System.Xml.XmlQualifiedName("anyType", "http://www.w3.org/2001/XMLSchema"));
}
else {
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id111_Person && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read110_Person(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id116_ContainerType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read109_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id109_TypeClashB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read108_TypeNameClash(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id110_TypeClashA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read107_TypeNameClash(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id107_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read106_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id106_TypeWithFieldsOrdered && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read105_TypeWithFieldsOrdered(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id115_Person && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read114_Person(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id120_ContainerType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read113_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id113_TypeClashB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read112_TypeNameClash(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id114_TypeClashA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read111_TypeNameClash(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id111_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read110_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id110_TypeWithFieldsOrdered && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read109_TypeWithFieldsOrdered(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id106_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read108_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id108_ComplexChoiceA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read107_ComplexChoiceA(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id109_ComplexChoiceB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read106_ComplexChoiceB(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id105_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read105_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id104_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read104_Item(isNullable, false);
+ return Read103_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id103_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read102_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id102_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read101_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id101_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read100_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id100_TypeWithShouldSerializeMethod && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read99_TypeWithShouldSerializeMethod(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id101_TypeWithShouldSerializeMethod && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read100_TypeWithShouldSerializeMethod(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id100_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read99_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id99_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read98_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id98_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read97_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id97_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read96_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id96_TypeWith2DArrayProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read95_TypeWith2DArrayProperty2(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id95_TypeWithXmlQualifiedName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read94_TypeWithXmlQualifiedName(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id94_ServerSettings && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read93_ServerSettings(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id93_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read92_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id91_MyXmlType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read90_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id90_TypeWithXmlSchemaFormAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read89_TypeWithXmlSchemaFormAttribute(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id89_TypeWithPropertyNameSpecified && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read88_TypeWithPropertyNameSpecified(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id87_SimpleKnownTypeValue && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read87_SimpleKnownTypeValue(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id86_KnownTypesThroughConstructor && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read86_KnownTypesThroughConstructor(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id85_TypeWithAnyAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read85_TypeWithAnyAttribute(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id121_XmlSerializerAttributes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read84_XmlSerializerAttributes(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id75_WithNullables && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read77_WithNullables(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id74_WithEnums && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read73_WithEnums(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id72_WithStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read70_WithStruct(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id73_SomeStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read69_SomeStruct(false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id71_ClassImplementsInterface && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read68_ClassImplementsInterface(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id68_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id69_Item))
- return Read66_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id67_SimpleDC && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read65_SimpleDC(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id66_TypeWithByteArrayAsXmlText && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read64_TypeWithByteArrayAsXmlText(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read63_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id62_BaseClassWithSamePropertyName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read60_BaseClassWithSamePropertyName(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id63_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read61_DerivedClassWithSameProperty(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read62_DerivedClassWithSameProperty2(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id61_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read59_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id60_TypeHasArrayOfASerializedAsB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read58_TypeHasArrayOfASerializedAsB(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id59_TypeB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read57_TypeB(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id58_TypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read56_TypeA(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id57_BuiltInTypes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read55_BuiltInTypes(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id56_DCClassWithEnumAndStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read54_DCClassWithEnumAndStruct(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id55_DCStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read53_DCStruct(false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id54_TypeWithEnumMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read52_TypeWithEnumMembers(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id50_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read50_Item(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id49_TypeWithMyCollectionField && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read49_TypeWithMyCollectionField(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id48_StructNotSerializable && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read48_StructNotSerializable(false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id97_TypeWith2DArrayProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read96_TypeWith2DArrayProperty2(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id96_TypeWithXmlQualifiedName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read95_TypeWithXmlQualifiedName(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id95_ServerSettings && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read94_ServerSettings(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id94_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read93_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id92_MyXmlType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read91_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id91_TypeWithXmlSchemaFormAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read90_TypeWithXmlSchemaFormAttribute(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id90_TypeWithPropertyNameSpecified && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read89_TypeWithPropertyNameSpecified(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id88_SimpleKnownTypeValue && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read88_SimpleKnownTypeValue(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id87_KnownTypesThroughConstructor && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read87_KnownTypesThroughConstructor(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id86_TypeWithAnyAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read86_TypeWithAnyAttribute(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id125_XmlSerializerAttributes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read85_XmlSerializerAttributes(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id76_WithNullables && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read78_WithNullables(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id75_WithEnums && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read74_WithEnums(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id73_WithStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read71_WithStruct(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id74_SomeStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read70_SomeStruct(false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id72_ClassImplementsInterface && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read69_ClassImplementsInterface(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id69_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id70_Item))
+ return Read67_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id68_SimpleDC && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read66_SimpleDC(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id67_TypeWithByteArrayAsXmlText && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read65_TypeWithByteArrayAsXmlText(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id66_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read64_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id63_BaseClassWithSamePropertyName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read61_BaseClassWithSamePropertyName(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read62_DerivedClassWithSameProperty(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read63_DerivedClassWithSameProperty2(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id62_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read60_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id61_TypeHasArrayOfASerializedAsB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read59_TypeHasArrayOfASerializedAsB(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id60_TypeB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read58_TypeB(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id59_TypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read57_TypeA(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id58_BuiltInTypes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read56_BuiltInTypes(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id57_DCClassWithEnumAndStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read55_DCClassWithEnumAndStruct(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id56_DCStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read54_DCStruct(false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id55_TypeWithEnumMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read53_TypeWithEnumMembers(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id51_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read51_Item(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id50_TypeWithMyCollectionField && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read50_TypeWithMyCollectionField(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id49_StructNotSerializable && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read49_StructNotSerializable(false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id48_TypeWithArraylikeMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read48_TypeWithArraylikeMembers(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id47_TypeWithGetOnlyArrayProperties && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read47_TypeWithGetOnlyArrayProperties(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id46_TypeWithGetSetArrayMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
@@ -6666,13 +6991,13 @@ public object Read215_Person() {
return Read40_RootClass(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id40_Parameter && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read39_Parameter(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id122_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id126_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read38_ParameterOfString(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id123_MsgDocumentType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id38_httpexamplecom))
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id127_MsgDocumentType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id38_httpexamplecom))
return Read37_MsgDocumentType(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id36_TypeWithLinkedProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read36_TypeWithLinkedProperty(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id124_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id128_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read35_Item(isNullable, false);
if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id34_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read34_Item(isNullable, false);
@@ -6742,7 +7067,7 @@ public object Read215_Person() {
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id125_ArrayOfOrderedItem && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id19_httpwwwcontoso1com)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id129_ArrayOfOrderedItem && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id19_httpwwwcontoso1com)) {
global::OrderedItem[] a = null;
if (!ReadNull()) {
global::OrderedItem[] z_0_0 = null;
@@ -6774,7 +7099,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id126_ArrayOfInt && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id130_ArrayOfInt && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -6788,7 +7113,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id127_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
z_0_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
}
@@ -6807,7 +7132,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id128_ArrayOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id132_ArrayOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -6821,7 +7146,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (ReadNull()) {
z_0_0.Add(null);
}
@@ -6843,7 +7168,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id130_ArrayOfDouble && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id134_ArrayOfDouble && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -6857,7 +7182,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id131_double && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id135_double && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
z_0_0.Add(System.Xml.XmlConvert.ToDouble(Reader.ReadElementString()));
}
@@ -6909,7 +7234,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id132_ArrayOfInstrument && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id136_ArrayOfInstrument && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::Instrument[] a = null;
if (!ReadNull()) {
global::Instrument[] z_0_0 = null;
@@ -6941,7 +7266,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id133_ArrayOfTypeWithLinkedProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id137_ArrayOfTypeWithLinkedProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -6972,7 +7297,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id134_ArrayOfParameter && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id138_ArrayOfParameter && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -7003,7 +7328,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id135_ArrayOfXElement && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id139_ArrayOfXElement && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Xml.Linq.XElement[] a = null;
if (!ReadNull()) {
global::System.Xml.Linq.XElement[] z_0_0 = null;
@@ -7017,7 +7342,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id136_XElement && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id140_XElement && (object) Reader.NamespaceURI == (object)id2_Item)) {
z_0_0 = (global::System.Xml.Linq.XElement[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::System.Xml.Linq.XElement));z_0_0[cz_0_0++] = (global::System.Xml.Linq.XElement)ReadSerializable(( System.Xml.Serialization.IXmlSerializable)new global::System.Xml.Linq.XElement("default"), true
);
break;
@@ -7036,7 +7361,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id137_ArrayOfSimpleType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id141_ArrayOfSimpleType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::SerializationTypes.SimpleType[] a = null;
if (!ReadNull()) {
global::SerializationTypes.SimpleType[] z_0_0 = null;
@@ -7068,7 +7393,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id51_ArrayOfAnyType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id52_ArrayOfAnyType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::SerializationTypes.MyList a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::SerializationTypes.MyList();
@@ -7082,7 +7407,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id52_anyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id53_anyType && (object) Reader.NamespaceURI == (object)id2_Item)) {
if ((object)(z_0_0) == null) Reader.Skip(); else z_0_0.Add(Read1_Object(true, true));
break;
}
@@ -7099,13 +7424,13 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id53_MyEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id54_MyEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read51_MyEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read52_MyEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id138_ArrayOfTypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id142_ArrayOfTypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::SerializationTypes.TypeA[] a = null;
if (!ReadNull()) {
global::SerializationTypes.TypeA[] z_0_0 = null;
@@ -7119,8 +7444,8 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id58_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
- z_0_0 = (global::SerializationTypes.TypeA[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::SerializationTypes.TypeA));z_0_0[cz_0_0++] = Read56_TypeA(true, true);
+ if (((object) Reader.LocalName == (object)id59_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ z_0_0 = (global::SerializationTypes.TypeA[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::SerializationTypes.TypeA));z_0_0[cz_0_0++] = Read57_TypeA(true, true);
break;
}
UnknownNode(null, @":TypeA");
@@ -7137,61 +7462,61 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id70_EnumFlags && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id71_EnumFlags && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read67_EnumFlags(CollapseWhitespace(Reader.ReadString()));
+ object e = Read68_EnumFlags(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id79_IntEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id80_IntEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read71_IntEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read72_IntEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id78_ShortEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id79_ShortEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read72_ShortEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read73_ShortEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id76_ByteEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id77_ByteEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read78_ByteEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read79_ByteEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id77_SByteEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id78_SByteEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read79_SByteEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read80_SByteEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id80_UIntEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id81_UIntEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read80_UIntEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read81_UIntEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id81_LongEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id82_LongEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read81_LongEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read82_LongEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id82_ULongEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id83_ULongEnum && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read82_ULongEnum(CollapseWhitespace(Reader.ReadString()));
+ object e = Read83_ULongEnum(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id84_ItemChoiceType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id85_ItemChoiceType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read83_ItemChoiceType(CollapseWhitespace(Reader.ReadString()));
+ object e = Read84_ItemChoiceType(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id139_ArrayOfItemChoiceType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id143_ArrayOfItemChoiceType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::SerializationTypes.ItemChoiceType[] a = null;
if (!ReadNull()) {
global::SerializationTypes.ItemChoiceType[] z_0_0 = null;
@@ -7205,9 +7530,9 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id84_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id85_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- z_0_0 = (global::SerializationTypes.ItemChoiceType[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::SerializationTypes.ItemChoiceType));z_0_0[cz_0_0++] = Read83_ItemChoiceType(Reader.ReadElementString());
+ z_0_0 = (global::SerializationTypes.ItemChoiceType[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::SerializationTypes.ItemChoiceType));z_0_0[cz_0_0++] = Read84_ItemChoiceType(Reader.ReadElementString());
}
break;
}
@@ -7225,7 +7550,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id128_ArrayOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id140_httpmynamespace)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id132_ArrayOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id144_httpmynamespace)) {
global::System.Object[] a = null;
if (!ReadNull()) {
global::System.Object[] z_0_0 = null;
@@ -7239,7 +7564,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id140_httpmynamespace)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id144_httpmynamespace)) {
if (ReadNull()) {
z_0_0 = (global::System.Object[])EnsureArrayIndex(z_0_0, cz_0_0, typeof(global::System.Object));z_0_0[cz_0_0++] = null;
}
@@ -7262,7 +7587,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id141_ArrayOfString1 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id145_ArrayOfString1 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -7276,7 +7601,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id142_NoneParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id146_NoneParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
z_0_0.Add(Reader.ReadElementString());
}
@@ -7295,7 +7620,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id143_ArrayOfBoolean && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id147_ArrayOfBoolean && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::System.Collections.Generic.List a = null;
if (!ReadNull()) {
if ((object)(a) == null) a = new global::System.Collections.Generic.List();
@@ -7309,7 +7634,7 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id144_QualifiedParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id148_QualifiedParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
z_0_0.Add(System.Xml.XmlConvert.ToBoolean(Reader.ReadElementString()));
}
@@ -7328,7 +7653,7 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id145_ArrayOfArrayOfSimpleType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id149_ArrayOfArrayOfSimpleType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
global::SerializationTypes.SimpleType[][] a = null;
if (!ReadNull()) {
global::SerializationTypes.SimpleType[][] z_0_0 = null;
@@ -7387,9 +7712,9 @@ public object Read215_Person() {
}
return a;
}
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id105_MoreChoices && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id107_MoreChoices && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
Reader.ReadStartElement();
- object e = Read103_MoreChoices(CollapseWhitespace(Reader.ReadString()));
+ object e = Read104_MoreChoices(CollapseWhitespace(Reader.ReadString()));
ReadEndElement();
return e;
}
@@ -7425,7 +7750,7 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.MoreChoices Read103_MoreChoices(string s) {
+ global::SerializationTypes.MoreChoices Read104_MoreChoices(string s) {
switch (s) {
case @"None": return global::SerializationTypes.MoreChoices.@None;
case @"Item": return global::SerializationTypes.MoreChoices.@Item;
@@ -7464,14 +7789,14 @@ public object Read215_Person() {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id146_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id150_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@P1 = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id147_P2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id151_P2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@P2 = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -7490,7 +7815,7 @@ public object Read215_Person() {
return o;
}
- global::SerializationTypes.ItemChoiceType Read83_ItemChoiceType(string s) {
+ global::SerializationTypes.ItemChoiceType Read84_ItemChoiceType(string s) {
switch (s) {
case @"None": return global::SerializationTypes.ItemChoiceType.@None;
case @"Word": return global::SerializationTypes.ItemChoiceType.@Word;
@@ -7500,7 +7825,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.ULongEnum Read82_ULongEnum(string s) {
+ global::SerializationTypes.ULongEnum Read83_ULongEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.ULongEnum.@Option0;
case @"Option1": return global::SerializationTypes.ULongEnum.@Option1;
@@ -7509,7 +7834,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.LongEnum Read81_LongEnum(string s) {
+ global::SerializationTypes.LongEnum Read82_LongEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.LongEnum.@Option0;
case @"Option1": return global::SerializationTypes.LongEnum.@Option1;
@@ -7518,7 +7843,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.UIntEnum Read80_UIntEnum(string s) {
+ global::SerializationTypes.UIntEnum Read81_UIntEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.UIntEnum.@Option0;
case @"Option1": return global::SerializationTypes.UIntEnum.@Option1;
@@ -7527,7 +7852,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.SByteEnum Read79_SByteEnum(string s) {
+ global::SerializationTypes.SByteEnum Read80_SByteEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.SByteEnum.@Option0;
case @"Option1": return global::SerializationTypes.SByteEnum.@Option1;
@@ -7536,7 +7861,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.ByteEnum Read78_ByteEnum(string s) {
+ global::SerializationTypes.ByteEnum Read79_ByteEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.ByteEnum.@Option0;
case @"Option1": return global::SerializationTypes.ByteEnum.@Option1;
@@ -7545,7 +7870,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.ShortEnum Read72_ShortEnum(string s) {
+ global::SerializationTypes.ShortEnum Read73_ShortEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.ShortEnum.@Option0;
case @"Option1": return global::SerializationTypes.ShortEnum.@Option1;
@@ -7554,7 +7879,7 @@ public object Read215_Person() {
}
}
- global::SerializationTypes.IntEnum Read71_IntEnum(string s) {
+ global::SerializationTypes.IntEnum Read72_IntEnum(string s) {
switch (s) {
case @"Option0": return global::SerializationTypes.IntEnum.@Option0;
case @"Option1": return global::SerializationTypes.IntEnum.@Option1;
@@ -7579,16 +7904,16 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
}
- global::SerializationTypes.EnumFlags Read67_EnumFlags(string s) {
+ global::SerializationTypes.EnumFlags Read68_EnumFlags(string s) {
return (global::SerializationTypes.EnumFlags)ToEnum(s, EnumFlagsValues, @"global::SerializationTypes.EnumFlags");
}
- global::SerializationTypes.TypeA Read56_TypeA(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeA Read57_TypeA(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id58_TypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id59_TypeA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -7613,7 +7938,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -7632,7 +7957,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.MyEnum Read51_MyEnum(string s) {
+ global::SerializationTypes.MyEnum Read52_MyEnum(string s) {
switch (s) {
case @"One": return global::SerializationTypes.MyEnum.@One;
case @"Two": return global::SerializationTypes.MyEnum.@Two;
@@ -7649,7 +7974,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id40_Parameter && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id122_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id126_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
return Read38_ParameterOfString(isNullable, false);
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
@@ -7659,7 +7984,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::Parameter();
System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Name = Reader.Value;
paramsRead[0] = true;
}
@@ -7692,7 +8017,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id122_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id126_ParameterOfString && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -7703,7 +8028,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::Parameter();
System.Span paramsRead = stackalloc bool[2];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Name = Reader.Value;
paramsRead[0] = true;
}
@@ -7721,7 +8046,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Value = Reader.ReadElementString();
}
@@ -7772,12 +8097,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id149_Child && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id153_Child && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Child = Read36_TypeWithLinkedProperty(false, true);
paramsRead[0] = true;
break;
}
- if (((object) Reader.LocalName == (object)id150_Children && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id154_Children && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@Children) == null) o.@Children = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_1_0 = (global::System.Collections.Generic.List)o.@Children;
@@ -7853,7 +8178,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -7902,21 +8227,21 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id151_IsValved && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id155_IsValved && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IsValved = System.Xml.XmlConvert.ToBoolean(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id152_Modulation && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id156_Modulation && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Modulation = ToChar(Reader.ReadElementString());
}
@@ -7967,14 +8292,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id151_IsValved && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id155_IsValved && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IsValved = System.Xml.XmlConvert.ToBoolean(Reader.ReadElementString());
}
@@ -8023,35 +8348,35 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id153_ItemName && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id157_ItemName && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@ItemName = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id154_Description && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id158_Description && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@Description = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id155_UnitPrice && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id159_UnitPrice && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@UnitPrice = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id156_Quantity && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id160_Quantity && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@Quantity = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id157_LineTotal && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id161_LineTotal && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@LineTotal = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
@@ -8199,14 +8524,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id158_BinaryHexContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id162_BinaryHexContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@BinaryHexContent = ToByteArrayHex(false);
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id159_Base64Content && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id163_Base64Content && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Base64Content = ToByteArrayBase64(false);
}
@@ -8255,7 +8580,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id160_DTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id164_DTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
if (Reader.IsEmptyElement) {
Reader.Skip();
@@ -8268,7 +8593,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id161_DTO2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id165_DTO2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
if (Reader.IsEmptyElement) {
Reader.Skip();
@@ -8281,7 +8606,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id162_DefaultDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id166_DefaultDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -8297,12 +8622,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id163_NullableDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id167_NullableDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@NullableDTO = Read5_NullableOfDateTimeOffset(true);
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id164_NullableDefaultDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id168_NullableDefaultDTO && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@NullableDTOWithDefault = Read5_NullableOfDateTimeOffset(true);
paramsRead[4] = true;
break;
@@ -8365,7 +8690,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id165_TimeSpanProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id169_TimeSpanProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
if (Reader.IsEmptyElement) {
Reader.Skip();
@@ -8420,7 +8745,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id165_TimeSpanProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id169_TimeSpanProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -8436,7 +8761,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id166_TimeSpanProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id170_TimeSpanProperty2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -8494,7 +8819,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id167_ByteProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id171_ByteProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@ByteProperty = System.Xml.XmlConvert.ToByte(Reader.ReadElementString());
}
@@ -8594,21 +8919,21 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id168_Age && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id172_Age && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Age = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id169_Breed && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id173_Breed && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Breed = Read12_DogBreed(Reader.ReadElementString());
}
@@ -8659,14 +8984,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id168_Age && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id172_Age && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Age = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -8715,7 +9040,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id170_LicenseNumber && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id174_LicenseNumber && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@LicenseNumber = Reader.ReadElementString();
}
@@ -8764,14 +9089,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id171_GroupName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id175_GroupName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@GroupName = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id172_GroupVehicle && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id176_GroupVehicle && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@GroupVehicle = Read14_Vehicle(false, true);
paramsRead[1] = true;
break;
@@ -8818,7 +9143,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id173_EmployeeName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id177_EmployeeName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@EmployeeName = Reader.ReadElementString();
}
@@ -8867,14 +9192,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Value = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id174_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id178_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@value = Reader.ReadElementString();
}
@@ -8925,14 +9250,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Value = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id174_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id178_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@value = Reader.ReadElementString();
}
@@ -8967,7 +9292,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::Address();
System.Span paramsRead = stackalloc bool[5];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Name = Reader.Value;
paramsRead[0] = true;
}
@@ -8985,28 +9310,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id175_Line1 && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id179_Line1 && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@Line1 = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id176_City && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id180_City && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@City = Reader.ReadElementString();
}
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id177_State && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id181_State && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@State = Reader.ReadElementString();
}
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id178_Zip && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id182_Zip && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@Zip = Reader.ReadElementString();
}
@@ -9057,19 +9382,19 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id179_ShipTo && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id183_ShipTo && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
o.@ShipTo = Read19_Address(false, true);
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id180_OrderDate && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id184_OrderDate && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@OrderDate = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (((object) Reader.LocalName == (object)id181_Items && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (((object) Reader.LocalName == (object)id185_Items && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
if (!ReadNull()) {
global::OrderedItem[] a_2_0 = null;
int ca_2_0 = 0;
@@ -9100,21 +9425,21 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id182_SubTotal && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id186_SubTotal && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@SubTotal = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id183_ShipCost && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id187_ShipCost && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@ShipCost = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
paramsRead[4] = true;
break;
}
- if (!paramsRead[5] && ((object) Reader.LocalName == (object)id184_TotalCost && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
+ if (!paramsRead[5] && ((object) Reader.LocalName == (object)id188_TotalCost && (object) Reader.NamespaceURI == (object)id19_httpwwwcontoso1com)) {
{
o.@TotalCost = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
@@ -9149,7 +9474,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::Address();
System.Span paramsRead = stackalloc bool[5];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Name = Reader.Value;
paramsRead[0] = true;
}
@@ -9167,28 +9492,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id175_Line1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id179_Line1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Line1 = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id176_City && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id180_City && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@City = Reader.ReadElementString();
}
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id177_State && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id181_State && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@State = Reader.ReadElementString();
}
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id178_Zip && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id182_Zip && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Zip = Reader.ReadElementString();
}
@@ -9237,35 +9562,35 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id153_ItemName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id157_ItemName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@ItemName = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id154_Description && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id158_Description && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Description = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id155_UnitPrice && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id159_UnitPrice && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@UnitPrice = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id156_Quantity && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id160_Quantity && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Quantity = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id157_LineTotal && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id161_LineTotal && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@LineTotal = System.Xml.XmlConvert.ToDecimal(Reader.ReadElementString());
}
@@ -9314,7 +9639,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id185_X && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id189_X && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@Aliased) == null) o.@Aliased = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_0_0 = (global::System.Collections.Generic.List)o.@Aliased;
@@ -9327,7 +9652,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id127_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
}
@@ -9347,7 +9672,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id186_Y && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id190_Y && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@Aliased) == null) o.@Aliased = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_0_0 = (global::System.Collections.Generic.List)o.@Aliased;
@@ -9360,7 +9685,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (ReadNull()) {
a_0_0.Add(null);
}
@@ -9383,7 +9708,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id187_Z && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id191_Z && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@Aliased) == null) o.@Aliased = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_0_0 = (global::System.Collections.Generic.List)o.@Aliased;
@@ -9396,7 +9721,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id131_double && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id135_double && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0_0.Add(System.Xml.XmlConvert.ToDouble(Reader.ReadElementString()));
}
@@ -9460,7 +9785,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id188_Prop && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id192_Prop && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0.Add(ToDateTime(Reader.ReadElementString()));
}
@@ -9512,7 +9837,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id188_Prop && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id192_Prop && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0.Add(ToDateTime(Reader.ReadElementString()));
}
@@ -9562,7 +9887,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id189_Instruments && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id193_Instruments && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::Instrument[] a_0_0 = null;
int ca_0_0 = 0;
@@ -9642,7 +9967,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id190_Comment2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id194_Comment2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Comment2 = Reader.ReadElementString();
}
@@ -9691,7 +10016,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id191_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id195_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9701,7 +10026,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id192_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id196_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9711,7 +10036,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id193_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id197_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9721,7 +10046,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id194_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id198_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9773,7 +10098,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id191_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id195_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9783,7 +10108,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id192_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id196_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9793,7 +10118,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id193_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id197_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9803,7 +10128,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id194_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id198_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9855,7 +10180,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id191_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id195_DoubleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9865,7 +10190,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id192_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id196_SingleField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9875,7 +10200,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id193_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id197_DoubleProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9885,7 +10210,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id194_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id198_FloatProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -9912,7 +10237,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id124_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id128_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -9923,7 +10248,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::TypeWithMismatchBetweenAttributeAndPropertyType();
System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id195_IntValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id199_IntValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@IntValue = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[0] = true;
}
@@ -9956,7 +10281,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id123_MsgDocumentType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id38_httpexamplecom)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id127_MsgDocumentType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id38_httpexamplecom)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -9969,11 +10294,11 @@ internal System.Collections.Hashtable EnumFlagsValues {
int ca_1 = 0;
System.Span paramsRead = stackalloc bool[2];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id196_id && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id200_id && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Id = CollapseWhitespace(Reader.Value);
paramsRead[0] = true;
}
- else if (((object) Reader.LocalName == (object)id197_refs && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ else if (((object) Reader.LocalName == (object)id201_refs && (object) Reader.NamespaceURI == (object)id2_Item)) {
string listValues = Reader.Value;
string[] vals = listValues.Split(null);
for (int i = 0; i < vals.Length; i++) {
@@ -10038,7 +10363,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id198_Parameters && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id202_Parameters && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@Parameters) == null) o.@Parameters = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_0_0 = (global::System.Collections.Generic.List)o.@Parameters;
@@ -10110,7 +10435,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@Value = (global::System.Xml.Linq.XElement)ReadSerializable(( System.Xml.Serialization.IXmlSerializable)new global::System.Xml.Linq.XElement("default"), true
);
paramsRead[0] = true;
@@ -10164,7 +10489,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id199_xelement && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id203_xelement && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@xelement = (global::System.Xml.Linq.XElement)ReadSerializable(( System.Xml.Serialization.IXmlSerializable)new global::System.Xml.Linq.XElement("default"), true
);
paramsRead[0] = true;
@@ -10214,7 +10539,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id200_xelements && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id204_xelements && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::System.Xml.Linq.XElement[] a_0_0 = null;
int ca_0_0 = 0;
@@ -10227,7 +10552,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id136_XElement && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id140_XElement && (object) Reader.NamespaceURI == (object)id2_Item)) {
a_0_0 = (global::System.Xml.Linq.XElement[])EnsureArrayIndex(a_0_0, ca_0_0, typeof(global::System.Xml.Linq.XElement));a_0_0[ca_0_0++] = (global::System.Xml.Linq.XElement)ReadSerializable(( System.Xml.Serialization.IXmlSerializable)new global::System.Xml.Linq.XElement("default"), true
);
break;
@@ -10288,14 +10613,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id201_DateTimeString && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id205_DateTimeString && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DateTimeString = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id202_CurrentDateTime && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id206_CurrentDateTime && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@CurrentDateTime = ToDateTime(Reader.ReadElementString());
}
@@ -10352,7 +10677,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id203_F1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id207_F1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::SerializationTypes.SimpleType[] a_0_0 = null;
int ca_0_0 = 0;
@@ -10383,7 +10708,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (((object) Reader.LocalName == (object)id204_F2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id208_F2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::System.Int32[] a_1_0 = null;
int ca_1_0 = 0;
@@ -10396,7 +10721,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id127_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_1_0 = (global::System.Int32[])EnsureArrayIndex(a_1_0, ca_1_0, typeof(global::System.Int32));a_1_0[ca_1_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -10416,7 +10741,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (((object) Reader.LocalName == (object)id146_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id150_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::SerializationTypes.SimpleType[] a_2_0 = null;
int ca_2_0 = 0;
@@ -10447,7 +10772,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (((object) Reader.LocalName == (object)id147_P2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id151_P2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::System.Int32[] a_3_0 = null;
int ca_3_0 = 0;
@@ -10460,7 +10785,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id127_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_3_0 = (global::System.Int32[])EnsureArrayIndex(a_3_0, ca_3_0, typeof(global::System.Int32));a_3_0[ca_3_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -10532,78 +10857,37 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.StructNotSerializable Read48_StructNotSerializable(bool checkType) {
- System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
- bool isNull = false;
- if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id48_StructNotSerializable && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
- }
- else {
- throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
- }
- }
- global::SerializationTypes.StructNotSerializable o;
- try {
- o = (global::SerializationTypes.StructNotSerializable)System.Activator.CreateInstance(typeof(global::SerializationTypes.StructNotSerializable), System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.CreateInstance | System.Reflection.BindingFlags.NonPublic, null, new object[0], null);
- }
- catch (System.MissingMethodException) {
- throw CreateInaccessibleConstructorException(@"global::SerializationTypes.StructNotSerializable");
- }
- catch (System.Security.SecurityException) {
- throw CreateCtorHasSecurityException(@"global::SerializationTypes.StructNotSerializable");
- }
- System.Span paramsRead = stackalloc bool[1];
- while (Reader.MoveToNextAttribute()) {
- if (!IsXmlnsAttribute(Reader.Name)) {
- UnknownNode((object)o);
- }
- }
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip();
- return o;
- }
- Reader.ReadStartElement();
- Reader.MoveToContent();
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
- do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id174_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@value = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
- }
- paramsRead[0] = true;
- break;
- }
- UnknownNode((object)o, @":value");
- } while (false);
- }
- else {
- UnknownNode((object)o, @":value");
- }
- Reader.MoveToContent();
- }
- ReadEndElement();
- return o;
- }
-
- global::SerializationTypes.TypeWithMyCollectionField Read49_TypeWithMyCollectionField(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithArraylikeMembers Read48_TypeWithArraylikeMembers(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id49_TypeWithMyCollectionField && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id48_TypeWithArraylikeMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
if (isNull) return null;
- global::SerializationTypes.TypeWithMyCollectionField o;
- o = new global::SerializationTypes.TypeWithMyCollectionField();
- if ((object)(o.@Collection) == null) o.@Collection = new global::SerializationTypes.MyCollection();
- global::SerializationTypes.MyCollection a_0 = (global::SerializationTypes.MyCollection)o.@Collection;
- System.Span paramsRead = stackalloc bool[1];
+ global::SerializationTypes.TypeWithArraylikeMembers o;
+ o = new global::SerializationTypes.TypeWithArraylikeMembers();
+ global::System.Int32[] a_0 = null;
+ int ca_0 = 0;
+ global::System.Int32[] a_1 = null;
+ int ca_1 = 0;
+ if ((object)(o.@IntLField) == null) o.@IntLField = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_2 = (global::System.Collections.Generic.List)o.@IntLField;
+ if ((object)(o.@NIntLField) == null) o.@NIntLField = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_3 = (global::System.Collections.Generic.List)o.@NIntLField;
+ global::System.Int32[] a_4 = null;
+ int ca_4 = 0;
+ global::System.Int32[] a_5 = null;
+ int ca_5 = 0;
+ if ((object)(o.@IntLProp) == null) o.@IntLProp = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_6 = (global::System.Collections.Generic.List)o.@IntLProp;
+ if ((object)(o.@NIntLProp) == null) o.@NIntLProp = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_7 = (global::System.Collections.Generic.List)o.@NIntLProp;
+ System.Span paramsRead = stackalloc bool[8];
while (Reader.MoveToNextAttribute()) {
if (!IsXmlnsAttribute(Reader.Name)) {
UnknownNode((object)o);
@@ -10619,10 +10903,10 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id205_Collection && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id209_IntAField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
- if ((object)(o.@Collection) == null) o.@Collection = new global::SerializationTypes.MyCollection();
- global::SerializationTypes.MyCollection a_0_0 = (global::SerializationTypes.MyCollection)o.@Collection;
+ global::System.Int32[] a_0_0 = null;
+ int ca_0_0 = 0;
if ((Reader.IsEmptyElement)) {
Reader.Skip();
}
@@ -10632,75 +10916,31 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
- if (ReadNull()) {
- a_0_0.Add(null);
- }
- else {
- a_0_0.Add(Reader.ReadElementString());
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_0_0 = (global::System.Int32[])EnsureArrayIndex(a_0_0, ca_0_0, typeof(global::System.Int32));a_0_0[ca_0_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
break;
}
- UnknownNode(null, @":string");
+ UnknownNode(null, @":int");
} while (false);
}
else {
- UnknownNode(null, @":string");
+ UnknownNode(null, @":int");
}
Reader.MoveToContent();
}
ReadEndElement();
}
+ o.@IntAField = (global::System.Int32[])ShrinkArray(a_0_0, ca_0_0, typeof(global::System.Int32), false);
}
break;
}
- UnknownNode((object)o, @":Collection");
- } while (false);
- }
- else {
- UnknownNode((object)o, @":Collection");
- }
- Reader.MoveToContent();
- }
- ReadEndElement();
- return o;
- }
-
- global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty Read50_Item(bool isNullable, bool checkType) {
- System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
- bool isNull = false;
- if (isNullable) isNull = ReadNull();
- if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id50_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
- }
- else {
- throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
- }
- }
- if (isNull) return null;
- global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty o;
- o = new global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty();
- global::SerializationTypes.MyCollection a_0 = (global::SerializationTypes.MyCollection)o.@Collection;
- System.Span paramsRead = stackalloc bool[1];
- while (Reader.MoveToNextAttribute()) {
- if (!IsXmlnsAttribute(Reader.Name)) {
- UnknownNode((object)o);
- }
- }
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip();
- return o;
- }
- Reader.ReadStartElement();
- Reader.MoveToContent();
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
- do {
- if (((object) Reader.LocalName == (object)id205_Collection && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id210_NIntAField && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
- global::SerializationTypes.MyCollection a_0_0 = (global::SerializationTypes.MyCollection)o.@Collection;
- if (((object)(a_0_0) == null) || (Reader.IsEmptyElement)) {
+ global::System.Int32[] a_1_0 = null;
+ int ca_1_0 = 0;
+ if ((Reader.IsEmptyElement)) {
Reader.Skip();
}
else {
@@ -10709,101 +10949,513 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
- if (ReadNull()) {
- a_0_0.Add(null);
- }
- else {
- a_0_0.Add(Reader.ReadElementString());
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_1_0 = (global::System.Int32[])EnsureArrayIndex(a_1_0, ca_1_0, typeof(global::System.Int32));a_1_0[ca_1_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
break;
}
- UnknownNode(null, @":string");
+ UnknownNode(null, @":int");
} while (false);
}
else {
- UnknownNode(null, @":string");
+ UnknownNode(null, @":int");
}
Reader.MoveToContent();
}
ReadEndElement();
}
+ o.@NIntAField = (global::System.Int32[])ShrinkArray(a_1_0, ca_1_0, typeof(global::System.Int32), false);
}
break;
}
- UnknownNode((object)o, @":Collection");
- } while (false);
- }
- else {
- UnknownNode((object)o, @":Collection");
- }
- Reader.MoveToContent();
- }
- ReadEndElement();
- return o;
- }
-
- global::SerializationTypes.TypeWithEnumMembers Read52_TypeWithEnumMembers(bool isNullable, bool checkType) {
- System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
- bool isNull = false;
- if (isNullable) isNull = ReadNull();
- if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id54_TypeWithEnumMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
- }
- else {
- throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
- }
- }
- if (isNull) return null;
- global::SerializationTypes.TypeWithEnumMembers o;
- o = new global::SerializationTypes.TypeWithEnumMembers();
- System.Span paramsRead = stackalloc bool[2];
- while (Reader.MoveToNextAttribute()) {
- if (!IsXmlnsAttribute(Reader.Name)) {
- UnknownNode((object)o);
- }
- }
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip();
- return o;
- }
- Reader.ReadStartElement();
- Reader.MoveToContent();
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
- do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id203_F1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@F1 = Read51_MyEnum(Reader.ReadElementString());
- }
- paramsRead[0] = true;
- break;
- }
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id146_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@P1 = Read51_MyEnum(Reader.ReadElementString());
+ if (((object) Reader.LocalName == (object)id211_IntLField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ if ((object)(o.@IntLField) == null) o.@IntLField = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_2_0 = (global::System.Collections.Generic.List)o.@IntLField;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_2_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
}
- paramsRead[1] = true;
break;
}
- UnknownNode((object)o, @":F1, :P1");
- } while (false);
- }
- else {
- UnknownNode((object)o, @":F1, :P1");
- }
- Reader.MoveToContent();
- }
- ReadEndElement();
+ if (((object) Reader.LocalName == (object)id212_NIntLField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ if ((object)(o.@NIntLField) == null) o.@NIntLField = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_3_0 = (global::System.Collections.Generic.List)o.@NIntLField;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_3_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ }
+ else {
+ if ((object)(o.@NIntLField) == null) o.@NIntLField = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_3_0 = (global::System.Collections.Generic.List)o.@NIntLField;
+ }
+ break;
+ }
+ if (((object) Reader.LocalName == (object)id213_IntAProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ global::System.Int32[] a_4_0 = null;
+ int ca_4_0 = 0;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_4_0 = (global::System.Int32[])EnsureArrayIndex(a_4_0, ca_4_0, typeof(global::System.Int32));a_4_0[ca_4_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ o.@IntAProp = (global::System.Int32[])ShrinkArray(a_4_0, ca_4_0, typeof(global::System.Int32), false);
+ }
+ break;
+ }
+ if (((object) Reader.LocalName == (object)id214_NIntAProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ global::System.Int32[] a_5_0 = null;
+ int ca_5_0 = 0;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_5_0 = (global::System.Int32[])EnsureArrayIndex(a_5_0, ca_5_0, typeof(global::System.Int32));a_5_0[ca_5_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ o.@NIntAProp = (global::System.Int32[])ShrinkArray(a_5_0, ca_5_0, typeof(global::System.Int32), false);
+ }
+ else {
+ global::System.Int32[] a_5_0 = null;
+ int ca_5_0 = 0;
+ o.@NIntAProp = (global::System.Int32[])ShrinkArray(a_5_0, ca_5_0, typeof(global::System.Int32), true);
+ }
+ break;
+ }
+ if (((object) Reader.LocalName == (object)id215_IntLProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ if ((object)(o.@IntLProp) == null) o.@IntLProp = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_6_0 = (global::System.Collections.Generic.List)o.@IntLProp;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_6_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ }
+ break;
+ }
+ if (((object) Reader.LocalName == (object)id216_NIntLProp && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ if ((object)(o.@NIntLProp) == null) o.@NIntLProp = new global::System.Collections.Generic.List();
+ global::System.Collections.Generic.List a_7_0 = (global::System.Collections.Generic.List)o.@NIntLProp;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_7_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
+ }
+ break;
+ }
+ UnknownNode(null, @":int");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":int");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ }
+ break;
+ }
+ UnknownNode((object)o, @":IntAField, :NIntAField, :IntLField, :NIntLField, :IntAProp, :NIntAProp, :IntLProp, :NIntLProp");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":IntAField, :NIntAField, :IntLField, :NIntLField, :IntAProp, :NIntAProp, :IntLProp, :NIntLProp");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.StructNotSerializable Read49_StructNotSerializable(bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id49_StructNotSerializable && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ global::SerializationTypes.StructNotSerializable o;
+ try {
+ o = (global::SerializationTypes.StructNotSerializable)System.Activator.CreateInstance(typeof(global::SerializationTypes.StructNotSerializable), System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.CreateInstance | System.Reflection.BindingFlags.NonPublic, null, new object[0], null);
+ }
+ catch (System.MissingMethodException) {
+ throw CreateInaccessibleConstructorException(@"global::SerializationTypes.StructNotSerializable");
+ }
+ catch (System.Security.SecurityException) {
+ throw CreateCtorHasSecurityException(@"global::SerializationTypes.StructNotSerializable");
+ }
+ System.Span paramsRead = stackalloc bool[1];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id178_value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@value = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
+ }
+ paramsRead[0] = true;
+ break;
+ }
+ UnknownNode((object)o, @":value");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":value");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.TypeWithMyCollectionField Read50_TypeWithMyCollectionField(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id50_TypeWithMyCollectionField && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.TypeWithMyCollectionField o;
+ o = new global::SerializationTypes.TypeWithMyCollectionField();
+ if ((object)(o.@Collection) == null) o.@Collection = new global::SerializationTypes.MyCollection();
+ global::SerializationTypes.MyCollection a_0 = (global::SerializationTypes.MyCollection)o.@Collection;
+ System.Span paramsRead = stackalloc bool[1];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id217_Collection && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ if ((object)(o.@Collection) == null) o.@Collection = new global::SerializationTypes.MyCollection();
+ global::SerializationTypes.MyCollection a_0_0 = (global::SerializationTypes.MyCollection)o.@Collection;
+ if ((Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (ReadNull()) {
+ a_0_0.Add(null);
+ }
+ else {
+ a_0_0.Add(Reader.ReadElementString());
+ }
+ break;
+ }
+ UnknownNode(null, @":string");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":string");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ }
+ break;
+ }
+ UnknownNode((object)o, @":Collection");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":Collection");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty Read51_Item(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id51_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty o;
+ o = new global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty();
+ global::SerializationTypes.MyCollection a_0 = (global::SerializationTypes.MyCollection)o.@Collection;
+ System.Span paramsRead = stackalloc bool[1];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id217_Collection && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!ReadNull()) {
+ global::SerializationTypes.MyCollection a_0_0 = (global::SerializationTypes.MyCollection)o.@Collection;
+ if (((object)(a_0_0) == null) || (Reader.IsEmptyElement)) {
+ Reader.Skip();
+ }
+ else {
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (ReadNull()) {
+ a_0_0.Add(null);
+ }
+ else {
+ a_0_0.Add(Reader.ReadElementString());
+ }
+ break;
+ }
+ UnknownNode(null, @":string");
+ } while (false);
+ }
+ else {
+ UnknownNode(null, @":string");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ }
+ }
+ break;
+ }
+ UnknownNode((object)o, @":Collection");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":Collection");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.TypeWithEnumMembers Read53_TypeWithEnumMembers(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id55_TypeWithEnumMembers && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.TypeWithEnumMembers o;
+ o = new global::SerializationTypes.TypeWithEnumMembers();
+ System.Span paramsRead = stackalloc bool[2];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id207_F1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@F1 = Read52_MyEnum(Reader.ReadElementString());
+ }
+ paramsRead[0] = true;
+ break;
+ }
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id150_P1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@P1 = Read52_MyEnum(Reader.ReadElementString());
+ }
+ paramsRead[1] = true;
+ break;
+ }
+ UnknownNode((object)o, @":F1, :P1");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":F1, :P1");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
return o;
}
- global::SerializationTypes.DCStruct Read53_DCStruct(bool checkType) {
+ global::SerializationTypes.DCStruct Read54_DCStruct(bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id55_DCStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id56_DCStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -10835,7 +11487,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id206_Data && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id218_Data && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Data = Reader.ReadElementString();
}
@@ -10854,12 +11506,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.DCClassWithEnumAndStruct Read54_DCClassWithEnumAndStruct(bool isNullable, bool checkType) {
+ global::SerializationTypes.DCClassWithEnumAndStruct Read55_DCClassWithEnumAndStruct(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id56_DCClassWithEnumAndStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id57_DCClassWithEnumAndStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -10884,14 +11536,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id207_MyStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@MyStruct = Read53_DCStruct(true);
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id219_MyStruct && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@MyStruct = Read54_DCStruct(true);
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id208_MyEnum1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id220_MyEnum1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o.@MyEnum1 = Read51_MyEnum(Reader.ReadElementString());
+ o.@MyEnum1 = Read52_MyEnum(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
@@ -10908,12 +11560,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.BuiltInTypes Read55_BuiltInTypes(bool isNullable, bool checkType) {
+ global::SerializationTypes.BuiltInTypes Read56_BuiltInTypes(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id57_BuiltInTypes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id58_BuiltInTypes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -10938,7 +11590,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id209_ByteArray && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id221_ByteArray && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@ByteArray = ToByteArrayBase64(false);
}
@@ -10957,12 +11609,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeB Read57_TypeB(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeB Read58_TypeB(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id59_TypeB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id60_TypeB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -10987,7 +11639,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -11006,12 +11658,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeHasArrayOfASerializedAsB Read58_TypeHasArrayOfASerializedAsB(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeHasArrayOfASerializedAsB Read59_TypeHasArrayOfASerializedAsB(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id60_TypeHasArrayOfASerializedAsB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id61_TypeHasArrayOfASerializedAsB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11038,7 +11690,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id181_Items && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id185_Items && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::SerializationTypes.TypeA[] a_0_0 = null;
int ca_0_0 = 0;
@@ -11051,8 +11703,8 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id58_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
- a_0_0 = (global::SerializationTypes.TypeA[])EnsureArrayIndex(a_0_0, ca_0_0, typeof(global::SerializationTypes.TypeA));a_0_0[ca_0_0++] = Read56_TypeA(true, true);
+ if (((object) Reader.LocalName == (object)id59_TypeA && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ a_0_0 = (global::SerializationTypes.TypeA[])EnsureArrayIndex(a_0_0, ca_0_0, typeof(global::SerializationTypes.TypeA));a_0_0[ca_0_0++] = Read57_TypeA(true, true);
break;
}
UnknownNode(null, @":TypeA");
@@ -11081,12 +11733,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ Read59_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.@__TypeNameWithSpecialCharacters漢ñ Read60_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id61_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id62_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11111,7 +11763,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id210_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id222_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@PropertyNameWithSpecialCharacters漢ñ = Reader.ReadElementString();
}
@@ -11130,12 +11782,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.DerivedClassWithSameProperty2 Read62_DerivedClassWithSameProperty2(bool isNullable, bool checkType) {
+ global::SerializationTypes.DerivedClassWithSameProperty2 Read63_DerivedClassWithSameProperty2(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11162,28 +11814,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id211_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id223_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringProperty = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id212_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id224_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IntProperty = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id213_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id225_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DateTimeProperty = ToDateTime(Reader.ReadElementString());
}
paramsRead[2] = true;
break;
}
- if (((object) Reader.LocalName == (object)id214_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id226_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@ListProperty) == null) o.@ListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_3_0 = (global::System.Collections.Generic.List)o.@ListProperty;
@@ -11196,7 +11848,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (ReadNull()) {
a_3_0.Add(null);
}
@@ -11230,16 +11882,16 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.DerivedClassWithSameProperty Read61_DerivedClassWithSameProperty(bool isNullable, bool checkType) {
+ global::SerializationTypes.DerivedClassWithSameProperty Read62_DerivedClassWithSameProperty(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id63_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read62_DerivedClassWithSameProperty2(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read63_DerivedClassWithSameProperty2(isNullable, false);
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
@@ -11264,28 +11916,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id211_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id223_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringProperty = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id212_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id224_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IntProperty = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id213_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id225_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DateTimeProperty = ToDateTime(Reader.ReadElementString());
}
paramsRead[2] = true;
break;
}
- if (((object) Reader.LocalName == (object)id214_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id226_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@ListProperty) == null) o.@ListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_3_0 = (global::System.Collections.Generic.List)o.@ListProperty;
@@ -11298,7 +11950,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (ReadNull()) {
a_3_0.Add(null);
}
@@ -11332,18 +11984,18 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.BaseClassWithSamePropertyName Read60_BaseClassWithSamePropertyName(bool isNullable, bool checkType) {
+ global::SerializationTypes.BaseClassWithSamePropertyName Read61_BaseClassWithSamePropertyName(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id62_BaseClassWithSamePropertyName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id63_BaseClassWithSamePropertyName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id63_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read61_DerivedClassWithSameProperty(isNullable, false);
- if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
- return Read62_DerivedClassWithSameProperty2(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id64_DerivedClassWithSameProperty && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read62_DerivedClassWithSameProperty(isNullable, false);
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_DerivedClassWithSameProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read63_DerivedClassWithSameProperty2(isNullable, false);
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
@@ -11368,28 +12020,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id211_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id223_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringProperty = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id212_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id224_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IntProperty = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id213_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id225_DateTimeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DateTimeProperty = ToDateTime(Reader.ReadElementString());
}
paramsRead[2] = true;
break;
}
- if (((object) Reader.LocalName == (object)id214_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id226_ListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@ListProperty) == null) o.@ListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_3_0 = (global::System.Collections.Generic.List)o.@ListProperty;
@@ -11402,7 +12054,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (ReadNull()) {
a_3_0.Add(null);
}
@@ -11436,12 +12088,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime Read63_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithDateTimePropertyAsXmlTime Read64_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id65_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id66_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11483,12 +12135,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithByteArrayAsXmlText Read64_TypeWithByteArrayAsXmlText(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithByteArrayAsXmlText Read65_TypeWithByteArrayAsXmlText(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id66_TypeWithByteArrayAsXmlText && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id67_TypeWithByteArrayAsXmlText && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11530,12 +12182,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.SimpleDC Read65_SimpleDC(bool isNullable, bool checkType) {
+ global::SerializationTypes.SimpleDC Read66_SimpleDC(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id67_SimpleDC && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id68_SimpleDC && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11560,7 +12212,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id206_Data && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id218_Data && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Data = Reader.ReadElementString();
}
@@ -11579,12 +12231,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithXmlTextAttributeOnArray Read66_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithXmlTextAttributeOnArray Read67_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id68_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id69_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id69_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id70_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11630,12 +12282,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.ClassImplementsInterface Read68_ClassImplementsInterface(bool isNullable, bool checkType) {
+ global::SerializationTypes.ClassImplementsInterface Read69_ClassImplementsInterface(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id71_ClassImplementsInterface && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id72_ClassImplementsInterface && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11660,28 +12312,28 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id215_ClassID && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id227_ClassID && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@ClassID = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id216_DisplayName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id228_DisplayName && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DisplayName = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id217_Id && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id229_Id && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Id = Reader.ReadElementString();
}
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id218_IsLoaded && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id230_IsLoaded && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IsLoaded = System.Xml.XmlConvert.ToBoolean(Reader.ReadElementString());
}
@@ -11700,11 +12352,11 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.SomeStruct Read69_SomeStruct(bool checkType) {
+ global::SerializationTypes.SomeStruct Read70_SomeStruct(bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id73_SomeStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id74_SomeStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11736,14 +12388,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id117_A && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id121_A && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@A = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id118_B && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id122_B && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@B = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -11762,12 +12414,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.WithStruct Read70_WithStruct(bool isNullable, bool checkType) {
+ global::SerializationTypes.WithStruct Read71_WithStruct(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id72_WithStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id73_WithStruct && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11792,8 +12444,8 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id219_Some && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Some = Read69_SomeStruct(true);
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id231_Some && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Some = Read70_SomeStruct(true);
paramsRead[0] = true;
break;
}
@@ -11809,12 +12461,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.WithEnums Read73_WithEnums(bool isNullable, bool checkType) {
+ global::SerializationTypes.WithEnums Read74_WithEnums(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id74_WithEnums && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id75_WithEnums && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11839,16 +12491,16 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id220_Int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id232_Int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o.@Int = Read71_IntEnum(Reader.ReadElementString());
+ o.@Int = Read72_IntEnum(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id221_Short && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id233_Short && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o.@Short = Read72_ShortEnum(Reader.ReadElementString());
+ o.@Short = Read73_ShortEnum(Reader.ReadElementString());
}
paramsRead[1] = true;
break;
@@ -11865,12 +12517,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.WithNullables Read77_WithNullables(bool isNullable, bool checkType) {
+ global::SerializationTypes.WithNullables Read78_WithNullables(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id75_WithNullables && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id76_WithNullables && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11895,33 +12547,33 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id222_Optional && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Optional = Read74_NullableOfIntEnum(true);
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id234_Optional && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Optional = Read75_NullableOfIntEnum(true);
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id223_Optionull && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Optionull = Read74_NullableOfIntEnum(true);
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id235_Optionull && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Optionull = Read75_NullableOfIntEnum(true);
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id224_OptionalInt && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@OptionalInt = Read75_NullableOfInt32(true);
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id236_OptionalInt && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@OptionalInt = Read76_NullableOfInt32(true);
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id225_OptionullInt && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@OptionullInt = Read75_NullableOfInt32(true);
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id237_OptionullInt && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@OptionullInt = Read76_NullableOfInt32(true);
paramsRead[3] = true;
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id226_Struct1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Struct1 = Read76_NullableOfSomeStruct(true);
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id238_Struct1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Struct1 = Read77_NullableOfSomeStruct(true);
paramsRead[4] = true;
break;
}
- if (!paramsRead[5] && ((object) Reader.LocalName == (object)id227_Struct2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Struct2 = Read76_NullableOfSomeStruct(true);
+ if (!paramsRead[5] && ((object) Reader.LocalName == (object)id239_Struct2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Struct2 = Read77_NullableOfSomeStruct(true);
paramsRead[5] = true;
break;
}
@@ -11937,15 +12589,15 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::System.Nullable Read76_NullableOfSomeStruct(bool checkType) {
+ global::System.Nullable Read77_NullableOfSomeStruct(bool checkType) {
global::System.Nullable o = default(global::System.Nullable);
if (ReadNull())
return o;
- o = Read69_SomeStruct(true);
+ o = Read70_SomeStruct(true);
return o;
}
- global::System.Nullable Read75_NullableOfInt32(bool checkType) {
+ global::System.Nullable Read76_NullableOfInt32(bool checkType) {
global::System.Nullable o = default(global::System.Nullable);
if (ReadNull())
return o;
@@ -11955,22 +12607,22 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::System.Nullable Read74_NullableOfIntEnum(bool checkType) {
+ global::System.Nullable Read75_NullableOfIntEnum(bool checkType) {
global::System.Nullable o = default(global::System.Nullable);
if (ReadNull())
return o;
{
- o = Read71_IntEnum(Reader.ReadElementString());
+ o = Read72_IntEnum(Reader.ReadElementString());
}
return o;
}
- global::SerializationTypes.XmlSerializerAttributes Read84_XmlSerializerAttributes(bool isNullable, bool checkType) {
+ global::SerializationTypes.XmlSerializerAttributes Read85_XmlSerializerAttributes(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id121_XmlSerializerAttributes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id125_XmlSerializerAttributes && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -11985,7 +12637,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
int ca_7 = 0;
System.Span paramsRead = stackalloc bool[8];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[6] && ((object) Reader.LocalName == (object)id228_XmlAttributeName && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[6] && ((object) Reader.LocalName == (object)id240_XmlAttributeName && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@XmlAttributeProperty = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[6] = true;
}
@@ -12004,7 +12656,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
string tmp = null;
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id229_Word && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id241_Word && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@MyChoice = Reader.ReadElementString();
}
@@ -12012,7 +12664,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id230_Number && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id242_Number && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@MyChoice = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -12020,7 +12672,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id231_DecimalNumber && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id243_DecimalNumber && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@MyChoice = System.Xml.XmlConvert.ToDouble(Reader.ReadElementString());
}
@@ -12028,12 +12680,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id232_XmlIncludeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id244_XmlIncludeProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@XmlIncludeProperty = Read1_Object(false, true);
paramsRead[1] = true;
break;
}
- if (((object) Reader.LocalName == (object)id233_XmlEnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id245_XmlEnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::SerializationTypes.ItemChoiceType[] a_2_0 = null;
int ca_2_0 = 0;
@@ -12046,9 +12698,9 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id84_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id85_ItemChoiceType && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- a_2_0 = (global::SerializationTypes.ItemChoiceType[])EnsureArrayIndex(a_2_0, ca_2_0, typeof(global::SerializationTypes.ItemChoiceType));a_2_0[ca_2_0++] = Read83_ItemChoiceType(Reader.ReadElementString());
+ a_2_0 = (global::SerializationTypes.ItemChoiceType[])EnsureArrayIndex(a_2_0, ca_2_0, typeof(global::SerializationTypes.ItemChoiceType));a_2_0[ca_2_0++] = Read84_ItemChoiceType(Reader.ReadElementString());
}
break;
}
@@ -12066,21 +12718,21 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id234_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id246_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@XmlNamespaceDeclarationsProperty = Reader.ReadElementString();
}
paramsRead[4] = true;
break;
}
- if (!paramsRead[5] && ((object) Reader.LocalName == (object)id235_XmlElementPropertyNode && (object) Reader.NamespaceURI == (object)id236_httpelement)) {
+ if (!paramsRead[5] && ((object) Reader.LocalName == (object)id247_XmlElementPropertyNode && (object) Reader.NamespaceURI == (object)id248_httpelement)) {
{
o.@XmlElementProperty = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
paramsRead[5] = true;
break;
}
- if (((object) Reader.LocalName == (object)id237_CustomXmlArrayProperty && (object) Reader.NamespaceURI == (object)id140_httpmynamespace)) {
+ if (((object) Reader.LocalName == (object)id249_CustomXmlArrayProperty && (object) Reader.NamespaceURI == (object)id144_httpmynamespace)) {
if (!ReadNull()) {
global::System.Object[] a_7_0 = null;
int ca_7_0 = 0;
@@ -12093,7 +12745,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id129_string && (object) Reader.NamespaceURI == (object)id140_httpmynamespace)) {
+ if (((object) Reader.LocalName == (object)id133_string && (object) Reader.NamespaceURI == (object)id144_httpmynamespace)) {
if (ReadNull()) {
a_7_0 = (global::System.Object[])EnsureArrayIndex(a_7_0, ca_7_0, typeof(global::System.Object));a_7_0[ca_7_0++] = null;
}
@@ -12135,12 +12787,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithAnyAttribute Read85_TypeWithAnyAttribute(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithAnyAttribute Read86_TypeWithAnyAttribute(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id85_TypeWithAnyAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id86_TypeWithAnyAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12153,7 +12805,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
int ca_2 = 0;
System.Span paramsRead = stackalloc bool[3];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id212_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id224_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@IntProperty = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[1] = true;
}
@@ -12175,7 +12827,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -12195,12 +12847,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.KnownTypesThroughConstructor Read86_KnownTypesThroughConstructor(bool isNullable, bool checkType) {
+ global::SerializationTypes.KnownTypesThroughConstructor Read87_KnownTypesThroughConstructor(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id86_KnownTypesThroughConstructor && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id87_KnownTypesThroughConstructor && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12225,12 +12877,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id238_EnumValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id250_EnumValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@EnumValue = Read1_Object(false, true);
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id239_SimpleTypeValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id251_SimpleTypeValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@SimpleTypeValue = Read1_Object(false, true);
paramsRead[1] = true;
break;
@@ -12247,12 +12899,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.SimpleKnownTypeValue Read87_SimpleKnownTypeValue(bool isNullable, bool checkType) {
+ global::SerializationTypes.SimpleKnownTypeValue Read88_SimpleKnownTypeValue(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id87_SimpleKnownTypeValue && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id88_SimpleKnownTypeValue && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12277,7 +12929,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id240_StrProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id252_StrProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StrProperty = Reader.ReadElementString();
}
@@ -12296,12 +12948,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithPropertyNameSpecified Read88_TypeWithPropertyNameSpecified(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithPropertyNameSpecified Read89_TypeWithPropertyNameSpecified(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id89_TypeWithPropertyNameSpecified && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id90_TypeWithPropertyNameSpecified && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12326,7 +12978,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id241_MyField && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id253_MyField && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@MyFieldSpecified = true;
{
o.@MyField = Reader.ReadElementString();
@@ -12334,7 +12986,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id242_MyFieldIgnored && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id254_MyFieldIgnored && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@MyFieldIgnoredSpecified = true;
{
o.@MyFieldIgnored = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
@@ -12354,12 +13006,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithXmlSchemaFormAttribute Read89_TypeWithXmlSchemaFormAttribute(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithXmlSchemaFormAttribute Read90_TypeWithXmlSchemaFormAttribute(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id90_TypeWithXmlSchemaFormAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id91_TypeWithXmlSchemaFormAttribute && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12390,7 +13042,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id243_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id255_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@UnqualifiedSchemaFormListProperty) == null) o.@UnqualifiedSchemaFormListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_0_0 = (global::System.Collections.Generic.List)o.@UnqualifiedSchemaFormListProperty;
@@ -12403,7 +13055,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id127_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id131_int && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0_0.Add(System.Xml.XmlConvert.ToInt32(Reader.ReadElementString()));
}
@@ -12422,7 +13074,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (((object) Reader.LocalName == (object)id244_NoneSchemaFormListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id256_NoneSchemaFormListProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@NoneSchemaFormListProperty) == null) o.@NoneSchemaFormListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_1_0 = (global::System.Collections.Generic.List)o.@NoneSchemaFormListProperty;
@@ -12435,7 +13087,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id142_NoneParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id146_NoneParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_1_0.Add(Reader.ReadElementString());
}
@@ -12454,7 +13106,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
}
break;
}
- if (((object) Reader.LocalName == (object)id245_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id257_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
if ((object)(o.@QualifiedSchemaFormListProperty) == null) o.@QualifiedSchemaFormListProperty = new global::System.Collections.Generic.List();
global::System.Collections.Generic.List a_2_0 = (global::System.Collections.Generic.List)o.@QualifiedSchemaFormListProperty;
@@ -12467,7 +13119,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id144_QualifiedParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id148_QualifiedParameter && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_2_0.Add(System.Xml.XmlConvert.ToBoolean(Reader.ReadElementString()));
}
@@ -12498,12 +13150,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute Read90_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute Read91_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id91_MyXmlType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id92_MyXmlType && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12514,7 +13166,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::SerializationTypes.TypeWithTypeNameInXmlTypeAttribute();
System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id246_XmlAttributeForm && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id258_XmlAttributeForm && (object) Reader.NamespaceURI == (object)id2_Item)) {
o.@XmlAttributeForm = Reader.Value;
paramsRead[0] = true;
}
@@ -12542,12 +13194,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithNonPublicDefaultConstructor Read92_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithNonPublicDefaultConstructor Read93_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id93_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id94_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12580,7 +13232,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id115_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Name = Reader.ReadElementString();
}
@@ -12599,12 +13251,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.ServerSettings Read93_ServerSettings(bool isNullable, bool checkType) {
+ global::SerializationTypes.ServerSettings Read94_ServerSettings(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id94_ServerSettings && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id95_ServerSettings && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12629,14 +13281,14 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id247_DS2Root && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id259_DS2Root && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@DS2Root = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id248_MetricConfigUrl && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id260_MetricConfigUrl && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@MetricConfigUrl = Reader.ReadElementString();
}
@@ -12655,12 +13307,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithXmlQualifiedName Read94_TypeWithXmlQualifiedName(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithXmlQualifiedName Read95_TypeWithXmlQualifiedName(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id95_TypeWithXmlQualifiedName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id96_TypeWithXmlQualifiedName && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12685,7 +13337,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Value = ReadElementQualifiedName();
}
@@ -12704,12 +13356,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWith2DArrayProperty2 Read95_TypeWith2DArrayProperty2(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWith2DArrayProperty2 Read96_TypeWith2DArrayProperty2(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id96_TypeWith2DArrayProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id97_TypeWith2DArrayProperty2 && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12736,7 +13388,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id249_TwoDArrayOfSimpleType && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id261_TwoDArrayOfSimpleType && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (!ReadNull()) {
global::SerializationTypes.SimpleType[][] a_0_0 = null;
int ca_0_0 = 0;
@@ -12806,12 +13458,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithPropertiesHavingDefaultValue Read96_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithPropertiesHavingDefaultValue Read97_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id97_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id98_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12836,21 +13488,21 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id250_EmptyStringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id262_EmptyStringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@EmptyStringProperty = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id211_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id223_StringProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringProperty = Reader.ReadElementString();
}
paramsRead[1] = true;
break;
}
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id212_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id224_IntProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -12860,7 +13512,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
paramsRead[2] = true;
break;
}
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id251_CharProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id263_CharProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
@@ -12882,12 +13534,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue Read97_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithEnumPropertyHavingDefaultValue Read98_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id98_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id99_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12912,12 +13564,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id252_EnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id264_EnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
else {
- o.@EnumProperty = Read71_IntEnum(Reader.ReadElementString());
+ o.@EnumProperty = Read72_IntEnum(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
@@ -12934,12 +13586,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue Read98_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue Read99_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id99_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id100_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -12964,12 +13616,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id252_EnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id264_EnumProperty && (object) Reader.NamespaceURI == (object)id2_Item)) {
if (Reader.IsEmptyElement) {
Reader.Skip();
}
else {
- o.@EnumProperty = Read67_EnumFlags(Reader.ReadElementString());
+ o.@EnumProperty = Read68_EnumFlags(Reader.ReadElementString());
}
paramsRead[0] = true;
break;
@@ -12986,12 +13638,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithShouldSerializeMethod Read99_TypeWithShouldSerializeMethod(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithShouldSerializeMethod Read100_TypeWithShouldSerializeMethod(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id100_TypeWithShouldSerializeMethod && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id101_TypeWithShouldSerializeMethod && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -13016,7 +13668,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id253_Foo && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id265_Foo && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@Foo = Reader.ReadElementString();
}
@@ -13035,21 +13687,229 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties Read100_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties Read101_Item(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id102_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties o;
+ o = new global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties();
+ System.Span paramsRead = stackalloc bool[2];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id266_StringArrayValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@StringArrayValue = Read1_Object(false, true);
+ paramsRead[0] = true;
+ break;
+ }
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id267_IntArrayValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@IntArrayValue = Read1_Object(false, true);
+ paramsRead[1] = true;
+ break;
+ }
+ UnknownNode((object)o, @":StringArrayValue, :IntArrayValue");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":StringArrayValue, :IntArrayValue");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.KnownTypesThroughConstructorWithValue Read102_Item(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id103_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.KnownTypesThroughConstructorWithValue o;
+ o = new global::SerializationTypes.KnownTypesThroughConstructorWithValue();
+ System.Span paramsRead = stackalloc bool[1];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id152_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ o.@Value = Read1_Object(false, true);
+ paramsRead[0] = true;
+ break;
+ }
+ UnknownNode((object)o, @":Value");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":Value");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.TypeWithTypesHavingCustomFormatter Read103_Item(bool isNullable, bool checkType) {
+ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
+ bool isNull = false;
+ if (isNullable) isNull = ReadNull();
+ if (checkType) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id104_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ }
+ else {
+ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
+ }
+ }
+ if (isNull) return null;
+ global::SerializationTypes.TypeWithTypesHavingCustomFormatter o;
+ o = new global::SerializationTypes.TypeWithTypesHavingCustomFormatter();
+ System.Span paramsRead = stackalloc bool[9];
+ while (Reader.MoveToNextAttribute()) {
+ if (!IsXmlnsAttribute(Reader.Name)) {
+ UnknownNode((object)o);
+ }
+ }
+ Reader.MoveToElement();
+ if (Reader.IsEmptyElement) {
+ Reader.Skip();
+ return o;
+ }
+ Reader.ReadStartElement();
+ Reader.MoveToContent();
+ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
+ if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
+ do {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id268_DateTimeContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@DateTimeContent = ToDateTime(Reader.ReadElementString());
+ }
+ paramsRead[0] = true;
+ break;
+ }
+ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id269_QNameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@QNameContent = ReadElementQualifiedName();
+ }
+ paramsRead[1] = true;
+ break;
+ }
+ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id270_DateContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@DateContent = ToDate(Reader.ReadElementString());
+ }
+ paramsRead[2] = true;
+ break;
+ }
+ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id271_NameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@NameContent = ToXmlName(Reader.ReadElementString());
+ }
+ paramsRead[3] = true;
+ break;
+ }
+ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id272_NCNameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@NCNameContent = ToXmlNCName(Reader.ReadElementString());
+ }
+ paramsRead[4] = true;
+ break;
+ }
+ if (!paramsRead[5] && ((object) Reader.LocalName == (object)id273_NMTOKENContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@NMTOKENContent = ToXmlNmToken(Reader.ReadElementString());
+ }
+ paramsRead[5] = true;
+ break;
+ }
+ if (!paramsRead[6] && ((object) Reader.LocalName == (object)id274_NMTOKENSContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@NMTOKENSContent = ToXmlNmTokens(Reader.ReadElementString());
+ }
+ paramsRead[6] = true;
+ break;
+ }
+ if (!paramsRead[7] && ((object) Reader.LocalName == (object)id275_Base64BinaryContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@Base64BinaryContent = ToByteArrayBase64(false);
+ }
+ paramsRead[7] = true;
+ break;
+ }
+ if (!paramsRead[8] && ((object) Reader.LocalName == (object)id276_HexBinaryContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@HexBinaryContent = ToByteArrayHex(false);
+ }
+ paramsRead[8] = true;
+ break;
+ }
+ UnknownNode((object)o, @":DateTimeContent, :QNameContent, :DateContent, :NameContent, :NCNameContent, :NMTOKENContent, :NMTOKENSContent, :Base64BinaryContent, :HexBinaryContent");
+ } while (false);
+ }
+ else {
+ UnknownNode((object)o, @":DateTimeContent, :QNameContent, :DateContent, :NameContent, :NCNameContent, :NMTOKENContent, :NMTOKENSContent, :Base64BinaryContent, :HexBinaryContent");
+ }
+ Reader.MoveToContent();
+ }
+ ReadEndElement();
+ return o;
+ }
+
+ global::SerializationTypes.TypeWithArrayPropertyHavingChoice Read105_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id101_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id105_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
if (isNull) return null;
- global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties o;
- o = new global::SerializationTypes.KnownTypesThroughConstructorWithArrayProperties();
- System.Span paramsRead = stackalloc bool[2];
+ global::SerializationTypes.TypeWithArrayPropertyHavingChoice o;
+ o = new global::SerializationTypes.TypeWithArrayPropertyHavingChoice();
+ global::System.Object[] a_0 = null;
+ int ca_0 = 0;
+ global::SerializationTypes.MoreChoices[] choice_a_0 = null;
+ int cchoice_a_0 = 0;
+ System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
if (!IsXmlnsAttribute(Reader.Name)) {
UnknownNode((object)o);
@@ -13058,6 +13918,8 @@ internal System.Collections.Hashtable EnumFlagsValues {
Reader.MoveToElement();
if (Reader.IsEmptyElement) {
Reader.Skip();
+ o.@ManyChoices = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true);
+ o.@ChoiceArray = (global::SerializationTypes.MoreChoices[])ShrinkArray(choice_a_0, cchoice_a_0, typeof(global::SerializationTypes.MoreChoices), true);
return o;
}
Reader.ReadStartElement();
@@ -13065,42 +13927,48 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id254_StringArrayValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@StringArrayValue = Read1_Object(false, true);
- paramsRead[0] = true;
+ if (((object) Reader.LocalName == (object)id277_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Reader.ReadElementString();
+ }
+ choice_a_0 = (global::SerializationTypes.MoreChoices[])EnsureArrayIndex(choice_a_0, cchoice_a_0, typeof(global::SerializationTypes.MoreChoices));choice_a_0[cchoice_a_0++] = global::SerializationTypes.MoreChoices.@Item;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id255_IntArrayValue && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@IntArrayValue = Read1_Object(false, true);
- paramsRead[1] = true;
+ if (((object) Reader.LocalName == (object)id278_Amount && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
+ }
+ choice_a_0 = (global::SerializationTypes.MoreChoices[])EnsureArrayIndex(choice_a_0, cchoice_a_0, typeof(global::SerializationTypes.MoreChoices));choice_a_0[cchoice_a_0++] = global::SerializationTypes.MoreChoices.@Amount;
break;
}
- UnknownNode((object)o, @":StringArrayValue, :IntArrayValue");
+ UnknownNode((object)o, @":Item, :Amount");
} while (false);
}
else {
- UnknownNode((object)o, @":StringArrayValue, :IntArrayValue");
+ UnknownNode((object)o, @":Item, :Amount");
}
Reader.MoveToContent();
}
+ o.@ManyChoices = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true);
+ o.@ChoiceArray = (global::SerializationTypes.MoreChoices[])ShrinkArray(choice_a_0, cchoice_a_0, typeof(global::SerializationTypes.MoreChoices), true);
ReadEndElement();
return o;
}
- global::SerializationTypes.KnownTypesThroughConstructorWithValue Read101_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.ComplexChoiceB Read106_ComplexChoiceB(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id102_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id109_ComplexChoiceB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
if (isNull) return null;
- global::SerializationTypes.KnownTypesThroughConstructorWithValue o;
- o = new global::SerializationTypes.KnownTypesThroughConstructorWithValue();
+ global::SerializationTypes.ComplexChoiceB o;
+ o = new global::SerializationTypes.ComplexChoiceB();
System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
if (!IsXmlnsAttribute(Reader.Name)) {
@@ -13117,16 +13985,18 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id148_Value && (object) Reader.NamespaceURI == (object)id2_Item)) {
- o.@Value = Read1_Object(false, true);
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ {
+ o.@Name = Reader.ReadElementString();
+ }
paramsRead[0] = true;
break;
}
- UnknownNode((object)o, @":Value");
+ UnknownNode((object)o, @":Name");
} while (false);
}
else {
- UnknownNode((object)o, @":Value");
+ UnknownNode((object)o, @":Name");
}
Reader.MoveToContent();
}
@@ -13134,21 +14004,23 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithTypesHavingCustomFormatter Read102_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.ComplexChoiceA Read107_ComplexChoiceA(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id103_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id108_ComplexChoiceA && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
+ if (((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id109_ComplexChoiceB && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
+ return Read106_ComplexChoiceB(isNullable, false);
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
if (isNull) return null;
- global::SerializationTypes.TypeWithTypesHavingCustomFormatter o;
- o = new global::SerializationTypes.TypeWithTypesHavingCustomFormatter();
- System.Span paramsRead = stackalloc bool[9];
+ global::SerializationTypes.ComplexChoiceA o;
+ o = new global::SerializationTypes.ComplexChoiceA();
+ System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
if (!IsXmlnsAttribute(Reader.Name)) {
UnknownNode((object)o);
@@ -13164,74 +14036,18 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id256_DateTimeContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id119_Name && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
- o.@DateTimeContent = ToDateTime(Reader.ReadElementString());
+ o.@Name = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
- if (!paramsRead[1] && ((object) Reader.LocalName == (object)id257_QNameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@QNameContent = ReadElementQualifiedName();
- }
- paramsRead[1] = true;
- break;
- }
- if (!paramsRead[2] && ((object) Reader.LocalName == (object)id258_DateContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@DateContent = ToDate(Reader.ReadElementString());
- }
- paramsRead[2] = true;
- break;
- }
- if (!paramsRead[3] && ((object) Reader.LocalName == (object)id259_NameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@NameContent = ToXmlName(Reader.ReadElementString());
- }
- paramsRead[3] = true;
- break;
- }
- if (!paramsRead[4] && ((object) Reader.LocalName == (object)id260_NCNameContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@NCNameContent = ToXmlNCName(Reader.ReadElementString());
- }
- paramsRead[4] = true;
- break;
- }
- if (!paramsRead[5] && ((object) Reader.LocalName == (object)id261_NMTOKENContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@NMTOKENContent = ToXmlNmToken(Reader.ReadElementString());
- }
- paramsRead[5] = true;
- break;
- }
- if (!paramsRead[6] && ((object) Reader.LocalName == (object)id262_NMTOKENSContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@NMTOKENSContent = ToXmlNmTokens(Reader.ReadElementString());
- }
- paramsRead[6] = true;
- break;
- }
- if (!paramsRead[7] && ((object) Reader.LocalName == (object)id263_Base64BinaryContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@Base64BinaryContent = ToByteArrayBase64(false);
- }
- paramsRead[7] = true;
- break;
- }
- if (!paramsRead[8] && ((object) Reader.LocalName == (object)id264_HexBinaryContent && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- o.@HexBinaryContent = ToByteArrayHex(false);
- }
- paramsRead[8] = true;
- break;
- }
- UnknownNode((object)o, @":DateTimeContent, :QNameContent, :DateContent, :NameContent, :NCNameContent, :NMTOKENContent, :NMTOKENSContent, :Base64BinaryContent, :HexBinaryContent");
+ UnknownNode((object)o, @":Name");
} while (false);
}
else {
- UnknownNode((object)o, @":DateTimeContent, :QNameContent, :DateContent, :NameContent, :NCNameContent, :NMTOKENContent, :NMTOKENSContent, :Base64BinaryContent, :HexBinaryContent");
+ UnknownNode((object)o, @":Name");
}
Reader.MoveToContent();
}
@@ -13239,20 +14055,20 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithArrayPropertyHavingChoice Read104_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithPropertyHavingComplexChoice Read108_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id104_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id106_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
}
}
if (isNull) return null;
- global::SerializationTypes.TypeWithArrayPropertyHavingChoice o;
- o = new global::SerializationTypes.TypeWithArrayPropertyHavingChoice();
+ global::SerializationTypes.TypeWithPropertyHavingComplexChoice o;
+ o = new global::SerializationTypes.TypeWithPropertyHavingComplexChoice();
global::System.Object[] a_0 = null;
int ca_0 = 0;
global::SerializationTypes.MoreChoices[] choice_a_0 = null;
@@ -13275,14 +14091,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
do {
- if (((object) Reader.LocalName == (object)id265_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
- {
- a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Reader.ReadElementString();
- }
+ if (((object) Reader.LocalName == (object)id277_Item && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read107_ComplexChoiceA(false, true);
choice_a_0 = (global::SerializationTypes.MoreChoices[])EnsureArrayIndex(choice_a_0, cchoice_a_0, typeof(global::SerializationTypes.MoreChoices));choice_a_0[cchoice_a_0++] = global::SerializationTypes.MoreChoices.@Item;
break;
}
- if (((object) Reader.LocalName == (object)id266_Amount && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id278_Amount && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -13303,12 +14117,12 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithFieldsOrdered Read105_TypeWithFieldsOrdered(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithFieldsOrdered Read109_TypeWithFieldsOrdered(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType) {
- if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id106_TypeWithFieldsOrdered && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
+ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id110_TypeWithFieldsOrdered && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) {
}
else {
throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType);
@@ -13335,7 +14149,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
if (Reader.NodeType == System.Xml.XmlNodeType.Element) {
switch (state) {
case 0:
- if (((object) Reader.LocalName == (object)id267_IntField1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id279_IntField1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IntField1 = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -13343,7 +14157,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
state = 1;
break;
case 1:
- if (((object) Reader.LocalName == (object)id268_IntField2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id280_IntField2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@IntField2 = System.Xml.XmlConvert.ToInt32(Reader.ReadElementString());
}
@@ -13351,7 +14165,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
state = 2;
break;
case 2:
- if (((object) Reader.LocalName == (object)id269_StringField2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id281_StringField2 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringField2 = Reader.ReadElementString();
}
@@ -13359,7 +14173,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
state = 3;
break;
case 3:
- if (((object) Reader.LocalName == (object)id270_StringField1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
+ if (((object) Reader.LocalName == (object)id282_StringField1 && (object) Reader.NamespaceURI == (object)id2_Item)) {
{
o.@StringField1 = Reader.ReadElementString();
}
@@ -13380,7 +14194,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
return o;
}
- global::SerializationTypes.TypeWithSchemaFormInXmlAttribute Read91_Item(bool isNullable, bool checkType) {
+ global::SerializationTypes.TypeWithSchemaFormInXmlAttribute Read92_Item(bool isNullable, bool checkType) {
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
@@ -13396,7 +14210,7 @@ internal System.Collections.Hashtable EnumFlagsValues {
o = new global::SerializationTypes.TypeWithSchemaFormInXmlAttribute();
System.Span paramsRead = stackalloc bool[1];
while (Reader.MoveToNextAttribute()) {
- if (!paramsRead[0] && ((object) Reader.LocalName == (object)id271_TestProperty && (object) Reader.NamespaceURI == (object)id272_httptestcom)) {
+ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id283_TestProperty && (object) Reader.NamespaceURI == (object)id284_httptestcom)) {
o.@TestProperty = Reader.Value;
paramsRead[0] = true;
}
@@ -13427,552 +14241,576 @@ internal System.Collections.Hashtable EnumFlagsValues {
protected override void InitCallbacks() {
}
- string id168_Age;
- string id201_DateTimeString;
- string id194_FloatProp;
- string id33_Item;
- string id214_ListProperty;
- string id216_DisplayName;
- string id118_B;
- string id53_MyEnum;
- string id263_Base64BinaryContent;
- string id68_Item;
- string id196_id;
- string id161_DTO2;
- string id234_Item;
- string id260_NCNameContent;
- string id55_DCStruct;
- string id10_Animal;
- string id165_TimeSpanProperty;
- string id186_Y;
- string id228_XmlAttributeName;
- string id250_EmptyStringProperty;
- string id79_IntEnum;
- string id187_Z;
- string id117_A;
- string id212_IntProperty;
- string id231_DecimalNumber;
- string id66_TypeWithByteArrayAsXmlText;
- string id235_XmlElementPropertyNode;
- string id210_Item;
+ string id211_IntLField;
+ string id230_IsLoaded;
+ string id39_RootClass;
+ string id235_Optionull;
+ string id119_Name;
+ string id245_XmlEnumProperty;
+ string id263_CharProperty;
+ string id188_TotalCost;
+ string id262_EmptyStringProperty;
+ string id156_Modulation;
+ string id104_Item;
+ string id76_WithNullables;
+ string id123_Value1;
+ string id179_Line1;
+ string id228_DisplayName;
+ string id163_Base64Content;
+ string id208_F2;
+ string id149_ArrayOfArrayOfSimpleType;
+ string id171_ByteProperty;
+ string id203_xelement;
+ string id111_Item;
+ string id72_ClassImplementsInterface;
+ string id103_Item;
+ string id105_Item;
+ string id9_TypeWithXmlNodeArrayProperty;
+ string id234_Optional;
+ string id180_City;
+ string id128_Item;
+ string id250_EnumValue;
+ string id169_TimeSpanProperty;
+ string id268_DateTimeContent;
+ string id229_Id;
+ string id267_IntArrayValue;
+ string id151_P2;
+ string id73_WithStruct;
+ string id190_Y;
+ string id15_Employee;
+ string id265_Foo;
+ string id68_SimpleDC;
+ string id197_DoubleProp;
+ string id167_NullableDTO;
+ string id71_EnumFlags;
+ string id84_AttributeTesting;
+ string id11_Dog;
+ string id212_NIntLField;
+ string id74_SomeStruct;
+ string id140_XElement;
+ string id213_IntAProp;
+ string id278_Amount;
+ string id261_TwoDArrayOfSimpleType;
+ string id67_TypeWithByteArrayAsXmlText;
+ string id225_DateTimeProperty;
+ string id181_State;
+ string id232_Int;
+ string id122_B;
+ string id2_Item;
+ string id17_DerivedClass;
+ string id252_StrProperty;
+ string id196_SingleField;
+ string id281_StringField2;
+ string id247_XmlElementPropertyNode;
string id43_XElementArrayWrapper;
- string id129_string;
- string id252_EnumProperty;
+ string id260_MetricConfigUrl;
+ string id47_TypeWithGetOnlyArrayProperties;
+ string id95_ServerSettings;
+ string id88_SimpleKnownTypeValue;
+ string id284_httptestcom;
+ string id60_TypeB;
+ string id107_MoreChoices;
+ string id25_ArrayOfDateTime;
+ string id133_string;
+ string id200_id;
+ string id273_NMTOKENContent;
+ string id86_TypeWithAnyAttribute;
+ string id216_NIntLProp;
+ string id162_BinaryHexContent;
+ string id58_BuiltInTypes;
+ string id131_int;
+ string id283_TestProperty;
+ string id62_Item;
string id31_Pet;
- string id128_ArrayOfString;
- string id18_PurchaseOrder;
- string id271_TestProperty;
- string id241_MyField;
- string id170_LicenseNumber;
- string id78_ShortEnum;
- string id211_StringProperty;
- string id243_Item;
- string id207_MyStruct;
- string id21_OrderedItem;
- string id208_MyEnum1;
- string id160_DTO;
- string id169_Breed;
- string id35_RootElement;
- string id265_Item;
- string id142_NoneParameter;
- string id141_ArrayOfString1;
- string id215_ClassID;
- string id100_TypeWithShouldSerializeMethod;
- string id26_dateTime;
+ string id90_TypeWithPropertyNameSpecified;
+ string id1_TypeWithXmlElementProperty;
+ string id127_MsgDocumentType;
+ string id130_ArrayOfInt;
+ string id182_Zip;
+ string id175_GroupName;
+ string id204_xelements;
+ string id187_ShipCost;
+ string id173_Breed;
+ string id33_Item;
+ string id242_Number;
+ string id96_TypeWithXmlQualifiedName;
+ string id231_Some;
string id6_TypeWithTimeSpanProperty;
- string id162_DefaultDTO;
- string id114_LastName;
- string id105_MoreChoices;
- string id206_Data;
- string id172_GroupVehicle;
- string id192_SingleField;
- string id87_SimpleKnownTypeValue;
- string id97_Item;
- string id232_XmlIncludeProperty;
- string id99_Item;
- string id74_WithEnums;
- string id264_HexBinaryContent;
- string id37_Document;
+ string id113_TypeClashB;
+ string id59_TypeA;
+ string id274_NMTOKENSContent;
+ string id91_TypeWithXmlSchemaFormAttribute;
+ string id56_DCStruct;
+ string id178_value;
+ string id100_Item;
+ string id238_Struct1;
+ string id27_Orchestra;
+ string id155_IsValved;
+ string id8_TypeWithByteProperty;
+ string id239_Struct2;
+ string id83_ULongEnum;
+ string id53_anyType;
+ string id176_GroupVehicle;
+ string id195_DoubleField;
+ string id264_EnumProperty;
+ string id120_ContainerType;
+ string id144_httpmynamespace;
+ string id157_ItemName;
+ string id244_XmlIncludeProperty;
+ string id209_IntAField;
+ string id142_ArrayOfTypeA;
+ string id150_P1;
+ string id40_Parameter;
+ string id202_Parameters;
+ string id48_TypeWithArraylikeMembers;
+ string id77_ByteEnum;
+ string id14_Vehicle;
string id42_XElementStruct;
- string id113_MiddleName;
+ string id271_NameContent;
+ string id16_BaseClass;
+ string id226_ListProperty;
+ string id82_LongEnum;
+ string id272_NCNameContent;
+ string id138_ArrayOfParameter;
+ string id153_Child;
+ string id26_dateTime;
+ string id257_Item;
+ string id21_OrderedItem;
+ string id134_ArrayOfDouble;
+ string id75_WithEnums;
+ string id102_Item;
+ string id240_XmlAttributeName;
+ string id222_Item;
+ string id55_TypeWithEnumMembers;
+ string id20_Address;
+ string id277_Item;
+ string id112_Root;
+ string id147_ArrayOfBoolean;
+ string id165_DTO2;
string id41_XElementWrapper;
+ string id227_ClassID;
+ string id248_httpelement;
+ string id236_OptionalInt;
+ string id186_SubTotal;
+ string id246_Item;
+ string id270_DateContent;
+ string id218_Data;
+ string id3_TypeWithXmlDocumentProperty;
+ string id87_KnownTypesThroughConstructor;
+ string id141_ArrayOfSimpleType;
+ string id137_ArrayOfTypeWithLinkedProperty;
+ string id101_TypeWithShouldSerializeMethod;
+ string id201_refs;
+ string id161_LineTotal;
+ string id215_IntLProp;
+ string id109_ComplexChoiceB;
+ string id10_Animal;
+ string id280_IntField2;
+ string id174_LicenseNumber;
+ string id93_Item;
+ string id66_Item;
+ string id164_DTO;
string id44_TypeWithDateTimeStringProperty;
- string id226_Struct1;
- string id183_ShipCost;
- string id145_ArrayOfArrayOfSimpleType;
+ string id35_RootElement;
+ string id223_StringProperty;
+ string id170_TimeSpanProperty2;
string id22_AliasedTestType;
- string id32_DefaultValuesSetToNaN;
- string id167_ByteProperty;
- string id151_IsValved;
- string id34_Item;
- string id209_ByteArray;
- string id152_Modulation;
- string id111_Person;
- string id188_Prop;
- string id29_Brass;
- string id25_ArrayOfDateTime;
- string id184_TotalCost;
- string id268_IntField2;
- string id204_F2;
- string id15_Employee;
- string id195_IntValue;
- string id147_P2;
+ string id206_CurrentDateTime;
+ string id210_NIntAField;
+ string id132_ArrayOfString;
+ string id154_Children;
+ string id126_ParameterOfString;
+ string id184_OrderDate;
+ string id205_DateTimeString;
+ string id269_QNameContent;
+ string id237_OptionullInt;
+ string id241_Word;
+ string id168_NullableDefaultDTO;
+ string id172_Age;
+ string id19_httpwwwcontoso1com;
+ string id220_MyEnum1;
+ string id18_PurchaseOrder;
+ string id199_IntValue;
+ string id159_UnitPrice;
+ string id92_MyXmlType;
string id36_TypeWithLinkedProperty;
- string id136_XElement;
- string id199_xelement;
- string id50_Item;
- string id236_httpelement;
- string id112_FirstName;
- string id58_TypeA;
- string id85_TypeWithAnyAttribute;
- string id153_ItemName;
- string id48_StructNotSerializable;
- string id116_ContainerType;
- string id227_Struct2;
- string id163_NullableDTO;
- string id110_TypeClashA;
- string id11_Dog;
- string id8_TypeWithByteProperty;
- string id127_int;
- string id185_X;
- string id139_ArrayOfItemChoiceType;
- string id137_ArrayOfSimpleType;
- string id23_BaseClass1;
- string id123_MsgDocumentType;
- string id173_EmployeeName;
- string id150_Children;
- string id131_double;
- string id119_Value1;
- string id38_httpexamplecom;
- string id12_DogBreed;
- string id175_Line1;
- string id115_Name;
- string id166_TimeSpanProperty2;
- string id91_MyXmlType;
- string id248_MetricConfigUrl;
- string id5_Item;
- string id217_Id;
+ string id253_MyField;
string id98_Item;
- string id126_ArrayOfInt;
- string id237_CustomXmlArrayProperty;
- string id242_MyFieldIgnored;
- string id213_DateTimeProperty;
- string id77_SByteEnum;
- string id102_Item;
- string id156_Quantity;
- string id164_NullableDefaultDTO;
- string id17_DerivedClass;
- string id262_NMTOKENSContent;
- string id82_ULongEnum;
- string id223_Optionull;
- string id54_TypeWithEnumMembers;
- string id178_Zip;
- string id224_OptionalInt;
- string id272_httptestcom;
- string id190_Comment2;
- string id83_AttributeTesting;
- string id30_Trumpet;
- string id47_TypeWithGetOnlyArrayProperties;
- string id65_Item;
- string id51_ArrayOfAnyType;
- string id255_IntArrayValue;
- string id222_Optional;
- string id28_Instrument;
- string id253_Foo;
- string id13_Group;
+ string id69_Item;
+ string id148_QualifiedParameter;
+ string id145_ArrayOfString1;
+ string id4_TypeWithBinaryProperty;
+ string id251_SimpleTypeValue;
string id24_DerivedClass1;
- string id81_LongEnum;
- string id94_ServerSettings;
- string id62_BaseClassWithSamePropertyName;
- string id146_P1;
- string id133_ArrayOfTypeWithLinkedProperty;
- string id230_Number;
- string id239_SimpleTypeValue;
- string id89_TypeWithPropertyNameSpecified;
- string id269_StringField2;
- string id159_Base64Content;
- string id122_ParameterOfString;
- string id155_UnitPrice;
- string id233_XmlEnumProperty;
- string id134_ArrayOfParameter;
- string id174_value;
- string id246_XmlAttributeForm;
- string id198_Parameters;
- string id130_ArrayOfDouble;
- string id193_DoubleProp;
- string id101_Item;
- string id219_Some;
- string id138_ArrayOfTypeA;
- string id59_TypeB;
- string id2_Item;
- string id45_SimpleType;
- string id181_Items;
- string id154_Description;
- string id240_StrProperty;
- string id106_TypeWithFieldsOrdered;
- string id256_DateTimeContent;
- string id63_DerivedClassWithSameProperty;
- string id261_NMTOKENContent;
+ string id97_TypeWith2DArrayProperty2;
+ string id30_Trumpet;
+ string id63_BaseClassWithSamePropertyName;
+ string id217_Collection;
+ string id224_IntProperty;
+ string id185_Items;
+ string id183_ShipTo;
+ string id193_Instruments;
+ string id275_Base64BinaryContent;
+ string id80_IntEnum;
+ string id12_DogBreed;
string id7_Item;
- string id86_KnownTypesThroughConstructor;
- string id247_DS2Root;
- string id1_TypeWithXmlElementProperty;
- string id225_OptionullInt;
- string id177_State;
- string id67_SimpleDC;
- string id14_Vehicle;
- string id84_ItemChoiceType;
- string id60_TypeHasArrayOfASerializedAsB;
- string id49_TypeWithMyCollectionField;
- string id176_City;
- string id52_anyType;
- string id75_WithNullables;
- string id27_Orchestra;
- string id251_CharProperty;
- string id197_refs;
- string id19_httpwwwcontoso1com;
- string id218_IsLoaded;
- string id40_Parameter;
- string id238_EnumValue;
- string id148_Value;
- string id73_SomeStruct;
- string id92_Item;
- string id88_Item;
- string id135_ArrayOfXElement;
- string id244_NoneSchemaFormListProperty;
- string id71_ClassImplementsInterface;
- string id109_TypeClashB;
- string id140_httpmynamespace;
- string id96_TypeWith2DArrayProperty2;
- string id143_ArrayOfBoolean;
- string id103_Item;
- string id245_Item;
- string id267_IntField1;
- string id90_TypeWithXmlSchemaFormAttribute;
- string id76_ByteEnum;
- string id93_Item;
- string id202_CurrentDateTime;
- string id200_xelements;
- string id189_Instruments;
- string id171_GroupName;
- string id80_UIntEnum;
- string id16_BaseClass;
- string id72_WithStruct;
- string id205_Collection;
- string id95_TypeWithXmlQualifiedName;
- string id257_QNameContent;
- string id179_ShipTo;
- string id132_ArrayOfInstrument;
- string id57_BuiltInTypes;
- string id61_Item;
- string id158_BinaryHexContent;
- string id104_Item;
- string id124_Item;
- string id249_TwoDArrayOfSimpleType;
- string id191_DoubleField;
+ string id136_ArrayOfInstrument;
+ string id135_double;
+ string id50_TypeWithMyCollectionField;
+ string id124_Value2;
+ string id110_TypeWithFieldsOrdered;
+ string id146_NoneParameter;
+ string id37_Document;
+ string id254_MyFieldIgnored;
+ string id279_IntField1;
+ string id249_CustomXmlArrayProperty;
+ string id54_MyEnum;
+ string id207_F1;
+ string id143_ArrayOfItemChoiceType;
+ string id108_ComplexChoiceA;
+ string id94_Item;
+ string id121_A;
+ string id5_Item;
+ string id256_NoneSchemaFormListProperty;
+ string id166_DefaultDTO;
+ string id65_DerivedClassWithSameProperty2;
+ string id34_Item;
+ string id32_DefaultValuesSetToNaN;
+ string id219_MyStruct;
+ string id23_BaseClass1;
string id46_TypeWithGetSetArrayMembers;
- string id4_TypeWithBinaryProperty;
- string id221_Short;
- string id144_QualifiedParameter;
- string id149_Child;
- string id203_F1;
- string id69_Item;
- string id229_Word;
- string id3_TypeWithXmlDocumentProperty;
- string id20_Address;
- string id120_Value2;
- string id121_XmlSerializerAttributes;
- string id180_OrderDate;
- string id70_EnumFlags;
- string id266_Amount;
- string id9_TypeWithXmlNodeArrayProperty;
- string id259_NameContent;
- string id220_Int;
- string id64_DerivedClassWithSameProperty2;
- string id125_ArrayOfOrderedItem;
- string id157_LineTotal;
- string id254_StringArrayValue;
- string id107_Item;
- string id56_DCClassWithEnumAndStruct;
- string id270_StringField1;
- string id182_SubTotal;
- string id108_Root;
- string id39_RootClass;
- string id258_DateContent;
+ string id266_StringArrayValue;
+ string id160_Quantity;
+ string id78_SByteEnum;
+ string id45_SimpleType;
+ string id258_XmlAttributeForm;
+ string id118_LastName;
+ string id282_StringField1;
+ string id49_StructNotSerializable;
+ string id52_ArrayOfAnyType;
+ string id152_Value;
+ string id28_Instrument;
+ string id29_Brass;
+ string id117_MiddleName;
+ string id276_HexBinaryContent;
+ string id194_Comment2;
+ string id70_Item;
+ string id89_Item;
+ string id116_FirstName;
+ string id192_Prop;
+ string id139_ArrayOfXElement;
+ string id79_ShortEnum;
+ string id85_ItemChoiceType;
+ string id106_Item;
+ string id61_TypeHasArrayOfASerializedAsB;
+ string id255_Item;
+ string id51_Item;
+ string id99_Item;
+ string id114_TypeClashA;
+ string id259_DS2Root;
+ string id115_Person;
+ string id13_Group;
+ string id81_UIntEnum;
+ string id38_httpexamplecom;
+ string id177_EmployeeName;
+ string id129_ArrayOfOrderedItem;
+ string id221_ByteArray;
+ string id214_NIntAProp;
+ string id233_Short;
+ string id189_X;
+ string id243_DecimalNumber;
+ string id191_Z;
+ string id158_Description;
+ string id198_FloatProp;
+ string id64_DerivedClassWithSameProperty;
+ string id57_DCClassWithEnumAndStruct;
+ string id125_XmlSerializerAttributes;
protected override void InitIDs() {
- id168_Age = Reader.NameTable.Add(@"Age");
- id201_DateTimeString = Reader.NameTable.Add(@"DateTimeString");
- id194_FloatProp = Reader.NameTable.Add(@"FloatProp");
- id33_Item = Reader.NameTable.Add(@"DefaultValuesSetToPositiveInfinity");
- id214_ListProperty = Reader.NameTable.Add(@"ListProperty");
- id216_DisplayName = Reader.NameTable.Add(@"DisplayName");
- id118_B = Reader.NameTable.Add(@"B");
- id53_MyEnum = Reader.NameTable.Add(@"MyEnum");
- id263_Base64BinaryContent = Reader.NameTable.Add(@"Base64BinaryContent");
- id68_Item = Reader.NameTable.Add(@"TypeWithXmlTextAttributeOnArray");
- id196_id = Reader.NameTable.Add(@"id");
- id161_DTO2 = Reader.NameTable.Add(@"DTO2");
- id234_Item = Reader.NameTable.Add(@"XmlNamespaceDeclarationsProperty");
- id260_NCNameContent = Reader.NameTable.Add(@"NCNameContent");
- id55_DCStruct = Reader.NameTable.Add(@"DCStruct");
- id10_Animal = Reader.NameTable.Add(@"Animal");
- id165_TimeSpanProperty = Reader.NameTable.Add(@"TimeSpanProperty");
- id186_Y = Reader.NameTable.Add(@"Y");
- id228_XmlAttributeName = Reader.NameTable.Add(@"XmlAttributeName");
- id250_EmptyStringProperty = Reader.NameTable.Add(@"EmptyStringProperty");
- id79_IntEnum = Reader.NameTable.Add(@"IntEnum");
- id187_Z = Reader.NameTable.Add(@"Z");
- id117_A = Reader.NameTable.Add(@"A");
- id212_IntProperty = Reader.NameTable.Add(@"IntProperty");
- id231_DecimalNumber = Reader.NameTable.Add(@"DecimalNumber");
- id66_TypeWithByteArrayAsXmlText = Reader.NameTable.Add(@"TypeWithByteArrayAsXmlText");
- id235_XmlElementPropertyNode = Reader.NameTable.Add(@"XmlElementPropertyNode");
- id210_Item = Reader.NameTable.Add(@"PropertyNameWithSpecialCharacters漢ñ");
+ id211_IntLField = Reader.NameTable.Add(@"IntLField");
+ id230_IsLoaded = Reader.NameTable.Add(@"IsLoaded");
+ id39_RootClass = Reader.NameTable.Add(@"RootClass");
+ id235_Optionull = Reader.NameTable.Add(@"Optionull");
+ id119_Name = Reader.NameTable.Add(@"Name");
+ id245_XmlEnumProperty = Reader.NameTable.Add(@"XmlEnumProperty");
+ id263_CharProperty = Reader.NameTable.Add(@"CharProperty");
+ id188_TotalCost = Reader.NameTable.Add(@"TotalCost");
+ id262_EmptyStringProperty = Reader.NameTable.Add(@"EmptyStringProperty");
+ id156_Modulation = Reader.NameTable.Add(@"Modulation");
+ id104_Item = Reader.NameTable.Add(@"TypeWithTypesHavingCustomFormatter");
+ id76_WithNullables = Reader.NameTable.Add(@"WithNullables");
+ id123_Value1 = Reader.NameTable.Add(@"Value1");
+ id179_Line1 = Reader.NameTable.Add(@"Line1");
+ id228_DisplayName = Reader.NameTable.Add(@"DisplayName");
+ id163_Base64Content = Reader.NameTable.Add(@"Base64Content");
+ id208_F2 = Reader.NameTable.Add(@"F2");
+ id149_ArrayOfArrayOfSimpleType = Reader.NameTable.Add(@"ArrayOfArrayOfSimpleType");
+ id171_ByteProperty = Reader.NameTable.Add(@"ByteProperty");
+ id203_xelement = Reader.NameTable.Add(@"xelement");
+ id111_Item = Reader.NameTable.Add(@"TypeWithKnownTypesOfCollectionsWithConflictingXmlName");
+ id72_ClassImplementsInterface = Reader.NameTable.Add(@"ClassImplementsInterface");
+ id103_Item = Reader.NameTable.Add(@"KnownTypesThroughConstructorWithValue");
+ id105_Item = Reader.NameTable.Add(@"TypeWithArrayPropertyHavingChoice");
+ id9_TypeWithXmlNodeArrayProperty = Reader.NameTable.Add(@"TypeWithXmlNodeArrayProperty");
+ id234_Optional = Reader.NameTable.Add(@"Optional");
+ id180_City = Reader.NameTable.Add(@"City");
+ id128_Item = Reader.NameTable.Add(@"TypeWithMismatchBetweenAttributeAndPropertyType");
+ id250_EnumValue = Reader.NameTable.Add(@"EnumValue");
+ id169_TimeSpanProperty = Reader.NameTable.Add(@"TimeSpanProperty");
+ id268_DateTimeContent = Reader.NameTable.Add(@"DateTimeContent");
+ id229_Id = Reader.NameTable.Add(@"Id");
+ id267_IntArrayValue = Reader.NameTable.Add(@"IntArrayValue");
+ id151_P2 = Reader.NameTable.Add(@"P2");
+ id73_WithStruct = Reader.NameTable.Add(@"WithStruct");
+ id190_Y = Reader.NameTable.Add(@"Y");
+ id15_Employee = Reader.NameTable.Add(@"Employee");
+ id265_Foo = Reader.NameTable.Add(@"Foo");
+ id68_SimpleDC = Reader.NameTable.Add(@"SimpleDC");
+ id197_DoubleProp = Reader.NameTable.Add(@"DoubleProp");
+ id167_NullableDTO = Reader.NameTable.Add(@"NullableDTO");
+ id71_EnumFlags = Reader.NameTable.Add(@"EnumFlags");
+ id84_AttributeTesting = Reader.NameTable.Add(@"AttributeTesting");
+ id11_Dog = Reader.NameTable.Add(@"Dog");
+ id212_NIntLField = Reader.NameTable.Add(@"NIntLField");
+ id74_SomeStruct = Reader.NameTable.Add(@"SomeStruct");
+ id140_XElement = Reader.NameTable.Add(@"XElement");
+ id213_IntAProp = Reader.NameTable.Add(@"IntAProp");
+ id278_Amount = Reader.NameTable.Add(@"Amount");
+ id261_TwoDArrayOfSimpleType = Reader.NameTable.Add(@"TwoDArrayOfSimpleType");
+ id67_TypeWithByteArrayAsXmlText = Reader.NameTable.Add(@"TypeWithByteArrayAsXmlText");
+ id225_DateTimeProperty = Reader.NameTable.Add(@"DateTimeProperty");
+ id181_State = Reader.NameTable.Add(@"State");
+ id232_Int = Reader.NameTable.Add(@"Int");
+ id122_B = Reader.NameTable.Add(@"B");
+ id2_Item = Reader.NameTable.Add(@"");
+ id17_DerivedClass = Reader.NameTable.Add(@"DerivedClass");
+ id252_StrProperty = Reader.NameTable.Add(@"StrProperty");
+ id196_SingleField = Reader.NameTable.Add(@"SingleField");
+ id281_StringField2 = Reader.NameTable.Add(@"StringField2");
+ id247_XmlElementPropertyNode = Reader.NameTable.Add(@"XmlElementPropertyNode");
id43_XElementArrayWrapper = Reader.NameTable.Add(@"XElementArrayWrapper");
- id129_string = Reader.NameTable.Add(@"string");
- id252_EnumProperty = Reader.NameTable.Add(@"EnumProperty");
+ id260_MetricConfigUrl = Reader.NameTable.Add(@"MetricConfigUrl");
+ id47_TypeWithGetOnlyArrayProperties = Reader.NameTable.Add(@"TypeWithGetOnlyArrayProperties");
+ id95_ServerSettings = Reader.NameTable.Add(@"ServerSettings");
+ id88_SimpleKnownTypeValue = Reader.NameTable.Add(@"SimpleKnownTypeValue");
+ id284_httptestcom = Reader.NameTable.Add(@"http://test.com");
+ id60_TypeB = Reader.NameTable.Add(@"TypeB");
+ id107_MoreChoices = Reader.NameTable.Add(@"MoreChoices");
+ id25_ArrayOfDateTime = Reader.NameTable.Add(@"ArrayOfDateTime");
+ id133_string = Reader.NameTable.Add(@"string");
+ id200_id = Reader.NameTable.Add(@"id");
+ id273_NMTOKENContent = Reader.NameTable.Add(@"NMTOKENContent");
+ id86_TypeWithAnyAttribute = Reader.NameTable.Add(@"TypeWithAnyAttribute");
+ id216_NIntLProp = Reader.NameTable.Add(@"NIntLProp");
+ id162_BinaryHexContent = Reader.NameTable.Add(@"BinaryHexContent");
+ id58_BuiltInTypes = Reader.NameTable.Add(@"BuiltInTypes");
+ id131_int = Reader.NameTable.Add(@"int");
+ id283_TestProperty = Reader.NameTable.Add(@"TestProperty");
+ id62_Item = Reader.NameTable.Add(@"__TypeNameWithSpecialCharacters漢ñ");
id31_Pet = Reader.NameTable.Add(@"Pet");
- id128_ArrayOfString = Reader.NameTable.Add(@"ArrayOfString");
- id18_PurchaseOrder = Reader.NameTable.Add(@"PurchaseOrder");
- id271_TestProperty = Reader.NameTable.Add(@"TestProperty");
- id241_MyField = Reader.NameTable.Add(@"MyField");
- id170_LicenseNumber = Reader.NameTable.Add(@"LicenseNumber");
- id78_ShortEnum = Reader.NameTable.Add(@"ShortEnum");
- id211_StringProperty = Reader.NameTable.Add(@"StringProperty");
- id243_Item = Reader.NameTable.Add(@"UnqualifiedSchemaFormListProperty");
- id207_MyStruct = Reader.NameTable.Add(@"MyStruct");
- id21_OrderedItem = Reader.NameTable.Add(@"OrderedItem");
- id208_MyEnum1 = Reader.NameTable.Add(@"MyEnum1");
- id160_DTO = Reader.NameTable.Add(@"DTO");
- id169_Breed = Reader.NameTable.Add(@"Breed");
- id35_RootElement = Reader.NameTable.Add(@"RootElement");
- id265_Item = Reader.NameTable.Add(@"Item");
- id142_NoneParameter = Reader.NameTable.Add(@"NoneParameter");
- id141_ArrayOfString1 = Reader.NameTable.Add(@"ArrayOfString1");
- id215_ClassID = Reader.NameTable.Add(@"ClassID");
- id100_TypeWithShouldSerializeMethod = Reader.NameTable.Add(@"TypeWithShouldSerializeMethod");
- id26_dateTime = Reader.NameTable.Add(@"dateTime");
+ id90_TypeWithPropertyNameSpecified = Reader.NameTable.Add(@"TypeWithPropertyNameSpecified");
+ id1_TypeWithXmlElementProperty = Reader.NameTable.Add(@"TypeWithXmlElementProperty");
+ id127_MsgDocumentType = Reader.NameTable.Add(@"MsgDocumentType");
+ id130_ArrayOfInt = Reader.NameTable.Add(@"ArrayOfInt");
+ id182_Zip = Reader.NameTable.Add(@"Zip");
+ id175_GroupName = Reader.NameTable.Add(@"GroupName");
+ id204_xelements = Reader.NameTable.Add(@"xelements");
+ id187_ShipCost = Reader.NameTable.Add(@"ShipCost");
+ id173_Breed = Reader.NameTable.Add(@"Breed");
+ id33_Item = Reader.NameTable.Add(@"DefaultValuesSetToPositiveInfinity");
+ id242_Number = Reader.NameTable.Add(@"Number");
+ id96_TypeWithXmlQualifiedName = Reader.NameTable.Add(@"TypeWithXmlQualifiedName");
+ id231_Some = Reader.NameTable.Add(@"Some");
id6_TypeWithTimeSpanProperty = Reader.NameTable.Add(@"TypeWithTimeSpanProperty");
- id162_DefaultDTO = Reader.NameTable.Add(@"DefaultDTO");
- id114_LastName = Reader.NameTable.Add(@"LastName");
- id105_MoreChoices = Reader.NameTable.Add(@"MoreChoices");
- id206_Data = Reader.NameTable.Add(@"Data");
- id172_GroupVehicle = Reader.NameTable.Add(@"GroupVehicle");
- id192_SingleField = Reader.NameTable.Add(@"SingleField");
- id87_SimpleKnownTypeValue = Reader.NameTable.Add(@"SimpleKnownTypeValue");
- id97_Item = Reader.NameTable.Add(@"TypeWithPropertiesHavingDefaultValue");
- id232_XmlIncludeProperty = Reader.NameTable.Add(@"XmlIncludeProperty");
- id99_Item = Reader.NameTable.Add(@"TypeWithEnumFlagPropertyHavingDefaultValue");
- id74_WithEnums = Reader.NameTable.Add(@"WithEnums");
- id264_HexBinaryContent = Reader.NameTable.Add(@"HexBinaryContent");
- id37_Document = Reader.NameTable.Add(@"Document");
+ id113_TypeClashB = Reader.NameTable.Add(@"TypeClashB");
+ id59_TypeA = Reader.NameTable.Add(@"TypeA");
+ id274_NMTOKENSContent = Reader.NameTable.Add(@"NMTOKENSContent");
+ id91_TypeWithXmlSchemaFormAttribute = Reader.NameTable.Add(@"TypeWithXmlSchemaFormAttribute");
+ id56_DCStruct = Reader.NameTable.Add(@"DCStruct");
+ id178_value = Reader.NameTable.Add(@"value");
+ id100_Item = Reader.NameTable.Add(@"TypeWithEnumFlagPropertyHavingDefaultValue");
+ id238_Struct1 = Reader.NameTable.Add(@"Struct1");
+ id27_Orchestra = Reader.NameTable.Add(@"Orchestra");
+ id155_IsValved = Reader.NameTable.Add(@"IsValved");
+ id8_TypeWithByteProperty = Reader.NameTable.Add(@"TypeWithByteProperty");
+ id239_Struct2 = Reader.NameTable.Add(@"Struct2");
+ id83_ULongEnum = Reader.NameTable.Add(@"ULongEnum");
+ id53_anyType = Reader.NameTable.Add(@"anyType");
+ id176_GroupVehicle = Reader.NameTable.Add(@"GroupVehicle");
+ id195_DoubleField = Reader.NameTable.Add(@"DoubleField");
+ id264_EnumProperty = Reader.NameTable.Add(@"EnumProperty");
+ id120_ContainerType = Reader.NameTable.Add(@"ContainerType");
+ id144_httpmynamespace = Reader.NameTable.Add(@"http://mynamespace");
+ id157_ItemName = Reader.NameTable.Add(@"ItemName");
+ id244_XmlIncludeProperty = Reader.NameTable.Add(@"XmlIncludeProperty");
+ id209_IntAField = Reader.NameTable.Add(@"IntAField");
+ id142_ArrayOfTypeA = Reader.NameTable.Add(@"ArrayOfTypeA");
+ id150_P1 = Reader.NameTable.Add(@"P1");
+ id40_Parameter = Reader.NameTable.Add(@"Parameter");
+ id202_Parameters = Reader.NameTable.Add(@"Parameters");
+ id48_TypeWithArraylikeMembers = Reader.NameTable.Add(@"TypeWithArraylikeMembers");
+ id77_ByteEnum = Reader.NameTable.Add(@"ByteEnum");
+ id14_Vehicle = Reader.NameTable.Add(@"Vehicle");
id42_XElementStruct = Reader.NameTable.Add(@"XElementStruct");
- id113_MiddleName = Reader.NameTable.Add(@"MiddleName");
+ id271_NameContent = Reader.NameTable.Add(@"NameContent");
+ id16_BaseClass = Reader.NameTable.Add(@"BaseClass");
+ id226_ListProperty = Reader.NameTable.Add(@"ListProperty");
+ id82_LongEnum = Reader.NameTable.Add(@"LongEnum");
+ id272_NCNameContent = Reader.NameTable.Add(@"NCNameContent");
+ id138_ArrayOfParameter = Reader.NameTable.Add(@"ArrayOfParameter");
+ id153_Child = Reader.NameTable.Add(@"Child");
+ id26_dateTime = Reader.NameTable.Add(@"dateTime");
+ id257_Item = Reader.NameTable.Add(@"QualifiedSchemaFormListProperty");
+ id21_OrderedItem = Reader.NameTable.Add(@"OrderedItem");
+ id134_ArrayOfDouble = Reader.NameTable.Add(@"ArrayOfDouble");
+ id75_WithEnums = Reader.NameTable.Add(@"WithEnums");
+ id102_Item = Reader.NameTable.Add(@"KnownTypesThroughConstructorWithArrayProperties");
+ id240_XmlAttributeName = Reader.NameTable.Add(@"XmlAttributeName");
+ id222_Item = Reader.NameTable.Add(@"PropertyNameWithSpecialCharacters漢ñ");
+ id55_TypeWithEnumMembers = Reader.NameTable.Add(@"TypeWithEnumMembers");
+ id20_Address = Reader.NameTable.Add(@"Address");
+ id277_Item = Reader.NameTable.Add(@"Item");
+ id112_Root = Reader.NameTable.Add(@"Root");
+ id147_ArrayOfBoolean = Reader.NameTable.Add(@"ArrayOfBoolean");
+ id165_DTO2 = Reader.NameTable.Add(@"DTO2");
id41_XElementWrapper = Reader.NameTable.Add(@"XElementWrapper");
+ id227_ClassID = Reader.NameTable.Add(@"ClassID");
+ id248_httpelement = Reader.NameTable.Add(@"http://element");
+ id236_OptionalInt = Reader.NameTable.Add(@"OptionalInt");
+ id186_SubTotal = Reader.NameTable.Add(@"SubTotal");
+ id246_Item = Reader.NameTable.Add(@"XmlNamespaceDeclarationsProperty");
+ id270_DateContent = Reader.NameTable.Add(@"DateContent");
+ id218_Data = Reader.NameTable.Add(@"Data");
+ id3_TypeWithXmlDocumentProperty = Reader.NameTable.Add(@"TypeWithXmlDocumentProperty");
+ id87_KnownTypesThroughConstructor = Reader.NameTable.Add(@"KnownTypesThroughConstructor");
+ id141_ArrayOfSimpleType = Reader.NameTable.Add(@"ArrayOfSimpleType");
+ id137_ArrayOfTypeWithLinkedProperty = Reader.NameTable.Add(@"ArrayOfTypeWithLinkedProperty");
+ id101_TypeWithShouldSerializeMethod = Reader.NameTable.Add(@"TypeWithShouldSerializeMethod");
+ id201_refs = Reader.NameTable.Add(@"refs");
+ id161_LineTotal = Reader.NameTable.Add(@"LineTotal");
+ id215_IntLProp = Reader.NameTable.Add(@"IntLProp");
+ id109_ComplexChoiceB = Reader.NameTable.Add(@"ComplexChoiceB");
+ id10_Animal = Reader.NameTable.Add(@"Animal");
+ id280_IntField2 = Reader.NameTable.Add(@"IntField2");
+ id174_LicenseNumber = Reader.NameTable.Add(@"LicenseNumber");
+ id93_Item = Reader.NameTable.Add(@"TypeWithSchemaFormInXmlAttribute");
+ id66_Item = Reader.NameTable.Add(@"TypeWithDateTimePropertyAsXmlTime");
+ id164_DTO = Reader.NameTable.Add(@"DTO");
id44_TypeWithDateTimeStringProperty = Reader.NameTable.Add(@"TypeWithDateTimeStringProperty");
- id226_Struct1 = Reader.NameTable.Add(@"Struct1");
- id183_ShipCost = Reader.NameTable.Add(@"ShipCost");
- id145_ArrayOfArrayOfSimpleType = Reader.NameTable.Add(@"ArrayOfArrayOfSimpleType");
+ id35_RootElement = Reader.NameTable.Add(@"RootElement");
+ id223_StringProperty = Reader.NameTable.Add(@"StringProperty");
+ id170_TimeSpanProperty2 = Reader.NameTable.Add(@"TimeSpanProperty2");
id22_AliasedTestType = Reader.NameTable.Add(@"AliasedTestType");
- id32_DefaultValuesSetToNaN = Reader.NameTable.Add(@"DefaultValuesSetToNaN");
- id167_ByteProperty = Reader.NameTable.Add(@"ByteProperty");
- id151_IsValved = Reader.NameTable.Add(@"IsValved");
- id34_Item = Reader.NameTable.Add(@"DefaultValuesSetToNegativeInfinity");
- id209_ByteArray = Reader.NameTable.Add(@"ByteArray");
- id152_Modulation = Reader.NameTable.Add(@"Modulation");
- id111_Person = Reader.NameTable.Add(@"Person");
- id188_Prop = Reader.NameTable.Add(@"Prop");
- id29_Brass = Reader.NameTable.Add(@"Brass");
- id25_ArrayOfDateTime = Reader.NameTable.Add(@"ArrayOfDateTime");
- id184_TotalCost = Reader.NameTable.Add(@"TotalCost");
- id268_IntField2 = Reader.NameTable.Add(@"IntField2");
- id204_F2 = Reader.NameTable.Add(@"F2");
- id15_Employee = Reader.NameTable.Add(@"Employee");
- id195_IntValue = Reader.NameTable.Add(@"IntValue");
- id147_P2 = Reader.NameTable.Add(@"P2");
+ id206_CurrentDateTime = Reader.NameTable.Add(@"CurrentDateTime");
+ id210_NIntAField = Reader.NameTable.Add(@"NIntAField");
+ id132_ArrayOfString = Reader.NameTable.Add(@"ArrayOfString");
+ id154_Children = Reader.NameTable.Add(@"Children");
+ id126_ParameterOfString = Reader.NameTable.Add(@"ParameterOfString");
+ id184_OrderDate = Reader.NameTable.Add(@"OrderDate");
+ id205_DateTimeString = Reader.NameTable.Add(@"DateTimeString");
+ id269_QNameContent = Reader.NameTable.Add(@"QNameContent");
+ id237_OptionullInt = Reader.NameTable.Add(@"OptionullInt");
+ id241_Word = Reader.NameTable.Add(@"Word");
+ id168_NullableDefaultDTO = Reader.NameTable.Add(@"NullableDefaultDTO");
+ id172_Age = Reader.NameTable.Add(@"Age");
+ id19_httpwwwcontoso1com = Reader.NameTable.Add(@"http://www.contoso1.com");
+ id220_MyEnum1 = Reader.NameTable.Add(@"MyEnum1");
+ id18_PurchaseOrder = Reader.NameTable.Add(@"PurchaseOrder");
+ id199_IntValue = Reader.NameTable.Add(@"IntValue");
+ id159_UnitPrice = Reader.NameTable.Add(@"UnitPrice");
+ id92_MyXmlType = Reader.NameTable.Add(@"MyXmlType");
id36_TypeWithLinkedProperty = Reader.NameTable.Add(@"TypeWithLinkedProperty");
- id136_XElement = Reader.NameTable.Add(@"XElement");
- id199_xelement = Reader.NameTable.Add(@"xelement");
- id50_Item = Reader.NameTable.Add(@"TypeWithReadOnlyMyCollectionProperty");
- id236_httpelement = Reader.NameTable.Add(@"http://element");
- id112_FirstName = Reader.NameTable.Add(@"FirstName");
- id58_TypeA = Reader.NameTable.Add(@"TypeA");
- id85_TypeWithAnyAttribute = Reader.NameTable.Add(@"TypeWithAnyAttribute");
- id153_ItemName = Reader.NameTable.Add(@"ItemName");
- id48_StructNotSerializable = Reader.NameTable.Add(@"StructNotSerializable");
- id116_ContainerType = Reader.NameTable.Add(@"ContainerType");
- id227_Struct2 = Reader.NameTable.Add(@"Struct2");
- id163_NullableDTO = Reader.NameTable.Add(@"NullableDTO");
- id110_TypeClashA = Reader.NameTable.Add(@"TypeClashA");
- id11_Dog = Reader.NameTable.Add(@"Dog");
- id8_TypeWithByteProperty = Reader.NameTable.Add(@"TypeWithByteProperty");
- id127_int = Reader.NameTable.Add(@"int");
- id185_X = Reader.NameTable.Add(@"X");
- id139_ArrayOfItemChoiceType = Reader.NameTable.Add(@"ArrayOfItemChoiceType");
- id137_ArrayOfSimpleType = Reader.NameTable.Add(@"ArrayOfSimpleType");
- id23_BaseClass1 = Reader.NameTable.Add(@"BaseClass1");
- id123_MsgDocumentType = Reader.NameTable.Add(@"MsgDocumentType");
- id173_EmployeeName = Reader.NameTable.Add(@"EmployeeName");
- id150_Children = Reader.NameTable.Add(@"Children");
- id131_double = Reader.NameTable.Add(@"double");
- id119_Value1 = Reader.NameTable.Add(@"Value1");
- id38_httpexamplecom = Reader.NameTable.Add(@"http://example.com");
- id12_DogBreed = Reader.NameTable.Add(@"DogBreed");
- id175_Line1 = Reader.NameTable.Add(@"Line1");
- id115_Name = Reader.NameTable.Add(@"Name");
- id166_TimeSpanProperty2 = Reader.NameTable.Add(@"TimeSpanProperty2");
- id91_MyXmlType = Reader.NameTable.Add(@"MyXmlType");
- id248_MetricConfigUrl = Reader.NameTable.Add(@"MetricConfigUrl");
- id5_Item = Reader.NameTable.Add(@"TypeWithDateTimeOffsetProperties");
- id217_Id = Reader.NameTable.Add(@"Id");
- id98_Item = Reader.NameTable.Add(@"TypeWithEnumPropertyHavingDefaultValue");
- id126_ArrayOfInt = Reader.NameTable.Add(@"ArrayOfInt");
- id237_CustomXmlArrayProperty = Reader.NameTable.Add(@"CustomXmlArrayProperty");
- id242_MyFieldIgnored = Reader.NameTable.Add(@"MyFieldIgnored");
- id213_DateTimeProperty = Reader.NameTable.Add(@"DateTimeProperty");
- id77_SByteEnum = Reader.NameTable.Add(@"SByteEnum");
- id102_Item = Reader.NameTable.Add(@"KnownTypesThroughConstructorWithValue");
- id156_Quantity = Reader.NameTable.Add(@"Quantity");
- id164_NullableDefaultDTO = Reader.NameTable.Add(@"NullableDefaultDTO");
- id17_DerivedClass = Reader.NameTable.Add(@"DerivedClass");
- id262_NMTOKENSContent = Reader.NameTable.Add(@"NMTOKENSContent");
- id82_ULongEnum = Reader.NameTable.Add(@"ULongEnum");
- id223_Optionull = Reader.NameTable.Add(@"Optionull");
- id54_TypeWithEnumMembers = Reader.NameTable.Add(@"TypeWithEnumMembers");
- id178_Zip = Reader.NameTable.Add(@"Zip");
- id224_OptionalInt = Reader.NameTable.Add(@"OptionalInt");
- id272_httptestcom = Reader.NameTable.Add(@"http://test.com");
- id190_Comment2 = Reader.NameTable.Add(@"Comment2");
- id83_AttributeTesting = Reader.NameTable.Add(@"AttributeTesting");
- id30_Trumpet = Reader.NameTable.Add(@"Trumpet");
- id47_TypeWithGetOnlyArrayProperties = Reader.NameTable.Add(@"TypeWithGetOnlyArrayProperties");
- id65_Item = Reader.NameTable.Add(@"TypeWithDateTimePropertyAsXmlTime");
- id51_ArrayOfAnyType = Reader.NameTable.Add(@"ArrayOfAnyType");
- id255_IntArrayValue = Reader.NameTable.Add(@"IntArrayValue");
- id222_Optional = Reader.NameTable.Add(@"Optional");
- id28_Instrument = Reader.NameTable.Add(@"Instrument");
- id253_Foo = Reader.NameTable.Add(@"Foo");
- id13_Group = Reader.NameTable.Add(@"Group");
+ id253_MyField = Reader.NameTable.Add(@"MyField");
+ id98_Item = Reader.NameTable.Add(@"TypeWithPropertiesHavingDefaultValue");
+ id69_Item = Reader.NameTable.Add(@"TypeWithXmlTextAttributeOnArray");
+ id148_QualifiedParameter = Reader.NameTable.Add(@"QualifiedParameter");
+ id145_ArrayOfString1 = Reader.NameTable.Add(@"ArrayOfString1");
+ id4_TypeWithBinaryProperty = Reader.NameTable.Add(@"TypeWithBinaryProperty");
+ id251_SimpleTypeValue = Reader.NameTable.Add(@"SimpleTypeValue");
id24_DerivedClass1 = Reader.NameTable.Add(@"DerivedClass1");
- id81_LongEnum = Reader.NameTable.Add(@"LongEnum");
- id94_ServerSettings = Reader.NameTable.Add(@"ServerSettings");
- id62_BaseClassWithSamePropertyName = Reader.NameTable.Add(@"BaseClassWithSamePropertyName");
- id146_P1 = Reader.NameTable.Add(@"P1");
- id133_ArrayOfTypeWithLinkedProperty = Reader.NameTable.Add(@"ArrayOfTypeWithLinkedProperty");
- id230_Number = Reader.NameTable.Add(@"Number");
- id239_SimpleTypeValue = Reader.NameTable.Add(@"SimpleTypeValue");
- id89_TypeWithPropertyNameSpecified = Reader.NameTable.Add(@"TypeWithPropertyNameSpecified");
- id269_StringField2 = Reader.NameTable.Add(@"StringField2");
- id159_Base64Content = Reader.NameTable.Add(@"Base64Content");
- id122_ParameterOfString = Reader.NameTable.Add(@"ParameterOfString");
- id155_UnitPrice = Reader.NameTable.Add(@"UnitPrice");
- id233_XmlEnumProperty = Reader.NameTable.Add(@"XmlEnumProperty");
- id134_ArrayOfParameter = Reader.NameTable.Add(@"ArrayOfParameter");
- id174_value = Reader.NameTable.Add(@"value");
- id246_XmlAttributeForm = Reader.NameTable.Add(@"XmlAttributeForm");
- id198_Parameters = Reader.NameTable.Add(@"Parameters");
- id130_ArrayOfDouble = Reader.NameTable.Add(@"ArrayOfDouble");
- id193_DoubleProp = Reader.NameTable.Add(@"DoubleProp");
- id101_Item = Reader.NameTable.Add(@"KnownTypesThroughConstructorWithArrayProperties");
- id219_Some = Reader.NameTable.Add(@"Some");
- id138_ArrayOfTypeA = Reader.NameTable.Add(@"ArrayOfTypeA");
- id59_TypeB = Reader.NameTable.Add(@"TypeB");
- id2_Item = Reader.NameTable.Add(@"");
- id45_SimpleType = Reader.NameTable.Add(@"SimpleType");
- id181_Items = Reader.NameTable.Add(@"Items");
- id154_Description = Reader.NameTable.Add(@"Description");
- id240_StrProperty = Reader.NameTable.Add(@"StrProperty");
- id106_TypeWithFieldsOrdered = Reader.NameTable.Add(@"TypeWithFieldsOrdered");
- id256_DateTimeContent = Reader.NameTable.Add(@"DateTimeContent");
- id63_DerivedClassWithSameProperty = Reader.NameTable.Add(@"DerivedClassWithSameProperty");
- id261_NMTOKENContent = Reader.NameTable.Add(@"NMTOKENContent");
+ id97_TypeWith2DArrayProperty2 = Reader.NameTable.Add(@"TypeWith2DArrayProperty2");
+ id30_Trumpet = Reader.NameTable.Add(@"Trumpet");
+ id63_BaseClassWithSamePropertyName = Reader.NameTable.Add(@"BaseClassWithSamePropertyName");
+ id217_Collection = Reader.NameTable.Add(@"Collection");
+ id224_IntProperty = Reader.NameTable.Add(@"IntProperty");
+ id185_Items = Reader.NameTable.Add(@"Items");
+ id183_ShipTo = Reader.NameTable.Add(@"ShipTo");
+ id193_Instruments = Reader.NameTable.Add(@"Instruments");
+ id275_Base64BinaryContent = Reader.NameTable.Add(@"Base64BinaryContent");
+ id80_IntEnum = Reader.NameTable.Add(@"IntEnum");
+ id12_DogBreed = Reader.NameTable.Add(@"DogBreed");
id7_Item = Reader.NameTable.Add(@"TypeWithDefaultTimeSpanProperty");
- id86_KnownTypesThroughConstructor = Reader.NameTable.Add(@"KnownTypesThroughConstructor");
- id247_DS2Root = Reader.NameTable.Add(@"DS2Root");
- id1_TypeWithXmlElementProperty = Reader.NameTable.Add(@"TypeWithXmlElementProperty");
- id225_OptionullInt = Reader.NameTable.Add(@"OptionullInt");
- id177_State = Reader.NameTable.Add(@"State");
- id67_SimpleDC = Reader.NameTable.Add(@"SimpleDC");
- id14_Vehicle = Reader.NameTable.Add(@"Vehicle");
- id84_ItemChoiceType = Reader.NameTable.Add(@"ItemChoiceType");
- id60_TypeHasArrayOfASerializedAsB = Reader.NameTable.Add(@"TypeHasArrayOfASerializedAsB");
- id49_TypeWithMyCollectionField = Reader.NameTable.Add(@"TypeWithMyCollectionField");
- id176_City = Reader.NameTable.Add(@"City");
- id52_anyType = Reader.NameTable.Add(@"anyType");
- id75_WithNullables = Reader.NameTable.Add(@"WithNullables");
- id27_Orchestra = Reader.NameTable.Add(@"Orchestra");
- id251_CharProperty = Reader.NameTable.Add(@"CharProperty");
- id197_refs = Reader.NameTable.Add(@"refs");
- id19_httpwwwcontoso1com = Reader.NameTable.Add(@"http://www.contoso1.com");
- id218_IsLoaded = Reader.NameTable.Add(@"IsLoaded");
- id40_Parameter = Reader.NameTable.Add(@"Parameter");
- id238_EnumValue = Reader.NameTable.Add(@"EnumValue");
- id148_Value = Reader.NameTable.Add(@"Value");
- id73_SomeStruct = Reader.NameTable.Add(@"SomeStruct");
- id92_Item = Reader.NameTable.Add(@"TypeWithSchemaFormInXmlAttribute");
- id88_Item = Reader.NameTable.Add(@"ClassImplementingIXmlSerialiable");
- id135_ArrayOfXElement = Reader.NameTable.Add(@"ArrayOfXElement");
- id244_NoneSchemaFormListProperty = Reader.NameTable.Add(@"NoneSchemaFormListProperty");
- id71_ClassImplementsInterface = Reader.NameTable.Add(@"ClassImplementsInterface");
- id109_TypeClashB = Reader.NameTable.Add(@"TypeClashB");
- id140_httpmynamespace = Reader.NameTable.Add(@"http://mynamespace");
- id96_TypeWith2DArrayProperty2 = Reader.NameTable.Add(@"TypeWith2DArrayProperty2");
- id143_ArrayOfBoolean = Reader.NameTable.Add(@"ArrayOfBoolean");
- id103_Item = Reader.NameTable.Add(@"TypeWithTypesHavingCustomFormatter");
- id245_Item = Reader.NameTable.Add(@"QualifiedSchemaFormListProperty");
- id267_IntField1 = Reader.NameTable.Add(@"IntField1");
- id90_TypeWithXmlSchemaFormAttribute = Reader.NameTable.Add(@"TypeWithXmlSchemaFormAttribute");
- id76_ByteEnum = Reader.NameTable.Add(@"ByteEnum");
- id93_Item = Reader.NameTable.Add(@"TypeWithNonPublicDefaultConstructor");
- id202_CurrentDateTime = Reader.NameTable.Add(@"CurrentDateTime");
- id200_xelements = Reader.NameTable.Add(@"xelements");
- id189_Instruments = Reader.NameTable.Add(@"Instruments");
- id171_GroupName = Reader.NameTable.Add(@"GroupName");
- id80_UIntEnum = Reader.NameTable.Add(@"UIntEnum");
- id16_BaseClass = Reader.NameTable.Add(@"BaseClass");
- id72_WithStruct = Reader.NameTable.Add(@"WithStruct");
- id205_Collection = Reader.NameTable.Add(@"Collection");
- id95_TypeWithXmlQualifiedName = Reader.NameTable.Add(@"TypeWithXmlQualifiedName");
- id257_QNameContent = Reader.NameTable.Add(@"QNameContent");
- id179_ShipTo = Reader.NameTable.Add(@"ShipTo");
- id132_ArrayOfInstrument = Reader.NameTable.Add(@"ArrayOfInstrument");
- id57_BuiltInTypes = Reader.NameTable.Add(@"BuiltInTypes");
- id61_Item = Reader.NameTable.Add(@"__TypeNameWithSpecialCharacters漢ñ");
- id158_BinaryHexContent = Reader.NameTable.Add(@"BinaryHexContent");
- id104_Item = Reader.NameTable.Add(@"TypeWithArrayPropertyHavingChoice");
- id124_Item = Reader.NameTable.Add(@"TypeWithMismatchBetweenAttributeAndPropertyType");
- id249_TwoDArrayOfSimpleType = Reader.NameTable.Add(@"TwoDArrayOfSimpleType");
- id191_DoubleField = Reader.NameTable.Add(@"DoubleField");
- id46_TypeWithGetSetArrayMembers = Reader.NameTable.Add(@"TypeWithGetSetArrayMembers");
- id4_TypeWithBinaryProperty = Reader.NameTable.Add(@"TypeWithBinaryProperty");
- id221_Short = Reader.NameTable.Add(@"Short");
- id144_QualifiedParameter = Reader.NameTable.Add(@"QualifiedParameter");
- id149_Child = Reader.NameTable.Add(@"Child");
- id203_F1 = Reader.NameTable.Add(@"F1");
- id69_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/ws/2005/04/discovery");
- id229_Word = Reader.NameTable.Add(@"Word");
- id3_TypeWithXmlDocumentProperty = Reader.NameTable.Add(@"TypeWithXmlDocumentProperty");
- id20_Address = Reader.NameTable.Add(@"Address");
- id120_Value2 = Reader.NameTable.Add(@"Value2");
- id121_XmlSerializerAttributes = Reader.NameTable.Add(@"XmlSerializerAttributes");
- id180_OrderDate = Reader.NameTable.Add(@"OrderDate");
- id70_EnumFlags = Reader.NameTable.Add(@"EnumFlags");
- id266_Amount = Reader.NameTable.Add(@"Amount");
- id9_TypeWithXmlNodeArrayProperty = Reader.NameTable.Add(@"TypeWithXmlNodeArrayProperty");
- id259_NameContent = Reader.NameTable.Add(@"NameContent");
- id220_Int = Reader.NameTable.Add(@"Int");
- id64_DerivedClassWithSameProperty2 = Reader.NameTable.Add(@"DerivedClassWithSameProperty2");
- id125_ArrayOfOrderedItem = Reader.NameTable.Add(@"ArrayOfOrderedItem");
- id157_LineTotal = Reader.NameTable.Add(@"LineTotal");
- id254_StringArrayValue = Reader.NameTable.Add(@"StringArrayValue");
- id107_Item = Reader.NameTable.Add(@"TypeWithKnownTypesOfCollectionsWithConflictingXmlName");
- id56_DCClassWithEnumAndStruct = Reader.NameTable.Add(@"DCClassWithEnumAndStruct");
- id270_StringField1 = Reader.NameTable.Add(@"StringField1");
- id182_SubTotal = Reader.NameTable.Add(@"SubTotal");
- id108_Root = Reader.NameTable.Add(@"Root");
- id39_RootClass = Reader.NameTable.Add(@"RootClass");
- id258_DateContent = Reader.NameTable.Add(@"DateContent");
+ id136_ArrayOfInstrument = Reader.NameTable.Add(@"ArrayOfInstrument");
+ id135_double = Reader.NameTable.Add(@"double");
+ id50_TypeWithMyCollectionField = Reader.NameTable.Add(@"TypeWithMyCollectionField");
+ id124_Value2 = Reader.NameTable.Add(@"Value2");
+ id110_TypeWithFieldsOrdered = Reader.NameTable.Add(@"TypeWithFieldsOrdered");
+ id146_NoneParameter = Reader.NameTable.Add(@"NoneParameter");
+ id37_Document = Reader.NameTable.Add(@"Document");
+ id254_MyFieldIgnored = Reader.NameTable.Add(@"MyFieldIgnored");
+ id279_IntField1 = Reader.NameTable.Add(@"IntField1");
+ id249_CustomXmlArrayProperty = Reader.NameTable.Add(@"CustomXmlArrayProperty");
+ id54_MyEnum = Reader.NameTable.Add(@"MyEnum");
+ id207_F1 = Reader.NameTable.Add(@"F1");
+ id143_ArrayOfItemChoiceType = Reader.NameTable.Add(@"ArrayOfItemChoiceType");
+ id108_ComplexChoiceA = Reader.NameTable.Add(@"ComplexChoiceA");
+ id94_Item = Reader.NameTable.Add(@"TypeWithNonPublicDefaultConstructor");
+ id121_A = Reader.NameTable.Add(@"A");
+ id5_Item = Reader.NameTable.Add(@"TypeWithDateTimeOffsetProperties");
+ id256_NoneSchemaFormListProperty = Reader.NameTable.Add(@"NoneSchemaFormListProperty");
+ id166_DefaultDTO = Reader.NameTable.Add(@"DefaultDTO");
+ id65_DerivedClassWithSameProperty2 = Reader.NameTable.Add(@"DerivedClassWithSameProperty2");
+ id34_Item = Reader.NameTable.Add(@"DefaultValuesSetToNegativeInfinity");
+ id32_DefaultValuesSetToNaN = Reader.NameTable.Add(@"DefaultValuesSetToNaN");
+ id219_MyStruct = Reader.NameTable.Add(@"MyStruct");
+ id23_BaseClass1 = Reader.NameTable.Add(@"BaseClass1");
+ id46_TypeWithGetSetArrayMembers = Reader.NameTable.Add(@"TypeWithGetSetArrayMembers");
+ id266_StringArrayValue = Reader.NameTable.Add(@"StringArrayValue");
+ id160_Quantity = Reader.NameTable.Add(@"Quantity");
+ id78_SByteEnum = Reader.NameTable.Add(@"SByteEnum");
+ id45_SimpleType = Reader.NameTable.Add(@"SimpleType");
+ id258_XmlAttributeForm = Reader.NameTable.Add(@"XmlAttributeForm");
+ id118_LastName = Reader.NameTable.Add(@"LastName");
+ id282_StringField1 = Reader.NameTable.Add(@"StringField1");
+ id49_StructNotSerializable = Reader.NameTable.Add(@"StructNotSerializable");
+ id52_ArrayOfAnyType = Reader.NameTable.Add(@"ArrayOfAnyType");
+ id152_Value = Reader.NameTable.Add(@"Value");
+ id28_Instrument = Reader.NameTable.Add(@"Instrument");
+ id29_Brass = Reader.NameTable.Add(@"Brass");
+ id117_MiddleName = Reader.NameTable.Add(@"MiddleName");
+ id276_HexBinaryContent = Reader.NameTable.Add(@"HexBinaryContent");
+ id194_Comment2 = Reader.NameTable.Add(@"Comment2");
+ id70_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/ws/2005/04/discovery");
+ id89_Item = Reader.NameTable.Add(@"ClassImplementingIXmlSerialiable");
+ id116_FirstName = Reader.NameTable.Add(@"FirstName");
+ id192_Prop = Reader.NameTable.Add(@"Prop");
+ id139_ArrayOfXElement = Reader.NameTable.Add(@"ArrayOfXElement");
+ id79_ShortEnum = Reader.NameTable.Add(@"ShortEnum");
+ id85_ItemChoiceType = Reader.NameTable.Add(@"ItemChoiceType");
+ id106_Item = Reader.NameTable.Add(@"TypeWithPropertyHavingComplexChoice");
+ id61_TypeHasArrayOfASerializedAsB = Reader.NameTable.Add(@"TypeHasArrayOfASerializedAsB");
+ id255_Item = Reader.NameTable.Add(@"UnqualifiedSchemaFormListProperty");
+ id51_Item = Reader.NameTable.Add(@"TypeWithReadOnlyMyCollectionProperty");
+ id99_Item = Reader.NameTable.Add(@"TypeWithEnumPropertyHavingDefaultValue");
+ id114_TypeClashA = Reader.NameTable.Add(@"TypeClashA");
+ id259_DS2Root = Reader.NameTable.Add(@"DS2Root");
+ id115_Person = Reader.NameTable.Add(@"Person");
+ id13_Group = Reader.NameTable.Add(@"Group");
+ id81_UIntEnum = Reader.NameTable.Add(@"UIntEnum");
+ id38_httpexamplecom = Reader.NameTable.Add(@"http://example.com");
+ id177_EmployeeName = Reader.NameTable.Add(@"EmployeeName");
+ id129_ArrayOfOrderedItem = Reader.NameTable.Add(@"ArrayOfOrderedItem");
+ id221_ByteArray = Reader.NameTable.Add(@"ByteArray");
+ id214_NIntAProp = Reader.NameTable.Add(@"NIntAProp");
+ id233_Short = Reader.NameTable.Add(@"Short");
+ id189_X = Reader.NameTable.Add(@"X");
+ id243_DecimalNumber = Reader.NameTable.Add(@"DecimalNumber");
+ id191_Z = Reader.NameTable.Add(@"Z");
+ id158_Description = Reader.NameTable.Add(@"Description");
+ id198_FloatProp = Reader.NameTable.Add(@"FloatProp");
+ id64_DerivedClassWithSameProperty = Reader.NameTable.Add(@"DerivedClassWithSameProperty");
+ id57_DCClassWithEnumAndStruct = Reader.NameTable.Add(@"DCClassWithEnumAndStruct");
+ id125_XmlSerializerAttributes = Reader.NameTable.Add(@"XmlSerializerAttributes");
}
}
@@ -13992,11 +14830,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write107_TypeWithXmlElementProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write111_TypeWithXmlElementProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read111_TypeWithXmlElementProperty();
+ return ((XmlSerializationReader1)reader).Read115_TypeWithXmlElementProperty();
}
}
@@ -14007,11 +14845,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write108_TypeWithXmlDocumentProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write112_TypeWithXmlDocumentProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read112_TypeWithXmlDocumentProperty();
+ return ((XmlSerializationReader1)reader).Read116_TypeWithXmlDocumentProperty();
}
}
@@ -14022,11 +14860,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write109_TypeWithBinaryProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write113_TypeWithBinaryProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read113_TypeWithBinaryProperty();
+ return ((XmlSerializationReader1)reader).Read117_TypeWithBinaryProperty();
}
}
@@ -14037,11 +14875,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write110_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write114_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read114_Item();
+ return ((XmlSerializationReader1)reader).Read118_Item();
}
}
@@ -14052,11 +14890,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write111_TypeWithTimeSpanProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write115_TypeWithTimeSpanProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read115_TypeWithTimeSpanProperty();
+ return ((XmlSerializationReader1)reader).Read119_TypeWithTimeSpanProperty();
}
}
@@ -14067,11 +14905,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write112_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write116_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read116_Item();
+ return ((XmlSerializationReader1)reader).Read120_Item();
}
}
@@ -14082,11 +14920,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write113_TypeWithByteProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write117_TypeWithByteProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read117_TypeWithByteProperty();
+ return ((XmlSerializationReader1)reader).Read121_TypeWithByteProperty();
}
}
@@ -14097,11 +14935,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write114_TypeWithXmlNodeArrayProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write118_TypeWithXmlNodeArrayProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read118_TypeWithXmlNodeArrayProperty();
+ return ((XmlSerializationReader1)reader).Read122_TypeWithXmlNodeArrayProperty();
}
}
@@ -14112,11 +14950,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write115_Animal(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write119_Animal(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read119_Animal();
+ return ((XmlSerializationReader1)reader).Read123_Animal();
}
}
@@ -14127,11 +14965,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write116_Dog(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write120_Dog(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read120_Dog();
+ return ((XmlSerializationReader1)reader).Read124_Dog();
}
}
@@ -14142,11 +14980,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write117_DogBreed(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write121_DogBreed(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read121_DogBreed();
+ return ((XmlSerializationReader1)reader).Read125_DogBreed();
}
}
@@ -14157,11 +14995,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write118_Group(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write122_Group(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read122_Group();
+ return ((XmlSerializationReader1)reader).Read126_Group();
}
}
@@ -14172,11 +15010,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write119_Vehicle(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write123_Vehicle(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read123_Vehicle();
+ return ((XmlSerializationReader1)reader).Read127_Vehicle();
}
}
@@ -14187,11 +15025,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write120_Employee(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write124_Employee(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read124_Employee();
+ return ((XmlSerializationReader1)reader).Read128_Employee();
}
}
@@ -14202,11 +15040,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write121_BaseClass(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write125_BaseClass(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read125_BaseClass();
+ return ((XmlSerializationReader1)reader).Read129_BaseClass();
}
}
@@ -14217,11 +15055,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write122_DerivedClass(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write126_DerivedClass(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read126_DerivedClass();
+ return ((XmlSerializationReader1)reader).Read130_DerivedClass();
}
}
@@ -14232,11 +15070,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write123_PurchaseOrder(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write127_PurchaseOrder(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read127_PurchaseOrder();
+ return ((XmlSerializationReader1)reader).Read131_PurchaseOrder();
}
}
@@ -14247,11 +15085,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write124_Address(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write128_Address(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read128_Address();
+ return ((XmlSerializationReader1)reader).Read132_Address();
}
}
@@ -14262,11 +15100,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write125_OrderedItem(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write129_OrderedItem(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read129_OrderedItem();
+ return ((XmlSerializationReader1)reader).Read133_OrderedItem();
}
}
@@ -14277,11 +15115,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write126_AliasedTestType(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write130_AliasedTestType(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read130_AliasedTestType();
+ return ((XmlSerializationReader1)reader).Read134_AliasedTestType();
}
}
@@ -14292,11 +15130,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write127_BaseClass1(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write131_BaseClass1(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read131_BaseClass1();
+ return ((XmlSerializationReader1)reader).Read135_BaseClass1();
}
}
@@ -14307,11 +15145,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write128_DerivedClass1(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write132_DerivedClass1(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read132_DerivedClass1();
+ return ((XmlSerializationReader1)reader).Read136_DerivedClass1();
}
}
@@ -14322,11 +15160,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write129_ArrayOfDateTime(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write133_ArrayOfDateTime(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read133_ArrayOfDateTime();
+ return ((XmlSerializationReader1)reader).Read137_ArrayOfDateTime();
}
}
@@ -14337,11 +15175,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write130_Orchestra(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write134_Orchestra(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read134_Orchestra();
+ return ((XmlSerializationReader1)reader).Read138_Orchestra();
}
}
@@ -14352,11 +15190,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write131_Instrument(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write135_Instrument(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read135_Instrument();
+ return ((XmlSerializationReader1)reader).Read139_Instrument();
}
}
@@ -14367,11 +15205,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write132_Brass(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write136_Brass(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read136_Brass();
+ return ((XmlSerializationReader1)reader).Read140_Brass();
}
}
@@ -14382,11 +15220,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write133_Trumpet(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write137_Trumpet(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read137_Trumpet();
+ return ((XmlSerializationReader1)reader).Read141_Trumpet();
}
}
@@ -14397,11 +15235,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write134_Pet(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write138_Pet(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read138_Pet();
+ return ((XmlSerializationReader1)reader).Read142_Pet();
}
}
@@ -14412,11 +15250,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write135_DefaultValuesSetToNaN(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write139_DefaultValuesSetToNaN(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read139_DefaultValuesSetToNaN();
+ return ((XmlSerializationReader1)reader).Read143_DefaultValuesSetToNaN();
}
}
@@ -14427,11 +15265,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write136_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write140_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read140_Item();
+ return ((XmlSerializationReader1)reader).Read144_Item();
}
}
@@ -14442,11 +15280,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write137_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write141_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read141_Item();
+ return ((XmlSerializationReader1)reader).Read145_Item();
}
}
@@ -14457,11 +15295,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write138_RootElement(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write142_RootElement(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read142_RootElement();
+ return ((XmlSerializationReader1)reader).Read146_RootElement();
}
}
@@ -14472,11 +15310,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write139_TypeWithLinkedProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write143_TypeWithLinkedProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read143_TypeWithLinkedProperty();
+ return ((XmlSerializationReader1)reader).Read147_TypeWithLinkedProperty();
}
}
@@ -14487,11 +15325,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write140_Document(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write144_Document(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read144_Document();
+ return ((XmlSerializationReader1)reader).Read148_Document();
}
}
@@ -14502,11 +15340,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write141_RootClass(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write145_RootClass(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read145_RootClass();
+ return ((XmlSerializationReader1)reader).Read149_RootClass();
}
}
@@ -14517,11 +15355,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write142_Parameter(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write146_Parameter(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read146_Parameter();
+ return ((XmlSerializationReader1)reader).Read150_Parameter();
}
}
@@ -14532,11 +15370,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write143_XElementWrapper(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write147_XElementWrapper(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read147_XElementWrapper();
+ return ((XmlSerializationReader1)reader).Read151_XElementWrapper();
}
}
@@ -14547,11 +15385,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write144_XElementStruct(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write148_XElementStruct(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read148_XElementStruct();
+ return ((XmlSerializationReader1)reader).Read152_XElementStruct();
}
}
@@ -14562,11 +15400,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write145_XElementArrayWrapper(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write149_XElementArrayWrapper(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read149_XElementArrayWrapper();
+ return ((XmlSerializationReader1)reader).Read153_XElementArrayWrapper();
}
}
@@ -14577,11 +15415,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write146_TypeWithDateTimeStringProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write150_TypeWithDateTimeStringProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read150_TypeWithDateTimeStringProperty();
+ return ((XmlSerializationReader1)reader).Read154_TypeWithDateTimeStringProperty();
}
}
@@ -14592,11 +15430,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write147_SimpleType(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write151_SimpleType(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read151_SimpleType();
+ return ((XmlSerializationReader1)reader).Read155_SimpleType();
}
}
@@ -14607,11 +15445,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write148_TypeWithGetSetArrayMembers(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write152_TypeWithGetSetArrayMembers(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read152_TypeWithGetSetArrayMembers();
+ return ((XmlSerializationReader1)reader).Read156_TypeWithGetSetArrayMembers();
}
}
@@ -14622,11 +15460,26 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write149_TypeWithGetOnlyArrayProperties(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write153_TypeWithGetOnlyArrayProperties(objectToSerialize);
+ }
+
+ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
+ return ((XmlSerializationReader1)reader).Read157_TypeWithGetOnlyArrayProperties();
+ }
+ }
+
+ public sealed class TypeWithArraylikeMembersSerializer : XmlSerializer1 {
+
+ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
+ return xmlReader.IsStartElement(@"TypeWithArraylikeMembers", @"");
+ }
+
+ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
+ ((XmlSerializationWriter1)writer).Write154_TypeWithArraylikeMembers(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read153_TypeWithGetOnlyArrayProperties();
+ return ((XmlSerializationReader1)reader).Read158_TypeWithArraylikeMembers();
}
}
@@ -14637,11 +15490,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write150_StructNotSerializable(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write155_StructNotSerializable(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read154_StructNotSerializable();
+ return ((XmlSerializationReader1)reader).Read159_StructNotSerializable();
}
}
@@ -14652,11 +15505,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write151_TypeWithMyCollectionField(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write156_TypeWithMyCollectionField(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read155_TypeWithMyCollectionField();
+ return ((XmlSerializationReader1)reader).Read160_TypeWithMyCollectionField();
}
}
@@ -14667,11 +15520,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write152_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write157_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read156_Item();
+ return ((XmlSerializationReader1)reader).Read161_Item();
}
}
@@ -14682,11 +15535,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write153_ArrayOfAnyType(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write158_ArrayOfAnyType(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read157_ArrayOfAnyType();
+ return ((XmlSerializationReader1)reader).Read162_ArrayOfAnyType();
}
}
@@ -14697,11 +15550,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write154_MyEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write159_MyEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read158_MyEnum();
+ return ((XmlSerializationReader1)reader).Read163_MyEnum();
}
}
@@ -14712,11 +15565,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write155_TypeWithEnumMembers(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write160_TypeWithEnumMembers(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read159_TypeWithEnumMembers();
+ return ((XmlSerializationReader1)reader).Read164_TypeWithEnumMembers();
}
}
@@ -14727,11 +15580,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write156_DCStruct(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write161_DCStruct(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read160_DCStruct();
+ return ((XmlSerializationReader1)reader).Read165_DCStruct();
}
}
@@ -14742,11 +15595,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write157_DCClassWithEnumAndStruct(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write162_DCClassWithEnumAndStruct(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read161_DCClassWithEnumAndStruct();
+ return ((XmlSerializationReader1)reader).Read166_DCClassWithEnumAndStruct();
}
}
@@ -14757,11 +15610,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write158_BuiltInTypes(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write163_BuiltInTypes(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read162_BuiltInTypes();
+ return ((XmlSerializationReader1)reader).Read167_BuiltInTypes();
}
}
@@ -14772,11 +15625,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write159_TypeA(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write164_TypeA(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read163_TypeA();
+ return ((XmlSerializationReader1)reader).Read168_TypeA();
}
}
@@ -14787,11 +15640,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write160_TypeB(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write165_TypeB(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read164_TypeB();
+ return ((XmlSerializationReader1)reader).Read169_TypeB();
}
}
@@ -14802,11 +15655,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write161_TypeHasArrayOfASerializedAsB(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write166_TypeHasArrayOfASerializedAsB(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read165_TypeHasArrayOfASerializedAsB();
+ return ((XmlSerializationReader1)reader).Read170_TypeHasArrayOfASerializedAsB();
}
}
@@ -14817,11 +15670,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write162_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write167_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read166_Item();
+ return ((XmlSerializationReader1)reader).Read171_Item();
}
}
@@ -14832,11 +15685,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write163_BaseClassWithSamePropertyName(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write168_BaseClassWithSamePropertyName(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read167_BaseClassWithSamePropertyName();
+ return ((XmlSerializationReader1)reader).Read172_BaseClassWithSamePropertyName();
}
}
@@ -14847,11 +15700,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write164_DerivedClassWithSameProperty(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write169_DerivedClassWithSameProperty(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read168_DerivedClassWithSameProperty();
+ return ((XmlSerializationReader1)reader).Read173_DerivedClassWithSameProperty();
}
}
@@ -14862,11 +15715,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write165_DerivedClassWithSameProperty2(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write170_DerivedClassWithSameProperty2(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read169_DerivedClassWithSameProperty2();
+ return ((XmlSerializationReader1)reader).Read174_DerivedClassWithSameProperty2();
}
}
@@ -14877,11 +15730,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write166_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write171_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read170_Item();
+ return ((XmlSerializationReader1)reader).Read175_Item();
}
}
@@ -14892,11 +15745,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write167_TypeWithByteArrayAsXmlText(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write172_TypeWithByteArrayAsXmlText(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read171_TypeWithByteArrayAsXmlText();
+ return ((XmlSerializationReader1)reader).Read176_TypeWithByteArrayAsXmlText();
}
}
@@ -14907,11 +15760,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write168_SimpleDC(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write173_SimpleDC(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read172_SimpleDC();
+ return ((XmlSerializationReader1)reader).Read177_SimpleDC();
}
}
@@ -14922,11 +15775,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write169_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write174_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read173_Item();
+ return ((XmlSerializationReader1)reader).Read178_Item();
}
}
@@ -14937,11 +15790,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write170_EnumFlags(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write175_EnumFlags(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read174_EnumFlags();
+ return ((XmlSerializationReader1)reader).Read179_EnumFlags();
}
}
@@ -14952,11 +15805,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write171_ClassImplementsInterface(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write176_ClassImplementsInterface(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read175_ClassImplementsInterface();
+ return ((XmlSerializationReader1)reader).Read180_ClassImplementsInterface();
}
}
@@ -14967,11 +15820,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write172_WithStruct(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write177_WithStruct(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read176_WithStruct();
+ return ((XmlSerializationReader1)reader).Read181_WithStruct();
}
}
@@ -14982,11 +15835,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write173_SomeStruct(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write178_SomeStruct(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read177_SomeStruct();
+ return ((XmlSerializationReader1)reader).Read182_SomeStruct();
}
}
@@ -14997,11 +15850,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write174_WithEnums(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write179_WithEnums(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read178_WithEnums();
+ return ((XmlSerializationReader1)reader).Read183_WithEnums();
}
}
@@ -15012,11 +15865,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write175_WithNullables(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write180_WithNullables(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read179_WithNullables();
+ return ((XmlSerializationReader1)reader).Read184_WithNullables();
}
}
@@ -15027,11 +15880,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write176_ByteEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write181_ByteEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read180_ByteEnum();
+ return ((XmlSerializationReader1)reader).Read185_ByteEnum();
}
}
@@ -15042,11 +15895,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write177_SByteEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write182_SByteEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read181_SByteEnum();
+ return ((XmlSerializationReader1)reader).Read186_SByteEnum();
}
}
@@ -15057,11 +15910,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write178_ShortEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write183_ShortEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read182_ShortEnum();
+ return ((XmlSerializationReader1)reader).Read187_ShortEnum();
}
}
@@ -15072,11 +15925,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write179_IntEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write184_IntEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read183_IntEnum();
+ return ((XmlSerializationReader1)reader).Read188_IntEnum();
}
}
@@ -15087,11 +15940,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write180_UIntEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write185_UIntEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read184_UIntEnum();
+ return ((XmlSerializationReader1)reader).Read189_UIntEnum();
}
}
@@ -15102,11 +15955,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write181_LongEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write186_LongEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read185_LongEnum();
+ return ((XmlSerializationReader1)reader).Read190_LongEnum();
}
}
@@ -15117,11 +15970,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write182_ULongEnum(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write187_ULongEnum(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read186_ULongEnum();
+ return ((XmlSerializationReader1)reader).Read191_ULongEnum();
}
}
@@ -15132,11 +15985,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write183_AttributeTesting(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write188_AttributeTesting(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read187_AttributeTesting();
+ return ((XmlSerializationReader1)reader).Read192_AttributeTesting();
}
}
@@ -15147,11 +16000,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write184_ItemChoiceType(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write189_ItemChoiceType(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read188_ItemChoiceType();
+ return ((XmlSerializationReader1)reader).Read193_ItemChoiceType();
}
}
@@ -15162,11 +16015,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write185_TypeWithAnyAttribute(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write190_TypeWithAnyAttribute(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read189_TypeWithAnyAttribute();
+ return ((XmlSerializationReader1)reader).Read194_TypeWithAnyAttribute();
}
}
@@ -15177,11 +16030,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write186_KnownTypesThroughConstructor(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write191_KnownTypesThroughConstructor(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read190_KnownTypesThroughConstructor();
+ return ((XmlSerializationReader1)reader).Read195_KnownTypesThroughConstructor();
}
}
@@ -15192,11 +16045,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write187_SimpleKnownTypeValue(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write192_SimpleKnownTypeValue(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read191_SimpleKnownTypeValue();
+ return ((XmlSerializationReader1)reader).Read196_SimpleKnownTypeValue();
}
}
@@ -15207,11 +16060,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write188_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write193_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read192_Item();
+ return ((XmlSerializationReader1)reader).Read197_Item();
}
}
@@ -15222,11 +16075,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write189_TypeWithPropertyNameSpecified(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write194_TypeWithPropertyNameSpecified(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read193_TypeWithPropertyNameSpecified();
+ return ((XmlSerializationReader1)reader).Read198_TypeWithPropertyNameSpecified();
}
}
@@ -15237,11 +16090,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write190_TypeWithXmlSchemaFormAttribute(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write195_TypeWithXmlSchemaFormAttribute(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read194_TypeWithXmlSchemaFormAttribute();
+ return ((XmlSerializationReader1)reader).Read199_TypeWithXmlSchemaFormAttribute();
}
}
@@ -15252,11 +16105,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write191_MyXmlType(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write196_MyXmlType(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read195_MyXmlType();
+ return ((XmlSerializationReader1)reader).Read200_MyXmlType();
}
}
@@ -15267,11 +16120,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write192_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write197_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read196_Item();
+ return ((XmlSerializationReader1)reader).Read201_Item();
}
}
@@ -15282,11 +16135,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write193_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write198_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read197_Item();
+ return ((XmlSerializationReader1)reader).Read202_Item();
}
}
@@ -15297,11 +16150,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write194_ServerSettings(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write199_ServerSettings(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read198_ServerSettings();
+ return ((XmlSerializationReader1)reader).Read203_ServerSettings();
}
}
@@ -15312,11 +16165,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write195_TypeWithXmlQualifiedName(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write200_TypeWithXmlQualifiedName(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read199_TypeWithXmlQualifiedName();
+ return ((XmlSerializationReader1)reader).Read204_TypeWithXmlQualifiedName();
}
}
@@ -15327,11 +16180,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write196_TypeWith2DArrayProperty2(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write201_TypeWith2DArrayProperty2(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read200_TypeWith2DArrayProperty2();
+ return ((XmlSerializationReader1)reader).Read205_TypeWith2DArrayProperty2();
}
}
@@ -15342,11 +16195,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write197_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write202_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read201_Item();
+ return ((XmlSerializationReader1)reader).Read206_Item();
}
}
@@ -15357,11 +16210,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write198_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write203_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read202_Item();
+ return ((XmlSerializationReader1)reader).Read207_Item();
}
}
@@ -15372,11 +16225,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write199_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write204_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read203_Item();
+ return ((XmlSerializationReader1)reader).Read208_Item();
}
}
@@ -15387,11 +16240,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write200_TypeWithShouldSerializeMethod(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write205_TypeWithShouldSerializeMethod(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read204_TypeWithShouldSerializeMethod();
+ return ((XmlSerializationReader1)reader).Read209_TypeWithShouldSerializeMethod();
}
}
@@ -15402,11 +16255,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write201_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write206_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read205_Item();
+ return ((XmlSerializationReader1)reader).Read210_Item();
}
}
@@ -15417,11 +16270,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write202_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write207_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read206_Item();
+ return ((XmlSerializationReader1)reader).Read211_Item();
}
}
@@ -15432,11 +16285,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write203_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write208_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read207_Item();
+ return ((XmlSerializationReader1)reader).Read212_Item();
}
}
@@ -15447,11 +16300,26 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write204_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write209_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read208_Item();
+ return ((XmlSerializationReader1)reader).Read213_Item();
+ }
+ }
+
+ public sealed class TypeWithPropertyHavingComplexChoiceSerializer : XmlSerializer1 {
+
+ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
+ return xmlReader.IsStartElement(@"TypeWithPropertyHavingComplexChoice", @"");
+ }
+
+ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
+ ((XmlSerializationWriter1)writer).Write210_Item(objectToSerialize);
+ }
+
+ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
+ return ((XmlSerializationReader1)reader).Read214_Item();
}
}
@@ -15462,11 +16330,41 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write205_MoreChoices(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write211_MoreChoices(objectToSerialize);
+ }
+
+ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
+ return ((XmlSerializationReader1)reader).Read215_MoreChoices();
+ }
+ }
+
+ public sealed class ComplexChoiceASerializer : XmlSerializer1 {
+
+ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
+ return xmlReader.IsStartElement(@"ComplexChoiceA", @"");
+ }
+
+ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
+ ((XmlSerializationWriter1)writer).Write212_ComplexChoiceA(objectToSerialize);
+ }
+
+ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
+ return ((XmlSerializationReader1)reader).Read216_ComplexChoiceA();
+ }
+ }
+
+ public sealed class ComplexChoiceBSerializer : XmlSerializer1 {
+
+ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
+ return xmlReader.IsStartElement(@"ComplexChoiceB", @"");
+ }
+
+ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
+ ((XmlSerializationWriter1)writer).Write213_ComplexChoiceB(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read209_MoreChoices();
+ return ((XmlSerializationReader1)reader).Read217_ComplexChoiceB();
}
}
@@ -15477,11 +16375,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write206_TypeWithFieldsOrdered(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write214_TypeWithFieldsOrdered(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read210_TypeWithFieldsOrdered();
+ return ((XmlSerializationReader1)reader).Read218_TypeWithFieldsOrdered();
}
}
@@ -15492,11 +16390,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write207_Item(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write215_Item(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read211_Item();
+ return ((XmlSerializationReader1)reader).Read219_Item();
}
}
@@ -15507,11 +16405,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write208_Root(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write216_Root(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read212_Root();
+ return ((XmlSerializationReader1)reader).Read220_Root();
}
}
@@ -15522,11 +16420,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write209_TypeClashB(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write217_TypeClashB(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read213_TypeClashB();
+ return ((XmlSerializationReader1)reader).Read221_TypeClashB();
}
}
@@ -15537,11 +16435,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write210_TypeClashA(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write218_TypeClashA(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read214_TypeClashA();
+ return ((XmlSerializationReader1)reader).Read222_TypeClashA();
}
}
@@ -15552,11 +16450,11 @@ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) {
}
protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) {
- ((XmlSerializationWriter1)writer).Write211_Person(objectToSerialize);
+ ((XmlSerializationWriter1)writer).Write219_Person(objectToSerialize);
}
protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) {
- return ((XmlSerializationReader1)reader).Read215_Person();
+ return ((XmlSerializationReader1)reader).Read223_Person();
}
}
@@ -15568,111 +16466,115 @@ public override System.Collections.Hashtable ReadMethods {
get {
if (readMethods == null) {
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
- _tmp[@"TypeWithXmlElementProperty::"] = @"Read111_TypeWithXmlElementProperty";
- _tmp[@"TypeWithXmlDocumentProperty::"] = @"Read112_TypeWithXmlDocumentProperty";
- _tmp[@"TypeWithBinaryProperty::"] = @"Read113_TypeWithBinaryProperty";
- _tmp[@"TypeWithDateTimeOffsetProperties::"] = @"Read114_Item";
- _tmp[@"TypeWithTimeSpanProperty::"] = @"Read115_TypeWithTimeSpanProperty";
- _tmp[@"TypeWithDefaultTimeSpanProperty::"] = @"Read116_Item";
- _tmp[@"TypeWithByteProperty::"] = @"Read117_TypeWithByteProperty";
- _tmp[@"TypeWithXmlNodeArrayProperty:::True:"] = @"Read118_TypeWithXmlNodeArrayProperty";
- _tmp[@"Animal::"] = @"Read119_Animal";
- _tmp[@"Dog::"] = @"Read120_Dog";
- _tmp[@"DogBreed::"] = @"Read121_DogBreed";
- _tmp[@"Group::"] = @"Read122_Group";
- _tmp[@"Vehicle::"] = @"Read123_Vehicle";
- _tmp[@"Employee::"] = @"Read124_Employee";
- _tmp[@"BaseClass::"] = @"Read125_BaseClass";
- _tmp[@"DerivedClass::"] = @"Read126_DerivedClass";
- _tmp[@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:"] = @"Read127_PurchaseOrder";
- _tmp[@"Address::"] = @"Read128_Address";
- _tmp[@"OrderedItem::"] = @"Read129_OrderedItem";
- _tmp[@"AliasedTestType::"] = @"Read130_AliasedTestType";
- _tmp[@"BaseClass1::"] = @"Read131_BaseClass1";
- _tmp[@"DerivedClass1::"] = @"Read132_DerivedClass1";
- _tmp[@"MyCollection1::"] = @"Read133_ArrayOfDateTime";
- _tmp[@"Orchestra::"] = @"Read134_Orchestra";
- _tmp[@"Instrument::"] = @"Read135_Instrument";
- _tmp[@"Brass::"] = @"Read136_Brass";
- _tmp[@"Trumpet::"] = @"Read137_Trumpet";
- _tmp[@"Pet::"] = @"Read138_Pet";
- _tmp[@"DefaultValuesSetToNaN::"] = @"Read139_DefaultValuesSetToNaN";
- _tmp[@"DefaultValuesSetToPositiveInfinity::"] = @"Read140_Item";
- _tmp[@"DefaultValuesSetToNegativeInfinity::"] = @"Read141_Item";
- _tmp[@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:"] = @"Read142_RootElement";
- _tmp[@"TypeWithLinkedProperty::"] = @"Read143_TypeWithLinkedProperty";
- _tmp[@"MsgDocumentType:http://example.com:Document:True:"] = @"Read144_Document";
- _tmp[@"RootClass::"] = @"Read145_RootClass";
- _tmp[@"Parameter::"] = @"Read146_Parameter";
- _tmp[@"XElementWrapper::"] = @"Read147_XElementWrapper";
- _tmp[@"XElementStruct::"] = @"Read148_XElementStruct";
- _tmp[@"XElementArrayWrapper::"] = @"Read149_XElementArrayWrapper";
- _tmp[@"SerializationTypes.TypeWithDateTimeStringProperty::"] = @"Read150_TypeWithDateTimeStringProperty";
- _tmp[@"SerializationTypes.SimpleType::"] = @"Read151_SimpleType";
- _tmp[@"SerializationTypes.TypeWithGetSetArrayMembers::"] = @"Read152_TypeWithGetSetArrayMembers";
- _tmp[@"SerializationTypes.TypeWithGetOnlyArrayProperties::"] = @"Read153_TypeWithGetOnlyArrayProperties";
- _tmp[@"SerializationTypes.StructNotSerializable::"] = @"Read154_StructNotSerializable";
- _tmp[@"SerializationTypes.TypeWithMyCollectionField::"] = @"Read155_TypeWithMyCollectionField";
- _tmp[@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::"] = @"Read156_Item";
- _tmp[@"SerializationTypes.MyList::"] = @"Read157_ArrayOfAnyType";
- _tmp[@"SerializationTypes.MyEnum::"] = @"Read158_MyEnum";
- _tmp[@"SerializationTypes.TypeWithEnumMembers::"] = @"Read159_TypeWithEnumMembers";
- _tmp[@"SerializationTypes.DCStruct::"] = @"Read160_DCStruct";
- _tmp[@"SerializationTypes.DCClassWithEnumAndStruct::"] = @"Read161_DCClassWithEnumAndStruct";
- _tmp[@"SerializationTypes.BuiltInTypes::"] = @"Read162_BuiltInTypes";
- _tmp[@"SerializationTypes.TypeA::"] = @"Read163_TypeA";
- _tmp[@"SerializationTypes.TypeB::"] = @"Read164_TypeB";
- _tmp[@"SerializationTypes.TypeHasArrayOfASerializedAsB::"] = @"Read165_TypeHasArrayOfASerializedAsB";
- _tmp[@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::"] = @"Read166_Item";
- _tmp[@"SerializationTypes.BaseClassWithSamePropertyName::"] = @"Read167_BaseClassWithSamePropertyName";
- _tmp[@"SerializationTypes.DerivedClassWithSameProperty::"] = @"Read168_DerivedClassWithSameProperty";
- _tmp[@"SerializationTypes.DerivedClassWithSameProperty2::"] = @"Read169_DerivedClassWithSameProperty2";
- _tmp[@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::"] = @"Read170_Item";
- _tmp[@"SerializationTypes.TypeWithByteArrayAsXmlText::"] = @"Read171_TypeWithByteArrayAsXmlText";
- _tmp[@"SerializationTypes.SimpleDC::"] = @"Read172_SimpleDC";
- _tmp[@"SerializationTypes.TypeWithXmlTextAttributeOnArray:http://schemas.xmlsoap.org/ws/2005/04/discovery::False:"] = @"Read173_Item";
- _tmp[@"SerializationTypes.EnumFlags::"] = @"Read174_EnumFlags";
- _tmp[@"SerializationTypes.ClassImplementsInterface::"] = @"Read175_ClassImplementsInterface";
- _tmp[@"SerializationTypes.WithStruct::"] = @"Read176_WithStruct";
- _tmp[@"SerializationTypes.SomeStruct::"] = @"Read177_SomeStruct";
- _tmp[@"SerializationTypes.WithEnums::"] = @"Read178_WithEnums";
- _tmp[@"SerializationTypes.WithNullables::"] = @"Read179_WithNullables";
- _tmp[@"SerializationTypes.ByteEnum::"] = @"Read180_ByteEnum";
- _tmp[@"SerializationTypes.SByteEnum::"] = @"Read181_SByteEnum";
- _tmp[@"SerializationTypes.ShortEnum::"] = @"Read182_ShortEnum";
- _tmp[@"SerializationTypes.IntEnum::"] = @"Read183_IntEnum";
- _tmp[@"SerializationTypes.UIntEnum::"] = @"Read184_UIntEnum";
- _tmp[@"SerializationTypes.LongEnum::"] = @"Read185_LongEnum";
- _tmp[@"SerializationTypes.ULongEnum::"] = @"Read186_ULongEnum";
- _tmp[@"SerializationTypes.XmlSerializerAttributes::AttributeTesting:False:"] = @"Read187_AttributeTesting";
- _tmp[@"SerializationTypes.ItemChoiceType::"] = @"Read188_ItemChoiceType";
- _tmp[@"SerializationTypes.TypeWithAnyAttribute::"] = @"Read189_TypeWithAnyAttribute";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructor::"] = @"Read190_KnownTypesThroughConstructor";
- _tmp[@"SerializationTypes.SimpleKnownTypeValue::"] = @"Read191_SimpleKnownTypeValue";
- _tmp[@"SerializationTypes.ClassImplementingIXmlSerialiable::"] = @"Read192_Item";
- _tmp[@"SerializationTypes.TypeWithPropertyNameSpecified::"] = @"Read193_TypeWithPropertyNameSpecified";
- _tmp[@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:"] = @"Read194_TypeWithXmlSchemaFormAttribute";
- _tmp[@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::"] = @"Read195_MyXmlType";
- _tmp[@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::"] = @"Read196_Item";
- _tmp[@"SerializationTypes.TypeWithNonPublicDefaultConstructor::"] = @"Read197_Item";
- _tmp[@"SerializationTypes.ServerSettings::"] = @"Read198_ServerSettings";
- _tmp[@"SerializationTypes.TypeWithXmlQualifiedName::"] = @"Read199_TypeWithXmlQualifiedName";
- _tmp[@"SerializationTypes.TypeWith2DArrayProperty2::"] = @"Read200_TypeWith2DArrayProperty2";
- _tmp[@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::"] = @"Read201_Item";
- _tmp[@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::"] = @"Read202_Item";
- _tmp[@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::"] = @"Read203_Item";
- _tmp[@"SerializationTypes.TypeWithShouldSerializeMethod::"] = @"Read204_TypeWithShouldSerializeMethod";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::"] = @"Read205_Item";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithValue::"] = @"Read206_Item";
- _tmp[@"SerializationTypes.TypeWithTypesHavingCustomFormatter::"] = @"Read207_Item";
- _tmp[@"SerializationTypes.TypeWithArrayPropertyHavingChoice::"] = @"Read208_Item";
- _tmp[@"SerializationTypes.MoreChoices::"] = @"Read209_MoreChoices";
- _tmp[@"SerializationTypes.TypeWithFieldsOrdered::"] = @"Read210_TypeWithFieldsOrdered";
- _tmp[@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::"] = @"Read211_Item";
- _tmp[@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:"] = @"Read212_Root";
- _tmp[@"SerializationTypes.TypeNameClashB.TypeNameClash::"] = @"Read213_TypeClashB";
- _tmp[@"SerializationTypes.TypeNameClashA.TypeNameClash::"] = @"Read214_TypeClashA";
- _tmp[@"Outer+Person::"] = @"Read215_Person";
+ _tmp[@"TypeWithXmlElementProperty::"] = @"Read115_TypeWithXmlElementProperty";
+ _tmp[@"TypeWithXmlDocumentProperty::"] = @"Read116_TypeWithXmlDocumentProperty";
+ _tmp[@"TypeWithBinaryProperty::"] = @"Read117_TypeWithBinaryProperty";
+ _tmp[@"TypeWithDateTimeOffsetProperties::"] = @"Read118_Item";
+ _tmp[@"TypeWithTimeSpanProperty::"] = @"Read119_TypeWithTimeSpanProperty";
+ _tmp[@"TypeWithDefaultTimeSpanProperty::"] = @"Read120_Item";
+ _tmp[@"TypeWithByteProperty::"] = @"Read121_TypeWithByteProperty";
+ _tmp[@"TypeWithXmlNodeArrayProperty:::True:"] = @"Read122_TypeWithXmlNodeArrayProperty";
+ _tmp[@"Animal::"] = @"Read123_Animal";
+ _tmp[@"Dog::"] = @"Read124_Dog";
+ _tmp[@"DogBreed::"] = @"Read125_DogBreed";
+ _tmp[@"Group::"] = @"Read126_Group";
+ _tmp[@"Vehicle::"] = @"Read127_Vehicle";
+ _tmp[@"Employee::"] = @"Read128_Employee";
+ _tmp[@"BaseClass::"] = @"Read129_BaseClass";
+ _tmp[@"DerivedClass::"] = @"Read130_DerivedClass";
+ _tmp[@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:"] = @"Read131_PurchaseOrder";
+ _tmp[@"Address::"] = @"Read132_Address";
+ _tmp[@"OrderedItem::"] = @"Read133_OrderedItem";
+ _tmp[@"AliasedTestType::"] = @"Read134_AliasedTestType";
+ _tmp[@"BaseClass1::"] = @"Read135_BaseClass1";
+ _tmp[@"DerivedClass1::"] = @"Read136_DerivedClass1";
+ _tmp[@"MyCollection1::"] = @"Read137_ArrayOfDateTime";
+ _tmp[@"Orchestra::"] = @"Read138_Orchestra";
+ _tmp[@"Instrument::"] = @"Read139_Instrument";
+ _tmp[@"Brass::"] = @"Read140_Brass";
+ _tmp[@"Trumpet::"] = @"Read141_Trumpet";
+ _tmp[@"Pet::"] = @"Read142_Pet";
+ _tmp[@"DefaultValuesSetToNaN::"] = @"Read143_DefaultValuesSetToNaN";
+ _tmp[@"DefaultValuesSetToPositiveInfinity::"] = @"Read144_Item";
+ _tmp[@"DefaultValuesSetToNegativeInfinity::"] = @"Read145_Item";
+ _tmp[@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:"] = @"Read146_RootElement";
+ _tmp[@"TypeWithLinkedProperty::"] = @"Read147_TypeWithLinkedProperty";
+ _tmp[@"MsgDocumentType:http://example.com:Document:True:"] = @"Read148_Document";
+ _tmp[@"RootClass::"] = @"Read149_RootClass";
+ _tmp[@"Parameter::"] = @"Read150_Parameter";
+ _tmp[@"XElementWrapper::"] = @"Read151_XElementWrapper";
+ _tmp[@"XElementStruct::"] = @"Read152_XElementStruct";
+ _tmp[@"XElementArrayWrapper::"] = @"Read153_XElementArrayWrapper";
+ _tmp[@"SerializationTypes.TypeWithDateTimeStringProperty::"] = @"Read154_TypeWithDateTimeStringProperty";
+ _tmp[@"SerializationTypes.SimpleType::"] = @"Read155_SimpleType";
+ _tmp[@"SerializationTypes.TypeWithGetSetArrayMembers::"] = @"Read156_TypeWithGetSetArrayMembers";
+ _tmp[@"SerializationTypes.TypeWithGetOnlyArrayProperties::"] = @"Read157_TypeWithGetOnlyArrayProperties";
+ _tmp[@"SerializationTypes.TypeWithArraylikeMembers::"] = @"Read158_TypeWithArraylikeMembers";
+ _tmp[@"SerializationTypes.StructNotSerializable::"] = @"Read159_StructNotSerializable";
+ _tmp[@"SerializationTypes.TypeWithMyCollectionField::"] = @"Read160_TypeWithMyCollectionField";
+ _tmp[@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::"] = @"Read161_Item";
+ _tmp[@"SerializationTypes.MyList::"] = @"Read162_ArrayOfAnyType";
+ _tmp[@"SerializationTypes.MyEnum::"] = @"Read163_MyEnum";
+ _tmp[@"SerializationTypes.TypeWithEnumMembers::"] = @"Read164_TypeWithEnumMembers";
+ _tmp[@"SerializationTypes.DCStruct::"] = @"Read165_DCStruct";
+ _tmp[@"SerializationTypes.DCClassWithEnumAndStruct::"] = @"Read166_DCClassWithEnumAndStruct";
+ _tmp[@"SerializationTypes.BuiltInTypes::"] = @"Read167_BuiltInTypes";
+ _tmp[@"SerializationTypes.TypeA::"] = @"Read168_TypeA";
+ _tmp[@"SerializationTypes.TypeB::"] = @"Read169_TypeB";
+ _tmp[@"SerializationTypes.TypeHasArrayOfASerializedAsB::"] = @"Read170_TypeHasArrayOfASerializedAsB";
+ _tmp[@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::"] = @"Read171_Item";
+ _tmp[@"SerializationTypes.BaseClassWithSamePropertyName::"] = @"Read172_BaseClassWithSamePropertyName";
+ _tmp[@"SerializationTypes.DerivedClassWithSameProperty::"] = @"Read173_DerivedClassWithSameProperty";
+ _tmp[@"SerializationTypes.DerivedClassWithSameProperty2::"] = @"Read174_DerivedClassWithSameProperty2";
+ _tmp[@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::"] = @"Read175_Item";
+ _tmp[@"SerializationTypes.TypeWithByteArrayAsXmlText::"] = @"Read176_TypeWithByteArrayAsXmlText";
+ _tmp[@"SerializationTypes.SimpleDC::"] = @"Read177_SimpleDC";
+ _tmp[@"SerializationTypes.TypeWithXmlTextAttributeOnArray:http://schemas.xmlsoap.org/ws/2005/04/discovery::False:"] = @"Read178_Item";
+ _tmp[@"SerializationTypes.EnumFlags::"] = @"Read179_EnumFlags";
+ _tmp[@"SerializationTypes.ClassImplementsInterface::"] = @"Read180_ClassImplementsInterface";
+ _tmp[@"SerializationTypes.WithStruct::"] = @"Read181_WithStruct";
+ _tmp[@"SerializationTypes.SomeStruct::"] = @"Read182_SomeStruct";
+ _tmp[@"SerializationTypes.WithEnums::"] = @"Read183_WithEnums";
+ _tmp[@"SerializationTypes.WithNullables::"] = @"Read184_WithNullables";
+ _tmp[@"SerializationTypes.ByteEnum::"] = @"Read185_ByteEnum";
+ _tmp[@"SerializationTypes.SByteEnum::"] = @"Read186_SByteEnum";
+ _tmp[@"SerializationTypes.ShortEnum::"] = @"Read187_ShortEnum";
+ _tmp[@"SerializationTypes.IntEnum::"] = @"Read188_IntEnum";
+ _tmp[@"SerializationTypes.UIntEnum::"] = @"Read189_UIntEnum";
+ _tmp[@"SerializationTypes.LongEnum::"] = @"Read190_LongEnum";
+ _tmp[@"SerializationTypes.ULongEnum::"] = @"Read191_ULongEnum";
+ _tmp[@"SerializationTypes.XmlSerializerAttributes::AttributeTesting:False:"] = @"Read192_AttributeTesting";
+ _tmp[@"SerializationTypes.ItemChoiceType::"] = @"Read193_ItemChoiceType";
+ _tmp[@"SerializationTypes.TypeWithAnyAttribute::"] = @"Read194_TypeWithAnyAttribute";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructor::"] = @"Read195_KnownTypesThroughConstructor";
+ _tmp[@"SerializationTypes.SimpleKnownTypeValue::"] = @"Read196_SimpleKnownTypeValue";
+ _tmp[@"SerializationTypes.ClassImplementingIXmlSerialiable::"] = @"Read197_Item";
+ _tmp[@"SerializationTypes.TypeWithPropertyNameSpecified::"] = @"Read198_TypeWithPropertyNameSpecified";
+ _tmp[@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:"] = @"Read199_TypeWithXmlSchemaFormAttribute";
+ _tmp[@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::"] = @"Read200_MyXmlType";
+ _tmp[@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::"] = @"Read201_Item";
+ _tmp[@"SerializationTypes.TypeWithNonPublicDefaultConstructor::"] = @"Read202_Item";
+ _tmp[@"SerializationTypes.ServerSettings::"] = @"Read203_ServerSettings";
+ _tmp[@"SerializationTypes.TypeWithXmlQualifiedName::"] = @"Read204_TypeWithXmlQualifiedName";
+ _tmp[@"SerializationTypes.TypeWith2DArrayProperty2::"] = @"Read205_TypeWith2DArrayProperty2";
+ _tmp[@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::"] = @"Read206_Item";
+ _tmp[@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::"] = @"Read207_Item";
+ _tmp[@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::"] = @"Read208_Item";
+ _tmp[@"SerializationTypes.TypeWithShouldSerializeMethod::"] = @"Read209_TypeWithShouldSerializeMethod";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::"] = @"Read210_Item";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithValue::"] = @"Read211_Item";
+ _tmp[@"SerializationTypes.TypeWithTypesHavingCustomFormatter::"] = @"Read212_Item";
+ _tmp[@"SerializationTypes.TypeWithArrayPropertyHavingChoice::"] = @"Read213_Item";
+ _tmp[@"SerializationTypes.TypeWithPropertyHavingComplexChoice::"] = @"Read214_Item";
+ _tmp[@"SerializationTypes.MoreChoices::"] = @"Read215_MoreChoices";
+ _tmp[@"SerializationTypes.ComplexChoiceA::"] = @"Read216_ComplexChoiceA";
+ _tmp[@"SerializationTypes.ComplexChoiceB::"] = @"Read217_ComplexChoiceB";
+ _tmp[@"SerializationTypes.TypeWithFieldsOrdered::"] = @"Read218_TypeWithFieldsOrdered";
+ _tmp[@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::"] = @"Read219_Item";
+ _tmp[@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:"] = @"Read220_Root";
+ _tmp[@"SerializationTypes.TypeNameClashB.TypeNameClash::"] = @"Read221_TypeClashB";
+ _tmp[@"SerializationTypes.TypeNameClashA.TypeNameClash::"] = @"Read222_TypeClashA";
+ _tmp[@"Outer+Person::"] = @"Read223_Person";
if (readMethods == null) readMethods = _tmp;
}
return readMethods;
@@ -15683,111 +16585,115 @@ public override System.Collections.Hashtable WriteMethods {
get {
if (writeMethods == null) {
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
- _tmp[@"TypeWithXmlElementProperty::"] = @"Write107_TypeWithXmlElementProperty";
- _tmp[@"TypeWithXmlDocumentProperty::"] = @"Write108_TypeWithXmlDocumentProperty";
- _tmp[@"TypeWithBinaryProperty::"] = @"Write109_TypeWithBinaryProperty";
- _tmp[@"TypeWithDateTimeOffsetProperties::"] = @"Write110_Item";
- _tmp[@"TypeWithTimeSpanProperty::"] = @"Write111_TypeWithTimeSpanProperty";
- _tmp[@"TypeWithDefaultTimeSpanProperty::"] = @"Write112_Item";
- _tmp[@"TypeWithByteProperty::"] = @"Write113_TypeWithByteProperty";
- _tmp[@"TypeWithXmlNodeArrayProperty:::True:"] = @"Write114_TypeWithXmlNodeArrayProperty";
- _tmp[@"Animal::"] = @"Write115_Animal";
- _tmp[@"Dog::"] = @"Write116_Dog";
- _tmp[@"DogBreed::"] = @"Write117_DogBreed";
- _tmp[@"Group::"] = @"Write118_Group";
- _tmp[@"Vehicle::"] = @"Write119_Vehicle";
- _tmp[@"Employee::"] = @"Write120_Employee";
- _tmp[@"BaseClass::"] = @"Write121_BaseClass";
- _tmp[@"DerivedClass::"] = @"Write122_DerivedClass";
- _tmp[@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:"] = @"Write123_PurchaseOrder";
- _tmp[@"Address::"] = @"Write124_Address";
- _tmp[@"OrderedItem::"] = @"Write125_OrderedItem";
- _tmp[@"AliasedTestType::"] = @"Write126_AliasedTestType";
- _tmp[@"BaseClass1::"] = @"Write127_BaseClass1";
- _tmp[@"DerivedClass1::"] = @"Write128_DerivedClass1";
- _tmp[@"MyCollection1::"] = @"Write129_ArrayOfDateTime";
- _tmp[@"Orchestra::"] = @"Write130_Orchestra";
- _tmp[@"Instrument::"] = @"Write131_Instrument";
- _tmp[@"Brass::"] = @"Write132_Brass";
- _tmp[@"Trumpet::"] = @"Write133_Trumpet";
- _tmp[@"Pet::"] = @"Write134_Pet";
- _tmp[@"DefaultValuesSetToNaN::"] = @"Write135_DefaultValuesSetToNaN";
- _tmp[@"DefaultValuesSetToPositiveInfinity::"] = @"Write136_Item";
- _tmp[@"DefaultValuesSetToNegativeInfinity::"] = @"Write137_Item";
- _tmp[@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:"] = @"Write138_RootElement";
- _tmp[@"TypeWithLinkedProperty::"] = @"Write139_TypeWithLinkedProperty";
- _tmp[@"MsgDocumentType:http://example.com:Document:True:"] = @"Write140_Document";
- _tmp[@"RootClass::"] = @"Write141_RootClass";
- _tmp[@"Parameter::"] = @"Write142_Parameter";
- _tmp[@"XElementWrapper::"] = @"Write143_XElementWrapper";
- _tmp[@"XElementStruct::"] = @"Write144_XElementStruct";
- _tmp[@"XElementArrayWrapper::"] = @"Write145_XElementArrayWrapper";
- _tmp[@"SerializationTypes.TypeWithDateTimeStringProperty::"] = @"Write146_TypeWithDateTimeStringProperty";
- _tmp[@"SerializationTypes.SimpleType::"] = @"Write147_SimpleType";
- _tmp[@"SerializationTypes.TypeWithGetSetArrayMembers::"] = @"Write148_TypeWithGetSetArrayMembers";
- _tmp[@"SerializationTypes.TypeWithGetOnlyArrayProperties::"] = @"Write149_TypeWithGetOnlyArrayProperties";
- _tmp[@"SerializationTypes.StructNotSerializable::"] = @"Write150_StructNotSerializable";
- _tmp[@"SerializationTypes.TypeWithMyCollectionField::"] = @"Write151_TypeWithMyCollectionField";
- _tmp[@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::"] = @"Write152_Item";
- _tmp[@"SerializationTypes.MyList::"] = @"Write153_ArrayOfAnyType";
- _tmp[@"SerializationTypes.MyEnum::"] = @"Write154_MyEnum";
- _tmp[@"SerializationTypes.TypeWithEnumMembers::"] = @"Write155_TypeWithEnumMembers";
- _tmp[@"SerializationTypes.DCStruct::"] = @"Write156_DCStruct";
- _tmp[@"SerializationTypes.DCClassWithEnumAndStruct::"] = @"Write157_DCClassWithEnumAndStruct";
- _tmp[@"SerializationTypes.BuiltInTypes::"] = @"Write158_BuiltInTypes";
- _tmp[@"SerializationTypes.TypeA::"] = @"Write159_TypeA";
- _tmp[@"SerializationTypes.TypeB::"] = @"Write160_TypeB";
- _tmp[@"SerializationTypes.TypeHasArrayOfASerializedAsB::"] = @"Write161_TypeHasArrayOfASerializedAsB";
- _tmp[@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::"] = @"Write162_Item";
- _tmp[@"SerializationTypes.BaseClassWithSamePropertyName::"] = @"Write163_BaseClassWithSamePropertyName";
- _tmp[@"SerializationTypes.DerivedClassWithSameProperty::"] = @"Write164_DerivedClassWithSameProperty";
- _tmp[@"SerializationTypes.DerivedClassWithSameProperty2::"] = @"Write165_DerivedClassWithSameProperty2";
- _tmp[@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::"] = @"Write166_Item";
- _tmp[@"SerializationTypes.TypeWithByteArrayAsXmlText::"] = @"Write167_TypeWithByteArrayAsXmlText";
- _tmp[@"SerializationTypes.SimpleDC::"] = @"Write168_SimpleDC";
- _tmp[@"SerializationTypes.TypeWithXmlTextAttributeOnArray:http://schemas.xmlsoap.org/ws/2005/04/discovery::False:"] = @"Write169_Item";
- _tmp[@"SerializationTypes.EnumFlags::"] = @"Write170_EnumFlags";
- _tmp[@"SerializationTypes.ClassImplementsInterface::"] = @"Write171_ClassImplementsInterface";
- _tmp[@"SerializationTypes.WithStruct::"] = @"Write172_WithStruct";
- _tmp[@"SerializationTypes.SomeStruct::"] = @"Write173_SomeStruct";
- _tmp[@"SerializationTypes.WithEnums::"] = @"Write174_WithEnums";
- _tmp[@"SerializationTypes.WithNullables::"] = @"Write175_WithNullables";
- _tmp[@"SerializationTypes.ByteEnum::"] = @"Write176_ByteEnum";
- _tmp[@"SerializationTypes.SByteEnum::"] = @"Write177_SByteEnum";
- _tmp[@"SerializationTypes.ShortEnum::"] = @"Write178_ShortEnum";
- _tmp[@"SerializationTypes.IntEnum::"] = @"Write179_IntEnum";
- _tmp[@"SerializationTypes.UIntEnum::"] = @"Write180_UIntEnum";
- _tmp[@"SerializationTypes.LongEnum::"] = @"Write181_LongEnum";
- _tmp[@"SerializationTypes.ULongEnum::"] = @"Write182_ULongEnum";
- _tmp[@"SerializationTypes.XmlSerializerAttributes::AttributeTesting:False:"] = @"Write183_AttributeTesting";
- _tmp[@"SerializationTypes.ItemChoiceType::"] = @"Write184_ItemChoiceType";
- _tmp[@"SerializationTypes.TypeWithAnyAttribute::"] = @"Write185_TypeWithAnyAttribute";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructor::"] = @"Write186_KnownTypesThroughConstructor";
- _tmp[@"SerializationTypes.SimpleKnownTypeValue::"] = @"Write187_SimpleKnownTypeValue";
- _tmp[@"SerializationTypes.ClassImplementingIXmlSerialiable::"] = @"Write188_Item";
- _tmp[@"SerializationTypes.TypeWithPropertyNameSpecified::"] = @"Write189_TypeWithPropertyNameSpecified";
- _tmp[@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:"] = @"Write190_TypeWithXmlSchemaFormAttribute";
- _tmp[@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::"] = @"Write191_MyXmlType";
- _tmp[@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::"] = @"Write192_Item";
- _tmp[@"SerializationTypes.TypeWithNonPublicDefaultConstructor::"] = @"Write193_Item";
- _tmp[@"SerializationTypes.ServerSettings::"] = @"Write194_ServerSettings";
- _tmp[@"SerializationTypes.TypeWithXmlQualifiedName::"] = @"Write195_TypeWithXmlQualifiedName";
- _tmp[@"SerializationTypes.TypeWith2DArrayProperty2::"] = @"Write196_TypeWith2DArrayProperty2";
- _tmp[@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::"] = @"Write197_Item";
- _tmp[@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::"] = @"Write198_Item";
- _tmp[@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::"] = @"Write199_Item";
- _tmp[@"SerializationTypes.TypeWithShouldSerializeMethod::"] = @"Write200_TypeWithShouldSerializeMethod";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::"] = @"Write201_Item";
- _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithValue::"] = @"Write202_Item";
- _tmp[@"SerializationTypes.TypeWithTypesHavingCustomFormatter::"] = @"Write203_Item";
- _tmp[@"SerializationTypes.TypeWithArrayPropertyHavingChoice::"] = @"Write204_Item";
- _tmp[@"SerializationTypes.MoreChoices::"] = @"Write205_MoreChoices";
- _tmp[@"SerializationTypes.TypeWithFieldsOrdered::"] = @"Write206_TypeWithFieldsOrdered";
- _tmp[@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::"] = @"Write207_Item";
- _tmp[@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:"] = @"Write208_Root";
- _tmp[@"SerializationTypes.TypeNameClashB.TypeNameClash::"] = @"Write209_TypeClashB";
- _tmp[@"SerializationTypes.TypeNameClashA.TypeNameClash::"] = @"Write210_TypeClashA";
- _tmp[@"Outer+Person::"] = @"Write211_Person";
+ _tmp[@"TypeWithXmlElementProperty::"] = @"Write111_TypeWithXmlElementProperty";
+ _tmp[@"TypeWithXmlDocumentProperty::"] = @"Write112_TypeWithXmlDocumentProperty";
+ _tmp[@"TypeWithBinaryProperty::"] = @"Write113_TypeWithBinaryProperty";
+ _tmp[@"TypeWithDateTimeOffsetProperties::"] = @"Write114_Item";
+ _tmp[@"TypeWithTimeSpanProperty::"] = @"Write115_TypeWithTimeSpanProperty";
+ _tmp[@"TypeWithDefaultTimeSpanProperty::"] = @"Write116_Item";
+ _tmp[@"TypeWithByteProperty::"] = @"Write117_TypeWithByteProperty";
+ _tmp[@"TypeWithXmlNodeArrayProperty:::True:"] = @"Write118_TypeWithXmlNodeArrayProperty";
+ _tmp[@"Animal::"] = @"Write119_Animal";
+ _tmp[@"Dog::"] = @"Write120_Dog";
+ _tmp[@"DogBreed::"] = @"Write121_DogBreed";
+ _tmp[@"Group::"] = @"Write122_Group";
+ _tmp[@"Vehicle::"] = @"Write123_Vehicle";
+ _tmp[@"Employee::"] = @"Write124_Employee";
+ _tmp[@"BaseClass::"] = @"Write125_BaseClass";
+ _tmp[@"DerivedClass::"] = @"Write126_DerivedClass";
+ _tmp[@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:"] = @"Write127_PurchaseOrder";
+ _tmp[@"Address::"] = @"Write128_Address";
+ _tmp[@"OrderedItem::"] = @"Write129_OrderedItem";
+ _tmp[@"AliasedTestType::"] = @"Write130_AliasedTestType";
+ _tmp[@"BaseClass1::"] = @"Write131_BaseClass1";
+ _tmp[@"DerivedClass1::"] = @"Write132_DerivedClass1";
+ _tmp[@"MyCollection1::"] = @"Write133_ArrayOfDateTime";
+ _tmp[@"Orchestra::"] = @"Write134_Orchestra";
+ _tmp[@"Instrument::"] = @"Write135_Instrument";
+ _tmp[@"Brass::"] = @"Write136_Brass";
+ _tmp[@"Trumpet::"] = @"Write137_Trumpet";
+ _tmp[@"Pet::"] = @"Write138_Pet";
+ _tmp[@"DefaultValuesSetToNaN::"] = @"Write139_DefaultValuesSetToNaN";
+ _tmp[@"DefaultValuesSetToPositiveInfinity::"] = @"Write140_Item";
+ _tmp[@"DefaultValuesSetToNegativeInfinity::"] = @"Write141_Item";
+ _tmp[@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:"] = @"Write142_RootElement";
+ _tmp[@"TypeWithLinkedProperty::"] = @"Write143_TypeWithLinkedProperty";
+ _tmp[@"MsgDocumentType:http://example.com:Document:True:"] = @"Write144_Document";
+ _tmp[@"RootClass::"] = @"Write145_RootClass";
+ _tmp[@"Parameter::"] = @"Write146_Parameter";
+ _tmp[@"XElementWrapper::"] = @"Write147_XElementWrapper";
+ _tmp[@"XElementStruct::"] = @"Write148_XElementStruct";
+ _tmp[@"XElementArrayWrapper::"] = @"Write149_XElementArrayWrapper";
+ _tmp[@"SerializationTypes.TypeWithDateTimeStringProperty::"] = @"Write150_TypeWithDateTimeStringProperty";
+ _tmp[@"SerializationTypes.SimpleType::"] = @"Write151_SimpleType";
+ _tmp[@"SerializationTypes.TypeWithGetSetArrayMembers::"] = @"Write152_TypeWithGetSetArrayMembers";
+ _tmp[@"SerializationTypes.TypeWithGetOnlyArrayProperties::"] = @"Write153_TypeWithGetOnlyArrayProperties";
+ _tmp[@"SerializationTypes.TypeWithArraylikeMembers::"] = @"Write154_TypeWithArraylikeMembers";
+ _tmp[@"SerializationTypes.StructNotSerializable::"] = @"Write155_StructNotSerializable";
+ _tmp[@"SerializationTypes.TypeWithMyCollectionField::"] = @"Write156_TypeWithMyCollectionField";
+ _tmp[@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::"] = @"Write157_Item";
+ _tmp[@"SerializationTypes.MyList::"] = @"Write158_ArrayOfAnyType";
+ _tmp[@"SerializationTypes.MyEnum::"] = @"Write159_MyEnum";
+ _tmp[@"SerializationTypes.TypeWithEnumMembers::"] = @"Write160_TypeWithEnumMembers";
+ _tmp[@"SerializationTypes.DCStruct::"] = @"Write161_DCStruct";
+ _tmp[@"SerializationTypes.DCClassWithEnumAndStruct::"] = @"Write162_DCClassWithEnumAndStruct";
+ _tmp[@"SerializationTypes.BuiltInTypes::"] = @"Write163_BuiltInTypes";
+ _tmp[@"SerializationTypes.TypeA::"] = @"Write164_TypeA";
+ _tmp[@"SerializationTypes.TypeB::"] = @"Write165_TypeB";
+ _tmp[@"SerializationTypes.TypeHasArrayOfASerializedAsB::"] = @"Write166_TypeHasArrayOfASerializedAsB";
+ _tmp[@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::"] = @"Write167_Item";
+ _tmp[@"SerializationTypes.BaseClassWithSamePropertyName::"] = @"Write168_BaseClassWithSamePropertyName";
+ _tmp[@"SerializationTypes.DerivedClassWithSameProperty::"] = @"Write169_DerivedClassWithSameProperty";
+ _tmp[@"SerializationTypes.DerivedClassWithSameProperty2::"] = @"Write170_DerivedClassWithSameProperty2";
+ _tmp[@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::"] = @"Write171_Item";
+ _tmp[@"SerializationTypes.TypeWithByteArrayAsXmlText::"] = @"Write172_TypeWithByteArrayAsXmlText";
+ _tmp[@"SerializationTypes.SimpleDC::"] = @"Write173_SimpleDC";
+ _tmp[@"SerializationTypes.TypeWithXmlTextAttributeOnArray:http://schemas.xmlsoap.org/ws/2005/04/discovery::False:"] = @"Write174_Item";
+ _tmp[@"SerializationTypes.EnumFlags::"] = @"Write175_EnumFlags";
+ _tmp[@"SerializationTypes.ClassImplementsInterface::"] = @"Write176_ClassImplementsInterface";
+ _tmp[@"SerializationTypes.WithStruct::"] = @"Write177_WithStruct";
+ _tmp[@"SerializationTypes.SomeStruct::"] = @"Write178_SomeStruct";
+ _tmp[@"SerializationTypes.WithEnums::"] = @"Write179_WithEnums";
+ _tmp[@"SerializationTypes.WithNullables::"] = @"Write180_WithNullables";
+ _tmp[@"SerializationTypes.ByteEnum::"] = @"Write181_ByteEnum";
+ _tmp[@"SerializationTypes.SByteEnum::"] = @"Write182_SByteEnum";
+ _tmp[@"SerializationTypes.ShortEnum::"] = @"Write183_ShortEnum";
+ _tmp[@"SerializationTypes.IntEnum::"] = @"Write184_IntEnum";
+ _tmp[@"SerializationTypes.UIntEnum::"] = @"Write185_UIntEnum";
+ _tmp[@"SerializationTypes.LongEnum::"] = @"Write186_LongEnum";
+ _tmp[@"SerializationTypes.ULongEnum::"] = @"Write187_ULongEnum";
+ _tmp[@"SerializationTypes.XmlSerializerAttributes::AttributeTesting:False:"] = @"Write188_AttributeTesting";
+ _tmp[@"SerializationTypes.ItemChoiceType::"] = @"Write189_ItemChoiceType";
+ _tmp[@"SerializationTypes.TypeWithAnyAttribute::"] = @"Write190_TypeWithAnyAttribute";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructor::"] = @"Write191_KnownTypesThroughConstructor";
+ _tmp[@"SerializationTypes.SimpleKnownTypeValue::"] = @"Write192_SimpleKnownTypeValue";
+ _tmp[@"SerializationTypes.ClassImplementingIXmlSerialiable::"] = @"Write193_Item";
+ _tmp[@"SerializationTypes.TypeWithPropertyNameSpecified::"] = @"Write194_TypeWithPropertyNameSpecified";
+ _tmp[@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:"] = @"Write195_TypeWithXmlSchemaFormAttribute";
+ _tmp[@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::"] = @"Write196_MyXmlType";
+ _tmp[@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::"] = @"Write197_Item";
+ _tmp[@"SerializationTypes.TypeWithNonPublicDefaultConstructor::"] = @"Write198_Item";
+ _tmp[@"SerializationTypes.ServerSettings::"] = @"Write199_ServerSettings";
+ _tmp[@"SerializationTypes.TypeWithXmlQualifiedName::"] = @"Write200_TypeWithXmlQualifiedName";
+ _tmp[@"SerializationTypes.TypeWith2DArrayProperty2::"] = @"Write201_TypeWith2DArrayProperty2";
+ _tmp[@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::"] = @"Write202_Item";
+ _tmp[@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::"] = @"Write203_Item";
+ _tmp[@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::"] = @"Write204_Item";
+ _tmp[@"SerializationTypes.TypeWithShouldSerializeMethod::"] = @"Write205_TypeWithShouldSerializeMethod";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::"] = @"Write206_Item";
+ _tmp[@"SerializationTypes.KnownTypesThroughConstructorWithValue::"] = @"Write207_Item";
+ _tmp[@"SerializationTypes.TypeWithTypesHavingCustomFormatter::"] = @"Write208_Item";
+ _tmp[@"SerializationTypes.TypeWithArrayPropertyHavingChoice::"] = @"Write209_Item";
+ _tmp[@"SerializationTypes.TypeWithPropertyHavingComplexChoice::"] = @"Write210_Item";
+ _tmp[@"SerializationTypes.MoreChoices::"] = @"Write211_MoreChoices";
+ _tmp[@"SerializationTypes.ComplexChoiceA::"] = @"Write212_ComplexChoiceA";
+ _tmp[@"SerializationTypes.ComplexChoiceB::"] = @"Write213_ComplexChoiceB";
+ _tmp[@"SerializationTypes.TypeWithFieldsOrdered::"] = @"Write214_TypeWithFieldsOrdered";
+ _tmp[@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::"] = @"Write215_Item";
+ _tmp[@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:"] = @"Write216_Root";
+ _tmp[@"SerializationTypes.TypeNameClashB.TypeNameClash::"] = @"Write217_TypeClashB";
+ _tmp[@"SerializationTypes.TypeNameClashA.TypeNameClash::"] = @"Write218_TypeClashA";
+ _tmp[@"Outer+Person::"] = @"Write219_Person";
if (writeMethods == null) writeMethods = _tmp;
}
return writeMethods;
@@ -15798,111 +16704,115 @@ public override System.Collections.Hashtable TypedSerializers {
get {
if (typedSerializers == null) {
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
+ _tmp.Add(@"SerializationTypes.TypeWithArraylikeMembers::", new TypeWithArraylikeMembersSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithGetSetArrayMembers::", new TypeWithGetSetArrayMembersSerializer());
+ _tmp.Add(@"SerializationTypes.MyList::", new MyListSerializer());
+ _tmp.Add(@"SerializationTypes.StructNotSerializable::", new StructNotSerializableSerializer());
+ _tmp.Add(@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:", new PurchaseOrderSerializer());
+ _tmp.Add(@"SerializationTypes.SimpleDC::", new SimpleDCSerializer());
+ _tmp.Add(@"SerializationTypes.SimpleKnownTypeValue::", new SimpleKnownTypeValueSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithAnyAttribute::", new TypeWithAnyAttributeSerializer());
+ _tmp.Add(@"TypeWithXmlElementProperty::", new TypeWithXmlElementPropertySerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::", new TypeWithEnumPropertyHavingDefaultValueSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithByteArrayAsXmlText::", new TypeWithByteArrayAsXmlTextSerializer());
_tmp.Add(@"XElementArrayWrapper::", new XElementArrayWrapperSerializer());
- _tmp.Add(@"TypeWithDefaultTimeSpanProperty::", new TypeWithDefaultTimeSpanPropertySerializer());
- _tmp.Add(@"SerializationTypes.ClassImplementsInterface::", new ClassImplementsInterfaceSerializer());
- _tmp.Add(@"MsgDocumentType:http://example.com:Document:True:", new MsgDocumentTypeSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::", new TypeWithTypeNameInXmlTypeAttributeSerializer());
+ _tmp.Add(@"Dog::", new DogSerializer());
_tmp.Add(@"SerializationTypes.TypeWithEnumMembers::", new TypeWithEnumMembersSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::", new TypeWithDateTimePropertyAsXmlTimeSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::", new TypeWithKnownTypesOfCollectionsWithConflictingXmlNameSerializer());
- _tmp.Add(@"Vehicle::", new VehicleSerializer());
_tmp.Add(@"TypeWithByteProperty::", new TypeWithBytePropertySerializer());
- _tmp.Add(@"SerializationTypes.ItemChoiceType::", new ItemChoiceTypeSerializer());
- _tmp.Add(@"SerializationTypes.ServerSettings::", new ServerSettingsSerializer());
- _tmp.Add(@"Address::", new AddressSerializer());
_tmp.Add(@"DerivedClass::", new DerivedClassSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithMyCollectionField::", new TypeWithMyCollectionFieldSerializer());
- _tmp.Add(@"Brass::", new BrassSerializer());
- _tmp.Add(@"SerializationTypes.ClassImplementingIXmlSerialiable::", new ClassImplementingIXmlSerialiableSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithNonPublicDefaultConstructor::", new TypeWithNonPublicDefaultConstructorSerializer());
- _tmp.Add(@"SerializationTypes.WithEnums::", new WithEnumsSerializer());
- _tmp.Add(@"SerializationTypes.MoreChoices::", new MoreChoicesSerializer());
- _tmp.Add(@"AliasedTestType::", new AliasedTestTypeSerializer());
- _tmp.Add(@"TypeWithXmlElementProperty::", new TypeWithXmlElementPropertySerializer());
- _tmp.Add(@"SerializationTypes.TypeWith2DArrayProperty2::", new TypeWith2DArrayProperty2Serializer());
+ _tmp.Add(@"TypeWithXmlDocumentProperty::", new TypeWithXmlDocumentPropertySerializer());
+ _tmp.Add(@"SerializationTypes.WithNullables::", new WithNullablesSerializer());
+ _tmp.Add(@"DefaultValuesSetToNegativeInfinity::", new DefaultValuesSetToNegativeInfinitySerializer());
+ _tmp.Add(@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:", new NamespaceTypeNameClashContainerSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithArrayPropertyHavingChoice::", new TypeWithArrayPropertyHavingChoiceSerializer());
_tmp.Add(@"SerializationTypes.XmlSerializerAttributes::AttributeTesting:False:", new XmlSerializerAttributesSerializer());
- _tmp.Add(@"SerializationTypes.ULongEnum::", new ULongEnumSerializer());
- _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::", new KnownTypesThroughConstructorWithArrayPropertiesSerializer());
- _tmp.Add(@"Pet::", new PetSerializer());
- _tmp.Add(@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:", new TypeWithMismatchBetweenAttributeAndPropertyTypeSerializer());
- _tmp.Add(@"Instrument::", new InstrumentSerializer());
- _tmp.Add(@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::", new __TypeNameWithSpecialCharacters漢ñSerializer());
- _tmp.Add(@"Outer+Person::", new PersonSerializer());
- _tmp.Add(@"TypeWithBinaryProperty::", new TypeWithBinaryPropertySerializer());
- _tmp.Add(@"SerializationTypes.TypeWithPropertyNameSpecified::", new TypeWithPropertyNameSpecifiedSerializer());
- _tmp.Add(@"SerializationTypes.SimpleKnownTypeValue::", new SimpleKnownTypeValueSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithXmlQualifiedName::", new TypeWithXmlQualifiedNameSerializer());
- _tmp.Add(@"TypeWithDateTimeOffsetProperties::", new TypeWithDateTimeOffsetPropertiesSerializer());
- _tmp.Add(@"MyCollection1::", new MyCollection1Serializer());
- _tmp.Add(@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::", new TypeWithSchemaFormInXmlAttributeSerializer());
- _tmp.Add(@"DefaultValuesSetToPositiveInfinity::", new DefaultValuesSetToPositiveInfinitySerializer());
- _tmp.Add(@"TypeWithTimeSpanProperty::", new TypeWithTimeSpanPropertySerializer());
- _tmp.Add(@"DerivedClass1::", new DerivedClass1Serializer());
- _tmp.Add(@"SerializationTypes.UIntEnum::", new UIntEnumSerializer());
- _tmp.Add(@"BaseClass::", new BaseClassSerializer());
- _tmp.Add(@"PurchaseOrder:http://www.contoso1.com:PurchaseOrder:False:", new PurchaseOrderSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::", new TypeWithReadOnlyMyCollectionPropertySerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName::", new TypeWithKnownTypesOfCollectionsWithConflictingXmlNameSerializer());
_tmp.Add(@"SerializationTypes.TypeA::", new TypeASerializer());
- _tmp.Add(@"Trumpet::", new TrumpetSerializer());
- _tmp.Add(@"SerializationTypes.BaseClassWithSamePropertyName::", new BaseClassWithSamePropertyNameSerializer());
- _tmp.Add(@"BaseClass1::", new BaseClass1Serializer());
- _tmp.Add(@"SerializationTypes.ShortEnum::", new ShortEnumSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithTypeNameInXmlTypeAttribute::", new TypeWithTypeNameInXmlTypeAttributeSerializer());
- _tmp.Add(@"SerializationTypes.WithStruct::", new WithStructSerializer());
- _tmp.Add(@"Group::", new GroupSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithGetSetArrayMembers::", new TypeWithGetSetArrayMembersSerializer());
+ _tmp.Add(@"SerializationTypes.DCStruct::", new DCStructSerializer());
_tmp.Add(@"Animal::", new AnimalSerializer());
- _tmp.Add(@"OrderedItem::", new OrderedItemSerializer());
- _tmp.Add(@"SerializationTypes.IntEnum::", new IntEnumSerializer());
+ _tmp.Add(@"BaseClass1::", new BaseClass1Serializer());
+ _tmp.Add(@"SerializationTypes.TypeWithXmlQualifiedName::", new TypeWithXmlQualifiedNameSerializer());
+ _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructorWithValue::", new KnownTypesThroughConstructorWithValueSerializer());
+ _tmp.Add(@"SerializationTypes.LongEnum::", new LongEnumSerializer());
+ _tmp.Add(@"TypeWithXmlNodeArrayProperty:::True:", new TypeWithXmlNodeArrayPropertySerializer());
+ _tmp.Add(@"SerializationTypes.ComplexChoiceA::", new ComplexChoiceASerializer());
+ _tmp.Add(@"SerializationTypes.EnumFlags::", new EnumFlagsSerializer());
+ _tmp.Add(@"SerializationTypes.UIntEnum::", new UIntEnumSerializer());
+ _tmp.Add(@"SerializationTypes.TypeHasArrayOfASerializedAsB::", new TypeHasArrayOfASerializedAsBSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithDateTimePropertyAsXmlTime::", new TypeWithDateTimePropertyAsXmlTimeSerializer());
+ _tmp.Add(@"DogBreed::", new DogBreedSerializer());
+ _tmp.Add(@"SerializationTypes.ByteEnum::", new ByteEnumSerializer());
_tmp.Add(@"TypeWithLinkedProperty::", new TypeWithLinkedPropertySerializer());
- _tmp.Add(@"SerializationTypes.TypeWithByteArrayAsXmlText::", new TypeWithByteArrayAsXmlTextSerializer());
- _tmp.Add(@"SerializationTypes.TypeNameClashA.TypeNameClash::", new TypeNameClashSerializer1());
- _tmp.Add(@"TypeWithXmlDocumentProperty::", new TypeWithXmlDocumentPropertySerializer());
- _tmp.Add(@"Employee::", new EmployeeSerializer());
+ _tmp.Add(@"SerializationTypes.ClassImplementingIXmlSerialiable::", new ClassImplementingIXmlSerialiableSerializer());
+ _tmp.Add(@"SerializationTypes.IntEnum::", new IntEnumSerializer());
+ _tmp.Add(@"Instrument::", new InstrumentSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithNonPublicDefaultConstructor::", new TypeWithNonPublicDefaultConstructorSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithTypesHavingCustomFormatter::", new TypeWithTypesHavingCustomFormatterSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithMyCollectionField::", new TypeWithMyCollectionFieldSerializer());
+ _tmp.Add(@"Address::", new AddressSerializer());
+ _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructor::", new KnownTypesThroughConstructorSerializer());
+ _tmp.Add(@"SerializationTypes.ServerSettings::", new ServerSettingsSerializer());
_tmp.Add(@"SerializationTypes.TypeWithDateTimeStringProperty::", new TypeWithDateTimeStringPropertySerializer());
+ _tmp.Add(@"Vehicle::", new VehicleSerializer());
+ _tmp.Add(@"TypeWithTimeSpanProperty::", new TypeWithTimeSpanPropertySerializer());
+ _tmp.Add(@"SerializationTypes.ItemChoiceType::", new ItemChoiceTypeSerializer());
+ _tmp.Add(@"SerializationTypes.DerivedClassWithSameProperty2::", new DerivedClassWithSameProperty2Serializer());
+ _tmp.Add(@"Outer+Person::", new PersonSerializer());
+ _tmp.Add(@"MyCollection1::", new MyCollection1Serializer());
+ _tmp.Add(@"SerializationTypes.MoreChoices::", new MoreChoicesSerializer());
+ _tmp.Add(@"AliasedTestType::", new AliasedTestTypeSerializer());
+ _tmp.Add(@"Orchestra::", new OrchestraSerializer());
+ _tmp.Add(@"SerializationTypes.ShortEnum::", new ShortEnumSerializer());
+ _tmp.Add(@"Trumpet::", new TrumpetSerializer());
_tmp.Add(@"XElementStruct::", new XElementStructSerializer());
- _tmp.Add(@"SerializationTypes.SomeStruct::", new SomeStructSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithAnyAttribute::", new TypeWithAnyAttributeSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:", new TypeWithXmlSchemaFormAttributeSerializer());
- _tmp.Add(@"SerializationTypes.TypeB::", new TypeBSerializer());
- _tmp.Add(@"SerializationTypes.SimpleType::", new SimpleTypeSerializer());
- _tmp.Add(@"SerializationTypes.MyList::", new MyListSerializer());
- _tmp.Add(@"SerializationTypes.SimpleDC::", new SimpleDCSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithTypesHavingCustomFormatter::", new TypeWithTypesHavingCustomFormatterSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::", new TypeWithEnumFlagPropertyHavingDefaultValueSerializer());
+ _tmp.Add(@"SerializationTypes.ComplexChoiceB::", new ComplexChoiceBSerializer());
+ _tmp.Add(@"MsgDocumentType:http://example.com:Document:True:", new MsgDocumentTypeSerializer());
_tmp.Add(@"SerializationTypes.MyEnum::", new MyEnumSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithGetOnlyArrayProperties::", new TypeWithGetOnlyArrayPropertiesSerializer());
- _tmp.Add(@"SerializationTypes.StructNotSerializable::", new StructNotSerializableSerializer());
- _tmp.Add(@"SerializationTypes.NamespaceTypeNameClashContainer::Root:True:", new NamespaceTypeNameClashContainerSerializer());
- _tmp.Add(@"SerializationTypes.BuiltInTypes::", new BuiltInTypesSerializer());
+ _tmp.Add(@"OrderedItem::", new OrderedItemSerializer());
+ _tmp.Add(@"TypeWithBinaryProperty::", new TypeWithBinaryPropertySerializer());
+ _tmp.Add(@"TypeWithDefaultTimeSpanProperty::", new TypeWithDefaultTimeSpanPropertySerializer());
+ _tmp.Add(@"Brass::", new BrassSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::", new TypeWithPropertiesHavingDefaultValueSerializer());
_tmp.Add(@"RootClass::", new RootClassSerializer());
+ _tmp.Add(@"DerivedClass1::", new DerivedClass1Serializer());
+ _tmp.Add(@"SerializationTypes.TypeWithShouldSerializeMethod::", new TypeWithShouldSerializeMethodSerializer());
+ _tmp.Add(@"SerializationTypes.DCClassWithEnumAndStruct::", new DCClassWithEnumAndStructSerializer());
_tmp.Add(@"SerializationTypes.SByteEnum::", new SByteEnumSerializer());
+ _tmp.Add(@"Pet::", new PetSerializer());
+ _tmp.Add(@"SerializationTypes.ULongEnum::", new ULongEnumSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithXmlSchemaFormAttribute:::True:", new TypeWithXmlSchemaFormAttributeSerializer());
+ _tmp.Add(@"BaseClass::", new BaseClassSerializer());
+ _tmp.Add(@"TypeWithMismatchBetweenAttributeAndPropertyType::RootElement:True:", new TypeWithMismatchBetweenAttributeAndPropertyTypeSerializer());
+ _tmp.Add(@"Parameter::", new ParameterSerializer());
+ _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructorWithArrayProperties::", new KnownTypesThroughConstructorWithArrayPropertiesSerializer());
+ _tmp.Add(@"SerializationTypes.TypeNameClashA.TypeNameClash::", new TypeNameClashSerializer1());
+ _tmp.Add(@"SerializationTypes.BuiltInTypes::", new BuiltInTypesSerializer());
+ _tmp.Add(@"TypeWithDateTimeOffsetProperties::", new TypeWithDateTimeOffsetPropertiesSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithPropertyHavingComplexChoice::", new TypeWithPropertyHavingComplexChoiceSerializer());
+ _tmp.Add(@"SerializationTypes.DerivedClassWithSameProperty::", new DerivedClassWithSamePropertySerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithGetOnlyArrayProperties::", new TypeWithGetOnlyArrayPropertiesSerializer());
+ _tmp.Add(@"SerializationTypes.WithEnums::", new WithEnumsSerializer());
+ _tmp.Add(@"SerializationTypes.__TypeNameWithSpecialCharacters漢ñ::", new __TypeNameWithSpecialCharacters漢ñSerializer());
+ _tmp.Add(@"SerializationTypes.SimpleType::", new SimpleTypeSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWith2DArrayProperty2::", new TypeWith2DArrayProperty2Serializer());
+ _tmp.Add(@"SerializationTypes.WithStruct::", new WithStructSerializer());
+ _tmp.Add(@"DefaultValuesSetToPositiveInfinity::", new DefaultValuesSetToPositiveInfinitySerializer());
_tmp.Add(@"XElementWrapper::", new XElementWrapperSerializer());
- _tmp.Add(@"SerializationTypes.DCStruct::", new DCStructSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithPropertyNameSpecified::", new TypeWithPropertyNameSpecifiedSerializer());
+ _tmp.Add(@"SerializationTypes.TypeB::", new TypeBSerializer());
+ _tmp.Add(@"DefaultValuesSetToNaN::", new DefaultValuesSetToNaNSerializer());
+ _tmp.Add(@"Employee::", new EmployeeSerializer());
+ _tmp.Add(@"SerializationTypes.SomeStruct::", new SomeStructSerializer());
_tmp.Add(@"SerializationTypes.TypeWithXmlTextAttributeOnArray:http://schemas.xmlsoap.org/ws/2005/04/discovery::False:", new TypeWithXmlTextAttributeOnArraySerializer());
- _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructor::", new KnownTypesThroughConstructorSerializer());
- _tmp.Add(@"SerializationTypes.DerivedClassWithSameProperty::", new DerivedClassWithSamePropertySerializer());
- _tmp.Add(@"SerializationTypes.DCClassWithEnumAndStruct::", new DCClassWithEnumAndStructSerializer());
- _tmp.Add(@"DogBreed::", new DogBreedSerializer());
- _tmp.Add(@"SerializationTypes.DerivedClassWithSameProperty2::", new DerivedClassWithSameProperty2Serializer());
_tmp.Add(@"SerializationTypes.TypeWithFieldsOrdered::", new TypeWithFieldsOrderedSerializer());
- _tmp.Add(@"DefaultValuesSetToNegativeInfinity::", new DefaultValuesSetToNegativeInfinitySerializer());
- _tmp.Add(@"Dog::", new DogSerializer());
- _tmp.Add(@"TypeWithXmlNodeArrayProperty:::True:", new TypeWithXmlNodeArrayPropertySerializer());
- _tmp.Add(@"SerializationTypes.TypeWithEnumPropertyHavingDefaultValue::", new TypeWithEnumPropertyHavingDefaultValueSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithEnumFlagPropertyHavingDefaultValue::", new TypeWithEnumFlagPropertyHavingDefaultValueSerializer());
- _tmp.Add(@"SerializationTypes.WithNullables::", new WithNullablesSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithSchemaFormInXmlAttribute::", new TypeWithSchemaFormInXmlAttributeSerializer());
+ _tmp.Add(@"SerializationTypes.ClassImplementsInterface::", new ClassImplementsInterfaceSerializer());
_tmp.Add(@"SerializationTypes.TypeNameClashB.TypeNameClash::", new TypeNameClashSerializer());
- _tmp.Add(@"SerializationTypes.ByteEnum::", new ByteEnumSerializer());
- _tmp.Add(@"DefaultValuesSetToNaN::", new DefaultValuesSetToNaNSerializer());
- _tmp.Add(@"Orchestra::", new OrchestraSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithArrayPropertyHavingChoice::", new TypeWithArrayPropertyHavingChoiceSerializer());
- _tmp.Add(@"Parameter::", new ParameterSerializer());
- _tmp.Add(@"SerializationTypes.EnumFlags::", new EnumFlagsSerializer());
- _tmp.Add(@"SerializationTypes.KnownTypesThroughConstructorWithValue::", new KnownTypesThroughConstructorWithValueSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithPropertiesHavingDefaultValue::", new TypeWithPropertiesHavingDefaultValueSerializer());
- _tmp.Add(@"SerializationTypes.LongEnum::", new LongEnumSerializer());
- _tmp.Add(@"SerializationTypes.TypeWithShouldSerializeMethod::", new TypeWithShouldSerializeMethodSerializer());
- _tmp.Add(@"SerializationTypes.TypeHasArrayOfASerializedAsB::", new TypeHasArrayOfASerializedAsBSerializer());
+ _tmp.Add(@"SerializationTypes.TypeWithReadOnlyMyCollectionProperty::", new TypeWithReadOnlyMyCollectionPropertySerializer());
+ _tmp.Add(@"SerializationTypes.BaseClassWithSamePropertyName::", new BaseClassWithSamePropertyNameSerializer());
+ _tmp.Add(@"Group::", new GroupSerializer());
if (typedSerializers == null) typedSerializers = _tmp;
}
return typedSerializers;
@@ -15952,6 +16862,7 @@ public override System.Boolean CanSerialize(System.Type type) {
if (type == typeof(global::SerializationTypes.SimpleType)) return true;
if (type == typeof(global::SerializationTypes.TypeWithGetSetArrayMembers)) return true;
if (type == typeof(global::SerializationTypes.TypeWithGetOnlyArrayProperties)) return true;
+ if (type == typeof(global::SerializationTypes.TypeWithArraylikeMembers)) return true;
if (type == typeof(global::SerializationTypes.StructNotSerializable)) return true;
if (type == typeof(global::SerializationTypes.TypeWithMyCollectionField)) return true;
if (type == typeof(global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)) return true;
@@ -16007,7 +16918,10 @@ public override System.Boolean CanSerialize(System.Type type) {
if (type == typeof(global::SerializationTypes.KnownTypesThroughConstructorWithValue)) return true;
if (type == typeof(global::SerializationTypes.TypeWithTypesHavingCustomFormatter)) return true;
if (type == typeof(global::SerializationTypes.TypeWithArrayPropertyHavingChoice)) return true;
+ if (type == typeof(global::SerializationTypes.TypeWithPropertyHavingComplexChoice)) return true;
if (type == typeof(global::SerializationTypes.MoreChoices)) return true;
+ if (type == typeof(global::SerializationTypes.ComplexChoiceA)) return true;
+ if (type == typeof(global::SerializationTypes.ComplexChoiceB)) return true;
if (type == typeof(global::SerializationTypes.TypeWithFieldsOrdered)) return true;
if (type == typeof(global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)) return true;
if (type == typeof(global::SerializationTypes.NamespaceTypeNameClashContainer)) return true;
@@ -16060,6 +16974,7 @@ public override System.Xml.Serialization.XmlSerializer GetSerializer(System.Type
if (type == typeof(global::SerializationTypes.SimpleType)) return new SimpleTypeSerializer();
if (type == typeof(global::SerializationTypes.TypeWithGetSetArrayMembers)) return new TypeWithGetSetArrayMembersSerializer();
if (type == typeof(global::SerializationTypes.TypeWithGetOnlyArrayProperties)) return new TypeWithGetOnlyArrayPropertiesSerializer();
+ if (type == typeof(global::SerializationTypes.TypeWithArraylikeMembers)) return new TypeWithArraylikeMembersSerializer();
if (type == typeof(global::SerializationTypes.StructNotSerializable)) return new StructNotSerializableSerializer();
if (type == typeof(global::SerializationTypes.TypeWithMyCollectionField)) return new TypeWithMyCollectionFieldSerializer();
if (type == typeof(global::SerializationTypes.TypeWithReadOnlyMyCollectionProperty)) return new TypeWithReadOnlyMyCollectionPropertySerializer();
@@ -16115,7 +17030,10 @@ public override System.Xml.Serialization.XmlSerializer GetSerializer(System.Type
if (type == typeof(global::SerializationTypes.KnownTypesThroughConstructorWithValue)) return new KnownTypesThroughConstructorWithValueSerializer();
if (type == typeof(global::SerializationTypes.TypeWithTypesHavingCustomFormatter)) return new TypeWithTypesHavingCustomFormatterSerializer();
if (type == typeof(global::SerializationTypes.TypeWithArrayPropertyHavingChoice)) return new TypeWithArrayPropertyHavingChoiceSerializer();
+ if (type == typeof(global::SerializationTypes.TypeWithPropertyHavingComplexChoice)) return new TypeWithPropertyHavingComplexChoiceSerializer();
if (type == typeof(global::SerializationTypes.MoreChoices)) return new MoreChoicesSerializer();
+ if (type == typeof(global::SerializationTypes.ComplexChoiceA)) return new ComplexChoiceASerializer();
+ if (type == typeof(global::SerializationTypes.ComplexChoiceB)) return new ComplexChoiceBSerializer();
if (type == typeof(global::SerializationTypes.TypeWithFieldsOrdered)) return new TypeWithFieldsOrderedSerializer();
if (type == typeof(global::SerializationTypes.TypeWithKnownTypesOfCollectionsWithConflictingXmlName)) return new TypeWithKnownTypesOfCollectionsWithConflictingXmlNameSerializer();
if (type == typeof(global::SerializationTypes.NamespaceTypeNameClashContainer)) return new NamespaceTypeNameClashContainerSerializer();
diff --git a/src/libraries/System.Data.Odbc/tests/CommandBuilderTests.cs b/src/libraries/System.Data.Odbc/tests/CommandBuilderTests.cs
index 5b3c38bf894059..48f7dd90506e93 100644
--- a/src/libraries/System.Data.Odbc/tests/CommandBuilderTests.cs
+++ b/src/libraries/System.Data.Odbc/tests/CommandBuilderTests.cs
@@ -7,6 +7,7 @@ namespace System.Data.Odbc.Tests
{
public class CommandBuilderTests : IntegrationTestBase
{
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void QuoteIdentifier_UseConnection()
{
@@ -36,6 +37,7 @@ public void QuoteIdentifier_UseConnection()
Assert.Throws(() => commandBuilder.UnquoteIdentifier("Test"));
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void QuoteIdentifier_CustomPrefixSuffix()
{
diff --git a/src/libraries/System.Data.Odbc/tests/ConnectionTests.cs b/src/libraries/System.Data.Odbc/tests/ConnectionTests.cs
index 24c42a5bc72401..a468a0f0e2a39d 100644
--- a/src/libraries/System.Data.Odbc/tests/ConnectionTests.cs
+++ b/src/libraries/System.Data.Odbc/tests/ConnectionTests.cs
@@ -9,6 +9,7 @@ namespace System.Data.Odbc.Tests
{
public class ConnectionTests : IntegrationTestBase
{
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
// Bug #96278 fixed only on .NET, not on .NET Framework
[ConditionalFact]
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
diff --git a/src/libraries/System.Data.Odbc/tests/DependencyCheckTest.cs b/src/libraries/System.Data.Odbc/tests/DependencyCheckTest.cs
index d2eee47618689f..2937d2a15c6232 100644
--- a/src/libraries/System.Data.Odbc/tests/DependencyCheckTest.cs
+++ b/src/libraries/System.Data.Odbc/tests/DependencyCheckTest.cs
@@ -8,6 +8,7 @@ namespace System.Data.Odbc.Tests
public class DependencyCheckTest
{
[ConditionalFact(Helpers.OdbcNotAvailable)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
public void OdbcConnection_OpenWhenOdbcNotInstalled_ThrowsException()
{
if (PlatformDetection.IsWindowsServerCore && !Environment.Is64BitProcess)
diff --git a/src/libraries/System.Data.Odbc/tests/ReaderTests.cs b/src/libraries/System.Data.Odbc/tests/ReaderTests.cs
index 79ea6ffa93c485..1010e02870f5d8 100644
--- a/src/libraries/System.Data.Odbc/tests/ReaderTests.cs
+++ b/src/libraries/System.Data.Odbc/tests/ReaderTests.cs
@@ -8,6 +8,7 @@ namespace System.Data.Odbc.Tests
{
public class ReaderTests : IntegrationTestBase
{
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void EmptyReader()
{
@@ -42,6 +43,7 @@ public void EmptyReader()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void GetValues()
{
@@ -75,6 +77,7 @@ public void GetValues()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void GetValueFailsWithBigIntWithBackwardsCompatibility()
{
@@ -110,6 +113,7 @@ public void GetValueFailsWithBigIntWithBackwardsCompatibility()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void GetDataTypeName()
{
@@ -136,6 +140,7 @@ public void GetDataTypeName()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void GetFieldTypeIsNotSupportedInSqlite()
{
@@ -167,6 +172,7 @@ public void GetFieldTypeIsNotSupportedInSqlite()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void IsDbNullIsNotSupportedInSqlite()
{
@@ -198,6 +204,7 @@ public void IsDbNullIsNotSupportedInSqlite()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void InvalidRowIndex()
{
@@ -230,6 +237,7 @@ public void InvalidRowIndex()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void InvalidRowName()
{
diff --git a/src/libraries/System.Data.Odbc/tests/SmokeTest.cs b/src/libraries/System.Data.Odbc/tests/SmokeTest.cs
index f508673fbde2f5..2733b0a0aa620e 100644
--- a/src/libraries/System.Data.Odbc/tests/SmokeTest.cs
+++ b/src/libraries/System.Data.Odbc/tests/SmokeTest.cs
@@ -7,6 +7,7 @@ namespace System.Data.Odbc.Tests
{
public class SmokeTest : IntegrationTestBase
{
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/116482", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
[ConditionalFact]
public void CreateInsertSelectTest()
{
diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj
index 2316c532efb58b..f110b765c8adcd 100644
--- a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj
+++ b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj
@@ -25,7 +25,7 @@ System.Diagnostics.DiagnosticSource
-
+
diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/ActivitySource.cs b/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/ActivitySource.cs
index ebaddab4ec80cc..f82e54e65d5b5e 100644
--- a/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/ActivitySource.cs
+++ b/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/ActivitySource.cs
@@ -407,105 +407,94 @@ internal void NotifyActivityAddException(Activity activity, Exception exception,
}
}
- // SynchronizedList is a helper collection which ensure thread safety on the collection
- // and allow enumerating the collection items and execute some action on the enumerated item and can detect any change in the collection
- // during the enumeration which force restarting the enumeration again.
- // Caution: We can have the action executed on the same item more than once which is ok in our scenarios.
+ // This class uses a copy-on-write design to ensure thread safety all operations are thread safe.
+ // However, it is possible for read-only operations to see stale versions of the item while a change
+ // is occurring.
internal sealed class SynchronizedList
{
- private readonly List _list;
- private uint _version;
-
- public SynchronizedList() => _list = new List();
+ private readonly object _writeLock;
+ // This array must not be mutated directly. To mutate, obtain the lock, copy the array and then replace it with the new array.
+ private T[] _volatileArray;
+ public SynchronizedList()
+ {
+ _volatileArray = [];
+ _writeLock = new();
+ }
public void Add(T item)
{
- lock (_list)
+ lock (_writeLock)
{
- _list.Add(item);
- _version++;
+ T[] newArray = new T[_volatileArray.Length + 1];
+
+ Array.Copy(_volatileArray, newArray, _volatileArray.Length);// copy existing items
+ newArray[_volatileArray.Length] = item;// copy new item
+
+ _volatileArray = newArray;
}
}
public bool AddIfNotExist(T item)
{
- lock (_list)
+ lock (_writeLock)
{
- if (!_list.Contains(item))
+ int index = Array.IndexOf(_volatileArray, item);
+
+ if (index >= 0)
{
- _list.Add(item);
- _version++;
- return true;
+ return false;
}
- return false;
+
+ T[] newArray = new T[_volatileArray.Length + 1];
+
+ Array.Copy(_volatileArray, newArray, _volatileArray.Length);// copy existing items
+ newArray[_volatileArray.Length] = item;// copy new item
+
+ _volatileArray = newArray;
+
+ return true;
}
}
public bool Remove(T item)
{
- lock (_list)
+ lock (_writeLock)
{
- if (_list.Remove(item))
+ int index = Array.IndexOf(_volatileArray, item);
+
+ if (index < 0)
{
- _version++;
- return true;
+ return false;
}
- return false;
+
+ T[] newArray = new T[_volatileArray.Length - 1];
+
+ Array.Copy(_volatileArray, newArray, index);// copy existing items before index
+
+ Array.Copy(
+ _volatileArray, index + 1, // position after the index, skipping it
+ newArray, index, _volatileArray.Length - index - 1// remaining items accounting for removed item
+ );
+
+ _volatileArray = newArray;
+ return true;
}
}
- public int Count => _list.Count;
+ public int Count => _volatileArray.Length;
public void EnumWithFunc(ActivitySource.Function func, ref ActivityCreationOptions data, ref ActivitySamplingResult samplingResult, ref ActivityCreationOptions dataWithContext)
{
- uint version = _version;
- int index = 0;
-
- while (index < _list.Count)
+ foreach (T item in _volatileArray)
{
- T item;
- lock (_list)
- {
- if (version != _version)
- {
- version = _version;
- index = 0;
- continue;
- }
-
- item = _list[index];
- index++;
- }
-
- // Important to call the func outside the lock.
- // This is the whole point we are having this wrapper class.
func(item, ref data, ref samplingResult, ref dataWithContext);
}
}
public void EnumWithAction(Action action, object arg)
{
- uint version = _version;
- int index = 0;
-
- while (index < _list.Count)
+ foreach (T item in _volatileArray)
{
- T item;
- lock (_list)
- {
- if (version != _version)
- {
- version = _version;
- index = 0;
- continue;
- }
-
- item = _list[index];
- index++;
- }
-
- // Important to call the action outside the lock.
- // This is the whole point we are having this wrapper class.
action(item, arg);
}
}
@@ -517,27 +506,8 @@ public void EnumWithExceptionNotification(Activity activity, Exception exception
return;
}
- uint version = _version;
- int index = 0;
-
- while (index < _list.Count)
+ foreach (T item in _volatileArray)
{
- T item;
- lock (_list)
- {
- if (version != _version)
- {
- version = _version;
- index = 0;
- continue;
- }
-
- item = _list[index];
- index++;
- }
-
- // Important to notify outside the lock.
- // This is the whole point we are having this wrapper class.
(item as ActivityListener)!.ExceptionRecorder?.Invoke(activity, exception, ref tags);
}
}
diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/tests/HttpHandlerDiagnosticListenerTests.cs b/src/libraries/System.Diagnostics.DiagnosticSource/tests/HttpHandlerDiagnosticListenerTests.cs
index 0c23059c17ae88..ecfe219e072843 100644
--- a/src/libraries/System.Diagnostics.DiagnosticSource/tests/HttpHandlerDiagnosticListenerTests.cs
+++ b/src/libraries/System.Diagnostics.DiagnosticSource/tests/HttpHandlerDiagnosticListenerTests.cs
@@ -145,6 +145,7 @@ public async Task TestBasicReceiveAndResponseEvents()
}
}
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/112792")]
[OuterLoop]
[ConditionalFact(typeof(RemoteExecutor), nameof(RemoteExecutor.IsSupported))]
public void TestW3CHeaders()
@@ -194,6 +195,7 @@ public void TestW3CHeadersTraceStateAndCorrelationContext()
{
using (var eventRecords = new EventObserverAndRecorder())
{
+ Activity.DefaultIdFormat = ActivityIdFormat.W3C;
var parent = new Activity("w3c activity");
parent.SetParentId(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom());
parent.TraceStateString = "some=state";
diff --git a/src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs b/src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs
index e1a28506696ccf..fb844377ea4c64 100644
--- a/src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs
+++ b/src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs
@@ -2405,6 +2405,9 @@ protected enum StoreCapabilityMap
// Must be called inside of lock(domainInfoLock)
protected virtual void LoadDomainInfo()
{
+ const int LdapDefaultPort = 389;
+ const int LdapsDefaultPort = 636;
+
GlobalDebug.WriteLineIf(GlobalDebug.Info, "ADStoreCtx", "LoadComputerInfo");
Debug.Assert(this.ctxBase != null);
@@ -2418,12 +2421,22 @@ protected virtual void LoadDomainInfo()
this.dnsHostName = ADUtils.GetServerName(this.ctxBase);
// Pull the requested port number
- Uri ldapUri = new Uri(this.ctxBase.Path);
- int port = ldapUri.Port != -1 ? ldapUri.Port : (ldapUri.Scheme.ToUpperInvariant() == "LDAPS" ? 636 : 389);
+ int port = LdapDefaultPort;
+ if (Uri.TryCreate(ctxBase.Path, UriKind.Absolute, out Uri ldapUri))
+ {
+ if (ldapUri.Port != -1)
+ {
+ port = ldapUri.Port;
+ }
+ else if (string.Equals(ldapUri.Scheme, "LDAPS", StringComparison.OrdinalIgnoreCase))
+ {
+ port = LdapsDefaultPort;
+ }
+ }
string dnsDomainName = "";
- using (DirectoryEntry rootDse = new DirectoryEntry("LDAP://" + this.dnsHostName + ":" + port + "/rootDse", "", "", AuthenticationTypes.Anonymous))
+ using (DirectoryEntry rootDse = new DirectoryEntry($"LDAP://{this.dnsHostName}:{port}/rootDse", "", "", AuthenticationTypes.Anonymous))
{
this.defaultNamingContext = (string)rootDse.Properties["defaultNamingContext"][0];
this.contextBasePartitionDN = this.defaultNamingContext;
diff --git a/src/libraries/System.DirectoryServices.Protocols/ref/System.DirectoryServices.Protocols.cs b/src/libraries/System.DirectoryServices.Protocols/ref/System.DirectoryServices.Protocols.cs
index 32262da81be3e2..49ff2a1891cee0 100644
--- a/src/libraries/System.DirectoryServices.Protocols/ref/System.DirectoryServices.Protocols.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/ref/System.DirectoryServices.Protocols.cs
@@ -382,6 +382,10 @@ public partial class LdapSessionOptions
internal LdapSessionOptions() { }
public bool AutoReconnect { get { throw null; } set { } }
public string DomainName { get { throw null; } set { } }
+#if NET
+ [System.Runtime.Versioning.UnsupportedOSPlatformAttribute("windows")]
+ public string TrustedCertificatesDirectory { get { throw null; } set { } }
+#endif
public string HostName { get { throw null; } set { } }
public bool HostReachable { get { throw null; } }
public System.DirectoryServices.Protocols.LocatorFlags LocatorFlag { get { throw null; } set { } }
@@ -402,6 +406,10 @@ internal LdapSessionOptions() { }
public bool Signing { get { throw null; } set { } }
public System.DirectoryServices.Protocols.SecurityPackageContextConnectionInformation SslInformation { get { throw null; } }
public int SspiFlag { get { throw null; } set { } }
+#if NET
+ [System.Runtime.Versioning.UnsupportedOSPlatformAttribute("windows")]
+ public void StartNewTlsSessionContext() { }
+#endif
public bool TcpKeepAlive { get { throw null; } set { } }
public System.DirectoryServices.Protocols.VerifyServerCertificateCallback VerifyServerCertificate { get { throw null; } set { } }
public void FastConcurrentBind() { }
diff --git a/src/libraries/System.DirectoryServices.Protocols/src/CompatibilitySuppressions.xml b/src/libraries/System.DirectoryServices.Protocols/src/CompatibilitySuppressions.xml
new file mode 100644
index 00000000000000..2647f901c1a47e
--- /dev/null
+++ b/src/libraries/System.DirectoryServices.Protocols/src/CompatibilitySuppressions.xml
@@ -0,0 +1,67 @@
+
+
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.get_TrustedCertificatesDirectory
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.set_TrustedCertificatesDirectory(System.String)
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.StartNewTlsSessionContext
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ lib/net8.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.get_TrustedCertificatesDirectory
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.set_TrustedCertificatesDirectory(System.String)
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.StartNewTlsSessionContext
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ lib/net9.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.get_TrustedCertificatesDirectory
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.set_TrustedCertificatesDirectory(System.String)
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ true
+
+
+ CP0002
+ M:System.DirectoryServices.Protocols.LdapSessionOptions.StartNewTlsSessionContext
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ lib/netstandard2.0/System.DirectoryServices.Protocols.dll
+ true
+
+
\ No newline at end of file
diff --git a/src/libraries/System.DirectoryServices.Protocols/src/Resources/Strings.resx b/src/libraries/System.DirectoryServices.Protocols/src/Resources/Strings.resx
index b63f103619fbdb..1f6c9734a7384c 100644
--- a/src/libraries/System.DirectoryServices.Protocols/src/Resources/Strings.resx
+++ b/src/libraries/System.DirectoryServices.Protocols/src/Resources/Strings.resx
@@ -426,4 +426,7 @@
Only ReferralChasingOptions.None and ReferralChasingOptions.All are supported on Linux.
+
+ The directory '{0}' does not exist.
+
\ No newline at end of file
diff --git a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapConnection.cs b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapConnection.cs
index 1125bfd568d385..facdfc6a484bb9 100644
--- a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapConnection.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapConnection.cs
@@ -955,13 +955,13 @@ private unsafe Interop.BOOL ProcessClientCertificate(IntPtr ldapHandle, IntPtr C
private void Connect()
{
- //Ccurrently ldap does not accept more than one certificate.
+ // Currently ldap does not accept more than one certificate.
if (ClientCertificates.Count > 1)
{
throw new InvalidOperationException(SR.InvalidClientCertificates);
}
- // Set the certificate callback routine here if user adds the certifcate to the certificate collection.
+ // Set the certificate callback routine here if user adds the certificate to the certificate collection.
if (ClientCertificates.Count != 0)
{
int certError = LdapPal.SetClientCertOption(_ldapHandle, LdapOption.LDAP_OPT_CLIENT_CERTIFICATE, _clientCertificateRoutine);
diff --git a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Linux.cs b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Linux.cs
index e1cfffebb531fc..5059c40499d5c6 100644
--- a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Linux.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Linux.cs
@@ -2,6 +2,8 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.ComponentModel;
+using System.IO;
+using System.Runtime.Versioning;
namespace System.DirectoryServices.Protocols
{
@@ -11,6 +13,34 @@ public partial class LdapSessionOptions
private bool _secureSocketLayer;
+ ///
+ /// Specifies the path of the directory containing CA certificates in the PEM format.
+ /// Multiple directories may be specified by separating with a semi-colon.
+ ///
+ ///
+ /// The certificate files are looked up by the CA subject name hash value where that hash can be
+ /// obtained by using, for example, openssl x509 -hash -noout -in CA.crt.
+ /// It is a common practice to have the certificate file be a symbolic link to the actual certificate file
+ /// which can be done by using openssl rehash . or c_rehash . in the directory
+ /// containing the certificate files.
+ ///
+ /// The directory not exist.
+ [UnsupportedOSPlatform("windows")]
+ public string TrustedCertificatesDirectory
+ {
+ get => GetStringValueHelper(LdapOption.LDAP_OPT_X_TLS_CACERTDIR, releasePtr: true);
+
+ set
+ {
+ if (!Directory.Exists(value))
+ {
+ throw new DirectoryNotFoundException(SR.Format(SR.DirectoryNotFound, value));
+ }
+
+ SetStringOptionHelper(LdapOption.LDAP_OPT_X_TLS_CACERTDIR, value);
+ }
+ }
+
public bool SecureSocketLayer
{
get
@@ -52,6 +82,16 @@ public ReferralChasingOptions ReferralChasing
}
}
+ ///
+ /// Create a new TLS library context.
+ /// Calling this is necessary after setting TLS-based options, such as TrustedCertificatesDirectory.
+ ///
+ [UnsupportedOSPlatform("windows")]
+ public void StartNewTlsSessionContext()
+ {
+ SetIntValueHelper(LdapOption.LDAP_OPT_X_TLS_NEWCTX, 0);
+ }
+
private bool GetBoolValueHelper(LdapOption option)
{
if (_connection._disposed) throw new ObjectDisposedException(GetType().Name);
@@ -71,5 +111,14 @@ private void SetBoolValueHelper(LdapOption option, bool value)
ErrorChecking.CheckAndSetLdapError(error);
}
+
+ private void SetStringOptionHelper(LdapOption option, string value)
+ {
+ if (_connection._disposed) throw new ObjectDisposedException(GetType().Name);
+
+ int error = LdapPal.SetStringOption(_connection._ldapHandle, option, value);
+
+ ErrorChecking.CheckAndSetLdapError(error);
+ }
}
}
diff --git a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Windows.cs b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Windows.cs
index 813005c5ecb72b..cc73449104adf4 100644
--- a/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Windows.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/ldap/LdapSessionOptions.Windows.cs
@@ -10,6 +10,13 @@ public partial class LdapSessionOptions
{
private static void PALCertFreeCRLContext(IntPtr certPtr) => Interop.Ldap.CertFreeCRLContext(certPtr);
+ [UnsupportedOSPlatform("windows")]
+ public string TrustedCertificatesDirectory
+ {
+ get => throw new PlatformNotSupportedException();
+ set => throw new PlatformNotSupportedException();
+ }
+
public bool SecureSocketLayer
{
get
@@ -24,6 +31,9 @@ public bool SecureSocketLayer
}
}
+ [UnsupportedOSPlatform("windows")]
+ public void StartNewTlsSessionContext() => throw new PlatformNotSupportedException();
+
public int ProtocolVersion
{
get => GetIntValueHelper(LdapOption.LDAP_OPT_VERSION);
diff --git a/src/libraries/System.DirectoryServices.Protocols/tests/DirectoryServicesProtocolsTests.cs b/src/libraries/System.DirectoryServices.Protocols/tests/DirectoryServicesProtocolsTests.cs
index 00433bae9875c2..05dda66bbda001 100644
--- a/src/libraries/System.DirectoryServices.Protocols/tests/DirectoryServicesProtocolsTests.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/tests/DirectoryServicesProtocolsTests.cs
@@ -2,12 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections.Generic;
-using System.Diagnostics;
using System.DirectoryServices.Tests;
using System.Globalization;
+using System.IO;
using System.Net;
-using System.Text;
-using System.Threading;
using Xunit;
namespace System.DirectoryServices.Protocols.Tests
@@ -16,6 +14,7 @@ public partial class DirectoryServicesProtocolsTests
{
internal static bool LdapConfigurationExists => LdapConfiguration.Configuration != null;
internal static bool IsActiveDirectoryServer => LdapConfigurationExists && LdapConfiguration.Configuration.IsActiveDirectoryServer;
+ internal static bool UseTls => LdapConfigurationExists && LdapConfiguration.Configuration.UseTls;
internal static bool IsServerSideSortSupported => LdapConfigurationExists && LdapConfiguration.Configuration.SupportsServerSideSort;
@@ -706,6 +705,64 @@ public void TestMultipleServerBind()
connection.Timeout = new TimeSpan(0, 3, 0);
}
+#if NET
+ [ConditionalFact(nameof(UseTls))]
+ [PlatformSpecific(TestPlatforms.Linux)]
+ public void StartNewTlsSessionContext()
+ {
+ using (var connection = GetConnection(bind: false))
+ {
+ // We use "." as the directory since it must be a valid directory for StartNewTlsSessionContext() + Bind() to be successful even
+ // though there are no client certificates in ".".
+ connection.SessionOptions.TrustedCertificatesDirectory = ".";
+
+ // For a real-world scenario, we would call 'StartTransportLayerSecurity(null)' here which would do the TLS handshake including
+ // providing the client certificate to the server and validating the server certificate. However, this requires additional
+ // setup that we don't have including trusting the server certificate and by specifying "demand" in the setup of the server
+ // via 'LDAP_TLS_VERIFY_CLIENT=demand' to force the TLS handshake to occur.
+
+ connection.SessionOptions.StartNewTlsSessionContext();
+ connection.Bind();
+
+ SearchRequest searchRequest = new (LdapConfiguration.Configuration.SearchDn, "(objectClass=*)", SearchScope.Subtree);
+ _ = (SearchResponse)connection.SendRequest(searchRequest);
+ }
+ }
+
+ [ConditionalFact(nameof(UseTls))]
+ [PlatformSpecific(TestPlatforms.Linux)]
+ public void StartNewTlsSessionContext_ThrowsLdapException()
+ {
+ using (var connection = GetConnection(bind: false))
+ {
+ // Create a new session context without setting TrustedCertificatesDirectory.
+ connection.SessionOptions.StartNewTlsSessionContext();
+ Assert.Throws(() => connection.Bind());
+ }
+ }
+
+ [ConditionalFact(nameof(LdapConfigurationExists))]
+ [PlatformSpecific(TestPlatforms.Linux)]
+ public void TrustedCertificatesDirectory_ThrowsDirectoryNotFoundException()
+ {
+ using (var connection = GetConnection(bind: false))
+ {
+ Assert.Throws(() => connection.SessionOptions.TrustedCertificatesDirectory = "nonexistent");
+ }
+ }
+
+ [ConditionalFact(nameof(LdapConfigurationExists))]
+ [PlatformSpecific(TestPlatforms.Windows)]
+ public void StartNewTlsSessionContext_ThrowsPlatformNotSupportedException()
+ {
+ using (var connection = new LdapConnection("server"))
+ {
+ LdapSessionOptions options = connection.SessionOptions;
+ Assert.Throws(() => options.StartNewTlsSessionContext());
+ }
+ }
+#endif
+
private void DeleteAttribute(LdapConnection connection, string entryDn, string attributeName)
{
string dn = entryDn + "," + LdapConfiguration.Configuration.SearchDn;
@@ -786,24 +843,24 @@ private SearchResultEntry SearchUser(LdapConnection connection, string rootDn, s
return null;
}
- private LdapConnection GetConnection(string server)
+ private static LdapConnection GetConnection(string server)
{
LdapDirectoryIdentifier directoryIdentifier = new LdapDirectoryIdentifier(server, fullyQualifiedDnsHostName: true, connectionless: false);
return GetConnection(directoryIdentifier);
}
- private LdapConnection GetConnection()
+ private static LdapConnection GetConnection(bool bind = true)
{
LdapDirectoryIdentifier directoryIdentifier = string.IsNullOrEmpty(LdapConfiguration.Configuration.Port) ?
new LdapDirectoryIdentifier(LdapConfiguration.Configuration.ServerName, fullyQualifiedDnsHostName: true, connectionless: false) :
new LdapDirectoryIdentifier(LdapConfiguration.Configuration.ServerName,
int.Parse(LdapConfiguration.Configuration.Port, NumberStyles.None, CultureInfo.InvariantCulture),
fullyQualifiedDnsHostName: true, connectionless: false);
- return GetConnection(directoryIdentifier);
+ return GetConnection(directoryIdentifier, bind);
}
- private static LdapConnection GetConnection(LdapDirectoryIdentifier directoryIdentifier)
+ private static LdapConnection GetConnection(LdapDirectoryIdentifier directoryIdentifier, bool bind = true)
{
NetworkCredential credential = new NetworkCredential(LdapConfiguration.Configuration.UserName, LdapConfiguration.Configuration.Password);
@@ -816,7 +873,11 @@ private static LdapConnection GetConnection(LdapDirectoryIdentifier directoryIde
// to LDAP v2, which we do not support, and will return LDAP_PROTOCOL_ERROR
connection.SessionOptions.ProtocolVersion = 3;
connection.SessionOptions.SecureSocketLayer = LdapConfiguration.Configuration.UseTls;
- connection.Bind();
+
+ if (bind)
+ {
+ connection.Bind();
+ }
connection.Timeout = new TimeSpan(0, 3, 0);
return connection;
diff --git a/src/libraries/System.DirectoryServices.Protocols/tests/LdapSessionOptionsTests.cs b/src/libraries/System.DirectoryServices.Protocols/tests/LdapSessionOptionsTests.cs
index 5f6a737834ac23..2a8ab23a16d421 100644
--- a/src/libraries/System.DirectoryServices.Protocols/tests/LdapSessionOptionsTests.cs
+++ b/src/libraries/System.DirectoryServices.Protocols/tests/LdapSessionOptionsTests.cs
@@ -7,6 +7,8 @@
namespace System.DirectoryServices.Protocols.Tests
{
+ // To enable these tests locally for Mono, comment out this line in DirectoryServicesTestHelpers.cs:
+ // [assembly: ActiveIssue("https://github.com/dotnet/runtime/issues/35912", TestRuntimes.Mono)]
[ConditionalClass(typeof(DirectoryServicesTestHelpers), nameof(DirectoryServicesTestHelpers.IsWindowsOrLibLdapIsInstalled))]
public class LdapSessionOptionsTests
{
@@ -27,6 +29,7 @@ public void ReferralChasing_Set_GetReturnsExpected_On_Windows(ReferralChasingOpt
}
[Theory]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/112146")]
[PlatformSpecific(TestPlatforms.Linux)]
[InlineData(ReferralChasingOptions.None)]
[InlineData(ReferralChasingOptions.All)]
@@ -756,5 +759,32 @@ public void StopTransportLayerSecurity_Disposed_ThrowsObjectDisposedException()
Assert.Throws(() => connection.SessionOptions.StopTransportLayerSecurity());
}
+
+#if NET
+ [Fact]
+ [PlatformSpecific(TestPlatforms.Linux)]
+ public void CertificateDirectoryProperty()
+ {
+ using (var connection = new LdapConnection("server"))
+ {
+ LdapSessionOptions options = connection.SessionOptions;
+ Assert.Null(options.TrustedCertificatesDirectory);
+
+ options.TrustedCertificatesDirectory = ".";
+ Assert.Equal(".", options.TrustedCertificatesDirectory);
+ }
+ }
+
+ [Fact]
+ [PlatformSpecific(TestPlatforms.Windows)]
+ public void CertificateDirectoryProperty_ThrowsPlatformNotSupportedException()
+ {
+ using (var connection = new LdapConnection("server"))
+ {
+ LdapSessionOptions options = connection.SessionOptions;
+ Assert.Throws(() => options.TrustedCertificatesDirectory = "CertificateDirectory");
+ }
+ }
+#endif
}
}
diff --git a/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/AsnDecoder.Sequence.cs b/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/AsnDecoder.Sequence.cs
index f66ffcb85ad1a6..7b26e725de3e85 100644
--- a/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/AsnDecoder.Sequence.cs
+++ b/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/AsnDecoder.Sequence.cs
@@ -75,7 +75,7 @@ public static void ReadSequence(
if (length.HasValue)
{
- if (length.Value + headerLength > source.Length)
+ if (length.Value > source.Length - headerLength)
{
throw GetValidityException(LengthValidity.LengthExceedsInput);
}
diff --git a/src/libraries/System.Formats.Asn1/tests/Decoder/ReadEncodedValueTests.cs b/src/libraries/System.Formats.Asn1/tests/Decoder/ReadEncodedValueTests.cs
new file mode 100644
index 00000000000000..82f8afc382771e
--- /dev/null
+++ b/src/libraries/System.Formats.Asn1/tests/Decoder/ReadEncodedValueTests.cs
@@ -0,0 +1,237 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using Test.Cryptography;
+using Xunit;
+
+namespace System.Formats.Asn1.Tests.Decoder
+{
+ public sealed class ReadEncodedValueTests
+ {
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_Primitive(AsnEncodingRules ruleSet)
+ {
+ // OCTET STRING (6 content bytes)
+ // NULL
+ ReadOnlySpan data =
+ [
+ 0x04, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
+ 0x05, 0x00,
+ ];
+
+ ExpectSuccess(data, ruleSet, Asn1Tag.PrimitiveOctetString, 2, 6);
+ }
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_Indefinite(AsnEncodingRules ruleSet)
+ {
+ // CONSTRUCTED OCTET STRING (indefinite)
+ // OCTET STRING (1 byte)
+ // OCTET STRING (5 bytes)
+ // END OF CONTENTS
+ // NULL
+ ReadOnlySpan data =
+ [
+ 0x24, 0x80,
+ 0x04, 0x01, 0x01,
+ 0x04, 0x05, 0x02, 0x03, 0x04, 0x05, 0x06,
+ 0x00, 0x00,
+ 0x05, 0x00,
+ ];
+
+ // BER: Indefinite length encoding is OK, no requirements on the contents.
+ // CER: Indefinite length encoding is required for CONSTRUCTED, the contents are invalid for OCTET STRING,
+ // but (Try)ReadEncodedValue doesn't pay attention to that.
+ // DER: Indefinite length encoding is never permitted.
+
+ if (ruleSet == AsnEncodingRules.DER)
+ {
+ ExpectFailure(data, ruleSet);
+ }
+ else
+ {
+ ExpectSuccess(data, ruleSet, Asn1Tag.ConstructedOctetString, 2, 10, indefiniteLength: true);
+ }
+ }
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_DefiniteConstructed(AsnEncodingRules ruleSet)
+ {
+ // CONSTRUCTED OCTET STRING (11 bytes)
+ // OCTET STRING (1 byte)
+ // OCTET STRING (5 bytes)
+ // NULL
+ ReadOnlySpan data =
+ [
+ 0x24, 0x0A,
+ 0x04, 0x01, 0x01,
+ 0x04, 0x05, 0x02, 0x03, 0x04, 0x05, 0x06,
+ 0x05, 0x00,
+ ];
+
+ // BER: Indefinite length encoding is OK, no requirements on the contents.
+ // CER: Indefinite length encoding is required for CONSTRUCTED, so fail.
+ // DER: CONSTRUCTED OCTET STRING is not permitted, but ReadEncodedValue doesn't check for that,
+ // since the length is in minimal representation, the read is successful
+
+ if (ruleSet == AsnEncodingRules.CER)
+ {
+ ExpectFailure(data, ruleSet);
+ }
+ else
+ {
+ ExpectSuccess(data, ruleSet, Asn1Tag.ConstructedOctetString, 2, 10);
+ }
+ }
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_OutOfBoundsLength(AsnEncodingRules ruleSet)
+ {
+ // SEQUENCE (3 bytes), but only one byte remains.
+ ReadOnlySpan data = [0x30, 0x03, 0x00];
+
+ ExpectFailure(data, ruleSet);
+ }
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_LargeOutOfBoundsLength(AsnEncodingRules ruleSet)
+ {
+ // SEQUENCE (int.MaxValue bytes), but no bytes remain.
+ ReadOnlySpan data = [0x30, 0x84, 0x7F, 0xFF, 0xFF, 0xFF];
+
+ ExpectFailure(data, ruleSet);
+ }
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ReadEncodedValue_ExtremelyLargeLength(AsnEncodingRules ruleSet)
+ {
+ if (!Environment.Is64BitProcess)
+ {
+ return;
+ }
+
+ // OCTET STRING ((int.MaxValue - 6) bytes), span will be inflated to make it look valid.
+ byte[] data = "04847FFFFFF9".HexToByteArray();
+
+ unsafe
+ {
+ fixed (byte* ptr = data)
+ {
+ // Verify that the length can be interpreted this large, but that it doesn't read that far.
+ ReadOnlySpan span = new ReadOnlySpan(ptr, int.MaxValue);
+ ExpectSuccess(span, ruleSet, Asn1Tag.PrimitiveOctetString, 6, int.MaxValue - 6);
+ }
+ }
+ }
+
+ private static void ExpectSuccess(
+ ReadOnlySpan data,
+ AsnEncodingRules ruleSet,
+ Asn1Tag expectedTag,
+ int expectedContentOffset,
+ int expectedContentLength,
+ bool indefiniteLength = false)
+ {
+ Asn1Tag tag;
+ int contentOffset;
+ int contentLength;
+ int bytesConsumed;
+
+ bool read = AsnDecoder.TryReadEncodedValue(
+ data,
+ ruleSet,
+ out tag,
+ out contentOffset,
+ out contentLength,
+ out bytesConsumed);
+
+ Assert.True(read, "AsnDecoder.TryReadEncodedValue unexpectedly returned false");
+ Assert.Equal(expectedTag, tag);
+ Assert.Equal(expectedContentOffset, contentOffset);
+ Assert.Equal(expectedContentLength, contentLength);
+
+ int expectedBytesConsumed = expectedContentOffset + expectedContentLength + (indefiniteLength ? 2 : 0);
+ Assert.Equal(expectedBytesConsumed, bytesConsumed);
+
+ contentOffset = contentLength = bytesConsumed = default;
+
+ tag = AsnDecoder.ReadEncodedValue(
+ data,
+ ruleSet,
+ out contentOffset,
+ out contentLength,
+ out bytesConsumed);
+
+ Assert.Equal(expectedTag, tag);
+ Assert.Equal(expectedContentOffset, contentOffset);
+ Assert.Equal(expectedContentLength, contentLength);
+ Assert.Equal(expectedBytesConsumed, bytesConsumed);
+ }
+
+ private static void ExpectFailure(ReadOnlySpan data, AsnEncodingRules ruleSet)
+ {
+ Asn1Tag tag;
+ int contentOffset;
+ int contentLength;
+ int bytesConsumed;
+
+ bool read = AsnDecoder.TryReadEncodedValue(
+ data,
+ ruleSet,
+ out tag,
+ out contentOffset,
+ out contentLength,
+ out bytesConsumed);
+
+ Assert.False(read, "AsnDecoder.TryReadEncodedValue unexpectedly returned true");
+ Assert.Equal(default, tag);
+ Assert.Equal(default, contentOffset);
+ Assert.Equal(default, contentLength);
+ Assert.Equal(default, bytesConsumed);
+
+ int seed = Environment.CurrentManagedThreadId;
+ Asn1Tag seedTag = new Asn1Tag(TagClass.Private, seed, (seed & 1) == 0);
+ tag = seedTag;
+ contentOffset = contentLength = bytesConsumed = seed;
+
+ try
+ {
+ tag = AsnDecoder.ReadEncodedValue(
+ data,
+ ruleSet,
+ out contentOffset,
+ out contentLength,
+ out bytesConsumed);
+
+ Assert.Fail("ReadEncodedValue should have thrown AsnContentException");
+ }
+ catch (AsnContentException e)
+ {
+ Assert.IsType(e);
+ }
+
+ Assert.Equal(seedTag, tag);
+ Assert.Equal(seed, contentOffset);
+ Assert.Equal(seed, contentLength);
+ Assert.Equal(seed, bytesConsumed);
+ }
+ }
+}
diff --git a/src/libraries/System.Formats.Asn1/tests/Reader/ReadSequence.cs b/src/libraries/System.Formats.Asn1/tests/Reader/ReadSequence.cs
index c1f5e620625efb..058b01216299eb 100644
--- a/src/libraries/System.Formats.Asn1/tests/Reader/ReadSequence.cs
+++ b/src/libraries/System.Formats.Asn1/tests/Reader/ReadSequence.cs
@@ -405,5 +405,33 @@ public static void ReadSequenceOf_PreservesOptions(AsnEncodingRules ruleSet)
outer.ThrowIfNotEmpty();
initial.ThrowIfNotEmpty();
}
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ExtremelyLargeContentLength(AsnEncodingRules ruleSet)
+ {
+ int start = Environment.CurrentManagedThreadId;
+ int contentOffset = start;
+ int contentLength = start;
+ int bytesConsumed = start;
+
+ ReadOnlySpan input = [0x30, 0x84, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00];
+
+ try
+ {
+ AsnDecoder.ReadSequence(input, ruleSet, out contentOffset, out contentLength, out bytesConsumed);
+ Assert.Fail("ReadSequence should have thrown AsnContentException");
+ }
+ catch (AsnContentException e)
+ {
+ Assert.IsType(e);
+ }
+
+ Assert.Equal(start, contentOffset);
+ Assert.Equal(start, contentLength);
+ Assert.Equal(start, bytesConsumed);
+ }
}
}
diff --git a/src/libraries/System.Formats.Asn1/tests/Reader/ReadSetOf.cs b/src/libraries/System.Formats.Asn1/tests/Reader/ReadSetOf.cs
index f5b38dc0e16b62..90058b9f487a4f 100644
--- a/src/libraries/System.Formats.Asn1/tests/Reader/ReadSetOf.cs
+++ b/src/libraries/System.Formats.Asn1/tests/Reader/ReadSetOf.cs
@@ -390,5 +390,33 @@ public static void ReadSetOf_PreservesOptions(AsnEncodingRules ruleSet)
outer.ThrowIfNotEmpty();
initial.ThrowIfNotEmpty();
}
+
+ [Theory]
+ [InlineData(AsnEncodingRules.BER)]
+ [InlineData(AsnEncodingRules.CER)]
+ [InlineData(AsnEncodingRules.DER)]
+ public static void ExtremelyLargeContentLength(AsnEncodingRules ruleSet)
+ {
+ int start = Environment.CurrentManagedThreadId;
+ int contentOffset = start;
+ int contentLength = start;
+ int bytesConsumed = start;
+
+ ReadOnlySpan input = [0x31, 0x84, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00];
+
+ try
+ {
+ AsnDecoder.ReadSetOf(input, ruleSet, out contentOffset, out contentLength, out bytesConsumed);
+ Assert.Fail("ReadSetOf should have thrown AsnContentException");
+ }
+ catch (AsnContentException e)
+ {
+ Assert.IsType(e);
+ }
+
+ Assert.Equal(start, contentOffset);
+ Assert.Equal(start, contentLength);
+ Assert.Equal(start, bytesConsumed);
+ }
}
}
diff --git a/src/libraries/System.Formats.Asn1/tests/System.Formats.Asn1.Tests.csproj b/src/libraries/System.Formats.Asn1/tests/System.Formats.Asn1.Tests.csproj
index 68bdc72edf895f..3626af0c77d1a5 100644
--- a/src/libraries/System.Formats.Asn1/tests/System.Formats.Asn1.Tests.csproj
+++ b/src/libraries/System.Formats.Asn1/tests/System.Formats.Asn1.Tests.csproj
@@ -5,6 +5,7 @@
+
diff --git a/src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/MemberTypeInfo.cs b/src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/MemberTypeInfo.cs
index 84c1073b0ef67a..c46d13f443e119 100644
--- a/src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/MemberTypeInfo.cs
+++ b/src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/MemberTypeInfo.cs
@@ -91,8 +91,10 @@ internal static MemberTypeInfo Decode(BinaryReader reader, int count, PayloadOpt
const AllowedRecordTypes SystemClass = Classes | AllowedRecordTypes.SystemClassWithMembersAndTypes
// All primitive types can be stored by using one of the interfaces they implement.
// Example: `new IEnumerable[1] { "hello" }` or `new IComparable[1] { int.MaxValue }`.
- | AllowedRecordTypes.BinaryObjectString | AllowedRecordTypes.MemberPrimitiveTyped;
- const AllowedRecordTypes NonSystemClass = Classes | AllowedRecordTypes.ClassWithMembersAndTypes;
+ | AllowedRecordTypes.BinaryObjectString | AllowedRecordTypes.MemberPrimitiveTyped
+ // System.Nullable is a special case of SystemClassWithMembersAndTypes
+ | AllowedRecordTypes.ClassWithMembersAndTypes;
+ const AllowedRecordTypes NonSystemClass = Classes | AllowedRecordTypes.ClassWithMembersAndTypes;
return binaryType switch
{
diff --git a/src/libraries/System.Formats.Nrbf/tests/ArraySinglePrimitiveRecordTests.cs b/src/libraries/System.Formats.Nrbf/tests/ArraySinglePrimitiveRecordTests.cs
index 7ef801808e4e95..9f714c9dddac15 100644
--- a/src/libraries/System.Formats.Nrbf/tests/ArraySinglePrimitiveRecordTests.cs
+++ b/src/libraries/System.Formats.Nrbf/tests/ArraySinglePrimitiveRecordTests.cs
@@ -20,7 +20,7 @@ public NonSeekableStream(byte[] buffer) : base(buffer) { }
public static IEnumerable GetCanReadArrayOfAnySizeArgs()
{
- foreach (int size in new[] { 1, 127, 128, 512_001, 512_001 })
+ foreach (int size in new[] { 1, 127, 128, 20_001 })
{
yield return new object[] { size, true };
yield return new object[] { size, false };
diff --git a/src/libraries/System.Formats.Nrbf/tests/EdgeCaseTests.cs b/src/libraries/System.Formats.Nrbf/tests/EdgeCaseTests.cs
index f091d47ded8c5f..1d14993a0890c3 100644
--- a/src/libraries/System.Formats.Nrbf/tests/EdgeCaseTests.cs
+++ b/src/libraries/System.Formats.Nrbf/tests/EdgeCaseTests.cs
@@ -144,4 +144,48 @@ public void CanReadAllKindsOfDateTimes_DateTimeIsMemberOfTheRootRecord(DateTime
Assert.Equal(input.Ticks, classRecord.GetDateTime(nameof(ClassWithDateTime.Value)).Ticks);
Assert.Equal(input.Kind, classRecord.GetDateTime(nameof(ClassWithDateTime.Value)).Kind);
}
+
+ [Fact]
+ public void CanReadUserClassStoredAsSystemClass()
+ {
+ // For the following data, BinaryFormatter serializes the ClassWithNullableStructField class
+ // as a record with a single field called "NullableField" with BinaryType.SystemClass (!!!)
+ // and TypeName being System.Nullable`1[[SampleStruct, $AssemblyName]].
+ // It most likely does so, because it's System.Nullable<$NonSystemStruct>.
+ // But later it serializes the SampleStruct as a ClassWithMembersAndTypes record,
+ // not SystemClassWithMembersAndTypes.
+ // It does so, only when the payload contains at least one class with the nullable field being null.
+
+ using MemoryStream stream = Serialize(
+ new ClassWithNullableStructField[]
+ {
+ new ClassWithNullableStructField() { NullableField = null }, // having a null here is crucial for the test
+ new ClassWithNullableStructField() { NullableField = new ClassWithNullableStructField.SampleStruct() { Value = 42 } }
+ }
+ );
+
+ SZArrayRecord arrayRecord = (SZArrayRecord)NrbfDecoder.Decode(stream);
+ SerializationRecord[] records = arrayRecord.GetArray();
+ Assert.Equal(2, arrayRecord.Length);
+ Assert.All(records, record => Assert.True(record.TypeNameMatches(typeof(ClassWithNullableStructField))));
+ Assert.Null(((ClassRecord)records[0]).GetClassRecord(nameof(ClassWithNullableStructField.NullableField)));
+
+ ClassRecord? notNullRecord = ((ClassRecord)records[1]).GetClassRecord(nameof(ClassWithNullableStructField.NullableField));
+ Assert.NotNull(notNullRecord);
+ Assert.Equal(42, notNullRecord.GetInt32(nameof(ClassWithNullableStructField.SampleStruct.Value)));
+ }
+
+ [Serializable]
+ public class ClassWithNullableStructField
+ {
+#pragma warning disable IDE0001 // Simplify names
+ public System.Nullable NullableField;
+#pragma warning restore IDE0001
+
+ [Serializable]
+ public struct SampleStruct
+ {
+ public int Value;
+ }
+ }
}
diff --git a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs
index ed0e72a6f53304..f2b9e37f31a909 100644
--- a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs
+++ b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs
@@ -8,6 +8,7 @@ namespace System.IO.IsolatedStorage
public class RemoveTests : IsoStorageTest
{
[Fact]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))]
public void RemoveUserStoreForApplication()
{
TestHelper.WipeStores();
@@ -23,6 +24,7 @@ public void RemoveUserStoreForApplication()
}
[Fact]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))]
public void RemoveUserStoreForAssembly()
{
TestHelper.WipeStores();
@@ -38,6 +40,7 @@ public void RemoveUserStoreForAssembly()
}
[Fact]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))]
public void RemoveUserStoreForDomain()
{
TestHelper.WipeStores();
@@ -54,7 +57,9 @@ public void RemoveUserStoreForDomain()
}
}
- [Theory, MemberData(nameof(ValidStores))]
+ [Theory]
+ [MemberData(nameof(ValidStores))]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))]
public void RemoveStoreWithContent(PresetScopes scope)
{
TestHelper.WipeStores();
diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs
index 6747758c7b5330..3b78641a006839 100644
--- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs
+++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Win32.SafeHandles;
+using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Microsoft.DotNet.XUnitExtensions;
using Xunit;
@@ -56,24 +57,33 @@ public void InvalidArguments()
}
}
+ public static IEnumerable AccessLevelCombinationsData()
+ {
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute };
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite };
+ // https://github.com/dotnet/runtime/issues/114403
+ if (PlatformDetection.IsNotMacCatalyst)
+ {
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute };
+ }
+ yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite };
+ }
+
[ConditionalTheory]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute)]
- [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite)]
+ [MemberData(nameof(AccessLevelCombinationsData))]
public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
{
const int Capacity = 4096;
diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs
index f279b8c33f98f7..cd1af097e216f4 100644
--- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs
+++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Win32.SafeHandles;
+using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Microsoft.DotNet.XUnitExtensions;
using Xunit;
@@ -56,24 +57,33 @@ public void InvalidArguments()
}
}
+ public static IEnumerable AccessLevelCombinationsData()
+ {
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute };
+ yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute };
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite };
+ // https://github.com/dotnet/runtime/issues/114403
+ if (PlatformDetection.IsNotMacCatalyst)
+ {
+ yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute };
+ }
+ yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite };
+ yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite };
+ yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read };
+ yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite };
+ }
+
[ConditionalTheory]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute)]
- [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute)]
- [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite)]
- [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite)]
- [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read)]
- [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite)]
+ [MemberData(nameof(AccessLevelCombinationsData))]
public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
{
const int Capacity = 4096;
diff --git a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs
index 4f6db79a54bf5d..7a0b6dc8e37055 100644
--- a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs
+++ b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs
@@ -139,10 +139,7 @@ internal override void DisposeCore(bool disposing)
if (disposing)
{
- if (State != PipeState.Closed)
- {
- _internalTokenSource.Cancel();
- }
+ _internalTokenSource.Cancel();
}
}
diff --git a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Windows.cs b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Windows.cs
index c0f066da805214..b986a7342538ba 100644
--- a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Windows.cs
+++ b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Windows.cs
@@ -62,7 +62,11 @@ internal override void TryToReuse(PipeValueTaskSource source)
{
if (Interlocked.CompareExchange(ref _reusableConnectionValueTaskSource, connectionSource, null) is not null)
{
- source._preallocatedOverlapped.Dispose();
+ source.Dispose();
+ }
+ else if (State == PipeState.Closed)
+ {
+ Interlocked.Exchange(ref _reusableConnectionValueTaskSource, null)?.Dispose();
}
}
}
diff --git a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.Windows.cs b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.Windows.cs
index 453fe1153bd4be..ddff733119a7a8 100644
--- a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.Windows.cs
+++ b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.Windows.cs
@@ -255,9 +255,25 @@ internal virtual void TryToReuse(PipeValueTaskSource source)
if (source is ReadWriteValueTaskSource readWriteSource)
{
ref ReadWriteValueTaskSource? field = ref readWriteSource._isWrite ? ref _reusableWriteValueTaskSource : ref _reusableReadValueTaskSource;
+
+ // Try to return the instance. If there's already something in the field, then there had been concurrent
+ // operations and someone else already returned their instance, so just dispose of this one (the "pool" has
+ // a size of 1). If there's not something there and we're successful in storing our instance, the 99% case is
+ // this is normal operation, there wasn't a concurrent operation, and we just successfully returned the rented
+ // instance. However, it could also be because the stream has been disposed, in which case the disposal process
+ // would have nulled out the field, and since this instance wasn't present when disposal happened, it won't have
+ // been disposed. Further, disposal won't happen again, so just leaving the instance there will result in its
+ // resources being leaked. Instead, _after_ returning the instance we then check whether the stream is now
+ // disposed, and if it is, we then try to re-rent the instance and dispose of it. It's fine if the disposal happens
+ // after we've stored the instance back and before we check the stream's state, as then this code will be racing
+ // with disposal and only one of the two will succeed in exchanging out the instance.
if (Interlocked.CompareExchange(ref field, readWriteSource, null) is not null)
{
- source._preallocatedOverlapped.Dispose();
+ source.Dispose();
+ }
+ else if (State == PipeState.Closed)
+ {
+ Interlocked.Exchange(ref field, null)?.Dispose();
}
}
}
diff --git a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.cs b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.cs
index a52b3cac99bc1b..d1fdf314344a50 100644
--- a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.cs
+++ b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.cs
@@ -144,6 +144,11 @@ public override Task FlushAsync(CancellationToken cancellationToken)
protected override void Dispose(bool disposing)
{
+ // Mark the pipe as closed before calling DisposeCore. That way, other threads that might
+ // be synchronizing on shared resources disposed of in DisposeCore will be guaranteed to
+ // see the closed state after that synchronization.
+ _state = PipeState.Closed;
+
try
{
// Nothing will be done differently based on whether we are
@@ -159,8 +164,6 @@ protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
-
- _state = PipeState.Closed;
}
// ********************** Public Properties *********************** //
diff --git a/src/libraries/System.Linq/src/System/Linq/SkipTake.SpeedOpt.cs b/src/libraries/System.Linq/src/System/Linq/SkipTake.SpeedOpt.cs
index 5cb53aa2997e06..ef043f9f6755e7 100644
--- a/src/libraries/System.Linq/src/System/Linq/SkipTake.SpeedOpt.cs
+++ b/src/libraries/System.Linq/src/System/Linq/SkipTake.SpeedOpt.cs
@@ -430,9 +430,12 @@ public override Iterator Take(int count)
{
if (_source is Iterator iterator &&
iterator.GetCount(onlyIfCheap: true) is int count &&
- count >= _minIndexInclusive)
+ count > _minIndexInclusive)
{
- return !HasLimit ?
+ // If there's no upper bound, or if there are fewer items in the list
+ // than the upper bound allows, just return the last element of the list.
+ // Otherwise, get the element at the upper bound.
+ return (uint)count <= (uint)_maxIndexInclusive ?
iterator.TryGetLast(out found) :
iterator.TryGetElementAt(_maxIndexInclusive, out found);
}
diff --git a/src/libraries/System.Linq/tests/AggregateByTests.cs b/src/libraries/System.Linq/tests/AggregateByTests.cs
index b574660c9e5ac8..43b9262f78b813 100644
--- a/src/libraries/System.Linq/tests/AggregateByTests.cs
+++ b/src/libraries/System.Linq/tests/AggregateByTests.cs
@@ -11,10 +11,10 @@ public class AggregateByTests : EnumerableTests
[Fact]
public void Empty()
{
- Assert.All(IdentityTransforms(), transform =>
+ Assert.All(CreateSources([]), source =>
{
- Assert.Equal(Enumerable.Empty>(), transform(Enumerable.Empty()).AggregateBy(i => i, i => i, (a, i) => a + i));
- Assert.Equal(Enumerable.Empty>(), transform(Enumerable.Empty()).AggregateBy(i => i, 0, (a, i) => a + i));
+ Assert.Equal([], source.AggregateBy(i => i, i => i, (a, i) => a + i));
+ Assert.Equal([], source.AggregateBy(i => i, 0, (a, i) => a + i));
});
}
diff --git a/src/libraries/System.Linq/tests/ChunkTests.cs b/src/libraries/System.Linq/tests/ChunkTests.cs
index 31433ddabff30f..1a12ac7fd6765d 100644
--- a/src/libraries/System.Linq/tests/ChunkTests.cs
+++ b/src/libraries/System.Linq/tests/ChunkTests.cs
@@ -42,10 +42,8 @@ public void ChunkSourceLazily()
[InlineData(new[] {9999, 0, 888, -1, 66, -777, 1, 2, -12345})]
public void ChunkSourceRepeatCalls(int[] array)
{
- Assert.All(IdentityTransforms(), t =>
+ Assert.All(CreateSources(array), source =>
{
- IEnumerable source = t(array);
-
Assert.Equal(source.Chunk(3), source.Chunk(3));
});
}
@@ -54,10 +52,8 @@ public void ChunkSourceRepeatCalls(int[] array)
[InlineData(new[] {9999, 0, 888, -1, 66, -777, 1, 2, -12345})]
public void ChunkSourceEvenly(int[] array)
{
- Assert.All(IdentityTransforms(), t =>
+ Assert.All(CreateSources(array), source =>
{
- IEnumerable source = t(array);
-
using IEnumerator chunks = source.Chunk(3).GetEnumerator();
chunks.MoveNext();
Assert.Equal(new[] { 9999, 0, 888 }, chunks.Current);
@@ -73,10 +69,8 @@ public void ChunkSourceEvenly(int[] array)
[InlineData(new[] {9999, 0, 888, -1, 66, -777, 1, 2})]
public void ChunkSourceUnevenly(int[] array)
{
- Assert.All(IdentityTransforms(), t =>
+ Assert.All(CreateSources(array), source =>
{
- IEnumerable source = t(array);
-
using IEnumerator chunks = source.Chunk(3).GetEnumerator();
chunks.MoveNext();
Assert.Equal(new[] { 9999, 0, 888 }, chunks.Current);
@@ -92,10 +86,8 @@ public void ChunkSourceUnevenly(int[] array)
[InlineData(new[] {9999, 0})]
public void ChunkSourceSmallerThanMaxSize(int[] array)
{
- Assert.All(IdentityTransforms(), t =>
+ Assert.All(CreateSources(array), source =>
{
- IEnumerable source = t(array);
-
using IEnumerator chunks = source.Chunk(3).GetEnumerator();
chunks.MoveNext();
Assert.Equal(new[] { 9999, 0 }, chunks.Current);
@@ -107,10 +99,8 @@ public void ChunkSourceSmallerThanMaxSize(int[] array)
[InlineData(new int[0])]
public void EmptySourceYieldsNoChunks(int[] array)
{
- Assert.All(IdentityTransforms(), t =>
+ Assert.All(CreateSources(array), source =>
{
- IEnumerable source = t(array);
-
using IEnumerator chunks = source.Chunk(3).GetEnumerator();
Assert.False(chunks.MoveNext());
});
diff --git a/src/libraries/System.Linq/tests/ConcatTests.cs b/src/libraries/System.Linq/tests/ConcatTests.cs
index 544027450d80c2..4069bbdf5de5a4 100644
--- a/src/libraries/System.Linq/tests/ConcatTests.cs
+++ b/src/libraries/System.Linq/tests/ConcatTests.cs
@@ -31,8 +31,8 @@ private static void SameResultsWithQueryAndRepeatCallsWorker(IEnumerable f
first = from item in first select item;
second = from item in second select item;
- VerifyEqualsWorker(first.Concat(second), first.Concat(second));
- VerifyEqualsWorker(second.Concat(first), second.Concat(first));
+ Assert.Equal(first.Concat(second), first.Concat(second));
+ Assert.Equal(second.Concat(first), second.Concat(first));
}
[Theory]
@@ -41,8 +41,8 @@ private static void SameResultsWithQueryAndRepeatCallsWorker(IEnumerable f
[InlineData(new int[] { 2, 3, 5, 9 }, new int[] { 8, 10 }, new int[] { 2, 3, 5, 9, 8, 10 })] // Neither side is empty
public void PossiblyEmptyInputs(IEnumerable first, IEnumerable second, IEnumerable expected)
{
- VerifyEqualsWorker(expected, first.Concat(second));
- VerifyEqualsWorker(expected.Skip(first.Count()).Concat(expected.Take(first.Count())), second.Concat(first)); // Swap the inputs around
+ Assert.Equal(expected, first.Concat(second));
+ Assert.Equal(expected.Skip(first.Count()).Concat(expected.Take(first.Count())), second.Concat(first)); // Swap the inputs around
}
[Fact]
@@ -80,7 +80,7 @@ public void SecondNull()
public void VerifyEquals(IEnumerable expected, IEnumerable actual)
{
// workaround: xUnit type inference doesn't work if the input type is not T (like IEnumerable)
- VerifyEqualsWorker(expected, actual);
+ Assert.Equal(expected, actual);
}
[Theory]
@@ -133,23 +133,6 @@ public void First_Last_ElementAt(IEnumerable _, IEnumerable actual)
}
}
- private static void VerifyEqualsWorker(IEnumerable expected, IEnumerable actual)
- {
- // Returns a list of functions that, when applied to enumerable, should return
- // another one that has equivalent contents.
- var identityTransforms = IdentityTransforms();
-
- // We run the transforms N^2 times, by testing all transforms
- // of expected against all transforms of actual.
- foreach (var outTransform in identityTransforms)
- {
- foreach (var inTransform in identityTransforms)
- {
- Assert.Equal(outTransform(expected), inTransform(actual));
- }
- }
- }
-
public static IEnumerable ArraySourcesData() => GenerateSourcesData(outerTransform: e => e.ToArray());
public static IEnumerable SelectArraySourcesData() => GenerateSourcesData(outerTransform: e => e.Select(i => i).ToArray());
@@ -292,7 +275,7 @@ public void ManyConcats(IEnumerable> sources)
}
Assert.Equal(sources.Sum(s => s.Count()), concatee.Count());
- VerifyEqualsWorker(sources.SelectMany(s => s), concatee);
+ Assert.Equal(sources.SelectMany(s => s), concatee);
}
}
diff --git a/src/libraries/System.Linq/tests/CountTests.cs b/src/libraries/System.Linq/tests/CountTests.cs
index 5b0730163721db..2937f116367f71 100644
--- a/src/libraries/System.Linq/tests/CountTests.cs
+++ b/src/libraries/System.Linq/tests/CountTests.cs
@@ -99,9 +99,9 @@ public void RunOnce(int count, IEnumerable enumerable)
private static IEnumerable EnumerateCollectionTypesAndCounts(int count, IEnumerable enumerable)
{
- foreach (var transform in IdentityTransforms())
+ foreach (IEnumerable source in CreateSources(enumerable))
{
- yield return new object[] { count, transform(enumerable) };
+ yield return [count, source];
}
}
diff --git a/src/libraries/System.Linq/tests/EnumerableTests.cs b/src/libraries/System.Linq/tests/EnumerableTests.cs
index d28ace92a4026b..66bc25861e080e 100644
--- a/src/libraries/System.Linq/tests/EnumerableTests.cs
+++ b/src/libraries/System.Linq/tests/EnumerableTests.cs
@@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Xunit;
+using Xunit.Sdk;
namespace System.Linq.Tests
{
@@ -243,6 +244,7 @@ protected static IEnumerable FlipIsCollection(IEnumerable